mirror of
https://github.com/winfsp/winfsp.git
synced 2025-04-22 08:23:05 -05:00
sys: WIP
This commit is contained in:
parent
14b1f75ac7
commit
d6f1702af7
@ -6,12 +6,49 @@
|
||||
|
||||
#include <sys/driver.h>
|
||||
|
||||
static DRIVER_DISPATCH FspFsctlCleanup;
|
||||
static DRIVER_DISPATCH FspFsvrtCleanup;
|
||||
static DRIVER_DISPATCH FspFsvolCleanup;
|
||||
DRIVER_DISPATCH FspCleanup;
|
||||
|
||||
#ifdef ALLOC_PRAGMA
|
||||
#pragma alloc_text(PAGE, FspFsctlCleanup)
|
||||
#pragma alloc_text(PAGE, FspFsvrtCleanup)
|
||||
#pragma alloc_text(PAGE, FspFsvolCleanup)
|
||||
#pragma alloc_text(PAGE, FspCleanup)
|
||||
#endif
|
||||
|
||||
static
|
||||
NTSTATUS
|
||||
FspFsctlCleanup(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ PIRP Irp)
|
||||
{
|
||||
NTSTATUS Result = STATUS_SUCCESS;
|
||||
Irp->IoStatus.Information = 0;
|
||||
return Result;
|
||||
}
|
||||
|
||||
static
|
||||
NTSTATUS
|
||||
FspFsvrtCleanup(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ PIRP Irp)
|
||||
{
|
||||
NTSTATUS Result = STATUS_SUCCESS;
|
||||
Irp->IoStatus.Information = 0;
|
||||
return Result;
|
||||
}
|
||||
|
||||
static
|
||||
NTSTATUS
|
||||
FspFsvolCleanup(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ PIRP Irp)
|
||||
{
|
||||
return STATUS_INVALID_DEVICE_REQUEST;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
FspCleanup(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
@ -21,10 +58,17 @@ FspCleanup(
|
||||
|
||||
ASSERT(IRP_MJ_CLEANUP == IrpSp->MajorFunction);
|
||||
|
||||
if (FspFsctlDeviceExtensionKind == FspDeviceExtension(DeviceObject)->Kind)
|
||||
FSP_RETURN(Irp->IoStatus.Information = 0);
|
||||
|
||||
Result = STATUS_INVALID_DEVICE_REQUEST;
|
||||
switch (FspDeviceExtension(DeviceObject)->Kind)
|
||||
{
|
||||
case FspFsvolDeviceExtensionKind:
|
||||
FSP_RETURN(Result = FspFsvolCleanup(DeviceObject, Irp));
|
||||
case FspFsvrtDeviceExtensionKind:
|
||||
FSP_RETURN(Result = FspFsvrtCleanup(DeviceObject, Irp));
|
||||
case FspFsctlDeviceExtensionKind:
|
||||
FSP_RETURN(Result = FspFsctlCleanup(DeviceObject, Irp));
|
||||
default:
|
||||
FSP_RETURN(Result = STATUS_INVALID_DEVICE_REQUEST);
|
||||
}
|
||||
|
||||
FSP_LEAVE_MJ("FileObject=%p", IrpSp->FileObject);
|
||||
}
|
||||
|
@ -6,12 +6,49 @@
|
||||
|
||||
#include <sys/driver.h>
|
||||
|
||||
static DRIVER_DISPATCH FspFsctlClose;
|
||||
static DRIVER_DISPATCH FspFsvrtClose;
|
||||
static DRIVER_DISPATCH FspFsvolClose;
|
||||
DRIVER_DISPATCH FspClose;
|
||||
|
||||
#ifdef ALLOC_PRAGMA
|
||||
#pragma alloc_text(PAGE, FspFsctlClose)
|
||||
#pragma alloc_text(PAGE, FspFsvrtClose)
|
||||
#pragma alloc_text(PAGE, FspFsvolClose)
|
||||
#pragma alloc_text(PAGE, FspClose)
|
||||
#endif
|
||||
|
||||
static
|
||||
NTSTATUS
|
||||
FspFsctlClose(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ PIRP Irp)
|
||||
{
|
||||
NTSTATUS Result = STATUS_SUCCESS;
|
||||
Irp->IoStatus.Information = 0;
|
||||
return Result;
|
||||
}
|
||||
|
||||
static
|
||||
NTSTATUS
|
||||
FspFsvrtClose(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ PIRP Irp)
|
||||
{
|
||||
NTSTATUS Result = STATUS_SUCCESS;
|
||||
Irp->IoStatus.Information = 0;
|
||||
return Result;
|
||||
}
|
||||
|
||||
static
|
||||
NTSTATUS
|
||||
FspFsvolClose(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ PIRP Irp)
|
||||
{
|
||||
return STATUS_INVALID_DEVICE_REQUEST;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
FspClose(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
@ -21,10 +58,17 @@ FspClose(
|
||||
|
||||
ASSERT(IRP_MJ_CLOSE == IrpSp->MajorFunction);
|
||||
|
||||
if (FspFsctlDeviceExtensionKind == FspDeviceExtension(DeviceObject)->Kind)
|
||||
FSP_RETURN(Irp->IoStatus.Information = 0);
|
||||
|
||||
Result = STATUS_INVALID_DEVICE_REQUEST;
|
||||
switch (FspDeviceExtension(DeviceObject)->Kind)
|
||||
{
|
||||
case FspFsvolDeviceExtensionKind:
|
||||
FSP_RETURN(Result = FspFsvolClose(DeviceObject, Irp));
|
||||
case FspFsvrtDeviceExtensionKind:
|
||||
FSP_RETURN(Result = FspFsvrtClose(DeviceObject, Irp));
|
||||
case FspFsctlDeviceExtensionKind:
|
||||
FSP_RETURN(Result = FspFsctlClose(DeviceObject, Irp));
|
||||
default:
|
||||
FSP_RETURN(Result = STATUS_INVALID_DEVICE_REQUEST);
|
||||
}
|
||||
|
||||
FSP_LEAVE_MJ("FileObject=%p", IrpSp->FileObject);
|
||||
}
|
||||
|
@ -6,12 +6,49 @@
|
||||
|
||||
#include <sys/driver.h>
|
||||
|
||||
static DRIVER_DISPATCH FspFsctlCreate;
|
||||
static DRIVER_DISPATCH FspFsvrtCreate;
|
||||
static DRIVER_DISPATCH FspFsvolCreate;
|
||||
DRIVER_DISPATCH FspCreate;
|
||||
|
||||
#ifdef ALLOC_PRAGMA
|
||||
#pragma alloc_text(PAGE, FspFsctlCreate)
|
||||
#pragma alloc_text(PAGE, FspFsvrtCreate)
|
||||
#pragma alloc_text(PAGE, FspFsvolCreate)
|
||||
#pragma alloc_text(PAGE, FspCreate)
|
||||
#endif
|
||||
|
||||
static
|
||||
NTSTATUS
|
||||
FspFsctlCreate(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ PIRP Irp)
|
||||
{
|
||||
NTSTATUS Result = STATUS_SUCCESS;
|
||||
Irp->IoStatus.Information = FILE_OPENED;
|
||||
return Result;
|
||||
}
|
||||
|
||||
static
|
||||
NTSTATUS
|
||||
FspFsvrtCreate(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ PIRP Irp)
|
||||
{
|
||||
NTSTATUS Result = STATUS_SUCCESS;
|
||||
Irp->IoStatus.Information = FILE_OPENED;
|
||||
return Result;
|
||||
}
|
||||
|
||||
static
|
||||
NTSTATUS
|
||||
FspFsvolCreate(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ PIRP Irp)
|
||||
{
|
||||
return STATUS_INVALID_DEVICE_REQUEST;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
FspCreate(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
@ -21,10 +58,17 @@ FspCreate(
|
||||
|
||||
ASSERT(IRP_MJ_CREATE == IrpSp->MajorFunction);
|
||||
|
||||
if (FspFsctlDeviceExtensionKind == FspDeviceExtension(DeviceObject)->Kind)
|
||||
FSP_RETURN(Irp->IoStatus.Information = FILE_OPENED);
|
||||
|
||||
Result = STATUS_INVALID_DEVICE_REQUEST;
|
||||
switch (FspDeviceExtension(DeviceObject)->Kind)
|
||||
{
|
||||
case FspFsvolDeviceExtensionKind:
|
||||
FSP_RETURN(Result = FspFsvolCreate(DeviceObject, Irp));
|
||||
case FspFsvrtDeviceExtensionKind:
|
||||
FSP_RETURN(Result = FspFsvrtCreate(DeviceObject, Irp));
|
||||
case FspFsctlDeviceExtensionKind:
|
||||
FSP_RETURN(Result = FspFsctlCreate(DeviceObject, Irp));
|
||||
default:
|
||||
FSP_RETURN(Result = STATUS_INVALID_DEVICE_REQUEST);
|
||||
}
|
||||
|
||||
FSP_LEAVE_MJ(
|
||||
"FileObject=%p[%p:\"%wZ\"], "
|
||||
|
@ -6,12 +6,23 @@
|
||||
|
||||
#include <sys/driver.h>
|
||||
|
||||
static DRIVER_DISPATCH FspFsvolDeviceControl;
|
||||
DRIVER_DISPATCH FspDeviceControl;
|
||||
|
||||
#ifdef ALLOC_PRAGMA
|
||||
#pragma alloc_text(PAGE, FspFsvolDeviceControl)
|
||||
#pragma alloc_text(PAGE, FspDeviceControl)
|
||||
#endif
|
||||
|
||||
static
|
||||
NTSTATUS
|
||||
FspFsvolDeviceControl(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ PIRP Irp)
|
||||
{
|
||||
return STATUS_INVALID_DEVICE_REQUEST;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
FspDeviceControl(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
@ -21,7 +32,13 @@ FspDeviceControl(
|
||||
|
||||
ASSERT(IRP_MJ_DEVICE_CONTROL == IrpSp->MajorFunction);
|
||||
|
||||
Result = STATUS_INVALID_DEVICE_REQUEST;
|
||||
switch (FspDeviceExtension(DeviceObject)->Kind)
|
||||
{
|
||||
case FspFsvolDeviceExtensionKind:
|
||||
FSP_RETURN(Result = FspFsvolDeviceControl(DeviceObject, Irp));
|
||||
default:
|
||||
FSP_RETURN(Result = STATUS_INVALID_DEVICE_REQUEST);
|
||||
}
|
||||
|
||||
FSP_LEAVE_MJ("", 0);
|
||||
}
|
||||
|
@ -6,12 +6,23 @@
|
||||
|
||||
#include <sys/driver.h>
|
||||
|
||||
static DRIVER_DISPATCH FspFsvolDirectoryControl;
|
||||
DRIVER_DISPATCH FspDirectoryControl;
|
||||
|
||||
#ifdef ALLOC_PRAGMA
|
||||
#pragma alloc_text(PAGE, FspFsvolDirectoryControl)
|
||||
#pragma alloc_text(PAGE, FspDirectoryControl)
|
||||
#endif
|
||||
|
||||
static
|
||||
NTSTATUS
|
||||
FspFsvolDirectoryControl(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ PIRP Irp)
|
||||
{
|
||||
return STATUS_INVALID_DEVICE_REQUEST;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
FspDirectoryControl(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
@ -21,7 +32,13 @@ FspDirectoryControl(
|
||||
|
||||
ASSERT(IRP_MJ_DIRECTORY_CONTROL == IrpSp->MajorFunction);
|
||||
|
||||
Result = STATUS_INVALID_DEVICE_REQUEST;
|
||||
switch (FspDeviceExtension(DeviceObject)->Kind)
|
||||
{
|
||||
case FspFsvolDeviceExtensionKind:
|
||||
FSP_RETURN(Result = FspFsvolDirectoryControl(DeviceObject, Irp));
|
||||
default:
|
||||
FSP_RETURN(Result = STATUS_INVALID_DEVICE_REQUEST);
|
||||
}
|
||||
|
||||
FSP_LEAVE_MJ("", 0);
|
||||
}
|
||||
|
38
src/sys/ea.c
38
src/sys/ea.c
@ -6,14 +6,36 @@
|
||||
|
||||
#include <sys/driver.h>
|
||||
|
||||
static DRIVER_DISPATCH FspFsvolQueryEa;
|
||||
static DRIVER_DISPATCH FspFsvolSetEa;
|
||||
DRIVER_DISPATCH FspQueryEa;
|
||||
DRIVER_DISPATCH FspSetEa;
|
||||
|
||||
#ifdef ALLOC_PRAGMA
|
||||
#pragma alloc_text(PAGE, FspFsvolQueryEa)
|
||||
#pragma alloc_text(PAGE, FspFsvolSetEa)
|
||||
#pragma alloc_text(PAGE, FspQueryEa)
|
||||
#pragma alloc_text(PAGE, FspSetEa)
|
||||
#endif
|
||||
|
||||
static
|
||||
NTSTATUS
|
||||
FspFsvolQueryEa(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ PIRP Irp)
|
||||
{
|
||||
return STATUS_INVALID_DEVICE_REQUEST;
|
||||
}
|
||||
|
||||
static
|
||||
NTSTATUS
|
||||
FspFsvolSetEa(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ PIRP Irp)
|
||||
{
|
||||
return STATUS_INVALID_DEVICE_REQUEST;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
FspQueryEa(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
@ -23,7 +45,13 @@ FspQueryEa(
|
||||
|
||||
ASSERT(IRP_MJ_QUERY_EA == IrpSp->MajorFunction);
|
||||
|
||||
Result = STATUS_INVALID_DEVICE_REQUEST;
|
||||
switch (FspDeviceExtension(DeviceObject)->Kind)
|
||||
{
|
||||
case FspFsvolDeviceExtensionKind:
|
||||
FSP_RETURN(Result = FspFsvolQueryEa(DeviceObject, Irp));
|
||||
default:
|
||||
FSP_RETURN(Result = STATUS_INVALID_DEVICE_REQUEST);
|
||||
}
|
||||
|
||||
FSP_LEAVE_MJ("", 0);
|
||||
}
|
||||
@ -37,7 +65,13 @@ FspSetEa(
|
||||
|
||||
ASSERT(IRP_MJ_SET_EA == IrpSp->MajorFunction);
|
||||
|
||||
Result = STATUS_INVALID_DEVICE_REQUEST;
|
||||
switch (FspDeviceExtension(DeviceObject)->Kind)
|
||||
{
|
||||
case FspFsvolDeviceExtensionKind:
|
||||
FSP_RETURN(Result = FspFsvolSetEa(DeviceObject, Irp));
|
||||
default:
|
||||
FSP_RETURN(Result = STATUS_INVALID_DEVICE_REQUEST);
|
||||
}
|
||||
|
||||
FSP_LEAVE_MJ("", 0);
|
||||
}
|
||||
|
@ -6,14 +6,36 @@
|
||||
|
||||
#include <sys/driver.h>
|
||||
|
||||
static DRIVER_DISPATCH FspFsvolQueryInformation;
|
||||
static DRIVER_DISPATCH FspFsvolSetInformation;
|
||||
DRIVER_DISPATCH FspQueryInformation;
|
||||
DRIVER_DISPATCH FspSetInformation;
|
||||
|
||||
#ifdef ALLOC_PRAGMA
|
||||
#pragma alloc_text(PAGE, FspFsvolQueryInformation)
|
||||
#pragma alloc_text(PAGE, FspFsvolSetInformation)
|
||||
#pragma alloc_text(PAGE, FspQueryInformation)
|
||||
#pragma alloc_text(PAGE, FspSetInformation)
|
||||
#endif
|
||||
|
||||
static
|
||||
NTSTATUS
|
||||
FspFsvolQueryInformation(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ PIRP Irp)
|
||||
{
|
||||
return STATUS_INVALID_DEVICE_REQUEST;
|
||||
}
|
||||
|
||||
static
|
||||
NTSTATUS
|
||||
FspFsvolSetInformation(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ PIRP Irp)
|
||||
{
|
||||
return STATUS_INVALID_DEVICE_REQUEST;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
FspQueryInformation(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
@ -23,7 +45,13 @@ FspQueryInformation(
|
||||
|
||||
ASSERT(IRP_MJ_QUERY_INFORMATION == IrpSp->MajorFunction);
|
||||
|
||||
Result = STATUS_INVALID_DEVICE_REQUEST;
|
||||
switch (FspDeviceExtension(DeviceObject)->Kind)
|
||||
{
|
||||
case FspFsvolDeviceExtensionKind:
|
||||
FSP_RETURN(Result = FspFsvolQueryInformation(DeviceObject, Irp));
|
||||
default:
|
||||
FSP_RETURN(Result = STATUS_INVALID_DEVICE_REQUEST);
|
||||
}
|
||||
|
||||
FSP_LEAVE_MJ("", 0);
|
||||
}
|
||||
@ -37,7 +65,13 @@ FspSetInformation(
|
||||
|
||||
ASSERT(IRP_MJ_SET_INFORMATION == IrpSp->MajorFunction);
|
||||
|
||||
Result = STATUS_INVALID_DEVICE_REQUEST;
|
||||
switch (FspDeviceExtension(DeviceObject)->Kind)
|
||||
{
|
||||
case FspFsvolDeviceExtensionKind:
|
||||
FSP_RETURN(Result = FspFsvolSetInformation(DeviceObject, Irp));
|
||||
default:
|
||||
FSP_RETURN(Result = STATUS_INVALID_DEVICE_REQUEST);
|
||||
}
|
||||
|
||||
FSP_LEAVE_MJ("", 0);
|
||||
}
|
||||
|
@ -6,12 +6,23 @@
|
||||
|
||||
#include <sys/driver.h>
|
||||
|
||||
static DRIVER_DISPATCH FspFsvolFlushBuffers;
|
||||
DRIVER_DISPATCH FspFlushBuffers;
|
||||
|
||||
#ifdef ALLOC_PRAGMA
|
||||
#pragma alloc_text(PAGE, FspFsvolFlushBuffers)
|
||||
#pragma alloc_text(PAGE, FspFlushBuffers)
|
||||
#endif
|
||||
|
||||
static
|
||||
NTSTATUS
|
||||
FspFsvolFlushBuffers(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ PIRP Irp)
|
||||
{
|
||||
return STATUS_INVALID_DEVICE_REQUEST;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
FspFlushBuffers(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
@ -21,7 +32,13 @@ FspFlushBuffers(
|
||||
|
||||
ASSERT(IRP_MJ_FLUSH_BUFFERS == IrpSp->MajorFunction);
|
||||
|
||||
Result = STATUS_INVALID_DEVICE_REQUEST;
|
||||
switch (FspDeviceExtension(DeviceObject)->Kind)
|
||||
{
|
||||
case FspFsvolDeviceExtensionKind:
|
||||
FSP_RETURN(Result = FspFsvolFlushBuffers(DeviceObject, Irp));
|
||||
default:
|
||||
FSP_RETURN(Result = STATUS_INVALID_DEVICE_REQUEST);
|
||||
}
|
||||
|
||||
FSP_LEAVE_MJ("", 0);
|
||||
}
|
||||
|
@ -6,12 +6,45 @@
|
||||
|
||||
#include <sys/driver.h>
|
||||
|
||||
static DRIVER_DISPATCH FspFsctlFileSystemControl;
|
||||
static DRIVER_DISPATCH FspFsvrtFileSystemControl;
|
||||
static DRIVER_DISPATCH FspFsvolFileSystemControl;
|
||||
DRIVER_DISPATCH FspFileSystemControl;
|
||||
|
||||
#ifdef ALLOC_PRAGMA
|
||||
#pragma alloc_text(PAGE, FspFsctlFileSystemControl)
|
||||
#pragma alloc_text(PAGE, FspFsvrtFileSystemControl)
|
||||
#pragma alloc_text(PAGE, FspFsvolFileSystemControl)
|
||||
#pragma alloc_text(PAGE, FspFileSystemControl)
|
||||
#endif
|
||||
|
||||
static
|
||||
NTSTATUS
|
||||
FspFsctlFileSystemControl(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ PIRP Irp)
|
||||
{
|
||||
return STATUS_INVALID_DEVICE_REQUEST;
|
||||
}
|
||||
|
||||
static
|
||||
NTSTATUS
|
||||
FspFsvrtFileSystemControl(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ PIRP Irp)
|
||||
{
|
||||
return STATUS_INVALID_DEVICE_REQUEST;
|
||||
}
|
||||
|
||||
static
|
||||
NTSTATUS
|
||||
FspFsvolFileSystemControl(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ PIRP Irp)
|
||||
{
|
||||
return STATUS_INVALID_DEVICE_REQUEST;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
FspFileSystemControl(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
@ -21,7 +54,17 @@ FspFileSystemControl(
|
||||
|
||||
ASSERT(IRP_MJ_FILE_SYSTEM_CONTROL == IrpSp->MajorFunction);
|
||||
|
||||
Result = STATUS_INVALID_DEVICE_REQUEST;
|
||||
switch (FspDeviceExtension(DeviceObject)->Kind)
|
||||
{
|
||||
case FspFsvolDeviceExtensionKind:
|
||||
FSP_RETURN(Result = FspFsctlFileSystemControl(DeviceObject, Irp));
|
||||
case FspFsvrtDeviceExtensionKind:
|
||||
FSP_RETURN(Result = FspFsvrtFileSystemControl(DeviceObject, Irp));
|
||||
case FspFsctlDeviceExtensionKind:
|
||||
FSP_RETURN(Result = FspFsvolFileSystemControl(DeviceObject, Irp));
|
||||
default:
|
||||
FSP_RETURN(Result = STATUS_INVALID_DEVICE_REQUEST);
|
||||
}
|
||||
|
||||
FSP_LEAVE_MJ("", 0);
|
||||
}
|
||||
|
@ -6,12 +6,23 @@
|
||||
|
||||
#include <sys/driver.h>
|
||||
|
||||
static DRIVER_DISPATCH FspFsvolLockControl;
|
||||
DRIVER_DISPATCH FspLockControl;
|
||||
|
||||
#ifdef ALLOC_PRAGMA
|
||||
#pragma alloc_text(PAGE, FspFsvolLockControl)
|
||||
#pragma alloc_text(PAGE, FspLockControl)
|
||||
#endif
|
||||
|
||||
static
|
||||
NTSTATUS
|
||||
FspFsvolLockControl(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ PIRP Irp)
|
||||
{
|
||||
return STATUS_INVALID_DEVICE_REQUEST;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
FspLockControl(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
@ -21,7 +32,13 @@ FspLockControl(
|
||||
|
||||
ASSERT(IRP_MJ_LOCK_CONTROL == IrpSp->MajorFunction);
|
||||
|
||||
Result = STATUS_INVALID_DEVICE_REQUEST;
|
||||
switch (FspDeviceExtension(DeviceObject)->Kind)
|
||||
{
|
||||
case FspFsvolDeviceExtensionKind:
|
||||
FSP_RETURN(Result = FspFsvolLockControl(DeviceObject, Irp));
|
||||
default:
|
||||
FSP_RETURN(Result = STATUS_INVALID_DEVICE_REQUEST);
|
||||
}
|
||||
|
||||
FSP_LEAVE_MJ("", 0);
|
||||
}
|
||||
|
@ -6,12 +6,23 @@
|
||||
|
||||
#include <sys/driver.h>
|
||||
|
||||
static DRIVER_DISPATCH FspFsvolRead;
|
||||
DRIVER_DISPATCH FspRead;
|
||||
|
||||
#ifdef ALLOC_PRAGMA
|
||||
#pragma alloc_text(PAGE, FspFsvolRead)
|
||||
#pragma alloc_text(PAGE, FspRead)
|
||||
#endif
|
||||
|
||||
static
|
||||
NTSTATUS
|
||||
FspFsvolRead(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ PIRP Irp)
|
||||
{
|
||||
return STATUS_INVALID_DEVICE_REQUEST;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
FspRead(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
@ -21,7 +32,13 @@ FspRead(
|
||||
|
||||
ASSERT(IRP_MJ_READ == IrpSp->MajorFunction);
|
||||
|
||||
Result = STATUS_INVALID_DEVICE_REQUEST;
|
||||
switch (FspDeviceExtension(DeviceObject)->Kind)
|
||||
{
|
||||
case FspFsvolDeviceExtensionKind:
|
||||
FSP_RETURN(Result = FspFsvolRead(DeviceObject, Irp));
|
||||
default:
|
||||
FSP_RETURN(Result = STATUS_INVALID_DEVICE_REQUEST);
|
||||
}
|
||||
|
||||
FSP_LEAVE_MJ("", 0);
|
||||
}
|
||||
|
@ -6,14 +6,36 @@
|
||||
|
||||
#include <sys/driver.h>
|
||||
|
||||
static DRIVER_DISPATCH FspFsvolQuerySecurity;
|
||||
static DRIVER_DISPATCH FspFsvolSetSecurity;
|
||||
DRIVER_DISPATCH FspQuerySecurity;
|
||||
DRIVER_DISPATCH FspSetSecurity;
|
||||
|
||||
#ifdef ALLOC_PRAGMA
|
||||
#pragma alloc_text(PAGE, FspFsvolQuerySecurity)
|
||||
#pragma alloc_text(PAGE, FspFsvolSetSecurity)
|
||||
#pragma alloc_text(PAGE, FspQuerySecurity)
|
||||
#pragma alloc_text(PAGE, FspSetSecurity)
|
||||
#endif
|
||||
|
||||
static
|
||||
NTSTATUS
|
||||
FspFsvolQuerySecurity(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ PIRP Irp)
|
||||
{
|
||||
return STATUS_INVALID_DEVICE_REQUEST;
|
||||
}
|
||||
|
||||
static
|
||||
NTSTATUS
|
||||
FspFsvolSetSecurity(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ PIRP Irp)
|
||||
{
|
||||
return STATUS_INVALID_DEVICE_REQUEST;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
FspQuerySecurity(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
@ -23,7 +45,13 @@ FspQuerySecurity(
|
||||
|
||||
ASSERT(IRP_MJ_QUERY_SECURITY == IrpSp->MajorFunction);
|
||||
|
||||
Result = STATUS_INVALID_DEVICE_REQUEST;
|
||||
switch (FspDeviceExtension(DeviceObject)->Kind)
|
||||
{
|
||||
case FspFsvolDeviceExtensionKind:
|
||||
FSP_RETURN(Result = FspFsvolQuerySecurity(DeviceObject, Irp));
|
||||
default:
|
||||
FSP_RETURN(Result = STATUS_INVALID_DEVICE_REQUEST);
|
||||
}
|
||||
|
||||
FSP_LEAVE_MJ("", 0);
|
||||
}
|
||||
@ -37,7 +65,13 @@ FspSetSecurity(
|
||||
|
||||
ASSERT(IRP_MJ_SET_SECURITY == IrpSp->MajorFunction);
|
||||
|
||||
Result = STATUS_INVALID_DEVICE_REQUEST;
|
||||
switch (FspDeviceExtension(DeviceObject)->Kind)
|
||||
{
|
||||
case FspFsvolDeviceExtensionKind:
|
||||
FSP_RETURN(Result = FspFsvolSetSecurity(DeviceObject, Irp));
|
||||
default:
|
||||
FSP_RETURN(Result = STATUS_INVALID_DEVICE_REQUEST);
|
||||
}
|
||||
|
||||
FSP_LEAVE_MJ("", 0);
|
||||
}
|
||||
|
@ -6,12 +6,23 @@
|
||||
|
||||
#include <sys/driver.h>
|
||||
|
||||
static DRIVER_DISPATCH FspFsvolShutdown;
|
||||
DRIVER_DISPATCH FspShutdown;
|
||||
|
||||
#ifdef ALLOC_PRAGMA
|
||||
#pragma alloc_text(PAGE, FspFsvolShutdown)
|
||||
#pragma alloc_text(PAGE, FspShutdown)
|
||||
#endif
|
||||
|
||||
static
|
||||
NTSTATUS
|
||||
FspFsvolShutdown(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ PIRP Irp)
|
||||
{
|
||||
return STATUS_INVALID_DEVICE_REQUEST;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
FspShutdown(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
@ -21,7 +32,13 @@ FspShutdown(
|
||||
|
||||
ASSERT(IRP_MJ_SHUTDOWN == IrpSp->MajorFunction);
|
||||
|
||||
Result = STATUS_INVALID_DEVICE_REQUEST;
|
||||
switch (FspDeviceExtension(DeviceObject)->Kind)
|
||||
{
|
||||
case FspFsvolDeviceExtensionKind:
|
||||
FSP_RETURN(Result = FspFsvolShutdown(DeviceObject, Irp));
|
||||
default:
|
||||
FSP_RETURN(Result = STATUS_INVALID_DEVICE_REQUEST);
|
||||
}
|
||||
|
||||
FSP_LEAVE_MJ("", 0);
|
||||
}
|
||||
|
@ -6,14 +6,36 @@
|
||||
|
||||
#include <sys/driver.h>
|
||||
|
||||
static DRIVER_DISPATCH FspFsvolQueryVolumeInformation;
|
||||
static DRIVER_DISPATCH FspFsvolSetVolumeInformation;
|
||||
DRIVER_DISPATCH FspQueryVolumeInformation;
|
||||
DRIVER_DISPATCH FspSetVolumeInformation;
|
||||
|
||||
#ifdef ALLOC_PRAGMA
|
||||
#pragma alloc_text(PAGE, FspFsvolQueryVolumeInformation)
|
||||
#pragma alloc_text(PAGE, FspFsvolSetVolumeInformation)
|
||||
#pragma alloc_text(PAGE, FspQueryVolumeInformation)
|
||||
#pragma alloc_text(PAGE, FspSetVolumeInformation)
|
||||
#endif
|
||||
|
||||
static
|
||||
NTSTATUS
|
||||
FspFsvolQueryVolumeInformation(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ PIRP Irp)
|
||||
{
|
||||
return STATUS_INVALID_DEVICE_REQUEST;
|
||||
}
|
||||
|
||||
static
|
||||
NTSTATUS
|
||||
FspFsvolSetVolumeInformation(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ PIRP Irp)
|
||||
{
|
||||
return STATUS_INVALID_DEVICE_REQUEST;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
FspQueryVolumeInformation(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
@ -23,7 +45,13 @@ FspQueryVolumeInformation(
|
||||
|
||||
ASSERT(IRP_MJ_QUERY_VOLUME_INFORMATION == IrpSp->MajorFunction);
|
||||
|
||||
Result = STATUS_INVALID_DEVICE_REQUEST;
|
||||
switch (FspDeviceExtension(DeviceObject)->Kind)
|
||||
{
|
||||
case FspFsvolDeviceExtensionKind:
|
||||
FSP_RETURN(Result = FspFsvolQueryVolumeInformation(DeviceObject, Irp));
|
||||
default:
|
||||
FSP_RETURN(Result = STATUS_INVALID_DEVICE_REQUEST);
|
||||
}
|
||||
|
||||
FSP_LEAVE_MJ("", 0);
|
||||
}
|
||||
@ -37,7 +65,13 @@ FspSetVolumeInformation(
|
||||
|
||||
ASSERT(IRP_MJ_SET_VOLUME_INFORMATION == IrpSp->MajorFunction);
|
||||
|
||||
Result = STATUS_INVALID_DEVICE_REQUEST;
|
||||
switch (FspDeviceExtension(DeviceObject)->Kind)
|
||||
{
|
||||
case FspFsvolDeviceExtensionKind:
|
||||
FSP_RETURN(Result = FspFsvolSetVolumeInformation(DeviceObject, Irp));
|
||||
default:
|
||||
FSP_RETURN(Result = STATUS_INVALID_DEVICE_REQUEST);
|
||||
}
|
||||
|
||||
FSP_LEAVE_MJ("", 0);
|
||||
}
|
||||
|
@ -6,12 +6,23 @@
|
||||
|
||||
#include <sys/driver.h>
|
||||
|
||||
static DRIVER_DISPATCH FspFsvolWrite;
|
||||
DRIVER_DISPATCH FspWrite;
|
||||
|
||||
#ifdef ALLOC_PRAGMA
|
||||
#pragma alloc_text(PAGE, FspFsvolWrite)
|
||||
#pragma alloc_text(PAGE, FspWrite)
|
||||
#endif
|
||||
|
||||
static
|
||||
NTSTATUS
|
||||
FspFsvolWrite(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
_In_ PIRP Irp)
|
||||
{
|
||||
return STATUS_INVALID_DEVICE_REQUEST;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
FspWrite(
|
||||
_In_ PDEVICE_OBJECT DeviceObject,
|
||||
@ -21,7 +32,13 @@ FspWrite(
|
||||
|
||||
ASSERT(IRP_MJ_WRITE == IrpSp->MajorFunction);
|
||||
|
||||
Result = STATUS_INVALID_DEVICE_REQUEST;
|
||||
switch (FspDeviceExtension(DeviceObject)->Kind)
|
||||
{
|
||||
case FspFsvolDeviceExtensionKind:
|
||||
FSP_RETURN(Result = FspFsvolWrite(DeviceObject, Irp));
|
||||
default:
|
||||
FSP_RETURN(Result = STATUS_INVALID_DEVICE_REQUEST);
|
||||
}
|
||||
|
||||
FSP_LEAVE_MJ("", 0);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user