NtQueryQuotaInformationFile-Funktion (ntifs.h)

Die NtQueryQuotaInformationFile-Routine ruft Kontingenteinträge ab, die dem durch den FileHandle-Parameter angegebenen Volume zugeordnet sind.

Syntax

__kernel_entry NTSYSCALLAPI NTSTATUS NtQueryQuotaInformationFile(
  [in]           HANDLE           FileHandle,
  [out]          PIO_STATUS_BLOCK IoStatusBlock,
  [out]          PVOID            Buffer,
  [in]           ULONG            Length,
  [in]           BOOLEAN          ReturnSingleEntry,
  [in, optional] PVOID            SidList,
  [in]           ULONG            SidListLength,
  [in, optional] PSID             StartSid,
  [in]           BOOLEAN          RestartScan
);

Parameter

[in] FileHandle

Ein Handle für das Dateiobjekt, das die Datei oder das Volume darstellt, für die die Kontingentinformationen angefordert werden.

[out] IoStatusBlock

Die Adresse des E/A-status-Blocks des Aufrufers.

[out] Buffer

Ein Puffer zum Empfangen der Kontingentinformationen für das Volume. Die Kontingentinformationen sind als eine oder mehrere FILE_QUOTA_INFORMATION-Strukturen formatiert. Das Feld NextEntryOffset in der FILE_QUOTA_INFORMATION-Struktur enthält den Offset (in Byte) des nächsten Kontingenteintrags in der Liste. Wenn nach dem aktuellen keine weiteren Einträge vorhanden sind, ist dieser Member 0 (null).

[in] Length

Die Länge des Puffers in Bytes.

[in] ReturnSingleEntry

Ein boolescher Wert, der angibt, ob nur ein einzelner Eintrag zurückgegeben werden soll, anstatt den Puffer mit so vielen Einträgen wie möglich zu füllen.

[in, optional] SidList

Eine optionale Liste von SIDs, deren Kontingentinformationen zurückgegeben werden sollen. Jeder Eintrag in der Liste ist eine FILE_GET_QUOTA_INFORMATION Struktur. Das Feld NextEntryOffset in der FILE_GET_QUOTA_INFORMATION-Struktur enthält den Offset (in Byte) des nächsten Kontingenteintrags in der Liste. Wenn nach dem aktuellen keine weiteren Einträge vorhanden sind, ist dieser Member 0 (null).

[in] SidListLength

Die Länge der SID-Liste in Byte, sofern angegeben.

[in, optional] StartSid

Ein optionaler Zeiger auf die SID des Eintrags, an dem mit dem Scannen der Kontingentinformationen begonnen werden soll. Dieser Parameter sollte festgelegt werden, wenn die zurückgegebenen Informationen mit einem anderen Eintrag als der ersten SID beginnen sollen. Dieser Parameter wird ignoriert, wenn ein SidList-Parameter angegeben wird.

[in] RestartScan

Ein boolescher Wert, der angibt, ob die Überprüfung der Kontingentinformationen von Anfang an neu gestartet werden soll. Legen Sie diesen Parameter auf TRUE fest, wenn die Überprüfung der Kontingentinformationen beim ersten Eintrag in der Kontingentinformationsliste des Volumes gestartet werden soll. Legen Sie diesen Wert auf FALSE fest, wenn die Überprüfung aus einem vorherigen Aufruf von NtQueryQuotaInformationFile fortgesetzt wird. Der Aufrufer muss diesen Parameter beim ersten Aufruf von NtQueryQuotaInformationFile auf TRUE festlegen.

Rückgabewert

Die NtQueryQuotaInformationFile-Routine gibt STATUS_SUCCESS zurück, wenn mindestens eine FILE_QUOTA_INFORMATION-Struktur im Buffer-Parameter oder ein entsprechender NTSTATUS-Wert wie einer der folgenden zurückgegeben wird:

Rückgabecode Beschreibung
STATUS_INSUFFICIENT_RESOURCES Es gab nicht genügend Ressourcen, um den Vorgang abzuschließen. Dies ist ein Fehlercode.
STATUS_INVALID_DEVICE_REQUEST Kontingente sind auf dem Volume nicht aktiviert. Dies ist ein Fehlercode.
STATUS_INVALID_SID Der StartSid-Parameter enthielt keine gültige SID. Dies ist ein Fehlercode.
STATUS_QUOTA_LIST_INCONSISTENT Der SidList-Parameter enthielt keine gültige, ordnungsgemäß formatierte Liste. Dies ist ein Fehlercode.

Hinweise

Die Menge der von NtQueryQuotaInformationFile zurückgegebenen Informationen basiert auf der Größe der Kontingentinformationen, die dem Volume zugeordnet sind, der Größe des Puffers und davon, ob ein bestimmter Satz von Einträgen angefordert wurde.

Ein Aufruf von NtQueryQuotaInformationFile führt dazu, dass eine IRP_MJ_SET_QUOTA Anforderung an das Geräteobjekt gesendet wird, das dem Dateiobjekt zugeordnet ist, dessen Handle im FileHandle-Parameter gespeichert ist.

Wenn das zugrunde liegende Dateisystem keine Kontingentinformationen (z. B. FAT- und CDFS-Dateisysteme) unterstützt, gibt NtQueryQuotaInformationFile STATUS_INVALID_DEVICE_REQUEST nicht zurück.

Hinweis

Wenn der Aufruf der NtQueryQuotaInformationFile-Funktion im Kernelmodus erfolgt, sollten Sie den Namen "ZwQueryQuotaInformationFile" anstelle von "NtQueryQuotaInformationFile" verwenden.

Bei Aufrufen von Kernelmodustreibern können sich die NtXxx - und ZwXxx-Versionen einer Windows Native System Services-Routine anders verhalten, wie sie Eingabeparameter verarbeiten und interpretieren. Weitere Informationen zur Beziehung zwischen den Nt Xxx- und ZwXxx-Versionen einer Routine finden Sie unter Verwenden von Nt- und Zw-Versionen der systemeigenen Systemdienstroutinen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 7
Zielplattform Universell
Header ntifs.h (include Ntifs.h, FltKernel.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI-Complianceregeln HwStorPortProhibitedDIs, PowerIrpDDis

Weitere Informationen

FILE_GET_QUOTA_INFORMATION

FILE_QUOTA_INFORMATION

IO_STATUS_BLOCK

IRP_MJ_QUERY_QUOTA

IRP_MJ_SET_QUOTA

IoCheckQuotaBufferValidity

Verwenden von Nt- und Zw-Versionen der Systemdienstroutinen

**NtSetQuotaInformationFile **