NtQueryQuotaInformationFile 函式 (ntifs.h)
NtQueryQuotaInformationFile 例程會擷取與 fileHandle 參數所指定磁碟區相關聯的配額專案。
語法
__kernel_entry NTSYSCALLAPI NTSTATUS NtQueryQuotaInformationFile(
[in] HANDLE FileHandle,
[out] PIO_STATUS_BLOCK IoStatusBlock,
[out] PVOID Buffer,
[in] ULONG Length,
[in] BOOLEAN ReturnSingleEntry,
[in, optional] PVOID SidList,
[in] ULONG SidListLength,
[in, optional] PSID StartSid,
[in] BOOLEAN RestartScan
);
參數
[in] FileHandle
檔案物件的句柄,表示要求配額資訊的檔案或磁碟區。
[out] IoStatusBlock
呼叫端 I/O 狀態區塊的位址。
[out] Buffer
接收磁碟區配額信息的緩衝區。 配額資訊會格式化為一或多個 FILE_QUOTA_INFORMATION 結構。 FILE_QUOTA_INFORMATION 結構中的 NextEntryOffset 欄位包含清單中下一個配額專案的位移,以位元組為單位。 如果目前項目之後沒有其他專案,則此成員為零。
[in] Length
緩衝區的位元組長度。
[in] ReturnSingleEntry
布爾值,指出是否只應該傳回單一專案,而不是盡可能填滿緩衝區。
[in, optional] SidList
要傳回配額信息的選擇性 SID 清單。 清單中的每個專案都是 FILE_GET_QUOTA_INFORMATION 結構。 FILE_GET_QUOTA_INFORMATION 結構中的 NextEntryOffset 字段包含清單中下一個配額專案的位移,以位元組為單位。 如果目前項目之後沒有其他專案,則此成員為零。
[in] SidListLength
如果指定 SID 清單的長度,則為位元組。
[in, optional] StartSid
要開始掃描配額資訊之專案的 SID 選擇性指標。 如果傳回的資訊是從第一個 SID 以外的項目開始,則應該設定此參數。 如果指定了 SidList 參數,則會忽略此參數。
[in] RestartScan
布爾值,指出是否要從頭重新啟動配額信息的掃描。 如果配額資訊的掃描是從磁碟區配額資訊清單中的第一個項目開始,請將此參數設定為 TRUE。 如果從先前呼叫 NtQueryQuotaInformationFile繼續掃描,請將 設定為 FALSE。 第一次
傳回值
NtQueryQuotaInformationFile 例程會在 Buffer 參數或適當的 NTSTATUS 值中傳 STATUS_SUCCESS回至少一個 FILE_QUOTA_INFORMATION 結構,例如下列其中一個:
傳回碼 | 描述 |
---|---|
STATUS_INSUFFICIENT_RESOURCES | 資源不足,無法完成作業。 這是錯誤碼。 |
STATUS_INVALID_DEVICE_REQUEST | 磁碟區上未啟用配額。 這是錯誤碼。 |
STATUS_INVALID_SID | StartSid 參數不包含有效的 SID。 這是錯誤碼。 |
STATUS_QUOTA_LIST_INCONSISTENT | SidList 參數未包含有效的格式正確清單。 這是錯誤碼。 |
言論
NtQueryQuotaInformationFile 所傳回的資訊量,是根據與磁碟區相關聯的配額資訊大小、緩衝區大小,以及是否已要求特定專案集。
呼叫 NtQueryQuotaInformationFile 會導致將 IRP_MJ_SET_QUOTA 要求傳送至與檔案對象相關聯的裝置物件,該物件句柄儲存在 FileHandle 參數中。
如果基礎文件系統不支援配額資訊(例如 FAT 和 CDFS 檔案系統),NtQueryQuotaInformationFile 會失敗傳回STATUS_INVALID_DEVICE_REQUEST。
注意
如果在核心模式中呼叫 NtQueryQuotaInformationFile 函式,您應該使用名稱 “ZwQueryQuotaInformationFile” 而不是 “NtQueryQuotaInformationFile”。
對於內核模式驅動程式的呼叫,NtXxx 和 ZwXxx 版本的 Windows 原生系統服務例程,在處理和解譯輸入參數的方式上可能會有不同的行為。 如需 nt NtXxx 與 ZwXxx 例程之間關聯性的詳細資訊,請參閱 使用 Nt 和 Zw 版本的原生系統服務例程。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 7 |
目標平臺 | 普遍 |
標頭 | ntifs.h (include Ntifs.h, FltKernel.h) |
連結庫 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
DDI 合規性規則 | HwStorPortProhibitedDDIs, PowerIrpDDis |