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