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

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

[in] QuotaLength

Länge , in Bytes, von QuotaBuffer.

[out] ErrorOffset

Eine Variable, die den Offset des fehlerhaften Eintrags im Kontingentpuffer empfängt, 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. Bei allen anderen Fehlern, einschließlich der Fehlausrichtung von Einträgen im Puffer, gibt IoCheckQuotaBufferValidity STATUS_QUOTA_LIST_INCONSISTENT zurück.

Bemerkungen

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

  • Der gesamte Eintrag muss innerhalb des Puffers liegen.

  • Der Wert von Sid muss ein Sicherheitsbezeichner (SECURITY Identifier, SID) sein.

  • Der Wert von SidLength muss der Länge in Byte des Werts von Sidentsprechen.

  • Bei allen Einträgen außer dem letzten muss der Wert NextEntryOffset größer als Null 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 entspricht der tatsächlichen Länge des Puffers.

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

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

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 2000
Zielplattform- Universal
Header- ntifs.h (einschließlich Ntifs.h)
Library NtosKrnl.lib
DLL- NtosKrnl.exe
IRQL- < DISPATCH_LEVEL

Siehe auch

FILE_QUOTA_INFORMATION

IRP_MJ_QUERY_QUOTA

IRP_MJ_SET_QUOTA