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
指向回调例程的指针,该例程释放之前为缓存刷新获取的文件系统资源。
要求
要求 | 值 |
---|---|
Header | wdm.h |