Freigeben über


SymGetSymFromName64-Funktion (dbghelp.h)

Sucht ein Symbol für den angegebenen Namen.

Hinweis Diese Funktion wird nur aus Kompatibilitätsgründen bereitgestellt. Anwendungen sollten SymFromName verwenden.
 

Syntax

BOOL IMAGEAPI SymGetSymFromName64(
  [in]      HANDLE             hProcess,
  [in]      PCSTR              Name,
  [in, out] PIMAGEHLP_SYMBOL64 Symbol
);

Parameter

[in] hProcess

Ein Handle für den Prozess, der ursprünglich an die SymInitialize-Funktion übergeben wurde.

[in] Name

Der Symbolname, für den ein Symbol gefunden werden soll.

[in, out] Symbol

Ein Zeiger auf eine IMAGEHLP_SYMBOL64 Struktur.

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 SymGetSymFromName64-Funktion wird verwendet, um ein Symbol für einen angegebenen Namen zu suchen. Der Name kann ein Modulpräfix enthalten, das die Symbolsuche auf die Symboltabelle eines einzelnen Moduls isoliert.

Das Modulpräfix hat die Form "modul!". Das Zeichen "!" ist das Trennzeichen zwischen dem Modulnamen und dem Symbolnamen. Wenn kein Modulpräfix vorhanden ist, wird die Suche für die Symboltabelle jedes Moduls linear ausgeführt, beginnend mit dem ersten geladenen Modul.

Die Verwendung des Modulpräfixes ist aus zwei Gründen vorzuziehen. Erstens erfolgt die Symbolsuche viel schneller. Zweitens: Wenn das verzögerte Laden von Symbolen aktiviert ist, führt die Suche dazu, dass Symbole für jedes durchsuchte Modul geladen werden. Wenn das Symbol gefunden wird, werden die Symbolinformationen in den vom Aufrufer bereitgestellten Symbolpuffer kopiert. Der Aufrufer muss den Symbolpuffer ordnungsgemäß zuordnen und die erforderlichen Parameter in der IMAGEHLP_SYMBOL64-Struktur ausfüllen, bevor SymGetSymFromName64 aufgerufen wird.

Alle DbgHelp-Funktionen, z. B. diese, sind single threaded. 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.

Diese Funktion ersetzt die SymGetSymFromName-Funktion . Weitere Informationen finden Sie unter Aktualisierte Plattformunterstützung. SymGetSymFromName wird in Dbghelp.h wie folgt definiert.

#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
#define SymGetSymFromName SymGetSymFromName64
#else
BOOL
IMAGEAPI
SymGetSymFromName(
    __in HANDLE hProcess,
    __in PCSTR Name,
    __inout PIMAGEHLP_SYMBOL Symbol
    );
#endif

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

IMAGEHLP_SYMBOL64

SymFromName

SymInitialize