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 |