From 7dba895309e38466a2223bd39ccb2cbf2bf412f7 Mon Sep 17 00:00:00 2001 From: Bill Zissimopoulos Date: Mon, 7 Dec 2015 17:25:33 -0800 Subject: [PATCH] sys: IRP_MJ_CLEANUP --- src/sys/cleanup.c | 20 ++++++++++---------- src/sys/driver.c | 2 +- src/sys/driver.h | 2 +- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/sys/cleanup.c b/src/sys/cleanup.c index 702b29df..570a5f81 100644 --- a/src/sys/cleanup.c +++ b/src/sys/cleanup.c @@ -12,15 +12,15 @@ static NTSTATUS FspFsvrtCleanup( PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp); static NTSTATUS FspFsvolCleanup( PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp); +FSP_IOCMPL_DISPATCH FspFsvolCleanupComplete; FSP_DRIVER_DISPATCH FspCleanup; -FSP_IOCMPL_DISPATCH FspCleanupComplete; #ifdef ALLOC_PRAGMA #pragma alloc_text(PAGE, FspFsctlCleanup) #pragma alloc_text(PAGE, FspFsvrtCleanup) #pragma alloc_text(PAGE, FspFsvolCleanup) +#pragma alloc_text(PAGE, FspFsvolCleanupComplete) #pragma alloc_text(PAGE, FspCleanup) -#pragma alloc_text(PAGE, FspCleanupComplete) #endif static NTSTATUS FspFsctlCleanup( @@ -51,6 +51,14 @@ static NTSTATUS FspFsvolCleanup( return STATUS_INVALID_DEVICE_REQUEST; } +VOID FspFsvolCleanupComplete( + PIRP Irp, const FSP_FSCTL_TRANSACT_RSP *Response) +{ + FSP_ENTER_IOC(PAGED_CODE()); + + FSP_LEAVE_IOC("FileObject=%p", IrpSp->FileObject); +} + NTSTATUS FspCleanup( PDEVICE_OBJECT DeviceObject, PIRP Irp) { @@ -72,11 +80,3 @@ NTSTATUS FspCleanup( FSP_LEAVE_MJ("FileObject=%p", IrpSp->FileObject); } - -VOID FspCleanupComplete( - PIRP Irp, const FSP_FSCTL_TRANSACT_RSP *Response) -{ - FSP_ENTER_IOC(PAGED_CODE()); - - FSP_LEAVE_IOC("FileObject=%p", IrpSp->FileObject); -} diff --git a/src/sys/driver.c b/src/sys/driver.c index f4f73c3d..455fffa3 100644 --- a/src/sys/driver.c +++ b/src/sys/driver.c @@ -84,7 +84,7 @@ NTSTATUS DriverEntry( FspIopCompleteFunction[IRP_MJ_INTERNAL_DEVICE_CONTROL] = FspFsvolInternalDeviceControlComplete; FspIopCompleteFunction[IRP_MJ_SHUTDOWN] = FspShutdownComplete; FspIopCompleteFunction[IRP_MJ_LOCK_CONTROL] = FspLockControlComplete; - FspIopCompleteFunction[IRP_MJ_CLEANUP] = FspCleanupComplete; + FspIopCompleteFunction[IRP_MJ_CLEANUP] = FspFsvolCleanupComplete; FspIopCompleteFunction[IRP_MJ_QUERY_SECURITY] = FspQuerySecurityComplete; FspIopCompleteFunction[IRP_MJ_SET_SECURITY] = FspSetSecurityComplete; diff --git a/src/sys/driver.h b/src/sys/driver.h index 849df889..648bab81 100644 --- a/src/sys/driver.h +++ b/src/sys/driver.h @@ -211,7 +211,7 @@ _IRQL_requires_same_ typedef VOID FSP_IOCMPL_DISPATCH( _Inout_ PIRP Irp, _In_ const FSP_FSCTL_TRANSACT_RSP *Response); FSP_IOPREP_DISPATCH FspFsvolCreatePrepare; -FSP_IOCMPL_DISPATCH FspCleanupComplete; +FSP_IOCMPL_DISPATCH FspFsvolCleanupComplete; FSP_IOCMPL_DISPATCH FspCloseComplete; FSP_IOCMPL_DISPATCH FspFsvolCreateComplete; FSP_IOCMPL_DISPATCH FspDeviceControlComplete;