From c381549efca60e3d1c3f29b8cd42c8996e9aa247 Mon Sep 17 00:00:00 2001 From: Bill Zissimopoulos Date: Mon, 7 Dec 2015 20:29:17 -0800 Subject: [PATCH] sys: IRP_MJ_CLEANUP --- src/sys/cleanup.c | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/src/sys/cleanup.c b/src/sys/cleanup.c index 570a5f81..0c6ae633 100644 --- a/src/sys/cleanup.c +++ b/src/sys/cleanup.c @@ -48,7 +48,28 @@ static NTSTATUS FspFsvolCleanup( { PAGED_CODE(); - return STATUS_INVALID_DEVICE_REQUEST; + NTSTATUS Result; + FSP_FSVOL_DEVICE_EXTENSION *FsvolDeviceExtension = FspFsvolDeviceExtension(DeviceObject); + PDEVICE_OBJECT FsvrtDeviceObject = FsvolDeviceExtension->FsvrtDeviceObject; + + if (!FspDeviceRetain(FsvrtDeviceObject)) + return STATUS_CANCELLED; + try + { + FSP_FSVRT_DEVICE_EXTENSION *FsvrtDeviceExtension = + FspFsvrtDeviceExtension(FsvrtDeviceObject); + PFILE_OBJECT FileObject = IrpSp->FileObject; + + Result = STATUS_PENDING; + + exit:; + } + finally + { + FspDeviceRelease(FsvrtDeviceObject); + } + + return Result; } VOID FspFsvolCleanupComplete(