Partager via


Fonction NtQueryVolumeInformationFile (ntifs.h)

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

Syntaxe

__kernel_entry NTSYSCALLAPI NTSTATUS NtQueryVolumeInformationFile(
  [in]  HANDLE               FileHandle,
  [out] PIO_STATUS_BLOCK     IoStatusBlock,
  [out] PVOID                FsInformation,
  [in]  ULONG                Length,
  [in]  FS_INFORMATION_CLASS FsInformationClass
);

Paramètres

[in] FileHandle

Handle vers un objet de fichier retourné par NtCreateFile ou NtOpenFile pour un fichier ouvert, un répertoire, un périphérique de stockage ou un volume pour lequel les informations de volume sont demandées.

[out] IoStatusBlock

Pointeur vers une structure IO_STATUS_BLOCK qui reçoit l’état d’achèvement final et les informations relatives à 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 de la structure est retourné dans le membre Information de la structure.

[out] FsInformation

Pointeur vers une mémoire tampon allouée par 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 par FsInformation. L’appelant doit définir ce paramètre en fonction du FsInformationClassdonné.

[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 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 d’appareil pour le volume.
FileFsDriverPathInformation Retournez une structure FILE_FS_DRIVER_PATH_INFORMATION contenant des informations sur le fait qu’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 NtQueryVolumeInformationFile.
FileFsFullSizeInformation Retourne une structure FILE_FS_FULL_SIZE_INFORMATION contenant des informations sur la quantité totale d’espace disponible sur le volume.
FileFsObjectIdInformation Retourne une structure 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 le même que le nom de volume unique (basé sur GUID) attribué par le système d’exploitation.
FileFsSizeInformation Retournez une structure FILE_FS_SIZE_INFORMATION contenant des informations sur la quantité d’espace sur le volume disponible pour l’utilisateur associé au thread appelant.
FileFsVolumeInformation Retournez 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 de retour

NtQueryVolumeInformationFile retourne STATUS_SUCCESS ou un état d’erreur approprié.

Remarques

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

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

NtQueryVolumeInformationFile retourne zéro dans un 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 les autres routines de requête d’informations sur les fichiers, consultez objets de fichiers.

Les minifilters doivent utiliser FltQueryVolumeInformationFile au lieu de NtQueryVolumeInformationFile.

Les appelants de NtQueryVolumeInformationFile doivent s’exécuter à IRQL = PASSIVE_LEVEL et avec des API de noyau spéciales activées.

Note

Si l’appel à la fonction NtQueryVolumeInformationFile 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 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 XP
plateforme cible Universel
d’en-tête ntifs.h (include Ntifs.h, Ntddk.h)
bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL (voir la section Remarques)
règles de conformité DDI HwStorPortProhibitedDDIs, PowerIrpDDis

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

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

NtCreateFile

NtOpenFile

NtQueryDirectoryFile

NtQueryInformationFile

NtSetInformationFile

ZwSetVolumeInformationFile