Partager via


GetFileInformationByHandleEx, fonction (winbase.h)

Récupère les informations relatives au fichier spécifié.

Pour obtenir une version plus basique de cette fonction pour les applications de bureau, consultez GetFileInformationByHandle.

Pour définir des informations de fichier à l’aide d’un handle de fichier, consultez SetFileInformationByHandle.

Syntaxe

BOOL GetFileInformationByHandleEx(
  [in]  HANDLE                    hFile,
  [in]  FILE_INFO_BY_HANDLE_CLASS FileInformationClass,
  [out] LPVOID                    lpFileInformation,
  [in]  DWORD                     dwBufferSize
);

Paramètres

[in] hFile

Handle du fichier qui contient les informations à récupérer.

Ce handle ne doit pas être un handle de canal.

[in] FileInformationClass

Une valeur d’énumération FILE_INFO_BY_HANDLE_CLASS qui spécifie le type d’informations à récupérer.

Pour obtenir une table de valeurs valides, consultez la section Remarques.

[out] lpFileInformation

Pointeur vers la mémoire tampon qui reçoit les informations de fichier demandées. La structure retournée correspond à la classe spécifiée par FileInformationClass. Pour obtenir une table des types de structure valides, consultez la section Remarques.

[in] dwBufferSize

Taille de la mémoire tampon lpFileInformation , en octets.

Valeur retournée

Si la fonction réussit, la valeur de retour est différente de zéro et les données d’informations de fichier sont contenues dans la mémoire tampon pointée vers le paramètre lpFileInformation .

Si la fonction échoue, la valeur de retour est égale à zéro. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.

Remarques

Si FileInformationClass est FileStreamInfo et que les appels réussissent, mais qu’aucun flux n’est retourné, l’erreur retournée par GetLastError est ERROR_HANDLE_EOF.

Certaines classes d’informations sur les fichiers se comportent légèrement différemment selon les versions de système d’exploitation. Ces classes sont prises en charge par les pilotes sous-jacents, et toutes les informations qu’elles retournent peuvent être modifiées entre les versions du système d’exploitation.

Le tableau suivant montre les types de classes d’informations de fichier valides et leurs types de structure de données correspondants à utiliser avec cette fonction.

Valeur FileInformationClass type lpFileInformation
FileBasicInfo (0) FILE_BASIC_INFO
FileStandardInfo (1) FILE_STANDARD_INFO
FileNameInfo (2) FILE_NAME_INFO
FileStreamInfo (7) FILE_STREAM_INFO
FileCompressionInfo (8) FILE_COMPRESSION_INFO
FileAttributeTagInfo (9) FILE_ATTRIBUTE_TAG_INFO
FileIdBothDirectoryInfo (0xa) FILE_ID_BOTH_DIR_INFO
FileIdBothDirectoryRestartInfo (0xb) FILE_ID_BOTH_DIR_INFO
FileRemoteProtocolInfo (0xd) FILE_REMOTE_PROTOCOL_INFO
FileFullDirectoryInfo (0xe) FILE_FULL_DIR_INFO
FileFullDirectoryRestartInfo (0xf) FILE_FULL_DIR_INFO
FileStorageInfo (0x10) FILE_STORAGE_INFO
FileAlignmentInfo (0x11) FILE_ALIGNMENT_INFO
FileIdInfo (0x12) FILE_ID_INFO
FileIdExtdDirectoryInfo (0x13) FILE_ID_EXTD_DIR_INFO
FileIdExtdDirectoryRestartInfo (0x14) FILE_ID_EXTD_DIR_INFO
 

Opérations traitées

S’il existe une transaction liée au thread au moment de l’appel, la fonction retourne la taille de fichier compressée de l’affichage de fichiers isolé. Pour plus d’informations, consultez À propos de NTFS transactionnel.

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 Oui
Basculement transparent SMB 3.0 (TFO) Oui
SMB 3.0 avec partages de fichiers avec montée en puissance parallèle (SO) Oui
Système de fichiers du volume partagé de cluster (CsvFS) Oui
Système de fichiers résilient (ReFS) Oui

Configuration requise

   
Client minimal pris en charge Windows Vista [applications de bureau | applications UWP]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau | applications UWP]
Plateforme cible Windows
En-tête winbase.h (inclure Windows.h)
Bibliothèque Kernel32.lib; FileExtd.lib sur Windows Server 2003 et Windows XP
DLL Kernel32.dll
Composant redistribuable Kit de développement logiciel (SDK) Windows sur Windows Server 2003 et Windows XP.

Voir aussi

FILE_INFO_BY_HANDLE_CLASS

Fonctions de gestion des fichiers

SetFileInformationByHandle