mirror of
https://github.com/winfsp/winfsp.git
synced 2025-04-22 08:23:05 -05:00
sys: FSP_ENTER_MJ, FSP_LEAVE_MJ overhaul
This commit is contained in:
parent
63ed307fe5
commit
bde11ce1ad
@ -22,16 +22,8 @@ FspCleanup(
|
||||
ASSERT(IRP_MJ_CLEANUP == IrpSp->MajorFunction);
|
||||
|
||||
if (FspFileSystemDeviceExtensionKind == FspDeviceExtension(DeviceObject)->Kind)
|
||||
{
|
||||
Result = STATUS_SUCCESS;
|
||||
Irp->IoStatus.Status = Result;
|
||||
Irp->IoStatus.Information = 0;
|
||||
IoCompleteRequest(Irp, FSP_IO_INCREMENT);
|
||||
FSP_RETURN();
|
||||
}
|
||||
FSP_RETURN(Irp->IoStatus.Information = 0);
|
||||
|
||||
Irp->IoStatus.Status = STATUS_INVALID_DEVICE_REQUEST;
|
||||
IoCompleteRequest(Irp, IO_NO_INCREMENT);
|
||||
Result = STATUS_INVALID_DEVICE_REQUEST;
|
||||
|
||||
FSP_LEAVE_MJ("", 0);
|
||||
|
@ -22,16 +22,8 @@ FspClose(
|
||||
ASSERT(IRP_MJ_CLOSE == IrpSp->MajorFunction);
|
||||
|
||||
if (FspFileSystemDeviceExtensionKind == FspDeviceExtension(DeviceObject)->Kind)
|
||||
{
|
||||
Result = STATUS_SUCCESS;
|
||||
Irp->IoStatus.Status = Result;
|
||||
Irp->IoStatus.Information = 0;
|
||||
IoCompleteRequest(Irp, FSP_IO_INCREMENT);
|
||||
FSP_RETURN();
|
||||
}
|
||||
FSP_RETURN(Irp->IoStatus.Information = 0);
|
||||
|
||||
Irp->IoStatus.Status = STATUS_INVALID_DEVICE_REQUEST;
|
||||
IoCompleteRequest(Irp, IO_NO_INCREMENT);
|
||||
Result = STATUS_INVALID_DEVICE_REQUEST;
|
||||
|
||||
FSP_LEAVE_MJ("", 0);
|
||||
|
@ -22,16 +22,8 @@ FspCreate(
|
||||
ASSERT(IRP_MJ_CREATE == IrpSp->MajorFunction);
|
||||
|
||||
if (FspFileSystemDeviceExtensionKind == FspDeviceExtension(DeviceObject)->Kind)
|
||||
{
|
||||
Result = STATUS_SUCCESS;
|
||||
Irp->IoStatus.Status = Result;
|
||||
Irp->IoStatus.Information = FILE_OPENED;
|
||||
IoCompleteRequest(Irp, FSP_IO_INCREMENT);
|
||||
FSP_RETURN();
|
||||
}
|
||||
FSP_RETURN(Irp->IoStatus.Information = FILE_OPENED);
|
||||
|
||||
Irp->IoStatus.Status = STATUS_INVALID_DEVICE_REQUEST;
|
||||
IoCompleteRequest(Irp, IO_NO_INCREMENT);
|
||||
Result = STATUS_INVALID_DEVICE_REQUEST;
|
||||
|
||||
FSP_LEAVE_MJ(
|
||||
|
@ -21,8 +21,6 @@ FspDeviceControl(
|
||||
|
||||
ASSERT(IRP_MJ_DEVICE_CONTROL == IrpSp->MajorFunction);
|
||||
|
||||
Irp->IoStatus.Status = STATUS_INVALID_DEVICE_REQUEST;
|
||||
IoCompleteRequest(Irp, IO_NO_INCREMENT);
|
||||
Result = STATUS_INVALID_DEVICE_REQUEST;
|
||||
|
||||
FSP_LEAVE_MJ("", 0);
|
||||
|
@ -21,8 +21,6 @@ FspDirectoryControl(
|
||||
|
||||
ASSERT(IRP_MJ_DIRECTORY_CONTROL == IrpSp->MajorFunction);
|
||||
|
||||
Irp->IoStatus.Status = STATUS_INVALID_DEVICE_REQUEST;
|
||||
IoCompleteRequest(Irp, IO_NO_INCREMENT);
|
||||
Result = STATUS_INVALID_DEVICE_REQUEST;
|
||||
|
||||
FSP_LEAVE_MJ("", 0);
|
||||
|
@ -61,16 +61,22 @@
|
||||
PIO_STACK_LOCATION IrpSp = IoGetCurrentIrpStackLocation(Irp); (void)IrpSp;\
|
||||
FSP_ENTER_(__VA_ARGS__)
|
||||
#define FSP_LEAVE_MJ(fmt, ...) \
|
||||
FSP_LEAVE_(FSP_DEBUGLOG_("%c%c, %s%s, IrpSp->Flags=%x, " fmt, " = %s",\
|
||||
FspDeviceExtension(DeviceObject)->Kind,\
|
||||
Irp->RequestorMode == KernelMode ? 'K' : 'U',\
|
||||
IrpMajorFunctionSym(IrpSp->MajorFunction),\
|
||||
IrpMinorFunctionSym(IrpSp->MajorFunction, IrpSp->MajorFunction),\
|
||||
IrpSp->Flags, \
|
||||
__VA_ARGS__, \
|
||||
NtStatusSym(Result)); \
|
||||
FSP_LEAVE_( \
|
||||
FSP_DEBUGLOG_("%c%c, %s%s, IrpSp->Flags=%x, " fmt, " = %s",\
|
||||
FspDeviceExtension(DeviceObject)->Kind,\
|
||||
Irp->RequestorMode == KernelMode ? 'K' : 'U',\
|
||||
IrpMajorFunctionSym(IrpSp->MajorFunction),\
|
||||
IrpMinorFunctionSym(IrpSp->MajorFunction, IrpSp->MajorFunction),\
|
||||
IrpSp->Flags, \
|
||||
__VA_ARGS__, \
|
||||
NtStatusSym(Result)); \
|
||||
if (STATUS_PENDING != Result) \
|
||||
IoCompleteRequest(Irp, FSP_IO_INCREMENT));\
|
||||
{ \
|
||||
if (!NT_SUCCESS(Result)) \
|
||||
Irp->IoStatus.Information = 0;\
|
||||
Irp->IoStatus.Status = Result;\
|
||||
IoCompleteRequest(Irp, FSP_IO_INCREMENT);\
|
||||
}); \
|
||||
return Result
|
||||
#define FSP_ENTER_BOOL(...) \
|
||||
BOOLEAN Result = TRUE; FSP_ENTER_(__VA_ARGS__)
|
||||
|
@ -23,8 +23,6 @@ FspQueryEa(
|
||||
|
||||
ASSERT(IRP_MJ_QUERY_EA == IrpSp->MajorFunction);
|
||||
|
||||
Irp->IoStatus.Status = STATUS_INVALID_DEVICE_REQUEST;
|
||||
IoCompleteRequest(Irp, IO_NO_INCREMENT);
|
||||
Result = STATUS_INVALID_DEVICE_REQUEST;
|
||||
|
||||
FSP_LEAVE_MJ("", 0);
|
||||
@ -39,8 +37,6 @@ FspSetEa(
|
||||
|
||||
ASSERT(IRP_MJ_SET_EA == IrpSp->MajorFunction);
|
||||
|
||||
Irp->IoStatus.Status = STATUS_INVALID_DEVICE_REQUEST;
|
||||
IoCompleteRequest(Irp, IO_NO_INCREMENT);
|
||||
Result = STATUS_INVALID_DEVICE_REQUEST;
|
||||
|
||||
FSP_LEAVE_MJ("", 0);
|
||||
|
@ -23,8 +23,6 @@ FspQueryInformation(
|
||||
|
||||
ASSERT(IRP_MJ_QUERY_INFORMATION == IrpSp->MajorFunction);
|
||||
|
||||
Irp->IoStatus.Status = STATUS_INVALID_DEVICE_REQUEST;
|
||||
IoCompleteRequest(Irp, IO_NO_INCREMENT);
|
||||
Result = STATUS_INVALID_DEVICE_REQUEST;
|
||||
|
||||
FSP_LEAVE_MJ("", 0);
|
||||
@ -39,8 +37,6 @@ FspSetInformation(
|
||||
|
||||
ASSERT(IRP_MJ_SET_INFORMATION == IrpSp->MajorFunction);
|
||||
|
||||
Irp->IoStatus.Status = STATUS_INVALID_DEVICE_REQUEST;
|
||||
IoCompleteRequest(Irp, IO_NO_INCREMENT);
|
||||
Result = STATUS_INVALID_DEVICE_REQUEST;
|
||||
|
||||
FSP_LEAVE_MJ("", 0);
|
||||
|
@ -21,8 +21,6 @@ FspFlushBuffers(
|
||||
|
||||
ASSERT(IRP_MJ_FLUSH_BUFFERS == IrpSp->MajorFunction);
|
||||
|
||||
Irp->IoStatus.Status = STATUS_INVALID_DEVICE_REQUEST;
|
||||
IoCompleteRequest(Irp, IO_NO_INCREMENT);
|
||||
Result = STATUS_INVALID_DEVICE_REQUEST;
|
||||
|
||||
FSP_LEAVE_MJ("", 0);
|
||||
|
@ -21,8 +21,6 @@ FspFileSystemControl(
|
||||
|
||||
ASSERT(IRP_MJ_FILE_SYSTEM_CONTROL == IrpSp->MajorFunction);
|
||||
|
||||
Irp->IoStatus.Status = STATUS_INVALID_DEVICE_REQUEST;
|
||||
IoCompleteRequest(Irp, IO_NO_INCREMENT);
|
||||
Result = STATUS_INVALID_DEVICE_REQUEST;
|
||||
|
||||
FSP_LEAVE_MJ("", 0);
|
||||
|
@ -21,8 +21,6 @@ FspLockControl(
|
||||
|
||||
ASSERT(IRP_MJ_LOCK_CONTROL == IrpSp->MajorFunction);
|
||||
|
||||
Irp->IoStatus.Status = STATUS_INVALID_DEVICE_REQUEST;
|
||||
IoCompleteRequest(Irp, IO_NO_INCREMENT);
|
||||
Result = STATUS_INVALID_DEVICE_REQUEST;
|
||||
|
||||
FSP_LEAVE_MJ("", 0);
|
||||
|
@ -21,8 +21,6 @@ FspRead(
|
||||
|
||||
ASSERT(IRP_MJ_READ == IrpSp->MajorFunction);
|
||||
|
||||
Irp->IoStatus.Status = STATUS_INVALID_DEVICE_REQUEST;
|
||||
IoCompleteRequest(Irp, IO_NO_INCREMENT);
|
||||
Result = STATUS_INVALID_DEVICE_REQUEST;
|
||||
|
||||
FSP_LEAVE_MJ("", 0);
|
||||
|
@ -23,8 +23,6 @@ FspQuerySecurity(
|
||||
|
||||
ASSERT(IRP_MJ_QUERY_SECURITY == IrpSp->MajorFunction);
|
||||
|
||||
Irp->IoStatus.Status = STATUS_INVALID_DEVICE_REQUEST;
|
||||
IoCompleteRequest(Irp, IO_NO_INCREMENT);
|
||||
Result = STATUS_INVALID_DEVICE_REQUEST;
|
||||
|
||||
FSP_LEAVE_MJ("", 0);
|
||||
@ -39,8 +37,6 @@ FspSetSecurity(
|
||||
|
||||
ASSERT(IRP_MJ_SET_SECURITY == IrpSp->MajorFunction);
|
||||
|
||||
Irp->IoStatus.Status = STATUS_INVALID_DEVICE_REQUEST;
|
||||
IoCompleteRequest(Irp, IO_NO_INCREMENT);
|
||||
Result = STATUS_INVALID_DEVICE_REQUEST;
|
||||
|
||||
FSP_LEAVE_MJ("", 0);
|
||||
|
@ -21,8 +21,6 @@ FspShutdown(
|
||||
|
||||
ASSERT(IRP_MJ_SHUTDOWN == IrpSp->MajorFunction);
|
||||
|
||||
Irp->IoStatus.Status = STATUS_INVALID_DEVICE_REQUEST;
|
||||
IoCompleteRequest(Irp, IO_NO_INCREMENT);
|
||||
Result = STATUS_INVALID_DEVICE_REQUEST;
|
||||
|
||||
FSP_LEAVE_MJ("", 0);
|
||||
|
@ -23,8 +23,6 @@ FspQueryVolumeInformation(
|
||||
|
||||
ASSERT(IRP_MJ_QUERY_VOLUME_INFORMATION == IrpSp->MajorFunction);
|
||||
|
||||
Irp->IoStatus.Status = STATUS_INVALID_DEVICE_REQUEST;
|
||||
IoCompleteRequest(Irp, IO_NO_INCREMENT);
|
||||
Result = STATUS_INVALID_DEVICE_REQUEST;
|
||||
|
||||
FSP_LEAVE_MJ("", 0);
|
||||
@ -39,8 +37,6 @@ FspSetVolumeInformation(
|
||||
|
||||
ASSERT(IRP_MJ_SET_VOLUME_INFORMATION == IrpSp->MajorFunction);
|
||||
|
||||
Irp->IoStatus.Status = STATUS_INVALID_DEVICE_REQUEST;
|
||||
IoCompleteRequest(Irp, IO_NO_INCREMENT);
|
||||
Result = STATUS_INVALID_DEVICE_REQUEST;
|
||||
|
||||
FSP_LEAVE_MJ("", 0);
|
||||
|
@ -21,8 +21,6 @@ FspWrite(
|
||||
|
||||
ASSERT(IRP_MJ_WRITE == IrpSp->MajorFunction);
|
||||
|
||||
Irp->IoStatus.Status = STATUS_INVALID_DEVICE_REQUEST;
|
||||
IoCompleteRequest(Irp, IO_NO_INCREMENT);
|
||||
Result = STATUS_INVALID_DEVICE_REQUEST;
|
||||
|
||||
FSP_LEAVE_MJ("", 0);
|
||||
|
Loading…
x
Reference in New Issue
Block a user