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 diesen Grenzwert auf 32.767 breite Zeichen zu erweitern, stellen Sie "\\?\" dem Pfad voran. Weitere Informationen finden Sie unter Namensdateien, Pfade und Namespaces.
Trinkgeld
Ab Windows 10, Version 1607, können Sie sich anmelden, um die MAX_PATH Einschränkung zu entfernen, ohne "\\?\". Weitere Informationen finden Sie im Abschnitt "Maximale Pfadlängenbeschränkung" Benennungsdateien, Pfade und Namespaces.
[out] lpBinaryType
Ein Zeiger auf eine Variable, um Informationen über den ausführbaren Typ der Datei zu erhalten, die durch lpApplicationNameangegeben wird. Die folgenden Konstanten werden definiert.
Rückgabewert
Wenn die Datei ausführbar ist, ist der Rückgabewert nicht null. Die Funktion legt die Variable fest, auf die lpBinaryType- verweist, um den ausführbaren Typ der Datei anzugeben.
Wenn die Datei nicht ausführbar ist oder die Funktion fehlschlägt, ist der Rückgabewert null. Rufen Sie GetLastErrorauf, um erweiterte Fehlerinformationen zu erhalten. Wenn es sich bei der Datei um eine DLL handelt, ist 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 für symbolische 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 | Abgestützt |
---|---|
Server Message Block (SMB) 3.0-Protokoll | Ja |
SMB 3.0 Transparent Failover (TFO) | Ja |
SMB 3.0 mit Skalierungsdateifreigaben (SO) | Ja |
Freigegebenes Clustervolumedateisystem (CsvFS) | Ja |
Resilient File System (ReFS) | Ja |
Anmerkung
Der winbase.h-Header definiert GetBinaryType als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows XP [nur Desktop-Apps] |
mindestens unterstützte Server- | Windows Server 2003 [Nur Desktop-Apps] |
Zielplattform- | Fenster |
Header- | winbase.h (enthalten Windows.h) |
Library | Kernel32.lib |
DLL- | Kernel32.dll |