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