diff --git a/src/sys/cleanup.c b/src/sys/cleanup.c index c7854676..bf32f799 100644 --- a/src/sys/cleanup.c +++ b/src/sys/cleanup.c @@ -71,7 +71,7 @@ FspCleanup( VOID FspCleanupComplete(PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) { - PAGED_CODE(); + FSP_ENTER_IOC(PAGED_CODE()); - FspCompleteRequest(Irp, STATUS_SUCCESS); + FSP_LEAVE_IOC("FileObject=%p", IrpSp->FileObject); } diff --git a/src/sys/close.c b/src/sys/close.c index 37a0e2cd..fa7cb294 100644 --- a/src/sys/close.c +++ b/src/sys/close.c @@ -71,7 +71,7 @@ FspClose( VOID FspCloseComplete(PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) { - PAGED_CODE(); + FSP_ENTER_IOC(PAGED_CODE()); - FspCompleteRequest(Irp, STATUS_SUCCESS); + FSP_LEAVE_IOC("FileObject=%p", IrpSp->FileObject); } diff --git a/src/sys/create.c b/src/sys/create.c index 20344358..290c55d0 100644 --- a/src/sys/create.c +++ b/src/sys/create.c @@ -87,7 +87,9 @@ FspCreate( VOID FspCreateComplete(PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) { - PAGED_CODE(); + FSP_ENTER_IOC(PAGED_CODE()); - FspCompleteRequest(Irp, STATUS_SUCCESS); + FSP_LEAVE_IOC( + "FileObject=%p[%p:\"%wZ\"]", + IrpSp->FileObject, IrpSp->FileObject->RelatedFileObject, IrpSp->FileObject->FileName); } diff --git a/src/sys/devctl.c b/src/sys/devctl.c index 1567b77d..2ccdd2b6 100644 --- a/src/sys/devctl.c +++ b/src/sys/devctl.c @@ -45,7 +45,7 @@ FspDeviceControl( VOID FspDeviceControlComplete(PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) { - PAGED_CODE(); + FSP_ENTER_IOC(PAGED_CODE()); - FspCompleteRequest(Irp, STATUS_SUCCESS); + FSP_LEAVE_IOC("", 0); } diff --git a/src/sys/dirctl.c b/src/sys/dirctl.c index 7b8fcd97..16c78ee0 100644 --- a/src/sys/dirctl.c +++ b/src/sys/dirctl.c @@ -45,7 +45,7 @@ FspDirectoryControl( VOID FspDirectoryControlComplete(PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) { - PAGED_CODE(); + FSP_ENTER_IOC(PAGED_CODE()); - FspCompleteRequest(Irp, STATUS_SUCCESS); + FSP_LEAVE_IOC("", 0); } diff --git a/src/sys/driver.h b/src/sys/driver.h index fe205c1b..f9dfba9d 100644 --- a/src/sys/driver.h +++ b/src/sys/driver.h @@ -66,7 +66,7 @@ FSP_LEAVE_(FSP_DEBUGLOG_(fmt, " = %s", __VA_ARGS__, NtStatusSym(Result))); return Result #define FSP_ENTER_MJ(...) \ NTSTATUS Result = STATUS_SUCCESS; \ - PIO_STACK_LOCATION IrpSp = IoGetCurrentIrpStackLocation(Irp);\ + PIO_STACK_LOCATION IrpSp = IoGetCurrentIrpStackLocation(Irp); (VOID)IrpSp;\ FSP_ENTER_(__VA_ARGS__) #define FSP_LEAVE_MJ(fmt, ...) \ FSP_LEAVE_( \ @@ -101,6 +101,21 @@ FspCompleteRequest(Irp, Result);\ ); \ return Result +#define FSP_ENTER_IOC(...) \ + NTSTATUS Result = STATUS_SUCCESS; \ + PIO_STACK_LOCATION IrpSp = IoGetCurrentIrpStackLocation(Irp); (VOID)IrpSp;\ + FSP_ENTER_(__VA_ARGS__) +#define FSP_LEAVE_IOC(fmt, ...) \ + FSP_LEAVE_( \ + FSP_DEBUGLOG_("%p, %c%c, %s%s, " fmt, "",\ + Irp, \ + FspDeviceExtension(IrpSp->DeviceObject)->Kind,\ + Irp->RequestorMode == KernelMode ? 'K' : 'U',\ + IrpMajorFunctionSym(IrpSp->MajorFunction),\ + IrpMinorFunctionSym(IrpSp->MajorFunction, IrpSp->MajorFunction),\ + __VA_ARGS__); \ + FspCompleteRequest(Irp, Result);\ + ) #define FSP_ENTER_BOOL(...) \ BOOLEAN Result = TRUE; FSP_ENTER_(__VA_ARGS__) #define FSP_LEAVE_BOOL(fmt, ...) \ diff --git a/src/sys/ea.c b/src/sys/ea.c index f6ba11ac..43e57dfa 100644 --- a/src/sys/ea.c +++ b/src/sys/ea.c @@ -78,14 +78,14 @@ FspSetEa( VOID FspQueryEaComplete(PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) { - PAGED_CODE(); + FSP_ENTER_IOC(PAGED_CODE()); - FspCompleteRequest(Irp, STATUS_SUCCESS); + FSP_LEAVE_IOC("", 0); } VOID FspSetEaComplete(PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) { - PAGED_CODE(); + FSP_ENTER_IOC(PAGED_CODE()); - FspCompleteRequest(Irp, STATUS_SUCCESS); + FSP_LEAVE_IOC("", 0); } diff --git a/src/sys/fileinfo.c b/src/sys/fileinfo.c index fb021e0d..12d0a6cc 100644 --- a/src/sys/fileinfo.c +++ b/src/sys/fileinfo.c @@ -78,14 +78,14 @@ FspSetInformation( VOID FspQueryInformationComplete(PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) { - PAGED_CODE(); + FSP_ENTER_IOC(PAGED_CODE()); - FspCompleteRequest(Irp, STATUS_SUCCESS); + FSP_LEAVE_IOC("", 0); } VOID FspSetInformationComplete(PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) { - PAGED_CODE(); + FSP_ENTER_IOC(PAGED_CODE()); - FspCompleteRequest(Irp, STATUS_SUCCESS); + FSP_LEAVE_IOC("", 0); } diff --git a/src/sys/flush.c b/src/sys/flush.c index 4f8f6865..13f5ac8b 100644 --- a/src/sys/flush.c +++ b/src/sys/flush.c @@ -45,7 +45,7 @@ FspFlushBuffers( VOID FspFlushBuffersComplete(PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) { - PAGED_CODE(); + FSP_ENTER_IOC(PAGED_CODE()); - FspCompleteRequest(Irp, STATUS_SUCCESS); + FSP_LEAVE_IOC("", 0); } diff --git a/src/sys/fsctl.c b/src/sys/fsctl.c index 5a798da7..9e0df139 100644 --- a/src/sys/fsctl.c +++ b/src/sys/fsctl.c @@ -287,7 +287,12 @@ FspFileSystemControl( VOID FspFileSystemControlComplete(PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) { - PAGED_CODE(); + FSP_ENTER_IOC(PAGED_CODE()); - FspCompleteRequest(Irp, STATUS_SUCCESS); + FSP_LEAVE_IOC( + "FileObject=%p%s%s", + IrpSp->FileObject, + IRP_MN_USER_FS_REQUEST == IrpSp->MinorFunction ? ", " : "", + IRP_MN_USER_FS_REQUEST == IrpSp->MinorFunction ? + IoctlCodeSym(IrpSp->Parameters.FileSystemControl.FsControlCode) : ""); } diff --git a/src/sys/lockctl.c b/src/sys/lockctl.c index 20cc1d6c..095eb9e3 100644 --- a/src/sys/lockctl.c +++ b/src/sys/lockctl.c @@ -45,7 +45,7 @@ FspLockControl( VOID FspLockControlComplete(PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) { - PAGED_CODE(); + FSP_ENTER_IOC(PAGED_CODE()); - FspCompleteRequest(Irp, STATUS_SUCCESS); + FSP_LEAVE_IOC("", 0); } diff --git a/src/sys/read.c b/src/sys/read.c index 01825f6b..b6c300ba 100644 --- a/src/sys/read.c +++ b/src/sys/read.c @@ -45,7 +45,7 @@ FspRead( VOID FspReadComplete(PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) { - PAGED_CODE(); + FSP_ENTER_IOC(PAGED_CODE()); - FspCompleteRequest(Irp, STATUS_SUCCESS); + FSP_LEAVE_IOC("", 0); } diff --git a/src/sys/security.c b/src/sys/security.c index b3c74355..86eb56a9 100644 --- a/src/sys/security.c +++ b/src/sys/security.c @@ -78,14 +78,14 @@ FspSetSecurity( VOID FspQuerySecurityComplete(PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) { - PAGED_CODE(); + FSP_ENTER_IOC(PAGED_CODE()); - FspCompleteRequest(Irp, STATUS_SUCCESS); + FSP_LEAVE_IOC("", 0); } VOID FspSetSecurityComplete(PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) { - PAGED_CODE(); + FSP_ENTER_IOC(PAGED_CODE()); - FspCompleteRequest(Irp, STATUS_SUCCESS); + FSP_LEAVE_IOC("", 0); } diff --git a/src/sys/shutdown.c b/src/sys/shutdown.c index e79afeb4..3e66250b 100644 --- a/src/sys/shutdown.c +++ b/src/sys/shutdown.c @@ -45,7 +45,7 @@ FspShutdown( VOID FspShutdownComplete(PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) { - PAGED_CODE(); + FSP_ENTER_IOC(PAGED_CODE()); - FspCompleteRequest(Irp, STATUS_SUCCESS); + FSP_LEAVE_IOC("", 0); } diff --git a/src/sys/volinfo.c b/src/sys/volinfo.c index 11cc782c..6a665a3f 100644 --- a/src/sys/volinfo.c +++ b/src/sys/volinfo.c @@ -78,14 +78,14 @@ FspSetVolumeInformation( VOID FspQueryVolumeInformationComplete(PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) { - PAGED_CODE(); + FSP_ENTER_IOC(PAGED_CODE()); - FspCompleteRequest(Irp, STATUS_SUCCESS); + FSP_LEAVE_IOC("", 0); } VOID FspSetVolumeInformationComplete(PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) { - PAGED_CODE(); + FSP_ENTER_IOC(PAGED_CODE()); - FspCompleteRequest(Irp, STATUS_SUCCESS); + FSP_LEAVE_IOC("", 0); } diff --git a/src/sys/write.c b/src/sys/write.c index d149aba3..55c9993b 100644 --- a/src/sys/write.c +++ b/src/sys/write.c @@ -45,7 +45,7 @@ FspWrite( VOID FspWriteComplete(PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) { - PAGED_CODE(); + FSP_ENTER_IOC(PAGED_CODE()); - FspCompleteRequest(Irp, STATUS_SUCCESS); + FSP_LEAVE_IOC("", 0); }