mirror of
				https://github.com/winfsp/winfsp.git
				synced 2025-10-29 11:08:37 -05:00 
			
		
		
		
	sys: WIP
This commit is contained in:
		| @@ -6,9 +6,12 @@ | ||||
|  | ||||
| #include <sys/driver.h> | ||||
|  | ||||
| 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); | ||||
|     } | ||||
|   | ||||
| @@ -6,9 +6,12 @@ | ||||
|  | ||||
| #include <sys/driver.h> | ||||
|  | ||||
| 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); | ||||
|     } | ||||
|   | ||||
| @@ -6,9 +6,12 @@ | ||||
|  | ||||
| #include <sys/driver.h> | ||||
|  | ||||
| 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); | ||||
|     } | ||||
|   | ||||
| @@ -6,7 +6,8 @@ | ||||
|  | ||||
| #include <sys/driver.h> | ||||
|  | ||||
| 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); | ||||
|     } | ||||
|   | ||||
| @@ -6,7 +6,8 @@ | ||||
|  | ||||
| #include <sys/driver.h> | ||||
|  | ||||
| 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); | ||||
|     } | ||||
|   | ||||
| @@ -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_(                         \ | ||||
|   | ||||
							
								
								
									
										24
									
								
								src/sys/ea.c
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								src/sys/ea.c
									
									
									
									
									
								
							| @@ -6,8 +6,10 @@ | ||||
|  | ||||
| #include <sys/driver.h> | ||||
|  | ||||
| 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); | ||||
|     } | ||||
|   | ||||
| @@ -6,8 +6,10 @@ | ||||
|  | ||||
| #include <sys/driver.h> | ||||
|  | ||||
| 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); | ||||
|     } | ||||
|   | ||||
| @@ -6,7 +6,8 @@ | ||||
|  | ||||
| #include <sys/driver.h> | ||||
|  | ||||
| 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); | ||||
|     } | ||||
|   | ||||
| @@ -6,7 +6,8 @@ | ||||
|  | ||||
| #include <sys/driver.h> | ||||
|  | ||||
| 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); | ||||
|     } | ||||
|   | ||||
| @@ -6,7 +6,8 @@ | ||||
|  | ||||
| #include <sys/driver.h> | ||||
|  | ||||
| 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); | ||||
|     } | ||||
|   | ||||
| @@ -6,8 +6,10 @@ | ||||
|  | ||||
| #include <sys/driver.h> | ||||
|  | ||||
| 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); | ||||
|     } | ||||
|   | ||||
| @@ -6,7 +6,8 @@ | ||||
|  | ||||
| #include <sys/driver.h> | ||||
|  | ||||
| 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); | ||||
|     } | ||||
|   | ||||
| @@ -6,8 +6,10 @@ | ||||
|  | ||||
| #include <sys/driver.h> | ||||
|  | ||||
| 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); | ||||
|     } | ||||
|   | ||||
| @@ -6,7 +6,8 @@ | ||||
|  | ||||
| #include <sys/driver.h> | ||||
|  | ||||
| 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); | ||||
|     } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user