共用方式為


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結構化輸入緩衝區,指定要查詢的擴充屬性。

  • EaListLengthEaList 所指向緩衝區的長度,以位元組為單位。

  • 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 結構中。

如果同時提供 EaBufferMdlAddress 緩衝區,建議迷你篩選器使用 MDL。 當 EaBuffer 是在呼叫進程內容中存取的使用者模式位址時,或如果是核心模式位址,EaBuffer 所指向的記憶體是有效的。

如果迷你篩選程序變更 MdlAddress 的值,則在後續作業回呼之後,篩選管理員會釋放目前儲存在 MdlAddress 中的 MDL ,並還原先前的 MdlAddress 值。

IRP_MJ_QUERY_EA是以 IRP 為基礎的作業。

規格需求

需求類型 需求
標頭 Fltkernel.h (包括 Fltkernel.h)

另請參閱

FILE_FULL_EA_INFORMATION

FLT_CALLBACK_DATA

FLT_IO_PARAMETER_BLOCK

FLT_IS_FASTIO_OPERATION

FLT_IS_FS_FILTER_OPERATION

FLT_IS_IRP_OPERATION

FLT_PARAMETERS

IoCheckEaBufferValidity

IRP_MJ_QUERY_EA