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結構化輸出緩衝區指標,用來傳回檔案的 CA。
[in] Length
Buffer 所指向緩衝區的長度,以位元組為單位。
[in] ReturnSingleEntry
如果 ZwQueryEaFile 應該只傳回找到的第一個專案,則設定為 TRUE。
[in, optional] EaList
呼叫端提供的 FILE_GET_EA_INFORMATION結構化輸入緩衝區指標,指定要查詢的 CA。 這個參數是選擇性的,而且可以是 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 傳回的資訊量是以 EAS 的大小和 Buffer 所指向的緩衝區大小為基礎。 也就是說,所有要求的 EA 都會寫入緩衝區,或者,如果緩衝區不夠大而無法包含所有 EA,則緩衝區會填入許多完整的 EA。 只有完整的 EA 會寫入緩衝區;不會傳回任何部分 EA。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 |
目標平台 | Universal |
標頭 | ntifs.h (包含 FltKernel.h、Ntifs.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
DDI 合規性規則 | HwStorPortProhibitedDIS (storport) 、 PowerIrpDDis (wdm) |