IRP_MJ_QUERY_EA等位的FLT_PARAMETERS
作業之FLT_IO_PARAMETER_BLOCK結構的MajorFunction字段IRP_MJ_QUERY_EA時使用的等位元件。
語法
typedef union _FLT_PARAMETERS {
... ;
struct {
ULONG Length;
PVOID EaList;
ULONG EaListLength;
ULONG POINTER_ALIGNMENT EaIndex;
PVOID EaBuffer;
PMDL MdlAddress;
} QueryEa;
... ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;
成員
QueryEa:包含下列成員的聯集內FLT_PARAMETERS結構。
長度: EaBuffer 指向的緩衝區長度,以位元組為單位。
EaList:呼叫端提供的指標,FILE_GET_EA_INFORMATION結構化輸入緩衝區,指定要查詢的擴充屬性。
EaListLength: EaList 所指向緩衝區的長度,以位元組為單位。
EaIndex:開始掃描擴充屬性清單的專案索引。 如果未在作業的FLT_IO_PARAMETER_BLOCK結構中設定SL_INDEX_SPECIFIED旗標,或 EaList 指向無空清單,則會忽略此參數。
EaBuffer:呼叫端提供的指標, FILE_FULL_EA_INFORMATION結構化輸出緩衝區,其中會傳回擴充屬性值。 如果 MdlAddress 中提供 MDL,這個成員是選擇性的,而且可以是 NULL。 請參閱備註。
MdlAddress:描述 EaBuffer 指向的緩衝區 (MDL) 記憶體描述項清單的位址。 如果 EaBuffer 中提供緩衝區,這個成員是選擇性的,而且可以是 NULL。 請參閱備註。
備註
IRP_MJ_QUERY_EA作業的FLT_PARAMETERS結構包含回呼數據所代表之 IRP 型查詢擴充屬性資訊作業的參數 (FLT_CALLBACK_DATA) 結構。 它包含在 FLT_IO_PARAMETER_BLOCK 結構中。
如果同時提供 EaBuffer 和 MdlAddress 緩衝區,建議迷你篩選器使用 MDL。 當 EaBuffer 是在呼叫進程內容中存取的使用者模式位址時,或如果是核心模式位址,EaBuffer 所指向的記憶體是有效的。
如果迷你篩選程序變更 MdlAddress 的值,則在後續作業回呼之後,篩選管理員會釋放目前儲存在 MdlAddress 中的 MDL ,並還原先前的 MdlAddress 值。
IRP_MJ_QUERY_EA是以 IRP 為基礎的作業。
規格需求
需求類型 | 需求 |
---|---|
標頭 | Fltkernel.h (包括 Fltkernel.h) |