Partager via


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 de fichier qui représente le fichier ou le volume pour lequel les informations de quota doivent être modifiées.

[out] IoStatusBlock

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

[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 sous forme d’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 de retour

La routine NtSetQuotaInformationFile retourne STATUS_SUCCESS ou une valeur NTSTATUS appropriée, comme l’une des opérations suivantes :

Retourner le code Description
STATUS_INSUFFICIENT_RESOURCES Il y avait des ressources 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 de tampon spécifié au volume.

La fonction IoCheckQuotaBufferValidity peut vérifier si la mémoire tampon de quota spécifiée passée en tant que paramètre de de mémoire tampon est valide.

Un appel à NtSetQuotaInformationFile entraîne l’envoi d’une requête IRP_MJ_SET_QUOTA à l’objet d’appareil associé à l’objet de fichier 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.

Note

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 à partir de pilotes en mode noyau, les versions NtXxx et ZwXxx d’une routine Windows Native System Services peuvent se comporter différemment de 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.

Exigences

Exigence Valeur
client minimum pris en charge Windows 7
plateforme cible Universel
d’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

à l’aide de versions Nt et Zw des routines natives des services système

NtQueryQuotaInformationFile