Freigeben über


SearchTreeForFileW-Funktion (dbghelp.h)

Durchsucht eine Verzeichnisstruktur nach einer angegebenen Datei.

Syntax

BOOL IMAGEAPI SearchTreeForFileW(
  [in]  PCWSTR RootPath,
  [in]  PCWSTR InputPathName,
  [out] PWSTR  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 durchsucht wird. Sie können einen partiellen Pfad 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 GetLastErrorauf, um erweiterte Fehlerinformationen abzurufen.

Bemerkungen

Die Funktion sucht nach der vom InputPathName Parameter angegebenen Datei, beginnend mit dem pfad, der im RootPath--Parameter angegeben ist. Die maximale Pfadtiefe, die in der RootPath- zulässig ist, beträgt 32 Verzeichnisse. Wenn die Funktion die Datei in der Verzeichnisstruktur findet, wird der vollständige Pfad zu der Datei in dem durch den OutputPathBuffer Parameter angegebenen Puffer platziert. 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 TRUEzurückgibt, bricht SearchTreeForFile die Suche ab.

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

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.

Anmerkung

Der dbghelp.h-Header definiert SearchTreeForFile 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
Zielplattform- Fenster
Header- dbghelp.h
Library Dbghelp.lib
DLL- Dbghelp.dll
redistributable DbgHelp.dll 5.1 oder höher

Siehe auch

DbgHelp-Funktionen