GetBinaryTypeW, fonction (winbase.h)
Détermine si un fichier est un fichier exécutable (.exe) et, le cas échéant, quel sous-système exécute le fichier exécutable.
Syntaxe
BOOL GetBinaryTypeW(
[in] LPCWSTR lpApplicationName,
[out] LPDWORD lpBinaryType
);
Paramètres
[in] lpApplicationName
Chemin d’accès complet du fichier dont le type exécutable doit être déterminé.
Par défaut, le nom est limité à MAX_PATH caractères. Pour étendre cette limite à 32 767 caractères larges, ajoutez « \\?\ » au chemin d’accès. Pour plus d’informations, consultez Nommage de fichiers, de chemins et d’espaces de noms.
Conseil
À compter de Windows 10, version 1607, vous pouvez choisir de supprimer la limitation MAX_PATH sans précédencer « \\?\ ». Pour plus d’informations, consultez la section « Limitation maximale de la longueur du chemin d’accès » de Naming Files, Paths et Namespaces .
[out] lpBinaryType
Pointeur vers une variable pour recevoir des informations sur le type exécutable du fichier spécifié par lpApplicationName. Les constantes suivantes sont définies.
Valeur retournée
Si le fichier est exécutable, la valeur de retour est différente de zéro. La fonction définit la variable pointée vers lpBinaryType pour indiquer le type exécutable du fichier.
Si le fichier n’est pas exécutable ou si la fonction échoue, la valeur de retour est zéro. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError. Si le fichier est une DLL, le dernier code d’erreur est ERROR_BAD_EXE_FORMAT.
Notes
Vous pouvez également obtenir les mêmes informations en appelant la fonction SHGetFileInfo , en passant l’indicateur SHGFI_EXETYPE dans le paramètre uFlags .
Comportement des liens symboliques : si le chemin pointe vers un lien symbolique, le fichier cible est utilisé.
Dans Windows 8 et Windows Server 2012, cette fonction est prise en charge par les technologies suivantes.
Technologie | Prise en charge |
---|---|
Protocole SMB (Server Message Block) 3.0 | Oui |
Basculement transparent (TFO) SMB 3.0 | Oui |
SMB 3.0 avec partages de fichiers avec montée en puissance sortante (SO) | Oui |
Cluster Shared Volume File System (CsvFS) | Oui |
Système de fichiers résilient (ReFS) | Oui |
Notes
L’en-tête winbase.h définit GetBinaryType comme un alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.
Configuration requise
Client minimal pris en charge | Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | winbase.h (inclure Windows.h) |
Bibliothèque | Kernel32.lib |
DLL | Kernel32.dll |