Share via


UnDecorateSymbolName-Funktion (dbghelp.h)

Hebt den angegebenen namen des dekorierten C++-Symbols auf.

Syntax

DWORD IMAGEAPI UnDecorateSymbolName(
  [in]  PCSTR name,
  [out] PSTR  outputString,
  [in]  DWORD maxStringLength,
  [in]  DWORD flags
);

Parameter

[in] name

Der Name des dekorierten C++-Symbols. Dieser Name kann durch das erste Zeichen des Namens identifiziert werden, das immer ein Fragezeichen (?) ist.

[out] outputString

Ein Zeiger auf einen Zeichenfolgenpuffer, der den nicht zugeordneten Namen empfängt.

[in] maxStringLength

Die Größe des UnDecoratedName-Puffers in Zeichen.

[in] flags

Die Optionen, wie der dekorierte Name nicht ausgebucht wird. Dieser Parameter kann null oder mehr der folgenden Werte sein.

Wert Bedeutung
UNDNAME_32_BIT_DECODE
0x0800
32-Bit-Dekorierte Namen werden nicht ausgebucht.
UNDNAME_COMPLETE
0x0000
Aktivieren Sie die vollständige Undecoration.
UNDNAME_NAME_ONLY
0x1000
Stellen Sie nur den Namen für die primäre Deklaration aus. Gibt [scope::]name zurück. Erweitert Vorlagenparameter.
UNDNAME_NO_ACCESS_SPECIFIERS
0x0080
Deaktivieren Sie die Erweiterung von Zugriffsbezeichnern für Member.
UNDNAME_NO_ALLOCATION_LANGUAGE
0x0010
Deaktivieren Sie die Erweiterung des Deklarationssprachbezeichners.
UNDNAME_NO_ALLOCATION_MODEL
0x0008
Deaktivieren Sie die Erweiterung des Deklarationsmodells.
UNDNAME_NO_ARGUMENTS
0x2000
Stellen Sie Funktionsargumente nicht aus.
UNDNAME_NO_CV_THISTYPE
0x0040
Deaktivieren Sie die Erweiterung der CodeView-Modifizierer für diesen Typ für die primäre Deklaration.
UNDNAME_NO_FUNCTION_RETURNS
0x0004
Deaktivieren Sie die Erweiterung der Rückgabetypen für primäre Deklarationen.
UNDNAME_NO_LEADING_UNDERSCORES
0x0001
Entfernen Sie führende Unterstriche aus Microsoft-Schlüsselwörtern.
UNDNAME_NO_MEMBER_TYPE
0x0200
Deaktivieren Sie die Erweiterung des statischen oder virtuellen Attributs von Membern.
UNDNAME_NO_MS_KEYWORDS
0x0002
Deaktivieren Sie die Erweiterung von Microsoft-Schlüsselwörtern.
UNDNAME_NO_MS_THISTYPE
0x0020
Deaktivieren Sie die Erweiterung von Microsoft-Schlüsselwörtern für diesen Typ für die primäre Deklaration.
UNDNAME_NO_RETURN_UDT_MODEL
0x0400
Deaktivieren Sie die Erweiterung des Microsoft-Modells für benutzerdefinierte Typrückzugeben.
UNDNAME_NO_SPECIAL_SYMS
0x4000
Sondernamen wie vtable, vcall, vector, metatype usw. nicht auswerten.
UNDNAME_NO_THISTYPE
0x0060
Deaktivieren Sie alle Modifizierer für diesen Typ.
UNDNAME_NO_THROW_SIGNATURES
0x0100
Deaktivieren Sie die Erweiterung von Throwsignaturen für Funktionen und Zeiger auf Funktionen.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert die Anzahl der Zeichen im Puffer UnDecoratedName , ohne den NULL-Abschlussator.

Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen abzurufen.

Wenn die Funktion fehlschlägt und null zurückgibt, ist der Inhalt des Puffers UnDecoratedName nicht festgelegt.

Hinweise

Um nicht gekennzeichnete Symbole zu verwenden, rufen Sie die SymSetOptions-Funktion mit der Option SYMOPT_UNDNAME auf.

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.

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

Beispiele

Ein Beispiel finden Sie unter Abrufen nicht auserkorierter Symbolnamen.

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

SymSetOptions