Partager via


Fonction NtQueryVolumeInformationFile (ntifs.h)

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

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 d’un objet fichier retourné par NtCreateFile ou NtOpenFile 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 la status d’achèvement finale 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 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 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 FILE_FS_CONTROL_INFORMATION contenant des informations de contrôle de 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 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 Retourne 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 Retourne un 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

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

Remarques

NtQueryVolumeInformationFile 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.

NtQueryVolumeInformationFile 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 sur les fichiers, consultez Objets de fichier.

Les minifiltres doivent utiliser FltQueryVolumeInformationFile au lieu de NtQueryVolumeInformationFile.

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

Notes

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

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 XP
Plateforme cible Universal
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

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

NtCreateFile

NtOpenFile

NtQueryDirectoryFile

NtQueryInformationFile

NtSetInformationFile

ZwSetVolumeInformationFile