GetVolumeInformationByHandleW, fonction (fileapi.h)
Récupère des informations sur le système de fichiers et le volume associés au fichier spécifié.
Pour récupérer l’état de compression actuel d’un fichier ou d’un répertoire, utilisez FSCTL_GET_COMPRESSION.
Syntaxe
BOOL GetVolumeInformationByHandleW(
[in] HANDLE hFile,
[out, optional] LPWSTR lpVolumeNameBuffer,
[in] DWORD nVolumeNameSize,
[out, optional] LPDWORD lpVolumeSerialNumber,
[out, optional] LPDWORD lpMaximumComponentLength,
[out, optional] LPDWORD lpFileSystemFlags,
[out, optional] LPWSTR lpFileSystemNameBuffer,
[in] DWORD nFileSystemNameSize
);
Paramètres
[in] hFile
Descripteur du fichier.
[out, optional] lpVolumeNameBuffer
Pointeur vers une mémoire tampon qui reçoit le nom d’un volume spécifié. La taille maximale de la mémoire tampon est MAX_PATH+1
.
[in] nVolumeNameSize
Longueur d’une mémoire tampon de nom de volume, en WCHARs. La taille maximale de la mémoire tampon est MAX_PATH+1
.
Ce paramètre est ignoré si la mémoire tampon de nom de volume n’est pas fournie.
[out, optional] lpVolumeSerialNumber
Pointeur vers une variable qui reçoit le numéro de série du volume.
Ce paramètre peut avoir la valeur NULL si le numéro de série n’est pas requis.
Cette fonction retourne le numéro de série du volume attribué par le système d’exploitation lorsqu’un disque dur est mis en forme. Pour obtenir par programmation le numéro de série du disque dur attribué par le fabricant, utilisez la propriété WMI (Windows Management Instrumentation) Win32_PhysicalMediaSerialNumber.
[out, optional] lpMaximumComponentLength
Pointeur vers une variable qui reçoit la longueur maximale, en WCHAR, d’un composant de nom de fichier pris en charge par un système de fichiers spécifié.
Un composant de nom de fichier est la partie d’un nom de fichier entre des barres obliques inverses.
La valeur stockée dans la variable vers laquelle *lpMaximumComponentLength pointe est utilisée pour indiquer qu’un système de fichiers spécifié prend en charge les noms longs. Par exemple, pour un système de fichiers FAT qui prend en charge les noms longs, la fonction stocke la valeur 255, plutôt que l’indicateur 8.3 précédent. Les noms longs peuvent également être pris en charge sur les systèmes qui utilisent le système de fichiers NTFS.
[out, optional] lpFileSystemFlags
Pointeur vers une variable qui reçoit des indicateurs associés au système de fichiers spécifié.
Ce paramètre peut être un ou plusieurs des indicateurs suivants. Toutefois, FILE_FILE_COMPRESSION et FILE_VOL_IS_COMPRESSED s’excluent mutuellement.
Valeur | Signification |
---|---|
|
Le volume spécifié prend en charge les noms de fichiers respectant la casse. |
|
Le volume spécifié prend en charge la casse préservée des noms de fichiers lorsqu’il place un nom sur le disque. |
|
Le volume spécifié prend en charge Unicode dans les noms de fichiers tels qu’ils apparaissent sur le disque. |
|
Le volume spécifié conserve et applique des listes de contrôle d’accès (ACL). Par exemple, le système de fichiers NTFS conserve et applique les listes de contrôle d’accès, et le système de fichiers FAT ne le fait pas. |
|
Le volume spécifié prend en charge la compression basée sur les fichiers. |
|
Le volume spécifié prend en charge les quotas de disque. |
|
Le volume spécifié prend en charge les fichiers éparses. |
|
Le volume spécifié prend en charge les points de ré-analyse. |
|
Le volume spécifié est un volume compressé, par exemple un volume DoubleSpace. |
|
Le volume spécifié prend en charge les identificateurs d’objet. |
|
Le volume spécifié prend en charge le système de fichiers chiffré (EFS). Pour plus d’informations, consultez Chiffrement de fichiers. |
|
Le volume spécifié prend en charge les flux nommés. |
|
Le volume spécifié est en lecture seule. |
|
Le volume spécifié prend en charge une écriture séquentielle unique. |
|
Le volume spécifié prend en charge les transactions. Pour plus d’informations, consultez À propos de KTM. |
|
Le volume spécifié prend en charge les liens durs. Pour plus d’informations, consultez Liens durs et jonctions.
Windows Vista et Windows Server 2008 : Cette valeur n’est pas prise en charge. |
|
Le volume spécifié prend en charge les attributs étendus. Un attribut étendu est un élément de métadonnées spécifiques à l’application qu’une application peut associer à un fichier et qui ne fait pas partie des données du fichier.
Windows Vista et Windows Server 2008 : Cette valeur n’est pas prise en charge. |
|
Le système de fichiers prend en charge l’ouverture par FileID. Pour plus d’informations, consultez FILE_ID_BOTH_DIR_INFO.
Windows Vista et Windows Server 2008 : Cette valeur n’est pas prise en charge. |
|
Le volume spécifié prend en charge les journaux de numéro de séquence de mise à jour (USN). Pour plus d’informations, consultez Modifier les enregistrements du journal.
Windows Vista et Windows Server 2008 : Cette valeur n’est pas prise en charge. |
|
Le volume spécifié prend en charge le partage de clusters logiques entre des fichiers sur le même volume. Le système de fichiers se réalloue sur les écritures dans des clusters partagés. Indique que FSCTL_DUPLICATE_EXTENTS_TO_FILE est une opération prise en charge. |
[out, optional] lpFileSystemNameBuffer
Pointeur vers une mémoire tampon qui reçoit le nom du système de fichiers, par exemple, le système de fichiers FAT ou le système de fichiers NTFS. La taille de mémoire tampon est spécifiée par le paramètre nFileSystemNameSize .
[in] nFileSystemNameSize
Longueur de la mémoire tampon du nom du système de fichiers, en WCHARs. La taille maximale de la mémoire tampon est MAX_PATH+1
.
Ce paramètre est ignoré si la mémoire tampon du nom du système de fichiers n’est pas fournie.
Valeur retournée
Si toutes les informations demandées sont récupérées, la valeur de retour est différente de zéro.
Si toutes les informations demandées ne sont pas récupérées, la valeur de retour est zéro. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.
Notes
Dans Windows 8 et Windows Server 2012, cette fonction est prise en charge par les technologies suivantes.
Technologie | Prise en charge |
---|---|
Protocole Server Message Block (SMB) 3.0 | Non |
Basculement transparent SMB 3.0 (TFO) | Non |
SMB 3.0 avec partages de fichiers avec montée en puissance parallèle (SO) | Non |
Système de fichiers du volume partagé de cluster (CsvFS) | Oui |
Système de fichiers résilient (ReFS) | Oui |
SMB ne prend pas en charge les fonctions de gestion des volumes.
Spécifications
Client minimal pris en charge | Windows Vista [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | fileapi.h (inclure Windows.h) |
Bibliothèque | Kernel32.lib |
DLL | Kernel32.dll |