[CDFS]
[reactos.git] / reactos / drivers / filesystems / cdfs / cleanup.c
index f46ecdb..6019d83 100644 (file)
@@ -68,9 +68,11 @@ CdfsCleanupFile(PDEVICE_EXTENSION DeviceExt,
 }
 
 NTSTATUS NTAPI
-CdfsCleanup(PDEVICE_OBJECT DeviceObject,
-            PIRP Irp)
+CdfsCleanup(
+    PCDFS_IRP_CONTEXT IrpContext)
 {
+    PIRP Irp;
+    PDEVICE_OBJECT DeviceObject;
     PDEVICE_EXTENSION DeviceExtension;
     PIO_STACK_LOCATION Stack;
     PFILE_OBJECT FileObject;
@@ -78,6 +80,12 @@ CdfsCleanup(PDEVICE_OBJECT DeviceObject,
 
     DPRINT("CdfsCleanup() called\n");
 
+    ASSERT(IrpContext);
+
+    Irp = IrpContext->Irp;
+    DeviceObject = IrpContext->DeviceObject;
+    Stack = IrpContext->Stack;
+
     if (DeviceObject == CdfsGlobalData->DeviceObject)
     {
         DPRINT("Closing file system\n");
@@ -85,7 +93,6 @@ CdfsCleanup(PDEVICE_OBJECT DeviceObject,
         goto ByeBye;
     }
 
-    Stack = IoGetCurrentIrpStackLocation(Irp);
     FileObject = Stack->FileObject;
     DeviceExtension = DeviceObject->DeviceExtension;
 
@@ -97,12 +104,9 @@ CdfsCleanup(PDEVICE_OBJECT DeviceObject,
     ExReleaseResourceLite(&DeviceExtension->DirResource);
     KeLeaveCriticalRegion();
 
-
 ByeBye:
-    Irp->IoStatus.Status = Status;
     Irp->IoStatus.Information = 0;
 
-    IoCompleteRequest(Irp, IO_NO_INCREMENT);
     return(Status);
 }