sys: IRP_MJ_CLOSE

This commit is contained in:
Bill Zissimopoulos 2015-12-07 23:39:34 -08:00
parent 51865f5e44
commit af1cecf26a
3 changed files with 12 additions and 12 deletions

View File

@ -12,15 +12,15 @@ static NTSTATUS FspFsvrtClose(
PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp); PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp);
static NTSTATUS FspFsvolClose( static NTSTATUS FspFsvolClose(
PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp); PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp);
FSP_IOCMPL_DISPATCH FspFsvolCloseComplete;
FSP_DRIVER_DISPATCH FspClose; FSP_DRIVER_DISPATCH FspClose;
FSP_IOCMPL_DISPATCH FspCloseComplete;
#ifdef ALLOC_PRAGMA #ifdef ALLOC_PRAGMA
#pragma alloc_text(PAGE, FspFsctlClose) #pragma alloc_text(PAGE, FspFsctlClose)
#pragma alloc_text(PAGE, FspFsvrtClose) #pragma alloc_text(PAGE, FspFsvrtClose)
#pragma alloc_text(PAGE, FspFsvolClose) #pragma alloc_text(PAGE, FspFsvolClose)
#pragma alloc_text(PAGE, FspFsvolCloseComplete)
#pragma alloc_text(PAGE, FspClose) #pragma alloc_text(PAGE, FspClose)
#pragma alloc_text(PAGE, FspCloseComplete)
#endif #endif
static NTSTATUS FspFsctlClose( static NTSTATUS FspFsctlClose(
@ -51,6 +51,14 @@ static NTSTATUS FspFsvolClose(
return STATUS_INVALID_DEVICE_REQUEST; return STATUS_INVALID_DEVICE_REQUEST;
} }
VOID FspFsvolCloseComplete(
PIRP Irp, const FSP_FSCTL_TRANSACT_RSP *Response)
{
FSP_ENTER_IOC(PAGED_CODE());
FSP_LEAVE_IOC("FileObject=%p", IrpSp->FileObject);
}
NTSTATUS FspClose( NTSTATUS FspClose(
PDEVICE_OBJECT DeviceObject, PIRP Irp) PDEVICE_OBJECT DeviceObject, PIRP Irp)
{ {
@ -72,11 +80,3 @@ NTSTATUS FspClose(
FSP_LEAVE_MJ("FileObject=%p", IrpSp->FileObject); FSP_LEAVE_MJ("FileObject=%p", IrpSp->FileObject);
} }
VOID FspCloseComplete(
PIRP Irp, const FSP_FSCTL_TRANSACT_RSP *Response)
{
FSP_ENTER_IOC(PAGED_CODE());
FSP_LEAVE_IOC("FileObject=%p", IrpSp->FileObject);
}

View File

@ -68,7 +68,7 @@ NTSTATUS DriverEntry(
/* setup the I/O completion functions */ /* setup the I/O completion functions */
FspIopCompleteFunction[IRP_MJ_CREATE] = FspFsvolCreateComplete; FspIopCompleteFunction[IRP_MJ_CREATE] = FspFsvolCreateComplete;
FspIopCompleteFunction[IRP_MJ_CLOSE] = FspCloseComplete; FspIopCompleteFunction[IRP_MJ_CLOSE] = FspFsvolCloseComplete;
FspIopCompleteFunction[IRP_MJ_READ] = FspReadComplete; FspIopCompleteFunction[IRP_MJ_READ] = FspReadComplete;
FspIopCompleteFunction[IRP_MJ_WRITE] = FspWriteComplete; FspIopCompleteFunction[IRP_MJ_WRITE] = FspWriteComplete;
FspIopCompleteFunction[IRP_MJ_QUERY_INFORMATION] = FspQueryInformationComplete; FspIopCompleteFunction[IRP_MJ_QUERY_INFORMATION] = FspQueryInformationComplete;

View File

@ -212,7 +212,7 @@ typedef VOID FSP_IOCMPL_DISPATCH(
_Inout_ PIRP Irp, _In_ const FSP_FSCTL_TRANSACT_RSP *Response); _Inout_ PIRP Irp, _In_ const FSP_FSCTL_TRANSACT_RSP *Response);
FSP_IOPREP_DISPATCH FspFsvolCreatePrepare; FSP_IOPREP_DISPATCH FspFsvolCreatePrepare;
FSP_IOCMPL_DISPATCH FspFsvolCleanupComplete; FSP_IOCMPL_DISPATCH FspFsvolCleanupComplete;
FSP_IOCMPL_DISPATCH FspCloseComplete; FSP_IOCMPL_DISPATCH FspFsvolCloseComplete;
FSP_IOCMPL_DISPATCH FspFsvolCreateComplete; FSP_IOCMPL_DISPATCH FspFsvolCreateComplete;
FSP_IOCMPL_DISPATCH FspDeviceControlComplete; FSP_IOCMPL_DISPATCH FspDeviceControlComplete;
FSP_IOCMPL_DISPATCH FspDirectoryControlComplete; FSP_IOCMPL_DISPATCH FspDirectoryControlComplete;