Freigeben über


SearchTreeForFile-Funktion (dbghelp.h)

Durchsucht eine Verzeichnisstruktur nach einer angegebenen Datei.

Syntax

BOOL IMAGEAPI SearchTreeForFile(
  [in]  PCSTR RootPath,
  [in]  PCSTR InputPathName,
  [out] PSTR  OutputPathBuffer
);

Parameter

[in] RootPath

Der Pfad, in dem die Funktion mit der Suche nach der Datei beginnen soll.

[in] InputPathName

Die Datei, nach der die Funktion sucht. Sie können einen Teilpfad verwenden.

[out] OutputPathBuffer

Ein Zeiger auf einen Puffer, der den vollständigen Pfad zu der gefundenen Datei empfängt. Diese Zeichenfolge wird nicht geändert, wenn der Rückgabewert FALSE ist.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert TRUE.

Wenn die Funktion fehlschlägt, ist der Rückgabewert FALSE. Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen abzurufen.

Hinweise

Die Funktion sucht nach der datei, die durch den InputPathName-Parameter angegeben wird, beginnend mit dem pfad, der im RootPath-Parameter angegeben ist. Die maximale Pfadtiefe, die im RootPath zulässig ist, beträgt 32 Verzeichnisse. Wenn die Funktion die Datei in der Verzeichnisstruktur findet, platziert sie den vollständigen Pfad zur Datei in dem puffer, der durch den OutputPathBuffer-Parameter angegeben wird. Das zugrunde liegende Dateisystem gibt die Reihenfolge der Unterverzeichnissuche an.

Die Suche kann abgebrochen werden, wenn Sie eine SymRegisterCallbackProc64-Rückruffunktion registrieren. Für jedes durchsuchte Verzeichnis ruft SearchTreeForFile diese Rückruffunktion mit CBA_DEFERRED_SYMBOL_LOAD_CANCEL auf. Wenn die Rückruffunktion TRUE zurückgibt, bricht SearchTreeForFile die Suche ab.

Diese Funktion löst ein CBA_DEFERRED_SYMBOL_LOAD_CANCEL Ereignis pro durchsuchtem Verzeichnis aus. Dadurch kann der Aufrufer die Suche abbrechen.

Alle DbgHelp-Funktionen, z. B. diese, sind singlethreaded. Daher führen an diese Funktion gerichtete Aufrufe mehrerer Threads wahrscheinlich zu unerwartetem Verhalten oder einer Beschädigung des Speichers. Um dies zu vermeiden, müssen Sie alle an diese Funktion gerichteten gleichzeitigen Aufrufe mehrerer Threads synchronisieren.

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

Anforderungen

   
Zielplattform Windows
Kopfzeile dbghelp.h
Bibliothek Dbghelp.lib
DLL Dbghelp.dll
Verteilbare Komponente DbgHelp.dll 5.1 oder höher

Weitere Informationen

DbgHelp-Funktionen