From 7ab5998c494ff32ce8158cec58da7f86a3ca6360 Mon Sep 17 00:00:00 2001 From: Bill Zissimopoulos Date: Sat, 28 Nov 2015 13:08:34 -0800 Subject: [PATCH] sys: WIP --- src/sys/cleanup.c | 2 +- src/sys/close.c | 2 +- src/sys/create.c | 2 +- src/sys/devctl.c | 2 +- src/sys/dirctl.c | 2 +- src/sys/driver.h | 4 ++-- src/sys/ea.c | 4 ++-- src/sys/fileinfo.c | 4 ++-- src/sys/flush.c | 2 +- src/sys/fsctl.c | 5 +++-- src/sys/iop.c | 4 ++-- src/sys/lockctl.c | 2 +- src/sys/read.c | 2 +- src/sys/security.c | 4 ++-- src/sys/shutdown.c | 2 +- src/sys/volinfo.c | 4 ++-- src/sys/write.c | 4 ++-- 17 files changed, 26 insertions(+), 25 deletions(-) diff --git a/src/sys/cleanup.c b/src/sys/cleanup.c index 314a9d6d..8148254b 100644 --- a/src/sys/cleanup.c +++ b/src/sys/cleanup.c @@ -74,7 +74,7 @@ NTSTATUS FspCleanup( } VOID FspCleanupComplete( - PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) + PIRP Irp, const FSP_FSCTL_TRANSACT_RSP *Response) { FSP_ENTER_IOC(PAGED_CODE()); diff --git a/src/sys/close.c b/src/sys/close.c index 30659b98..46cdce84 100644 --- a/src/sys/close.c +++ b/src/sys/close.c @@ -74,7 +74,7 @@ NTSTATUS FspClose( } VOID FspCloseComplete( - PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) + PIRP Irp, const FSP_FSCTL_TRANSACT_RSP *Response) { FSP_ENTER_IOC(PAGED_CODE()); diff --git a/src/sys/create.c b/src/sys/create.c index a03f9997..888fdd46 100644 --- a/src/sys/create.c +++ b/src/sys/create.c @@ -90,7 +90,7 @@ NTSTATUS FspCreate( } VOID FspCreateComplete( - PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) + PIRP Irp, const FSP_FSCTL_TRANSACT_RSP *Response) { FSP_ENTER_IOC(PAGED_CODE()); diff --git a/src/sys/devctl.c b/src/sys/devctl.c index 41618e96..08d16cdd 100644 --- a/src/sys/devctl.c +++ b/src/sys/devctl.c @@ -44,7 +44,7 @@ NTSTATUS FspDeviceControl( } VOID FspDeviceControlComplete( - PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) + PIRP Irp, const FSP_FSCTL_TRANSACT_RSP *Response) { FSP_ENTER_IOC(PAGED_CODE()); diff --git a/src/sys/dirctl.c b/src/sys/dirctl.c index 1aeb36e6..5af6d116 100644 --- a/src/sys/dirctl.c +++ b/src/sys/dirctl.c @@ -44,7 +44,7 @@ NTSTATUS FspDirectoryControl( } VOID FspDirectoryControlComplete( - PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) + PIRP Irp, const FSP_FSCTL_TRANSACT_RSP *Response) { FSP_ENTER_IOC(PAGED_CODE()); diff --git a/src/sys/driver.h b/src/sys/driver.h index 133fe496..bb8452d6 100644 --- a/src/sys/driver.h +++ b/src/sys/driver.h @@ -186,7 +186,7 @@ _Dispatch_type_(IRP_MJ_WRITE) FSP_DRIVER_DISPATCH FspWrite; _IRQL_requires_max_(APC_LEVEL) _IRQL_requires_same_ typedef VOID FSP_IOPROC_DISPATCH( - _Inout_ PIRP Irp, _In_ FSP_FSCTL_TRANSACT_RSP *Response); + _Inout_ PIRP Irp, _In_ const FSP_FSCTL_TRANSACT_RSP *Response); FSP_IOPROC_DISPATCH FspCleanupComplete; FSP_IOPROC_DISPATCH FspCloseComplete; FSP_IOPROC_DISPATCH FspCreateComplete; @@ -284,7 +284,7 @@ FSP_FSVOL_DEVICE_EXTENSION *FspFsvolDeviceExtension(PDEVICE_OBJECT DeviceObject) /* I/O completion */ VOID FspCompleteRequest(PIRP Irp, NTSTATUS Result); -VOID FspDispatchProcessedIrp(PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response); +VOID FspDispatchProcessedIrp(PIRP Irp, const FSP_FSCTL_TRANSACT_RSP *Response); /* misc */ VOID FspCompleteRequest(PIRP Irp, NTSTATUS Result); diff --git a/src/sys/ea.c b/src/sys/ea.c index 86209734..c10ed63c 100644 --- a/src/sys/ea.c +++ b/src/sys/ea.c @@ -77,7 +77,7 @@ NTSTATUS FspSetEa( } VOID FspQueryEaComplete( - PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) + PIRP Irp, const FSP_FSCTL_TRANSACT_RSP *Response) { FSP_ENTER_IOC(PAGED_CODE()); @@ -85,7 +85,7 @@ VOID FspQueryEaComplete( } VOID FspSetEaComplete( - PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) + PIRP Irp, const FSP_FSCTL_TRANSACT_RSP *Response) { FSP_ENTER_IOC(PAGED_CODE()); diff --git a/src/sys/fileinfo.c b/src/sys/fileinfo.c index 3d0cffaa..8503d255 100644 --- a/src/sys/fileinfo.c +++ b/src/sys/fileinfo.c @@ -77,7 +77,7 @@ NTSTATUS FspSetInformation( } VOID FspQueryInformationComplete( - PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) + PIRP Irp, const FSP_FSCTL_TRANSACT_RSP *Response) { FSP_ENTER_IOC(PAGED_CODE()); @@ -85,7 +85,7 @@ VOID FspQueryInformationComplete( } VOID FspSetInformationComplete( - PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) + PIRP Irp, const FSP_FSCTL_TRANSACT_RSP *Response) { FSP_ENTER_IOC(PAGED_CODE()); diff --git a/src/sys/flush.c b/src/sys/flush.c index b88566f7..9f69d451 100644 --- a/src/sys/flush.c +++ b/src/sys/flush.c @@ -44,7 +44,7 @@ NTSTATUS FspFlushBuffers( } VOID FspFlushBuffersComplete( - PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) + PIRP Irp, const FSP_FSCTL_TRANSACT_RSP *Response) { FSP_ENTER_IOC(PAGED_CODE()); diff --git a/src/sys/fsctl.c b/src/sys/fsctl.c index cf3baeb4..17996f7c 100644 --- a/src/sys/fsctl.c +++ b/src/sys/fsctl.c @@ -153,7 +153,7 @@ static NTSTATUS FspFsvrtTransact( /* either IRP was canceled or a bogus Hint was provided */ continue; - //FspDispatchProcessedIrp(ProcessIrp, Response); + FspDispatchProcessedIrp(ProcessIrp, Response); Response = NextResponse; } @@ -203,6 +203,7 @@ static NTSTATUS FspFsvrtTransact( break; } + RtlZeroMemory(Request, SystemBufferEnd - (PUINT8)Request); Irp->IoStatus.Information = (PUINT8)Request - (PUINT8)SystemBuffer; return STATUS_SUCCESS; @@ -296,7 +297,7 @@ NTSTATUS FspFileSystemControl( } VOID FspFileSystemControlComplete( - PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) + PIRP Irp, const FSP_FSCTL_TRANSACT_RSP *Response) { FSP_ENTER_IOC(PAGED_CODE()); diff --git a/src/sys/iop.c b/src/sys/iop.c index 770540e0..e3eec069 100644 --- a/src/sys/iop.c +++ b/src/sys/iop.c @@ -6,7 +6,7 @@ #include -VOID FspDispatchProcessedIrp(PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response); +VOID FspDispatchProcessedIrp(PIRP Irp, const FSP_FSCTL_TRANSACT_RSP *Response); #ifdef ALLOC_PRAGMA #pragma alloc_text(PAGE, FspDispatchProcessedIrp) @@ -30,7 +30,7 @@ VOID FspCompleteRequest(PIRP Irp, NTSTATUS Result) IoCompleteRequest(Irp, FSP_IO_INCREMENT); } -VOID FspDispatchProcessedIrp(PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) +VOID FspDispatchProcessedIrp(PIRP Irp, const FSP_FSCTL_TRANSACT_RSP *Response) { PAGED_CODE(); diff --git a/src/sys/lockctl.c b/src/sys/lockctl.c index 4070e74c..2f51cf91 100644 --- a/src/sys/lockctl.c +++ b/src/sys/lockctl.c @@ -44,7 +44,7 @@ NTSTATUS FspLockControl( } VOID FspLockControlComplete( - PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) + PIRP Irp, const FSP_FSCTL_TRANSACT_RSP *Response) { FSP_ENTER_IOC(PAGED_CODE()); diff --git a/src/sys/read.c b/src/sys/read.c index 3c1effd4..fa813f8e 100644 --- a/src/sys/read.c +++ b/src/sys/read.c @@ -44,7 +44,7 @@ NTSTATUS FspRead( } VOID FspReadComplete( - PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) + PIRP Irp, const FSP_FSCTL_TRANSACT_RSP *Response) { FSP_ENTER_IOC(PAGED_CODE()); diff --git a/src/sys/security.c b/src/sys/security.c index 1c758dd7..f885cd1e 100644 --- a/src/sys/security.c +++ b/src/sys/security.c @@ -77,7 +77,7 @@ NTSTATUS FspSetSecurity( } VOID FspQuerySecurityComplete( - PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) + PIRP Irp, const FSP_FSCTL_TRANSACT_RSP *Response) { FSP_ENTER_IOC(PAGED_CODE()); @@ -85,7 +85,7 @@ VOID FspQuerySecurityComplete( } VOID FspSetSecurityComplete( - PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) + PIRP Irp, const FSP_FSCTL_TRANSACT_RSP *Response) { FSP_ENTER_IOC(PAGED_CODE()); diff --git a/src/sys/shutdown.c b/src/sys/shutdown.c index 0a9d1e21..d73419a5 100644 --- a/src/sys/shutdown.c +++ b/src/sys/shutdown.c @@ -44,7 +44,7 @@ NTSTATUS FspShutdown( } VOID FspShutdownComplete( - PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) + PIRP Irp, const FSP_FSCTL_TRANSACT_RSP *Response) { FSP_ENTER_IOC(PAGED_CODE()); diff --git a/src/sys/volinfo.c b/src/sys/volinfo.c index 4cc4dec8..2878651f 100644 --- a/src/sys/volinfo.c +++ b/src/sys/volinfo.c @@ -77,7 +77,7 @@ NTSTATUS FspSetVolumeInformation( } VOID FspQueryVolumeInformationComplete( - PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) + PIRP Irp, const FSP_FSCTL_TRANSACT_RSP *Response) { FSP_ENTER_IOC(PAGED_CODE()); @@ -85,7 +85,7 @@ VOID FspQueryVolumeInformationComplete( } VOID FspSetVolumeInformationComplete( - PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) + PIRP Irp, const FSP_FSCTL_TRANSACT_RSP *Response) { FSP_ENTER_IOC(PAGED_CODE()); diff --git a/src/sys/write.c b/src/sys/write.c index a127ab59..794f52b6 100644 --- a/src/sys/write.c +++ b/src/sys/write.c @@ -9,7 +9,7 @@ static NTSTATUS FspFsvolWrite( PDEVICE_OBJECT DeviceObject, PIRP Irp, PIO_STACK_LOCATION IrpSp); FSP_DRIVER_DISPATCH FspWrite; -VOID FspWriteComplete(PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response); +FSP_IOPROC_DISPATCH FspWriteComplete; #ifdef ALLOC_PRAGMA #pragma alloc_text(PAGE, FspFsvolWrite) @@ -44,7 +44,7 @@ NTSTATUS FspWrite( } VOID FspWriteComplete( - PIRP Irp, FSP_FSCTL_TRANSACT_RSP *Response) + PIRP Irp, const FSP_FSCTL_TRANSACT_RSP *Response) { FSP_ENTER_IOC(PAGED_CODE());