FAST_IO_DISPATCH结构 (wdm.h)
包含文件系统驱动程序或文件系统筛选器驱动程序(旧版)为快速 I/O 处理提供的一组回调例程。
语法
typedef struct _FAST_IO_DISPATCH {
ULONG SizeOfFastIoDispatch;
PFAST_IO_CHECK_IF_POSSIBLE FastIoCheckIfPossible;
PFAST_IO_READ FastIoRead;
PFAST_IO_WRITE FastIoWrite;
PFAST_IO_QUERY_BASIC_INFO FastIoQueryBasicInfo;
PFAST_IO_QUERY_STANDARD_INFO FastIoQueryStandardInfo;
PFAST_IO_LOCK FastIoLock;
PFAST_IO_UNLOCK_SINGLE FastIoUnlockSingle;
PFAST_IO_UNLOCK_ALL FastIoUnlockAll;
PFAST_IO_UNLOCK_ALL_BY_KEY FastIoUnlockAllByKey;
PFAST_IO_DEVICE_CONTROL FastIoDeviceControl;
PFAST_IO_ACQUIRE_FILE AcquireFileForNtCreateSection;
PFAST_IO_RELEASE_FILE ReleaseFileForNtCreateSection;
PFAST_IO_DETACH_DEVICE FastIoDetachDevice;
PFAST_IO_QUERY_NETWORK_OPEN_INFO FastIoQueryNetworkOpenInfo;
PFAST_IO_ACQUIRE_FOR_MOD_WRITE AcquireForModWrite;
PFAST_IO_MDL_READ MdlRead;
PFAST_IO_MDL_READ_COMPLETE MdlReadComplete;
PFAST_IO_PREPARE_MDL_WRITE PrepareMdlWrite;
PFAST_IO_MDL_WRITE_COMPLETE MdlWriteComplete;
PFAST_IO_READ_COMPRESSED FastIoReadCompressed;
PFAST_IO_WRITE_COMPRESSED FastIoWriteCompressed;
PFAST_IO_MDL_READ_COMPLETE_COMPRESSED MdlReadCompleteCompressed;
PFAST_IO_MDL_WRITE_COMPLETE_COMPRESSED MdlWriteCompleteCompressed;
PFAST_IO_QUERY_OPEN FastIoQueryOpen;
PFAST_IO_RELEASE_FOR_MOD_WRITE ReleaseForModWrite;
PFAST_IO_ACQUIRE_FOR_CCFLUSH AcquireForCcFlush;
PFAST_IO_RELEASE_FOR_CCFLUSH ReleaseForCcFlush;
} FAST_IO_DISPATCH, *PFAST_IO_DISPATCH;
成员
SizeOfFastIoDispatch
设置为 sizeof(FAST_IO_DISPATCH)。
FastIoCheckIfPossible
指向回调例程的指针,用于检查读取或写入作是否可以快速 I/O。
FastIoRead
指向执行快速缓存读取的回调例程的指针,绕过 IRP 读取路径。 它用于为缓存的文件对象执行复制读取。
FastIoWrite
指向执行快速缓存写入的回调例程的指针,绕过 IRP 写入路径。 它用于对缓存的文件对象执行复制写入。
FastIoQueryBasicInfo
指向回调例程的指针,用于快速查询基本文件信息。
FastIoQueryStandardInfo
指向回调例程的指针,用于快速查询标准文件信息。
FastIoLock
指向回调例程的指针,用于对文件对象执行快速锁定。
FastIoUnlockSingle
指向回调例程的指针,用于在文件对象上快速释放单个锁。
FastIoUnlockAll
指向回调例程的指针,用于快速释放在文件对象上保存的所有锁。
FastIoUnlockAllByKey
指向回调例程的指针,用于快速释放按键分组的所有锁。
FastIoDeviceControl
指向用于快速设备控制处理的回调例程的指针。
AcquireFileForNtCreateSection
指向内存管理器用于以独占方式获取文件的回调例程的指针。
ReleaseFileForNtCreateSection
指向内存管理器用来释放以前获取的文件的回调例程的指针。
FastIoDetachDevice
指向回调例程的指针,该例程调用该例程将当前设备对象与正在删除的设备对象分离。
FastIoQueryNetworkOpenInfo
指向回调例程的指针,用于快速查询网络文件信息。
AcquireForModWrite
指向回调例程的指针,该例程决定修改后的页面编写器应获取的文件系统资源,并尽可能获取它。
MdlRead
指向执行快速缓存 MDL 读取的回调例程的指针,绕过 IRP 读取路径。 它用于为缓存的文件对象执行复制读取。
MdlReadComplete
指向执行 MDL 读取快速完成的回调例程的指针。
PrepareMdlWrite
指向执行快速缓存 MDL 写入的回调例程的指针,绕过 IRP 写入路径。 它用于对缓存的文件对象执行复制写入。
MdlWriteComplete
指向执行 MDL 写入快速完成的回调例程的指针。
FastIoReadCompressed
指向回调例程的指针,该例程执行从文件中快速压缩读取数据。
FastIoWriteCompressed
指向回调例程的指针,该例程执行将数据快速压缩到文件中。
MdlReadCompleteCompressed
指向回调例程的指针,该例程完成从文件中快速读取数据的 MDL 压缩。
MdlWriteCompleteCompressed
指向回调例程的指针,该例程完成对文件的快速 MDL 压缩写入数据。
FastIoQueryOpen
指向实现基于路径的查询快速打开的回调例程的指针。
ReleaseForModWrite
此例程释放以前为修改的页面写入获取的文件系统资源。
AcquireForCcFlush
指向在缓存刷新之前获取文件系统资源的回调例程的指针。
ReleaseForCcFlush
指向回调例程的指针,该例程释放以前为缓存刷新获取的文件系统资源。
要求
要求 | 价值 |
---|---|
标头 | wdm.h |