ZwQueryQuotaInformationFile-Funktion (ntifs.h)

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

Syntax

NTSYSAPI NTSTATUS ZwQueryQuotaInformationFile(
  [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 das 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 mindestens eine FILE_QUOTA_INFORMATION-Strukturen formatiert. Das Feld NextEntryOffset in der FILE_QUOTA_INFORMATION-Struktur enthält den Offset des nächsten Kontingenteintrags in der Liste in Bytes. Wenn nach dem aktuellen keine weiteren Einträge vorhanden sind, ist dieser Member 0.

[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 des nächsten Kontingenteintrags in der Liste in Bytes. Wenn nach dem aktuellen keine weiteren Einträge vorhanden sind, ist dieser Member 0.

[in] SidListLength

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

[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 der Scan der Kontingentinformationen von Anfang an neu gestartet werden soll. Legen Sie diesen Parameter auf TRUE fest, wenn der Scan der Kontingentinformationen beim ersten Eintrag in der Liste der Kontingentinformationen des Volumes gestartet werden soll. Legen Sie auf FALSE fest, wenn Sie den Scan aus einem vorherigen Aufruf von ZwQueryQuotaInformationFile fortsetzen. Der Aufrufer muss diesen Parameter auf TRUE festlegen, wenn er ZwQueryQuotaInformationFile zum ersten Mal aufruft.

Rückgabewert

Die ZwQueryQuotaInformationFile-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 waren nicht genügend Ressourcen vorhanden, 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 ZwQueryQuotaInformationFile zurückgegebenen Informationen basiert auf der Größe der dem Volume zugeordneten Kontingentinformationen, der Größe des Puffers und der Anforderung eines bestimmten Satz von Einträgen.

Ein Aufruf von ZwQueryQuotaInformationFile 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 unterstützt (z. B. FAT- und CDFS-Dateisysteme), gibt ZwQueryQuotaInformationFile STATUS_INVALID_DEVICE_REQUEST nicht zurück.

Hinweis

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

Bei Aufrufen von Kernelmodustreibern können sich die NtXxx - und ZwXxx-Versionen einer Windows Native System Services-Routine anders verhalten, da 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 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 HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

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

ZwSetQuotaInformationFile