Fonction NtSetQuotaInformationFile (ntifs.h)

La routine NtSetQuotaInformationFile modifie les entrées de quota pour le volume associé au paramètre FileHandle . Toutes les entrées de quota dans la mémoire tampon spécifiée sont appliquées au volume.

Syntaxe

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

Paramètres

[in] FileHandle

Handle pour l’objet file qui représente le fichier ou le volume pour lequel les informations de quota doivent être modifiées.

[out] IoStatusBlock

Adresse du bloc d’E/S de l’appelant status.

[in] Buffer

Mémoire tampon contenant les nouvelles entrées de quota qui doivent être appliquées au volume. Les informations de quota doivent être mises en forme comme une ou plusieurs structures FILE_QUOTA_INFORMATION . Le champ NextEntryOffset dans la structure FILE_QUOTA_INFORMATION contient le décalage, en octets, de l’entrée de quota suivante dans la liste. S’il n’y a plus d’entrées après celle en cours, ce membre est égal à zéro.

[in] Length

Longueur en octets de la mémoire tampon.

Valeur retournée

La routine NtSetQuotaInformationFile retourne STATUS_SUCCESS ou une valeur NTSTATUS appropriée, telle que l’une des suivantes :

Code de retour Description
STATUS_INSUFFICIENT_RESOURCES Les ressources étaient insuffisantes pour terminer l’opération. Il s’agit d’un code d’erreur.
STATUS_INVALID_DEVICE_REQUEST Les quotas ne sont pas activés sur le volume. Il s’agit d’un code d’erreur.
STATUS_MEDIA_WRITE_PROTECTED Le volume est en lecture seule. Il s’agit d’un code d’erreur.

Remarques

La routine NtSetQuotaInformationFile applique toutes les entrées de quota dans le paramètre Buffer spécifié au volume.

La fonction IoCheckQuotaBufferValidity peut case activée si la mémoire tampon de quota spécifiée passée comme paramètre Buffer est valide.

Un appel à NtSetQuotaInformationFile entraîne l’envoi d’une requête IRP_MJ_SET_QUOTA à l’objet d’appareil associé à l’objet file dont le handle est stocké dans le paramètre FileHandle .

Si le système de fichiers sous-jacent ne prend pas en charge les informations de quota (systèmes de fichiers FAT et CDFS, par exemple), NtSetQuotaInformationFile ne retourne pas STATUS_INVALID_DEVICE_REQUEST.

Notes

Si l’appel à la fonction NtSetQuotaInformationFile se produit en mode noyau, vous devez utiliser le nom « [ZwSetQuotaInformationFile](nf-ntifs-zwsetquotainformationfile.md » au lieu de « NtSetQuotaInformationFile ».

Pour les appels provenant de pilotes en mode noyau, les versions NtXxx et ZwXxx d’une routine Windows Native System Services peuvent se comporter différemment dans la façon dont elles gèrent et interprètent les paramètres d’entrée. Pour plus d’informations sur la relation entre les versions NtXxx et ZwXxx d’une routine, consultez Using Nt and Zw Versions of the Native System Services Routines.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 7
Plateforme cible Universal
En-tête ntifs.h (include Ntifs.h, FltKernel.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Règles de conformité DDI HwStorPortProhibitedDDIs, PowerIrpDDis

Voir aussi

FILE_GET_QUOTA_INFORMATION

FILE_QUOTA_INFORMATION

IO_STATUS_BLOCK

IRP_MJ_QUERY_QUOTA

IRP_MJ_SET_QUOTA

IoCheckQuotaBufferValidity

Utilisation des versions Nt et Zw des routines des services système natifs

NtQueryQuotaInformationFile