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 |
目標平臺 | 普遍 |
標頭 | ntifs.h (include Ntifs.h) |
連結庫 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | < DISPATCH_LEVEL |