FindExecutableImageEx-Funktion (dbghelp.h)

Sucht die angegebene ausführbare Datei.

Syntax

HANDLE IMAGEAPI FindExecutableImageEx(
  [in]           PCSTR                   FileName,
  [in]           PCSTR                   SymbolPath,
  [out]          PSTR                    ImageFilePath,
  [in, optional] PFIND_EXE_FILE_CALLBACK Callback,
  [in, optional] PVOID                   CallerData
);

Parameter

[in] FileName

Der Name der Symboldatei, die gefunden werden soll. Dieser Parameter kann ein partieller Pfad sein.

[in] SymbolPath

Der Pfad, in dem sich Symboldateien befinden. Diese Zeichenfolge kann mehrere Pfade enthalten, die durch Semikolons getrennt sind. Verwenden Sie die SymGetSearchPath-Funktion , um den Symbolpfad abzurufen.

[out] ImageFilePath

Ein Zeiger auf einen Puffer, der den vollständigen Pfad der ausführbaren Datei empfängt. Dieser Puffer muss mindestens MAX_PATH+1 Zeichen sein.

[in, optional] Callback

Eine anwendungsdefinierte Rückruffunktion, die überprüft, ob die richtige ausführbare Datei gefunden wurde oder ob die Funktion die Suche fortsetzen soll. Weitere Informationen finden Sie unter FindExecutableImageProc.

Dieser Parameter kann NULL sein.

[in, optional] CallerData

Optionale benutzerdefinierte Daten für die Rückruffunktion. Dieser Parameter kann NULL sein.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ein geöffnetes Handle für die ausführbare Datei.

Wenn die Funktion fehlschlägt, ist der Rückgabewert NULL. Rufen Sie GetLastErrorauf, um erweiterte Fehlerinformationen abzurufen.

Bemerkungen

Die Funktion FindExecutableImageEx wird bereitgestellt, sodass ausführbare Dateien in mehreren verschiedenen Verzeichnissen mithilfe eines einzelnen Funktionsaufrufs gefunden werden können. Wenn der Parameter SymbolPath mehrere Pfade enthält, durchsucht die Funktion jede angegebene Verzeichnisstruktur nach der ausführbaren Datei. Wenn die Datei gefunden wird, wird die Suche beendet. Achten Sie daher darauf, SymbolPath mit den Pfaden in der richtigen Reihenfolge anzugeben.

Alle DbgHelp-Funktionen, z. B. diese, sind single threaded. Daher führen Aufrufe von mehr als einem Thread zu dieser Funktion wahrscheinlich zu unerwartetem Verhalten oder Speicherbeschädigung. Um dies zu vermeiden, müssen Sie alle gleichzeitigen Aufrufe von mehr als einem Thread mit dieser Funktion synchronisieren.

Um die Unicode-Version dieser Funktion aufzurufen, definieren Sie DBGHELP_TRANSLATE_TCHAR.

Requirements

Anforderung Wert
Zielplattform Windows
Header dbghelp.h
Bibliothek Dbghelp.lib
DLL Dbghelp.dll
Weiterverteilbar DbgHelp.dll 5.1 oder höher

Siehe auch

DbgHelp-Funktionen

FindExecutableImageProc

SymGetSearchPath