sys: driver.h: FSP_ENTER_IOC/FSP_LEAVE_IOC

This commit is contained in:
Bill Zissimopoulos 2015-11-27 12:59:15 -08:00
parent 24890f517d
commit 7fd635a6ab
16 changed files with 61 additions and 39 deletions

View File

@ -71,7 +71,7 @@ FspCleanup(
VOID FspCleanupComplete(PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) 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);
} }

View File

@ -71,7 +71,7 @@ FspClose(
VOID FspCloseComplete(PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) 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);
} }

View File

@ -87,7 +87,9 @@ FspCreate(
VOID FspCreateComplete(PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) 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);
} }

View File

@ -45,7 +45,7 @@ FspDeviceControl(
VOID FspDeviceControlComplete(PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) VOID FspDeviceControlComplete(PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response)
{ {
PAGED_CODE(); FSP_ENTER_IOC(PAGED_CODE());
FspCompleteRequest(Irp, STATUS_SUCCESS); FSP_LEAVE_IOC("", 0);
} }

View File

@ -45,7 +45,7 @@ FspDirectoryControl(
VOID FspDirectoryControlComplete(PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) VOID FspDirectoryControlComplete(PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response)
{ {
PAGED_CODE(); FSP_ENTER_IOC(PAGED_CODE());
FspCompleteRequest(Irp, STATUS_SUCCESS); FSP_LEAVE_IOC("", 0);
} }

View File

@ -66,7 +66,7 @@
FSP_LEAVE_(FSP_DEBUGLOG_(fmt, " = %s", __VA_ARGS__, NtStatusSym(Result))); return Result FSP_LEAVE_(FSP_DEBUGLOG_(fmt, " = %s", __VA_ARGS__, NtStatusSym(Result))); return Result
#define FSP_ENTER_MJ(...) \ #define FSP_ENTER_MJ(...) \
NTSTATUS Result = STATUS_SUCCESS; \ NTSTATUS Result = STATUS_SUCCESS; \
PIO_STACK_LOCATION IrpSp = IoGetCurrentIrpStackLocation(Irp);\ PIO_STACK_LOCATION IrpSp = IoGetCurrentIrpStackLocation(Irp); (VOID)IrpSp;\
FSP_ENTER_(__VA_ARGS__) FSP_ENTER_(__VA_ARGS__)
#define FSP_LEAVE_MJ(fmt, ...) \ #define FSP_LEAVE_MJ(fmt, ...) \
FSP_LEAVE_( \ FSP_LEAVE_( \
@ -101,6 +101,21 @@
FspCompleteRequest(Irp, Result);\ FspCompleteRequest(Irp, Result);\
); \ ); \
return 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(...) \ #define FSP_ENTER_BOOL(...) \
BOOLEAN Result = TRUE; FSP_ENTER_(__VA_ARGS__) BOOLEAN Result = TRUE; FSP_ENTER_(__VA_ARGS__)
#define FSP_LEAVE_BOOL(fmt, ...) \ #define FSP_LEAVE_BOOL(fmt, ...) \

View File

@ -78,14 +78,14 @@ FspSetEa(
VOID FspQueryEaComplete(PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) 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) VOID FspSetEaComplete(PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response)
{ {
PAGED_CODE(); FSP_ENTER_IOC(PAGED_CODE());
FspCompleteRequest(Irp, STATUS_SUCCESS); FSP_LEAVE_IOC("", 0);
} }

View File

@ -78,14 +78,14 @@ FspSetInformation(
VOID FspQueryInformationComplete(PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) 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) VOID FspSetInformationComplete(PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response)
{ {
PAGED_CODE(); FSP_ENTER_IOC(PAGED_CODE());
FspCompleteRequest(Irp, STATUS_SUCCESS); FSP_LEAVE_IOC("", 0);
} }

View File

@ -45,7 +45,7 @@ FspFlushBuffers(
VOID FspFlushBuffersComplete(PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) VOID FspFlushBuffersComplete(PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response)
{ {
PAGED_CODE(); FSP_ENTER_IOC(PAGED_CODE());
FspCompleteRequest(Irp, STATUS_SUCCESS); FSP_LEAVE_IOC("", 0);
} }

View File

@ -287,7 +287,12 @@ FspFileSystemControl(
VOID FspFileSystemControlComplete(PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) 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) : "");
} }

View File

@ -45,7 +45,7 @@ FspLockControl(
VOID FspLockControlComplete(PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) VOID FspLockControlComplete(PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response)
{ {
PAGED_CODE(); FSP_ENTER_IOC(PAGED_CODE());
FspCompleteRequest(Irp, STATUS_SUCCESS); FSP_LEAVE_IOC("", 0);
} }

View File

@ -45,7 +45,7 @@ FspRead(
VOID FspReadComplete(PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) VOID FspReadComplete(PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response)
{ {
PAGED_CODE(); FSP_ENTER_IOC(PAGED_CODE());
FspCompleteRequest(Irp, STATUS_SUCCESS); FSP_LEAVE_IOC("", 0);
} }

View File

@ -78,14 +78,14 @@ FspSetSecurity(
VOID FspQuerySecurityComplete(PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) 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) VOID FspSetSecurityComplete(PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response)
{ {
PAGED_CODE(); FSP_ENTER_IOC(PAGED_CODE());
FspCompleteRequest(Irp, STATUS_SUCCESS); FSP_LEAVE_IOC("", 0);
} }

View File

@ -45,7 +45,7 @@ FspShutdown(
VOID FspShutdownComplete(PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) VOID FspShutdownComplete(PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response)
{ {
PAGED_CODE(); FSP_ENTER_IOC(PAGED_CODE());
FspCompleteRequest(Irp, STATUS_SUCCESS); FSP_LEAVE_IOC("", 0);
} }

View File

@ -78,14 +78,14 @@ FspSetVolumeInformation(
VOID FspQueryVolumeInformationComplete(PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) 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) VOID FspSetVolumeInformationComplete(PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response)
{ {
PAGED_CODE(); FSP_ENTER_IOC(PAGED_CODE());
FspCompleteRequest(Irp, STATUS_SUCCESS); FSP_LEAVE_IOC("", 0);
} }

View File

@ -45,7 +45,7 @@ FspWrite(
VOID FspWriteComplete(PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) VOID FspWriteComplete(PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response)
{ {
PAGED_CODE(); FSP_ENTER_IOC(PAGED_CODE());
FspCompleteRequest(Irp, STATUS_SUCCESS); FSP_LEAVE_IOC("", 0);
} }