Partager via


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 des fichiers, des chemins d’accès et des espaces de noms.

Pourboire

À compter de Windows 10, version 1607, vous pouvez choisir de supprimer la limitation MAX_PATH sans précéder « \\ ?\ ». Pour plus d’informations, consultez la section « Limite maximale de longueur de chemin » de noms, fichiers, chemin s et espaces de noms.

[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 Signification
SCS_32BIT_BINARY
0
Une application Windows 32 bits
SCS_64BIT_BINARY
6
Application Windows 64 bits.
SCS_DOS_BINARY
1
Une application MS-DOS basée
SCS_OS216_BINARY
5
Une application basée sur un système d’exploitation 16 bits/2
SCS_PIF_BINARY
3
Fichier PIF qui exécute une application basée sur MS-DOS
SCS_POSIX_BINARY
4
Une application POSIX – basée sur
SCS_WOW_BINARY
2
Une application Windows 16 bits

Valeur de retour

Si le fichier est exécutable, la valeur de retour est différente de zéro. La fonction définit la variable pointée par 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 égale à zéro. Pour obtenir des informations d’erreur étendues, appelez GetLastError. Si le fichier est une DLL, le dernier code d’erreur est ERROR_BAD_EXE_FORMAT.

Remarques

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 de lien symbolique : 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 Supporté
Protocole SMB (Server Message Block) 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
Cluster Shared Volume File System (CsvFS) Oui
Système de fichiers résilient (ReFS) Oui
 

Note

L’en-tête winbase.h définit GetBinaryType comme 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.

Exigences

Exigence Valeur
client minimum pris en charge Windows XP [applications de bureau uniquement]
serveur minimum pris en charge Windows Server 2003 [applications de bureau uniquement]
plateforme cible Windows
d’en-tête winbase.h (inclure Windows.h)
bibliothèque Kernel32.lib
DLL Kernel32.dll

Voir aussi

fonctions de gestion de fichiers

SHGetFileInfo

liens symboliques