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