Freigeben über


NtSetQuotaInformationFile-Funktion (ntifs.h)

Die NtSetQuotaInformationFile-Routine ändert Kontingenteinträge für das Volume, das dem FileHandle-Parameter zugeordnet ist. Alle Kontingenteinträge im angegebenen Puffer werden auf das Volume angewendet.

Syntax

__kernel_entry NTSYSCALLAPI NTSTATUS NtSetQuotaInformationFile(
  [in]  HANDLE           FileHandle,
  [out] PIO_STATUS_BLOCK IoStatusBlock,
  [in]  PVOID            Buffer,
  [in]  ULONG            Length
);

Parameter

[in] FileHandle

Ein Handle für das Dateiobjekt, das die Datei oder das Volume darstellt, für das die Kontingentinformationen geändert werden sollen.

[out] IoStatusBlock

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

[in] Buffer

Ein Puffer mit den neuen Kontingenteinträgen, die auf das Volume angewendet werden sollen. Die Kontingentinformationen müssen als mindestens eine FILE_QUOTA_INFORMATION-Strukturen formatiert werden. 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.

Rückgabewert

Die NtSetQuotaInformationFile-Routine gibt STATUS_SUCCESS oder einen entsprechenden NTSTATUS-Wert zurück, z. B. einen der folgenden:

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_MEDIA_WRITE_PROTECTED Das Volume ist schreibgeschützt. Dies ist ein Fehlercode.

Hinweise

Die NtSetQuotaInformationFile-Routine wendet alle Kontingenteinträge im angegebenen Buffer-Parameter auf das Volume an.

Die IoCheckQuotaBufferValidity-Funktion kann überprüfen, ob der angegebene Kontingentpuffer, der als Buffer-Parameter übergeben wurde, gültig ist.

Ein Aufruf von NtSetQuotaInformationFile 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 NtSetQuotaInformationFile STATUS_INVALID_DEVICE_REQUEST nicht zurück.

Hinweis

Wenn der Aufruf der NtSetQuotaInformationFile-Funktion im Kernelmodus erfolgt, sollten Sie anstelle von "NtSetQuotaInformationFile" den Namen "[ZwSetQuotaInformationFile](nf-ntifs-zwsetquotainformationfile.md" 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 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

NtQueryQuotaInformationFile