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.
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 |