共用方式為


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

另請參閱

FILE_QUOTA_INFORMATION

IRP_MJ_QUERY_QUOTA

IRP_MJ_SET_QUOTA