This commit is contained in:
Bill Zissimopoulos 2015-11-22 12:23:41 -08:00
parent ccf76a23c7
commit 80d6afc7b6
15 changed files with 121 additions and 169 deletions

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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_( \

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}