Revert most of IoCreateStreamFileObject... it's wrong but needs to be wrong for now.

svn path=/trunk/; revision=15195
This commit is contained in:
Alex Ionescu 2005-05-09 22:35:43 +00:00
parent dfcf0aade2
commit de8ae0fbd2

View file

@ -994,16 +994,16 @@ IoCreateFileSpecifyDeviceObjectHint(OUT PHANDLE FileHandle,
* *
* @implemented * @implemented
*/ */
PFILE_OBJECT PFILE_OBJECT
STDCALL STDCALL
IoCreateStreamFileObject(PFILE_OBJECT FileObject, IoCreateStreamFileObject(PFILE_OBJECT FileObject,
PDEVICE_OBJECT DeviceObject) PDEVICE_OBJECT DeviceObject)
{ {
PFILE_OBJECT CreatedFileObject; PFILE_OBJECT CreatedFileObject;
NTSTATUS Status; NTSTATUS Status;
/* FIXME: This function should call ObInsertObject. The "Lite" version /* FIXME: This function should call ObInsertObject. The "Lite" version
doesnt. This function is also called from IoCreateFile for some doesnt. This function is also called from IoCreateFile for some
reason. These hacks need to be removed. reason. These hacks need to be removed.
*/ */
@ -1030,12 +1030,17 @@ IoCreateStreamFileObject(PFILE_OBJECT FileObject,
/* Choose Device Object */ /* Choose Device Object */
if (FileObject) DeviceObject = FileObject->DeviceObject; if (FileObject) DeviceObject = FileObject->DeviceObject;
DPRINT("DeviceObject %x\n", DeviceObject); DPRINT("DeviceObject %x\n", DeviceObject);
/* HACK */
DeviceObject = IoGetAttachedDevice(DeviceObject);
/* Set File Object Data */ /* Set File Object Data */
CreatedFileObject->DeviceObject = DeviceObject; CreatedFileObject->DeviceObject = DeviceObject;
CreatedFileObject->Vpb = DeviceObject->Vpb; CreatedFileObject->Vpb = DeviceObject->Vpb;
CreatedFileObject->Type = IO_TYPE_FILE; CreatedFileObject->Type = IO_TYPE_FILE;
CreatedFileObject->Flags = FO_STREAM_FILE; /* HACK */
CreatedFileObject->Flags |= FO_DIRECT_DEVICE_OPEN;
//CreatedFileObject->Flags = FO_STREAM_FILE;
/* Initialize Lock and Event */ /* Initialize Lock and Event */
KeInitializeEvent(&CreatedFileObject->Event, NotificationEvent, FALSE); KeInitializeEvent(&CreatedFileObject->Event, NotificationEvent, FALSE);
@ -1057,6 +1062,7 @@ IoCreateStreamFileObjectEx(IN PFILE_OBJECT FileObject OPTIONAL,
UNIMPLEMENTED; UNIMPLEMENTED;
return 0; return 0;
} }
/* /*
* @unimplemented * @unimplemented
*/ */