SymGetSymFromName64-Funktion (dbghelp.h)
Sucht ein Symbol für den angegebenen Namen.
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 |