ZwQueryQuotaInformationFile, fonction (ntifs.h)

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

Syntaxe

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

Paramètres

[in] FileHandle

Handle pour l’objet file 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 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.

[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 dans 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 en cours, 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 d’informations sur le quota du volume. Définissez sur FALSE si vous reprenez l’analyse d’un appel précédent à ZwQueryQuotaInformationFile. L’appelant doit définir ce paramètre sur TRUE lors de l’appel de ZwQueryQuotaInformationFile pour la première fois.

Valeur retournée

La routine ZwQueryQuotaInformationFile 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, 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_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 ZwQueryQuotaInformationFile 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 spécifique d’entrées a été demandé.

Un appel à ZwQueryQuotaInformationFile 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), ZwQueryQuotaInformationFile ne retourne pas STATUS_INVALID_DEVICE_REQUEST.

Notes

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

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(storport), PowerIrpDDis(wdm)

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

ZwSetQuotaInformationFile