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