以下 FLT_PARAMETERS 联合成员 在FLT_IO_PARAMETER_BLOCK时使用。MajorFunction 是IRP_MJ_MDL_READ_COMPLETE。
语法
typedef union _FLT_PARAMETERS {
... ;
struct {
PMDL MdlChain;
} MdlReadComplete;
... ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;
成员
MdlReadComplete:包含以下成员的结构。
MdlChain:指向一个变量的指针,该变量接收指向一个或多个内存描述符列表(MDL)链的指针,用于描述包含要从缓存文件中读取的数据的页面。
注解
IRP_MJ_MDL_READ_COMPLETE是一项快速 I/O作。 它执行与 IRP_MJ_READ + IRP_MN_COMPLETE_MDL相同的作,但以下差异除外:
- 基于 IRP 的作在执行 MDL 工作之前尚未缓存,则会在文件上设置缓存。
- 如果文件尚未缓存,快速 IO作将失败。
IRP_MJ_MDL_READ_COMPLETE作的FLT_PARAMETERS结构包含快速 I/O MdlReadComplete作的参数。 该作由 (FLT_CALLBACK_DATA) 结构表示,该作的参数位于 Iopb 指向的FLT_IO_PARAMETER_BLOCK结构中。
如果快速 I/O IRP_MJ_MDL_READ_COMPLETE请求失败,I/O 的颁发者将决定如何重新发出请求。 例如,可以使用 IRP_MJ_READ + IRP_MN_COMPLETE_MDL 作为基于 IRP 的作重新发出请求。
要求
| 要求类型 | 要求 |
|---|---|
| 标题 | Fltkernel.h (包括 Fltkernel.h) |