mirror of
https://github.com/winfsp/winfsp.git
synced 2025-04-24 09:23:37 -05:00
106 lines
2.3 KiB
C
106 lines
2.3 KiB
C
/**
|
|
* @file sys/fastio.c
|
|
*
|
|
* @copyright 2015 Bill Zissimopoulos
|
|
*/
|
|
|
|
#include <sys/driver.h>
|
|
|
|
FAST_IO_CHECK_IF_POSSIBLE FspFastIoCheckIfPossible;
|
|
FAST_IO_ACQUIRE_FILE FspAcquireFileForNtCreateSection;
|
|
FAST_IO_RELEASE_FILE FspReleaseFileForNtCreateSection;
|
|
FAST_IO_ACQUIRE_FOR_MOD_WRITE FspAcquireForModWrite;
|
|
FAST_IO_RELEASE_FOR_MOD_WRITE FspReleaseForModWrite;
|
|
FAST_IO_ACQUIRE_FOR_CCFLUSH FspAcquireForCcFlush;
|
|
FAST_IO_RELEASE_FOR_CCFLUSH FspReleaseForCcFlush;
|
|
|
|
#ifdef ALLOC_PRAGMA
|
|
#pragma alloc_text(PAGE, FspFastIoCheckIfPossible)
|
|
#pragma alloc_text(PAGE, FspAcquireFileForNtCreateSection)
|
|
#pragma alloc_text(PAGE, FspReleaseFileForNtCreateSection)
|
|
#pragma alloc_text(PAGE, FspAcquireForModWrite)
|
|
#pragma alloc_text(PAGE, FspReleaseForModWrite)
|
|
#pragma alloc_text(PAGE, FspAcquireForCcFlush)
|
|
#pragma alloc_text(PAGE, FspReleaseForCcFlush)
|
|
#endif
|
|
|
|
BOOLEAN FspFastIoCheckIfPossible(
|
|
PFILE_OBJECT FileObject,
|
|
PLARGE_INTEGER FileOffset,
|
|
ULONG Length,
|
|
BOOLEAN Wait,
|
|
ULONG LockKey,
|
|
BOOLEAN CheckForReadOperation,
|
|
PIO_STATUS_BLOCK IoStatus,
|
|
PDEVICE_OBJECT DeviceObject)
|
|
{
|
|
FSP_ENTER_BOOL(PAGED_CODE());
|
|
|
|
Result = FALSE;
|
|
|
|
FSP_LEAVE_BOOL("%s", "");
|
|
}
|
|
|
|
VOID FspAcquireFileForNtCreateSection(
|
|
PFILE_OBJECT FileObject)
|
|
{
|
|
FSP_ENTER_VOID(PAGED_CODE());
|
|
|
|
FSP_LEAVE_VOID("%s", "");
|
|
}
|
|
|
|
VOID FspReleaseFileForNtCreateSection(
|
|
PFILE_OBJECT FileObject)
|
|
{
|
|
FSP_ENTER_VOID(PAGED_CODE());
|
|
|
|
FSP_LEAVE_VOID("%s", "");
|
|
}
|
|
|
|
NTSTATUS FspAcquireForModWrite(
|
|
PFILE_OBJECT FileObject,
|
|
PLARGE_INTEGER EndingOffset,
|
|
PERESOURCE *ResourceToRelease,
|
|
PDEVICE_OBJECT DeviceObject)
|
|
{
|
|
FSP_ENTER(PAGED_CODE());
|
|
|
|
Result = STATUS_NOT_IMPLEMENTED;
|
|
|
|
FSP_LEAVE("%s", "");
|
|
}
|
|
|
|
NTSTATUS FspReleaseForModWrite(
|
|
PFILE_OBJECT FileObject,
|
|
PERESOURCE ResourceToRelease,
|
|
PDEVICE_OBJECT DeviceObject)
|
|
{
|
|
FSP_ENTER(PAGED_CODE());
|
|
|
|
Result = STATUS_NOT_IMPLEMENTED;
|
|
|
|
FSP_LEAVE("%s", "");
|
|
}
|
|
|
|
NTSTATUS FspAcquireForCcFlush(
|
|
PFILE_OBJECT FileObject,
|
|
PDEVICE_OBJECT DeviceObject)
|
|
{
|
|
FSP_ENTER(PAGED_CODE());
|
|
|
|
Result = STATUS_NOT_IMPLEMENTED;
|
|
|
|
FSP_LEAVE("%s", "");
|
|
}
|
|
|
|
NTSTATUS FspReleaseForCcFlush(
|
|
PFILE_OBJECT FileObject,
|
|
PDEVICE_OBJECT DeviceObject)
|
|
{
|
|
FSP_ENTER(PAGED_CODE());
|
|
|
|
Result = STATUS_NOT_IMPLEMENTED;
|
|
|
|
FSP_LEAVE("%s", "");
|
|
}
|