IoCheckQuotaBufferValidity 函式 (ntifs.h)
IoCheckQuotaBufferValidity 例程會檢查指定的配額緩衝區是否有效。
語法
NTSTATUS IoCheckQuotaBufferValidity(
[in] PFILE_QUOTA_INFORMATION QuotaBuffer,
[in] ULONG QuotaLength,
[out] PULONG ErrorOffset
);
參數
[in] QuotaBuffer
緩衝區的指標,其中包含要檢查的配額專案。
[in] QuotaLength
QuotaBuffer 的長度,以位元組為單位。
[out] ErrorOffset
如果發現錯誤,則為在配額緩衝區中接收違規專案位移的變數。 只有在發生錯誤時,此變數才有效。
傳回值
如果配額緩衝區有效,IoCheckQuotaBufferValidity 會傳回STATUS_SUCCESS。 否則,如果配額緩衝區未對齊 ULONG,則會傳回STATUS_DATATYPE_MISALIGNMENT。 針對所有其他錯誤,包括緩衝區中專案的對齊錯誤, IoCheckQuotaBufferValidity 會傳回STATUS_QUOTA_LIST_INCONSISTENT。
備註
IoCheckQuotaBufferValidity 會檢查指定配額緩衝區中的每個FILE_QUOTA_INFORMATION專案,以確保符合下列條件:
整個項目必須落在緩衝區內。
Sid 的值必須是 (SID) 的安全性識別碼。
SidLength 的值必須符合 Sid 值的位元組長度。
對於最後一個專案以外的所有專案, NextEntryOffset 的值必須大於零,而且必須落在ULONG界限上。
此外, IoCheckQuotaBufferValidity 會 檢查配額緩衝區,以確保符合下列條件:
緩衝區必須對齊 ULONG。
在 QuotaLength 中傳遞的長度符合緩衝區的實際長度。
實際的緩衝區長度為非負值。
若要有效,配額緩衝區必須符合所有這些條件。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 |
目標平台 | Universal |
標頭 | ntifs.h (包含 Ntifs.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe |
IRQL | < DISPATCH_LEVEL |