/* Set up Stack Pointer Data */
StackPtr = IoGetNextIrpStackLocation(Irp);
StackPtr->MajorFunction = IRP_MJ_CLOSE;
- StackPtr->DeviceObject = DeviceObject;
StackPtr->FileObject = FileObject;
/* Queue the IRP */
ObDereferenceObject(FileObject->CompletionContext->Port);
ExFreePool(FileObject->CompletionContext);
}
+
+ /* FIXME: Dereference device object */
}
}
IopUpdateOperationCount(IopOtherTransfer);
/* Call the Driver */
- Status = IoCallDriver(FileObject->DeviceObject, Irp);
+ Status = IoCallDriver(DeviceObject, Irp);
/* Check if this was async I/O */
if (LocalEvent)
&FileHandle);
CreatedFileObject->Flags |= FO_HANDLE_CREATED;
+ /* FIXME: Reference VPB */
+
/* Close the extra handle and return file */
NtClose(FileHandle);
return CreatedFileObject;
//IopQueueIrpToThread(Irp);
/* Call the Driver */
- Status = IoCallDriver(FileObject->DeviceObject, Irp);
+ Status = IoCallDriver(DeviceObject, Irp);
/* Check if this was synch I/O */
if (!LocalEvent)