Freigeben über


IoCheckQuotaBufferValidity-Funktion (ntifs.h)

Die IoCheckQuotaBufferValidity-Routine überprüft, ob der angegebene Kontingentpuffer gültig ist.

Syntax

NTSTATUS IoCheckQuotaBufferValidity(
  [in]  PFILE_QUOTA_INFORMATION QuotaBuffer,
  [in]  ULONG                   QuotaLength,
  [out] PULONG                  ErrorOffset
);

Parameter

[in] QuotaBuffer

Zeiger auf den Puffer, der die zu überprüfenden Kontingenteinträge enthält.

[in] QuotaLength

Länge von QuotaBuffer in Byte.

[out] ErrorOffset

Eine Variable, die den Offset des verletzenden Eintrags im Kontingentpuffer empfangen soll, wenn ein Fehler gefunden wird. Diese Variable ist nur gültig, wenn ein Fehler auftritt.

Rückgabewert

IoCheckQuotaBufferValidity gibt STATUS_SUCCESS zurück, wenn der Kontingentpuffer gültig ist. Andernfalls wird STATUS_DATATYPE_MISALIGNMENT zurückgegeben, wenn der Kontingentpuffer nicht ULONG ausgerichtet ist. Für alle anderen Fehler, einschließlich einer falschen Ausrichtung von Einträgen im Puffer, gibt IoCheckQuotaBufferValidity STATUS_QUOTA_LIST_INCONSISTENT zurück.

Hinweise

IoCheckQuotaBufferValidity überprüft jeden FILE_QUOTA_INFORMATION Eintrag im angegebenen Kontingentpuffer, um sicherzustellen, dass die folgenden Bedingungen erfüllt sind:

  • Der gesamte Eintrag muss in den Puffer fallen.

  • Der Wert von Sid muss eine Sicherheits-ID (SID) sein.

  • Der Wert von SidLength muss mit der Länge in Bytes des Sid-Werts übereinstimmen.

  • Für alle Einträge mit Ausnahme des letzten muss der Wert von NextEntryOffset größer als 0 sein und auf eine ULONG-Grenze fallen.

Darüber hinaus überprüft IoCheckQuotaBufferValidity den Kontingentpuffer, um sicherzustellen, dass die folgenden Bedingungen erfüllt sind:

  • Der Puffer muss ULONG ausgerichtet sein.

  • Die in QuotaLength übergebene Länge stimmt mit der tatsächlichen Länge des Puffers überein.

  • Die tatsächliche Pufferlänge ist nicht deegativ.

Um gültig zu sein, muss der Kontingentpuffer alle diese Bedingungen erfüllen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000
Zielplattform Universell
Header ntifs.h (include Ntifs.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL < DISPATCH_LEVEL

Weitere Informationen

FILE_QUOTA_INFORMATION

IRP_MJ_QUERY_QUOTA

IRP_MJ_SET_QUOTA