mirror of
https://github.com/winfsp/winfsp.git
synced 2025-04-24 01:13:04 -05:00
sys: FspFastIoDispatch, FspCacheManagerCallbacks
This commit is contained in:
parent
46fa75a74d
commit
5b4dd2bb26
@ -71,6 +71,7 @@ NTSTATUS DriverEntry(
|
|||||||
FspIopCompleteFunction[IRP_MJ_CREATE] = FspFsvolCreateComplete;
|
FspIopCompleteFunction[IRP_MJ_CREATE] = FspFsvolCreateComplete;
|
||||||
FspIopCompleteFunction[IRP_MJ_CLOSE] = FspFsvolCloseComplete;
|
FspIopCompleteFunction[IRP_MJ_CLOSE] = FspFsvolCloseComplete;
|
||||||
FspIopCompleteFunction[IRP_MJ_READ] = FspFsvolReadComplete;
|
FspIopCompleteFunction[IRP_MJ_READ] = FspFsvolReadComplete;
|
||||||
|
FspIopPrepareFunction[IRP_MJ_WRITE] = FspFsvolWritePrepare;
|
||||||
FspIopCompleteFunction[IRP_MJ_WRITE] = FspFsvolWriteComplete;
|
FspIopCompleteFunction[IRP_MJ_WRITE] = FspFsvolWriteComplete;
|
||||||
FspIopCompleteFunction[IRP_MJ_QUERY_INFORMATION] = FspFsvolQueryInformationComplete;
|
FspIopCompleteFunction[IRP_MJ_QUERY_INFORMATION] = FspFsvolQueryInformationComplete;
|
||||||
FspIopCompleteFunction[IRP_MJ_SET_INFORMATION] = FspFsvolSetInformationComplete;
|
FspIopCompleteFunction[IRP_MJ_SET_INFORMATION] = FspFsvolSetInformationComplete;
|
||||||
@ -90,7 +91,6 @@ NTSTATUS DriverEntry(
|
|||||||
FspIopCompleteFunction[IRP_MJ_SET_SECURITY] = FspFsvolSetSecurityComplete;
|
FspIopCompleteFunction[IRP_MJ_SET_SECURITY] = FspFsvolSetSecurityComplete;
|
||||||
|
|
||||||
/* setup fast I/O and resource acquisition */
|
/* setup fast I/O and resource acquisition */
|
||||||
static FAST_IO_DISPATCH FspFastIoDispatch = { 0 };
|
|
||||||
FspFastIoDispatch.SizeOfFastIoDispatch = sizeof FspFastIoDispatch;
|
FspFastIoDispatch.SizeOfFastIoDispatch = sizeof FspFastIoDispatch;
|
||||||
FspFastIoDispatch.FastIoCheckIfPossible = FspFastIoCheckIfPossible;
|
FspFastIoDispatch.FastIoCheckIfPossible = FspFastIoCheckIfPossible;
|
||||||
FspFastIoDispatch.FastIoRead = FsRtlCopyRead;
|
FspFastIoDispatch.FastIoRead = FsRtlCopyRead;
|
||||||
@ -119,6 +119,10 @@ NTSTATUS DriverEntry(
|
|||||||
FspFastIoDispatch.ReleaseForModWrite = FspReleaseForModWrite;
|
FspFastIoDispatch.ReleaseForModWrite = FspReleaseForModWrite;
|
||||||
FspFastIoDispatch.AcquireForCcFlush = FspAcquireForCcFlush;
|
FspFastIoDispatch.AcquireForCcFlush = FspAcquireForCcFlush;
|
||||||
FspFastIoDispatch.ReleaseForCcFlush = FspReleaseForCcFlush;
|
FspFastIoDispatch.ReleaseForCcFlush = FspReleaseForCcFlush;
|
||||||
|
FspCacheManagerCallbacks.AcquireForLazyWrite = FspAcquireForLazyWrite;
|
||||||
|
FspCacheManagerCallbacks.ReleaseFromLazyWrite = FspReleaseFromLazyWrite;
|
||||||
|
FspCacheManagerCallbacks.AcquireForReadAhead = FspAcquireForReadAhead;
|
||||||
|
FspCacheManagerCallbacks.ReleaseFromReadAhead = FspReleaseFromReadAhead;
|
||||||
#pragma prefast(suppress:28175, "We are a filesystem: ok to access FastIoDispatch")
|
#pragma prefast(suppress:28175, "We are a filesystem: ok to access FastIoDispatch")
|
||||||
DriverObject->FastIoDispatch = &FspFastIoDispatch;
|
DriverObject->FastIoDispatch = &FspFastIoDispatch;
|
||||||
|
|
||||||
@ -157,3 +161,5 @@ VOID FspUnload(
|
|||||||
PDRIVER_OBJECT FspDriverObject;
|
PDRIVER_OBJECT FspDriverObject;
|
||||||
PDEVICE_OBJECT FspFsctlDiskDeviceObject;
|
PDEVICE_OBJECT FspFsctlDiskDeviceObject;
|
||||||
PDEVICE_OBJECT FspFsctlNetDeviceObject;
|
PDEVICE_OBJECT FspFsctlNetDeviceObject;
|
||||||
|
FAST_IO_DISPATCH FspFastIoDispatch;
|
||||||
|
CACHE_MANAGER_CALLBACKS FspCacheManagerCallbacks;
|
||||||
|
@ -799,6 +799,8 @@ VOID FspDebugLogIrp(const char *func, PIRP Irp, NTSTATUS Result)
|
|||||||
extern PDRIVER_OBJECT FspDriverObject;
|
extern PDRIVER_OBJECT FspDriverObject;
|
||||||
extern PDEVICE_OBJECT FspFsctlDiskDeviceObject;
|
extern PDEVICE_OBJECT FspFsctlDiskDeviceObject;
|
||||||
extern PDEVICE_OBJECT FspFsctlNetDeviceObject;
|
extern PDEVICE_OBJECT FspFsctlNetDeviceObject;
|
||||||
|
extern FAST_IO_DISPATCH FspFastIoDispatch;
|
||||||
|
extern CACHE_MANAGER_CALLBACKS FspCacheManagerCallbacks;
|
||||||
extern FSP_IOPREP_DISPATCH *FspIopPrepareFunction[];
|
extern FSP_IOPREP_DISPATCH *FspIopPrepareFunction[];
|
||||||
extern FSP_IOCMPL_DISPATCH *FspIopCompleteFunction[];
|
extern FSP_IOCMPL_DISPATCH *FspIopCompleteFunction[];
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user