共用方式為


FsRtlQueryKernelEaFile 函式 (ntifs.h)

例程 FsRtlQueryKernelEaFile 可用來建置明確的 QueryEA 要求,並同步等候它完成,並傳回結果。 這可讓呼叫端透過 FileObject 執行此動作,而不是句柄。

語法

NTSTATUS FsRtlQueryKernelEaFile(
  [in]            PFILE_OBJECT FileObject,
  [out]           PVOID        ReturnedEaData,
  [in]            ULONG        Length,
  [in]            BOOLEAN      ReturnSingleEntry,
  [in]            PVOID        EaList,
  [in]            ULONG        EaListLength,
  [in, optional]  PULONG       EaIndex,
  [in]            BOOLEAN      RestartScan,
  [out, optional] PULONG       LengthReturned
);

參數

[in] FileObject

要傳送 QueryEA 要求的 FileObject 指標。

[out] ReturnedEaData

呼叫端提供的 FILE_FULL_EA_INFORMATION結構化輸出緩衝區指標,其中會傳回擴充屬性值。

[in] Length

指定 ReturnedEaData 的長度,以位元組為單位

[in] ReturnSingleEntry

指定是否應該只傳回單一專案,而不是盡可能填滿緩衝區。

[in] EaList

呼叫端提供的 FILE_GET_EA_INFORMATION結構化輸入緩衝區指標,指定要查詢的擴充屬性。 這個參數是選擇性的,而且可以是 NULL

[in] EaListLength

如果提供EA清單,則指定 EaList的長度。

[in, optional] EaIndex

提供要傳回其值之EA的選擇性索引。 如果指定,則只會傳回該 EA。

[in] RestartScan

指定是否應該從頭重新啟動 EA 掃描。

[out, optional] LengthReturned

指定 ReturnedEaData 緩衝區中傳回的有效數據量。

傳回值

例程 FsRtlQueryKernelEaFile 會傳回其中一個狀態代碼:

傳回碼 Description
STATUS_EAS_NOT_SUPPORTED
檔案系統不支援擴充屬性。
STATUS_INVALID_DEVICE_REQUEST
要求因為直接裝置開啟而失敗。
STATUS_INSUFFICIENT_RESOURCES
無法為此要求配置 I/O 要求封包 (IRP) 。
STATUS_SUCCESS
要求成功。

備註

此例程 FsRtlQueryKernelEaFile 會假設所有傳入的緩衝區都是來自內核模式,因為它需要指定的輸入和輸出緩衝區,如果指定,則為核心模式位址。 如果指定了使用者模式地址,作業將會失敗。

規格需求

需求
最低支援的用戶端 Windows 8
最低支援的伺服器 Windows Server 2012
目標平台 Windows
標頭 ntifs.h

另請參閱

FsRtlSetKernelEaFile

ZwQueryEaFile

ZwSetEaFile