共用方式為


ZwQueryEaFile 函式 (ntifs.h)

ZwQueryEaFile 例程會傳回與指定檔案相關聯的擴充屬性 (EAS)。

語法

NTSTATUS ZwQueryEaFile(
  [in]           HANDLE           FileHandle,
  [out]          PIO_STATUS_BLOCK IoStatusBlock,
  [out]          PVOID            Buffer,
  [in]           ULONG            Length,
  [in]           BOOLEAN          ReturnSingleEntry,
  [in, optional] PVOID            EaList,
  [in]           ULONG            EaListLength,
  [in, optional] PULONG           EaIndex,
  [in]           BOOLEAN          RestartScan
);

參數

[in] FileHandle

要執行作業之檔案的句柄。

[out] IoStatusBlock

IO_STATUS_BLOCK 結構的指標,這個結構會接收最終完成狀態,以及有關所要求作業的其他資訊。

[out] Buffer

呼叫端提供的 FILE_FULL_EA_INFORMATION結構化輸出緩衝區指標,用來傳回檔案的 EA。

[in] Length

Buffer 指向之緩衝區的長度,以位元組為單位。

[in] ReturnSingleEntry

如果 ZwQueryEaFile 應該只傳回找到的第一個專案,則設定為 TRUE。

[in, optional] EaList

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

[in] EaListLength

EaList 參數指向的緩衝區長度,以位元組為單位。

[in, optional] EaIndex

掃描檔案EA清單的專案索引應該開始。 如果 EaList 指向非空白清單,則會忽略此參數。 這個參數是選擇性的,而且可以是 NULL。

[in] RestartScan

如果 ZwQueryEaFile 應該在檔案 EA 清單中的第一個專案開始掃描,則設定為 TRUE。 如果此參數設定為 FALSE,例程會從先前對 ZwQueryEaFile 的呼叫繼續掃描,

傳回值

ZwQueryEaFile 會傳回STATUS_SUCCESS或適當的 NTSTATUS 值,如下所示:

傳回值 描述
STATUS_EAS_NOT_SUPPORTED 檔系統不支援EA。 這是錯誤碼。
STATUS_INSUFFICIENT_RESOURCES 記憶體不足,無法完成作業。 這是錯誤碼。
STATUS_EA_LIST_INCONSISTENT EaList 參數的格式不正確。 這是錯誤碼。

言論

ZwQueryEaFile 傳回的資訊量是根據 EA 的大小,以及 Buffer 指向的緩衝區大小。 也就是說,所有要求的EA都會寫入緩衝區,或緩衝區會填入所有EA的大小不夠大而無法包含所有EA時填入所有EA。 只有完整的 EA 會寫入緩衝區;不會傳回任何部分 EA。

要求

要求 價值
最低支援的用戶端 Windows 2000
目標平臺 普遍
標頭 ntifs.h (include FltKernel.h, Ntifs.h)
連結庫 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI 合規性規則 HwStorPortProhibitedDIs(storport)PowerIrpDDis(wdm)

另請參閱

FILE_FULL_EA_INFORMATION

FILE_GET_EA_INFORMATION

ZwSetEaFile