Fonction ZwQueryVolumeInformationFile (ntddk.h)

La routine ZwQueryVolumeInformationFile récupère des informations sur le volume associé à un fichier, un répertoire, un périphérique de stockage ou un volume donné.

Syntaxe

NTSYSAPI NTSTATUS ZwQueryVolumeInformationFile(
  [in]  HANDLE               FileHandle,
  [out] PIO_STATUS_BLOCK     IoStatusBlock,
  [out] PVOID                FsInformation,
  [in]  ULONG                Length,
  [in]  FS_INFORMATION_CLASS FsInformationClass
);

Paramètres

[in] FileHandle

Handle à un objet de fichier retourné par ZwCreateFile ou ZwOpenFile pour un fichier, un répertoire, un périphérique de stockage ou un volume ouvert pour lequel des informations de volume sont demandées.

[out] IoStatusBlock

Pointeur vers une structure de IO_STATUS_BLOCK qui reçoit le status d’achèvement final et des informations sur l’opération de requête. Pour les appels réussis qui retournent des données, le nombre d’octets écrits dans la mémoire tampon FsInformation est retourné dans le membre Informations de la structure.

[out] FsInformation

Pointeur vers une mémoire tampon allouée à l’appelant qui reçoit les informations souhaitées sur le volume. La structure des informations retournées dans la mémoire tampon est définie par le paramètre FsInformationClass .

[in] Length

Taille en octets de la mémoire tampon pointée vers FsInformation. L’appelant doit définir ce paramètre en fonction de la FsInformationClass donnée.

[in] FsInformationClass

Type d’informations à retourner sur le volume. Définissez ce membre sur l’une des valeurs d’énumération FS_INFORMATION_CLASS suivantes.

Valeur Signification
FileFsAttributeInformation Retourne une structure FILE_FS_ATTRIBUTE_INFORMATION contenant des informations d’attribut sur le système de fichiers responsable du volume.
FileFsControlInformation Retourne une structure de FILE_FS_CONTROL_INFORMATION contenant des informations de contrôle du système de fichiers sur le volume.
FileFsDeviceInformation Retourne une structure FILE_FS_DEVICE_INFORMATION contenant des informations sur l’appareil pour le volume.
FileFsDriverPathInformation Retourne une structure FILE_FS_DRIVER_PATH_INFORMATION contenant des informations indiquant si un pilote spécifié se trouve dans le chemin d’E/S du volume. L’appelant doit stocker le nom du pilote dans la structure FILE_FS_DRIVER_PATH_INFORMATION avant d’appeler ZwQueryVolumeInformationFile.
FileFsFullSizeInformation Retourne une structure de FILE_FS_FULL_SIZE_INFORMATION contenant des informations sur la quantité totale d’espace disponible sur le volume.
FileFsObjectIdInformation Retourne une structure de FILE_FS_OBJECTID_INFORMATION contenant des informations d’ID d’objet spécifiques au système de fichiers pour le volume. Notez que ce n’est pas la même chose que le nom de volume unique (basé sur le GUID) attribué par le système d’exploitation.
FileFsSizeInformation Retourne une structure FILE_FS_SIZE_INFORMATION contenant des informations sur la quantité d’espace disponible pour l’utilisateur associé au thread appelant.
FileFsVolumeInformation Retourne une FILE_FS_VOLUME_INFORMATION contenant des informations sur le volume, telles que l’étiquette du volume, le numéro de série et l’heure de création.
FileFsSectorSizeInformation Retourne une structure FILE_FS_SECTOR_SIZE_INFORMATION qui contient des informations sur les tailles de secteur physique et logique d’un volume.

Valeur retournée

ZwQueryVolumeInformationFile retourne STATUS_SUCCESS ou une status d’erreur appropriée.

Remarques

ZwQueryVolumeInformationFile récupère des informations sur le volume associé à un fichier, répertoire, périphérique de stockage ou volume donné.

Si fileHandle représente un appareil direct ouvert, seul FileFsDeviceInformation peut être spécifié comme valeur de FsInformationClass.

ZwQueryVolumeInformationFile retourne zéro dans n’importe quel membre d’une structure FILE_XXX_INFORMATION qui n’est pas prise en charge par le système de fichiers.

Pour plus d’informations sur d’autres routines de requête d’informations de fichier, consultez Objets de fichier.

Les minifiltres doivent utiliser FltQueryVolumeInformationFile au lieu de ZwQueryVolumeInformationFile.

Les appelants de ZwQueryVolumeInformationFile doivent être en cours d’exécution à IRQL = PASSIVE_LEVEL et avec des API de noyau spéciales activées.

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

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
Plateforme cible Universal
En-tête ntddk.h (inclure Ntifs.h, Ntddk.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL (voir la section Remarques)
Règles de conformité DDI HwStorPortProhibitedDDIs(storport),PowerIrpDDis(wdm)

Voir aussi

FILE_FS_ATTRIBUTE_INFORMATION

FILE_FS_CONTROL_INFORMATION

FILE_FS_DEVICE_INFORMATION

FILE_FS_DRIVER_PATH_INFORMATION

FILE_FS_FULL_SIZE_INFORMATION

FILE_FS_OBJECTID_INFORMATION

FILE_FS_SIZE_INFORMATION

FILE_FS_VOLUME_INFORMATION

FltQueryVolumeInformationFile

IRP_MJ_QUERY_VOLUME_INFORMATION

IRP_MJ_SET_VOLUME_INFORMATION

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

ZwCreateFile

ZwOpenFile

ZwQueryDirectoryFile

ZwQueryInformationFile

ZwSetInformationFile

ZwSetVolumeInformationFile