From 80d6afc7b6d96e8398f567cd0c814104ed708a84 Mon Sep 17 00:00:00 2001 From: Bill Zissimopoulos Date: Sun, 22 Nov 2015 12:23:41 -0800 Subject: [PATCH] sys: WIP --- src/sys/cleanup.c | 36 +++++++++++++++--------------------- src/sys/close.c | 36 +++++++++++++++--------------------- src/sys/create.c | 36 +++++++++++++++--------------------- src/sys/devctl.c | 12 +++++------- src/sys/dirctl.c | 12 +++++------- src/sys/driver.h | 2 +- src/sys/ea.c | 24 ++++++++++-------------- src/sys/fileinfo.c | 24 ++++++++++-------------- src/sys/flush.c | 12 +++++------- src/sys/lockctl.c | 12 +++++------- src/sys/read.c | 12 +++++------- src/sys/security.c | 24 ++++++++++-------------- src/sys/shutdown.c | 12 +++++------- src/sys/volinfo.c | 24 ++++++++++-------------- src/sys/write.c | 12 +++++------- 15 files changed, 121 insertions(+), 169 deletions(-) diff --git a/src/sys/cleanup.c b/src/sys/cleanup.c index 3048700f..934061f8 100644 --- a/src/sys/cleanup.c +++ b/src/sys/cleanup.c @@ -6,9 +6,12 @@ #include -static DRIVER_DISPATCH FspFsctlCleanup; -static DRIVER_DISPATCH FspFsvrtCleanup; -static DRIVER_DISPATCH FspFsvolCleanup; +static NTSTATUS FspFsctlCleanup( + PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp); +static NTSTATUS FspFsvrtCleanup( + PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp); +static NTSTATUS FspFsvolCleanup( + PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp); DRIVER_DISPATCH FspCleanup; #ifdef ALLOC_PRAGMA @@ -18,33 +21,24 @@ DRIVER_DISPATCH FspCleanup; #pragma alloc_text(PAGE, FspCleanup) #endif -static -NTSTATUS -FspFsctlCleanup( - _In_ PDEVICE_OBJECT DeviceObject, - _In_ PIRP Irp) +static NTSTATUS FspFsctlCleanup( + PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp) { NTSTATUS Result = STATUS_SUCCESS; Irp->IoStatus.Information = 0; return Result; } -static -NTSTATUS -FspFsvrtCleanup( - _In_ PDEVICE_OBJECT DeviceObject, - _In_ PIRP Irp) +static NTSTATUS FspFsvrtCleanup( + PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp) { NTSTATUS Result = STATUS_SUCCESS; Irp->IoStatus.Information = 0; return Result; } -static -NTSTATUS -FspFsvolCleanup( - _In_ PDEVICE_OBJECT DeviceObject, - _In_ PIRP Irp) +static NTSTATUS FspFsvolCleanup( + PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp) { return STATUS_INVALID_DEVICE_REQUEST; } @@ -61,11 +55,11 @@ FspCleanup( switch (FspDeviceExtension(DeviceObject)->Kind) { case FspFsvolDeviceExtensionKind: - FSP_RETURN(Result = FspFsvolCleanup(DeviceObject, Irp)); + FSP_RETURN(Result = FspFsvolCleanup(DeviceObject, Irp, IrpSp)); case FspFsvrtDeviceExtensionKind: - FSP_RETURN(Result = FspFsvrtCleanup(DeviceObject, Irp)); + FSP_RETURN(Result = FspFsvrtCleanup(DeviceObject, Irp, IrpSp)); case FspFsctlDeviceExtensionKind: - FSP_RETURN(Result = FspFsctlCleanup(DeviceObject, Irp)); + FSP_RETURN(Result = FspFsctlCleanup(DeviceObject, Irp, IrpSp)); default: FSP_RETURN(Result = STATUS_INVALID_DEVICE_REQUEST); } diff --git a/src/sys/close.c b/src/sys/close.c index 2945fa01..49438baf 100644 --- a/src/sys/close.c +++ b/src/sys/close.c @@ -6,9 +6,12 @@ #include -static DRIVER_DISPATCH FspFsctlClose; -static DRIVER_DISPATCH FspFsvrtClose; -static DRIVER_DISPATCH FspFsvolClose; +static NTSTATUS FspFsctlClose( + PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp); +static NTSTATUS FspFsvrtClose( + PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp); +static NTSTATUS FspFsvolClose( + PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp); DRIVER_DISPATCH FspClose; #ifdef ALLOC_PRAGMA @@ -18,33 +21,24 @@ DRIVER_DISPATCH FspClose; #pragma alloc_text(PAGE, FspClose) #endif -static -NTSTATUS -FspFsctlClose( - _In_ PDEVICE_OBJECT DeviceObject, - _In_ PIRP Irp) +static NTSTATUS FspFsctlClose( + PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp) { NTSTATUS Result = STATUS_SUCCESS; Irp->IoStatus.Information = 0; return Result; } -static -NTSTATUS -FspFsvrtClose( - _In_ PDEVICE_OBJECT DeviceObject, - _In_ PIRP Irp) +static NTSTATUS FspFsvrtClose( + PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp) { NTSTATUS Result = STATUS_SUCCESS; Irp->IoStatus.Information = 0; return Result; } -static -NTSTATUS -FspFsvolClose( - _In_ PDEVICE_OBJECT DeviceObject, - _In_ PIRP Irp) +static NTSTATUS FspFsvolClose( + PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp) { return STATUS_INVALID_DEVICE_REQUEST; } @@ -61,11 +55,11 @@ FspClose( switch (FspDeviceExtension(DeviceObject)->Kind) { case FspFsvolDeviceExtensionKind: - FSP_RETURN(Result = FspFsvolClose(DeviceObject, Irp)); + FSP_RETURN(Result = FspFsvolClose(DeviceObject, Irp, IrpSp)); case FspFsvrtDeviceExtensionKind: - FSP_RETURN(Result = FspFsvrtClose(DeviceObject, Irp)); + FSP_RETURN(Result = FspFsvrtClose(DeviceObject, Irp, IrpSp)); case FspFsctlDeviceExtensionKind: - FSP_RETURN(Result = FspFsctlClose(DeviceObject, Irp)); + FSP_RETURN(Result = FspFsctlClose(DeviceObject, Irp, IrpSp)); default: FSP_RETURN(Result = STATUS_INVALID_DEVICE_REQUEST); } diff --git a/src/sys/create.c b/src/sys/create.c index 65393154..eb1c01db 100644 --- a/src/sys/create.c +++ b/src/sys/create.c @@ -6,9 +6,12 @@ #include -static DRIVER_DISPATCH FspFsctlCreate; -static DRIVER_DISPATCH FspFsvrtCreate; -static DRIVER_DISPATCH FspFsvolCreate; +static NTSTATUS FspFsctlCreate( + PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp); +static NTSTATUS FspFsvrtCreate( + PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp); +static NTSTATUS FspFsvolCreate( + PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp); DRIVER_DISPATCH FspCreate; #ifdef ALLOC_PRAGMA @@ -18,33 +21,24 @@ DRIVER_DISPATCH FspCreate; #pragma alloc_text(PAGE, FspCreate) #endif -static -NTSTATUS -FspFsctlCreate( - _In_ PDEVICE_OBJECT DeviceObject, - _In_ PIRP Irp) +static NTSTATUS FspFsctlCreate( + PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp) { NTSTATUS Result = STATUS_SUCCESS; Irp->IoStatus.Information = FILE_OPENED; return Result; } -static -NTSTATUS -FspFsvrtCreate( - _In_ PDEVICE_OBJECT DeviceObject, - _In_ PIRP Irp) +static NTSTATUS FspFsvrtCreate( + PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp) { NTSTATUS Result = STATUS_SUCCESS; Irp->IoStatus.Information = FILE_OPENED; return Result; } -static -NTSTATUS -FspFsvolCreate( - _In_ PDEVICE_OBJECT DeviceObject, - _In_ PIRP Irp) +static NTSTATUS FspFsvolCreate( + PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp) { return STATUS_INVALID_DEVICE_REQUEST; } @@ -61,11 +55,11 @@ FspCreate( switch (FspDeviceExtension(DeviceObject)->Kind) { case FspFsvolDeviceExtensionKind: - FSP_RETURN(Result = FspFsvolCreate(DeviceObject, Irp)); + FSP_RETURN(Result = FspFsvolCreate(DeviceObject, Irp, IrpSp)); case FspFsvrtDeviceExtensionKind: - FSP_RETURN(Result = FspFsvrtCreate(DeviceObject, Irp)); + FSP_RETURN(Result = FspFsvrtCreate(DeviceObject, Irp, IrpSp)); case FspFsctlDeviceExtensionKind: - FSP_RETURN(Result = FspFsctlCreate(DeviceObject, Irp)); + FSP_RETURN(Result = FspFsctlCreate(DeviceObject, Irp, IrpSp)); default: FSP_RETURN(Result = STATUS_INVALID_DEVICE_REQUEST); } diff --git a/src/sys/devctl.c b/src/sys/devctl.c index ff4a2a74..73bc4f23 100644 --- a/src/sys/devctl.c +++ b/src/sys/devctl.c @@ -6,7 +6,8 @@ #include -static DRIVER_DISPATCH FspFsvolDeviceControl; +static NTSTATUS FspFsvolDeviceControl( + PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp); DRIVER_DISPATCH FspDeviceControl; #ifdef ALLOC_PRAGMA @@ -14,11 +15,8 @@ DRIVER_DISPATCH FspDeviceControl; #pragma alloc_text(PAGE, FspDeviceControl) #endif -static -NTSTATUS -FspFsvolDeviceControl( - _In_ PDEVICE_OBJECT DeviceObject, - _In_ PIRP Irp) +static NTSTATUS FspFsvolDeviceControl( + PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp) { return STATUS_INVALID_DEVICE_REQUEST; } @@ -35,7 +33,7 @@ FspDeviceControl( switch (FspDeviceExtension(DeviceObject)->Kind) { case FspFsvolDeviceExtensionKind: - FSP_RETURN(Result = FspFsvolDeviceControl(DeviceObject, Irp)); + FSP_RETURN(Result = FspFsvolDeviceControl(DeviceObject, Irp, IrpSp)); default: FSP_RETURN(Result = STATUS_INVALID_DEVICE_REQUEST); } diff --git a/src/sys/dirctl.c b/src/sys/dirctl.c index 1bbc2f47..57e2daa1 100644 --- a/src/sys/dirctl.c +++ b/src/sys/dirctl.c @@ -6,7 +6,8 @@ #include -static DRIVER_DISPATCH FspFsvolDirectoryControl; +static NTSTATUS FspFsvolDirectoryControl( + PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp); DRIVER_DISPATCH FspDirectoryControl; #ifdef ALLOC_PRAGMA @@ -14,11 +15,8 @@ DRIVER_DISPATCH FspDirectoryControl; #pragma alloc_text(PAGE, FspDirectoryControl) #endif -static -NTSTATUS -FspFsvolDirectoryControl( - _In_ PDEVICE_OBJECT DeviceObject, - _In_ PIRP Irp) +static NTSTATUS FspFsvolDirectoryControl( + PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp) { return STATUS_INVALID_DEVICE_REQUEST; } @@ -35,7 +33,7 @@ FspDirectoryControl( switch (FspDeviceExtension(DeviceObject)->Kind) { case FspFsvolDeviceExtensionKind: - FSP_RETURN(Result = FspFsvolDirectoryControl(DeviceObject, Irp)); + FSP_RETURN(Result = FspFsvolDirectoryControl(DeviceObject, Irp, IrpSp)); default: FSP_RETURN(Result = STATUS_INVALID_DEVICE_REQUEST); } diff --git a/src/sys/driver.h b/src/sys/driver.h index 652e4925..a237cba6 100644 --- a/src/sys/driver.h +++ b/src/sys/driver.h @@ -62,7 +62,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); (void)IrpSp;\ + PIO_STACK_LOCATION IrpSp = IoGetCurrentIrpStackLocation(Irp);\ FSP_ENTER_(__VA_ARGS__) #define FSP_LEAVE_MJ(fmt, ...) \ FSP_LEAVE_( \ diff --git a/src/sys/ea.c b/src/sys/ea.c index 59a77817..f9bf2cdf 100644 --- a/src/sys/ea.c +++ b/src/sys/ea.c @@ -6,8 +6,10 @@ #include -static DRIVER_DISPATCH FspFsvolQueryEa; -static DRIVER_DISPATCH FspFsvolSetEa; +static NTSTATUS FspFsvolQueryEa( + PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp); +static NTSTATUS FspFsvolSetEa( + PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp); DRIVER_DISPATCH FspQueryEa; DRIVER_DISPATCH FspSetEa; @@ -18,20 +20,14 @@ DRIVER_DISPATCH FspSetEa; #pragma alloc_text(PAGE, FspSetEa) #endif -static -NTSTATUS -FspFsvolQueryEa( - _In_ PDEVICE_OBJECT DeviceObject, - _In_ PIRP Irp) +static NTSTATUS FspFsvolQueryEa( + PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp) { return STATUS_INVALID_DEVICE_REQUEST; } -static -NTSTATUS -FspFsvolSetEa( - _In_ PDEVICE_OBJECT DeviceObject, - _In_ PIRP Irp) +static NTSTATUS FspFsvolSetEa( + PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp) { return STATUS_INVALID_DEVICE_REQUEST; } @@ -48,7 +44,7 @@ FspQueryEa( switch (FspDeviceExtension(DeviceObject)->Kind) { case FspFsvolDeviceExtensionKind: - FSP_RETURN(Result = FspFsvolQueryEa(DeviceObject, Irp)); + FSP_RETURN(Result = FspFsvolQueryEa(DeviceObject, Irp, IrpSp)); default: FSP_RETURN(Result = STATUS_INVALID_DEVICE_REQUEST); } @@ -68,7 +64,7 @@ FspSetEa( switch (FspDeviceExtension(DeviceObject)->Kind) { case FspFsvolDeviceExtensionKind: - FSP_RETURN(Result = FspFsvolSetEa(DeviceObject, Irp)); + FSP_RETURN(Result = FspFsvolSetEa(DeviceObject, Irp, IrpSp)); default: FSP_RETURN(Result = STATUS_INVALID_DEVICE_REQUEST); } diff --git a/src/sys/fileinfo.c b/src/sys/fileinfo.c index 31dd63e4..39efb451 100644 --- a/src/sys/fileinfo.c +++ b/src/sys/fileinfo.c @@ -6,8 +6,10 @@ #include -static DRIVER_DISPATCH FspFsvolQueryInformation; -static DRIVER_DISPATCH FspFsvolSetInformation; +static NTSTATUS FspFsvolQueryInformation( + PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp); +static NTSTATUS FspFsvolSetInformation( + PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp); DRIVER_DISPATCH FspQueryInformation; DRIVER_DISPATCH FspSetInformation; @@ -18,20 +20,14 @@ DRIVER_DISPATCH FspSetInformation; #pragma alloc_text(PAGE, FspSetInformation) #endif -static -NTSTATUS -FspFsvolQueryInformation( - _In_ PDEVICE_OBJECT DeviceObject, - _In_ PIRP Irp) +static NTSTATUS FspFsvolQueryInformation( + PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp) { return STATUS_INVALID_DEVICE_REQUEST; } -static -NTSTATUS -FspFsvolSetInformation( - _In_ PDEVICE_OBJECT DeviceObject, - _In_ PIRP Irp) +static NTSTATUS FspFsvolSetInformation( + PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp) { return STATUS_INVALID_DEVICE_REQUEST; } @@ -48,7 +44,7 @@ FspQueryInformation( switch (FspDeviceExtension(DeviceObject)->Kind) { case FspFsvolDeviceExtensionKind: - FSP_RETURN(Result = FspFsvolQueryInformation(DeviceObject, Irp)); + FSP_RETURN(Result = FspFsvolQueryInformation(DeviceObject, Irp, IrpSp)); default: FSP_RETURN(Result = STATUS_INVALID_DEVICE_REQUEST); } @@ -68,7 +64,7 @@ FspSetInformation( switch (FspDeviceExtension(DeviceObject)->Kind) { case FspFsvolDeviceExtensionKind: - FSP_RETURN(Result = FspFsvolSetInformation(DeviceObject, Irp)); + FSP_RETURN(Result = FspFsvolSetInformation(DeviceObject, Irp, IrpSp)); default: FSP_RETURN(Result = STATUS_INVALID_DEVICE_REQUEST); } diff --git a/src/sys/flush.c b/src/sys/flush.c index d0ee476c..c8f26730 100644 --- a/src/sys/flush.c +++ b/src/sys/flush.c @@ -6,7 +6,8 @@ #include -static DRIVER_DISPATCH FspFsvolFlushBuffers; +static NTSTATUS FspFsvolFlushBuffers( + PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp); DRIVER_DISPATCH FspFlushBuffers; #ifdef ALLOC_PRAGMA @@ -14,11 +15,8 @@ DRIVER_DISPATCH FspFlushBuffers; #pragma alloc_text(PAGE, FspFlushBuffers) #endif -static -NTSTATUS -FspFsvolFlushBuffers( - _In_ PDEVICE_OBJECT DeviceObject, - _In_ PIRP Irp) +static NTSTATUS FspFsvolFlushBuffers( + PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp) { return STATUS_INVALID_DEVICE_REQUEST; } @@ -35,7 +33,7 @@ FspFlushBuffers( switch (FspDeviceExtension(DeviceObject)->Kind) { case FspFsvolDeviceExtensionKind: - FSP_RETURN(Result = FspFsvolFlushBuffers(DeviceObject, Irp)); + FSP_RETURN(Result = FspFsvolFlushBuffers(DeviceObject, Irp, IrpSp)); default: FSP_RETURN(Result = STATUS_INVALID_DEVICE_REQUEST); } diff --git a/src/sys/lockctl.c b/src/sys/lockctl.c index 1e27bbfc..6013c515 100644 --- a/src/sys/lockctl.c +++ b/src/sys/lockctl.c @@ -6,7 +6,8 @@ #include -static DRIVER_DISPATCH FspFsvolLockControl; +static NTSTATUS FspFsvolLockControl( + PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp); DRIVER_DISPATCH FspLockControl; #ifdef ALLOC_PRAGMA @@ -14,11 +15,8 @@ DRIVER_DISPATCH FspLockControl; #pragma alloc_text(PAGE, FspLockControl) #endif -static -NTSTATUS -FspFsvolLockControl( - _In_ PDEVICE_OBJECT DeviceObject, - _In_ PIRP Irp) +static NTSTATUS FspFsvolLockControl( + PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp) { return STATUS_INVALID_DEVICE_REQUEST; } @@ -35,7 +33,7 @@ FspLockControl( switch (FspDeviceExtension(DeviceObject)->Kind) { case FspFsvolDeviceExtensionKind: - FSP_RETURN(Result = FspFsvolLockControl(DeviceObject, Irp)); + FSP_RETURN(Result = FspFsvolLockControl(DeviceObject, Irp, IrpSp)); default: FSP_RETURN(Result = STATUS_INVALID_DEVICE_REQUEST); } diff --git a/src/sys/read.c b/src/sys/read.c index 1df71368..ed145d84 100644 --- a/src/sys/read.c +++ b/src/sys/read.c @@ -6,7 +6,8 @@ #include -static DRIVER_DISPATCH FspFsvolRead; +static NTSTATUS FspFsvolRead( + PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp); DRIVER_DISPATCH FspRead; #ifdef ALLOC_PRAGMA @@ -14,11 +15,8 @@ DRIVER_DISPATCH FspRead; #pragma alloc_text(PAGE, FspRead) #endif -static -NTSTATUS -FspFsvolRead( - _In_ PDEVICE_OBJECT DeviceObject, - _In_ PIRP Irp) +static NTSTATUS FspFsvolRead( + PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp) { return STATUS_INVALID_DEVICE_REQUEST; } @@ -35,7 +33,7 @@ FspRead( switch (FspDeviceExtension(DeviceObject)->Kind) { case FspFsvolDeviceExtensionKind: - FSP_RETURN(Result = FspFsvolRead(DeviceObject, Irp)); + FSP_RETURN(Result = FspFsvolRead(DeviceObject, Irp, IrpSp)); default: FSP_RETURN(Result = STATUS_INVALID_DEVICE_REQUEST); } diff --git a/src/sys/security.c b/src/sys/security.c index 848edcbf..4a134064 100644 --- a/src/sys/security.c +++ b/src/sys/security.c @@ -6,8 +6,10 @@ #include -static DRIVER_DISPATCH FspFsvolQuerySecurity; -static DRIVER_DISPATCH FspFsvolSetSecurity; +static NTSTATUS FspFsvolQuerySecurity( + PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp); +static NTSTATUS FspFsvolSetSecurity( + PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp); DRIVER_DISPATCH FspQuerySecurity; DRIVER_DISPATCH FspSetSecurity; @@ -18,20 +20,14 @@ DRIVER_DISPATCH FspSetSecurity; #pragma alloc_text(PAGE, FspSetSecurity) #endif -static -NTSTATUS -FspFsvolQuerySecurity( - _In_ PDEVICE_OBJECT DeviceObject, - _In_ PIRP Irp) +static NTSTATUS FspFsvolQuerySecurity( + PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp) { return STATUS_INVALID_DEVICE_REQUEST; } -static -NTSTATUS -FspFsvolSetSecurity( - _In_ PDEVICE_OBJECT DeviceObject, - _In_ PIRP Irp) +static NTSTATUS FspFsvolSetSecurity( + PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp) { return STATUS_INVALID_DEVICE_REQUEST; } @@ -48,7 +44,7 @@ FspQuerySecurity( switch (FspDeviceExtension(DeviceObject)->Kind) { case FspFsvolDeviceExtensionKind: - FSP_RETURN(Result = FspFsvolQuerySecurity(DeviceObject, Irp)); + FSP_RETURN(Result = FspFsvolQuerySecurity(DeviceObject, Irp, IrpSp)); default: FSP_RETURN(Result = STATUS_INVALID_DEVICE_REQUEST); } @@ -68,7 +64,7 @@ FspSetSecurity( switch (FspDeviceExtension(DeviceObject)->Kind) { case FspFsvolDeviceExtensionKind: - FSP_RETURN(Result = FspFsvolSetSecurity(DeviceObject, Irp)); + FSP_RETURN(Result = FspFsvolSetSecurity(DeviceObject, Irp, IrpSp)); default: FSP_RETURN(Result = STATUS_INVALID_DEVICE_REQUEST); } diff --git a/src/sys/shutdown.c b/src/sys/shutdown.c index 07a66cd7..642fb780 100644 --- a/src/sys/shutdown.c +++ b/src/sys/shutdown.c @@ -6,7 +6,8 @@ #include -static DRIVER_DISPATCH FspFsvolShutdown; +static NTSTATUS FspFsvolShutdown( + PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp); DRIVER_DISPATCH FspShutdown; #ifdef ALLOC_PRAGMA @@ -14,11 +15,8 @@ DRIVER_DISPATCH FspShutdown; #pragma alloc_text(PAGE, FspShutdown) #endif -static -NTSTATUS -FspFsvolShutdown( - _In_ PDEVICE_OBJECT DeviceObject, - _In_ PIRP Irp) +static NTSTATUS FspFsvolShutdown( + PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp) { return STATUS_INVALID_DEVICE_REQUEST; } @@ -35,7 +33,7 @@ FspShutdown( switch (FspDeviceExtension(DeviceObject)->Kind) { case FspFsvolDeviceExtensionKind: - FSP_RETURN(Result = FspFsvolShutdown(DeviceObject, Irp)); + FSP_RETURN(Result = FspFsvolShutdown(DeviceObject, Irp, IrpSp)); default: FSP_RETURN(Result = STATUS_INVALID_DEVICE_REQUEST); } diff --git a/src/sys/volinfo.c b/src/sys/volinfo.c index 37a55b0c..3b120066 100644 --- a/src/sys/volinfo.c +++ b/src/sys/volinfo.c @@ -6,8 +6,10 @@ #include -static DRIVER_DISPATCH FspFsvolQueryVolumeInformation; -static DRIVER_DISPATCH FspFsvolSetVolumeInformation; +static NTSTATUS FspFsvolQueryVolumeInformation( + PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp); +static NTSTATUS FspFsvolSetVolumeInformation( + PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp); DRIVER_DISPATCH FspQueryVolumeInformation; DRIVER_DISPATCH FspSetVolumeInformation; @@ -18,20 +20,14 @@ DRIVER_DISPATCH FspSetVolumeInformation; #pragma alloc_text(PAGE, FspSetVolumeInformation) #endif -static -NTSTATUS -FspFsvolQueryVolumeInformation( - _In_ PDEVICE_OBJECT DeviceObject, - _In_ PIRP Irp) +static NTSTATUS FspFsvolQueryVolumeInformation( + PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp) { return STATUS_INVALID_DEVICE_REQUEST; } -static -NTSTATUS -FspFsvolSetVolumeInformation( - _In_ PDEVICE_OBJECT DeviceObject, - _In_ PIRP Irp) +static NTSTATUS FspFsvolSetVolumeInformation( + PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp) { return STATUS_INVALID_DEVICE_REQUEST; } @@ -48,7 +44,7 @@ FspQueryVolumeInformation( switch (FspDeviceExtension(DeviceObject)->Kind) { case FspFsvolDeviceExtensionKind: - FSP_RETURN(Result = FspFsvolQueryVolumeInformation(DeviceObject, Irp)); + FSP_RETURN(Result = FspFsvolQueryVolumeInformation(DeviceObject, Irp, IrpSp)); default: FSP_RETURN(Result = STATUS_INVALID_DEVICE_REQUEST); } @@ -68,7 +64,7 @@ FspSetVolumeInformation( switch (FspDeviceExtension(DeviceObject)->Kind) { case FspFsvolDeviceExtensionKind: - FSP_RETURN(Result = FspFsvolSetVolumeInformation(DeviceObject, Irp)); + FSP_RETURN(Result = FspFsvolSetVolumeInformation(DeviceObject, Irp, IrpSp)); default: FSP_RETURN(Result = STATUS_INVALID_DEVICE_REQUEST); } diff --git a/src/sys/write.c b/src/sys/write.c index 6c1f03bd..dbdeb016 100644 --- a/src/sys/write.c +++ b/src/sys/write.c @@ -6,7 +6,8 @@ #include -static DRIVER_DISPATCH FspFsvolWrite; +static NTSTATUS FspFsvolWrite( + PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp); DRIVER_DISPATCH FspWrite; #ifdef ALLOC_PRAGMA @@ -14,11 +15,8 @@ DRIVER_DISPATCH FspWrite; #pragma alloc_text(PAGE, FspWrite) #endif -static -NTSTATUS -FspFsvolWrite( - _In_ PDEVICE_OBJECT DeviceObject, - _In_ PIRP Irp) +static NTSTATUS FspFsvolWrite( + PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp) { return STATUS_INVALID_DEVICE_REQUEST; } @@ -35,7 +33,7 @@ FspWrite( switch (FspDeviceExtension(DeviceObject)->Kind) { case FspFsvolDeviceExtensionKind: - FSP_RETURN(Result = FspFsvolWrite(DeviceObject, Irp)); + FSP_RETURN(Result = FspFsvolWrite(DeviceObject, Irp, IrpSp)); default: FSP_RETURN(Result = STATUS_INVALID_DEVICE_REQUEST); }