GetBinaryTypeA-Funktion (winbase.h)

Bestimmt, ob es sich bei einer Datei um eine ausführbare Datei (.exe) handelt, und wenn ja, welches Subsystem die ausführbare Datei ausführt.

Syntax

BOOL GetBinaryTypeA(
  [in]  LPCSTR  lpApplicationName,
  [out] LPDWORD lpBinaryType
);

Parameter

[in] lpApplicationName

Der vollständige Pfad der Datei, deren ausführbarer Typ bestimmt werden soll.

Standardmäßig ist der Name auf MAX_PATH Zeichen beschränkt. Um dieses Limit auf 32.767 breite Zeichen zu erweitern, müssen Sie dem Pfad "\\?\" voranstellen. Weitere Informationen finden Sie unter Benennen von Dateien, Pfaden und Namespaces.

Tipp

Ab Windows 10 Version 1607 können Sie die MAX_PATH-Einschränkung entfernen, ohne "\\?\" vorauszustellen. Weitere Informationen finden Sie im Abschnitt "Maximale Pfadlängenbegrenzung" unter Benennung von Dateien, Pfaden und Namespaces .

[out] lpBinaryType

Ein Zeiger auf eine Variable, um Informationen zum ausführbaren Typ der datei zu empfangen, die von lpApplicationName angegeben wird. Die folgenden Konstanten werden definiert.

Wert Bedeutung
SCS_32BIT_BINARY
0
Eine 32-Bit-Windows-basierte Anwendung
SCS_64BIT_BINARY
6
Eine 64-Bit-Windows-basierte Anwendung.
SCS_DOS_BINARY
1
Eine MS-DOS-basierte Anwendung
SCS_OS216_BINARY
5
Eine 16-Bit-Betriebssystem/2-basierte Anwendung
SCS_PIF_BINARY
3
Eine PIF-Datei, die eine MS-DOS-basierte Anwendung ausführt
SCS_POSIX_BINARY
4
Eine POSIX-basierte Anwendung
SCS_WOW_BINARY
2
Eine 16-Bit-Windows-basierte Anwendung

Rückgabewert

Wenn die Datei ausführbar ist, ist der Rückgabewert nichtzero. Die Funktion legt die Variable fest, auf die von lpBinaryType verwiesen wird, um den ausführbaren Typ der Datei anzugeben.

Wenn die Datei nicht ausführbar ist oder die Funktion fehlschlägt, ist der Rückgabewert 0. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf. Wenn es sich bei der Datei um eine DLL handelt, wird der letzte Fehlercode ERROR_BAD_EXE_FORMAT.

Bemerkungen

Alternativ können Sie dieselben Informationen abrufen, indem Sie die SHGetFileInfo-Funktion aufrufen und das SHGFI_EXETYPE-Flag im uFlags-Parameter übergeben.

Verhalten symbolischer Verknüpfungen: Wenn der Pfad auf einen symbolischen Link verweist, wird die Zieldatei verwendet.

In Windows 8 und Windows Server 2012 wird diese Funktion von den folgenden Technologien unterstützt.

Technologie Unterstützt
Server Message Block (SMB) 3.0-Protokoll Ja
SMB 3.0 Transparent Failover (TFO) Ja
SMB 3.0 mit Horizontalskalieren von Dateifreigaben (SO) Ja
Freigegebenes Clustervolume-Dateisystem (CsvFS) Ja
Robustes Dateisystem (Resilient File System, ReFS) Ja
 

Hinweis

Der winbase.h-Header definiert GetBinaryType als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winbase.h (einschließlich Windows.h)
Bibliothek Kernel32.lib
DLL Kernel32.dll

Siehe auch

Dateiverwaltungsfunktionen

SHGetFileInfo

Symbolische Links