Fonction NtQueryQuotaInformationFile (ntifs.h)

La routine NtQueryQuotaInformationFile récupère les entrées de quota associées au volume spécifié par le paramètre FileHandle .

Syntaxe

__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
);

Paramètres

[in] FileHandle

Handle pour l’objet de fichier qui représente le fichier ou le volume pour lequel les informations de quota sont demandées.

[out] IoStatusBlock

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

[out] Buffer

Mémoire tampon pour recevoir les informations de quota pour le volume. Les informations de quota sont 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 actuelle, ce membre est égal à zéro.

[in] Length

Longueur en octets de la mémoire tampon.

[in] ReturnSingleEntry

Valeur booléenne qui indique si une seule entrée doit être retournée au lieu de remplir la mémoire tampon avec autant d’entrées que possible.

[in, optional] SidList

Liste facultative des SID dont les informations de quota doivent être retournées. Chaque entrée de la liste est une structure FILE_GET_QUOTA_INFORMATION . Le champ NextEntryOffset de la structure FILE_GET_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 actuelle, ce membre est égal à zéro.

[in] SidListLength

Longueur en octets de la liste SID , le cas échéant.

[in, optional] StartSid

Pointeur facultatif vers le SID de l’entrée à laquelle commencer l’analyse des informations de quota. Ce paramètre doit être défini si les informations retournées doivent commencer par une entrée autre que le premier SID. Ce paramètre est ignoré si un paramètre SidList est spécifié.

[in] RestartScan

Valeur booléenne qui indique si l’analyse des informations de quota doit être redémarrée à partir du début. Définissez ce paramètre sur TRUE si l’analyse des informations de quota doit commencer à la première entrée de la liste des informations de quota du volume. Définissez sur FALSE si vous reprenez l’analyse d’un appel précédent à NtQueryQuotaInformationFile. L’appelant doit définir ce paramètre sur TRUE lors de l’appel de NtQueryQuotaInformationFile pour la première fois.

Valeur retournée

La routine NtQueryQuotaInformationFile retourne STATUS_SUCCESS si au moins une structure FILE_QUOTA_INFORMATION est retournée dans le paramètre Buffer ou une valeur NTSTATUS appropriée, comme l’une des valeurs 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_INVALID_SID Le paramètre StartSid ne contenait pas de SID valide. Il s’agit d’un code d’erreur.
STATUS_QUOTA_LIST_INCONSISTENT Le paramètre SidList ne contenait pas de liste valide et correctement formée. Il s’agit d’un code d’erreur.

Remarques

La quantité d’informations retournées par NtQueryQuotaInformationFile est basée sur la taille des informations de quota associées au volume, la taille de la mémoire tampon et si un ensemble d’entrées spécifique a été demandé.

Un appel à NtQueryQuotaInformationFile 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), NtQueryQuotaInformationFile échoue à renvoyer STATUS_INVALID_DEVICE_REQUEST.

Notes

Si l’appel à la fonction NtQueryQuotaInformationFile se produit en mode noyau, vous devez utiliser le nom « ZwQueryQuotaInformationFile » au lieu de « NtQueryQuotaInformationFile ».

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 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 Utilisation des versions Nt et Zw des routines des services système natifs.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 7
Plateforme cible Universal
En-tête ntifs.h (inclure 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 natives des services système natifs

**NtSetQuotaInformationFile **