FileObject->Flags = FileObject->Flags | FO_DIRECT_DEVICE_OPEN;
FileObject->FileName.Buffer = 0;
FileObject->FileName.Length = FileObject->FileName.MaximumLength = 0;
+ FileObject->Vpb = DeviceObject->Vpb;
}
else
{
&& (DeviceObject->DeviceType != FILE_DEVICE_MAILSLOT))
{
CPRINT("Device was wrong type\n");
+ KeBugCheck(0);
return(STATUS_UNSUCCESSFUL);
}
Status);
return(Status);
}
+ if (!DeviceObject->Vpb)
+ KeBugCheck(0);
+ if (DeviceObject->Vpb->DeviceObject->Vpb)
+ KeBugCheck(0);
+ DeviceObject->Vpb->DeviceObject->Vpb=DeviceObject->Vpb;
+ DeviceObject->Vpb->Flags |= VPB_MOUNTED;
}
+
DeviceObject = DeviceObject->Vpb->DeviceObject;
DPRINT("FsDeviceObject %lx\n", DeviceObject);
}
RtlCreateUnicodeString(&(FileObject->FileName),
RemainingPath);
+ FileObject->Vpb = NULL;
}
DPRINT("FileObject->FileName %wZ\n",
DPRINT("FileObject %x DeviceObject %x\n",
FileObject,
DeviceObject);
- FileObject->Vpb = DeviceObject->Vpb;
FileObject->Type = InternalFileType;
FileObject->RelatedFileObject = NULL;