Freigeben über


UnDecorateSymbolNameW-Funktion (dbghelp.h)

Hebt die Ökonomie des angegebenen C++-Symbolnamens auf.

Syntax

DWORD IMAGEAPI UnDecorateSymbolNameW(
  [in]  PCWSTR name,
  [out] PWSTR  outputString,
  [in]  DWORD  maxStringLength,
  [in]  DWORD  flags
);

Parameter

[in] name

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

[out] outputString

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

[in] maxStringLength

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

[in] flags

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

Wert Bedeutung
UNDNAME_32_BIT_DECODE
0x0800
Entschädigte 32-Bit-Namen.
UNDNAME_COMPLETE
0x0000
Aktivieren Sie die vollständige Ökonomie.
UNDNAME_NAME_ONLY
0x1000
Heben Sie nur den Namen für die Primärdeklaration auf. Gibt [scope::]name zurück. Erweitert Vorlagenparameter.
UNDNAME_NO_ACCESS_SPECIFIERS
0x0080
Deaktivieren Sie die Erweiterung der Zugriffsbezeichner für Mitglieder.
UNDNAME_NO_ALLOCATION_LANGUAGE
0x0010
Deaktivieren Sie die Erweiterung des Deklarationssprachenbezeichners.
UNDNAME_NO_ALLOCATION_MODEL
0x0008
Deaktivieren Sie die Erweiterung des Deklarationsmodells.
UNDNAME_NO_ARGUMENTS
0x2000
Funktionsargumente nicht rückgängig machen.
UNDNAME_NO_CV_THISTYPE
0x0040
Deaktivieren Sie die Erweiterung von CodeView-Modifizierern für die dieses Typs 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 Mitgliedern.
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 die dieses Typs für die primäre Deklaration.
UNDNAME_NO_RETURN_UDT_MODEL
0x0400
Deaktivieren Sie die Erweiterung des Microsoft-Modells für benutzerdefinierte Typenrückkehrer.
UNDNAME_NO_SPECIAL_SYMS
0x4000
Entfernen Sie keine Sondernamen, z. B. vtable, vcall, vector, metatype usw.
UNDNAME_NO_THISTYPE
0x0060
Deaktivieren Sie alle Modifizierer für den diesen Typ.
UNDNAME_NO_THROW_SIGNATURES
0x0100
Deaktivieren Sie die Erweiterung von Throw-Signaturen für Funktionen und Zeiger auf Funktionen.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert die Anzahl der Zeichen im UnDecoratedName Puffer, nicht einschließlich des NULL-Terminators.

Wenn die Funktion fehlschlägt, ist der Rückgabewert null. Rufen Sie GetLastErrorauf, um erweiterte Fehlerinformationen abzurufen.

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

Bemerkungen

Rufen Sie die SymSetOptions--Funktion mit der option SYMOPT_UNDNAME auf, um nicht verbuchte Symbole zu verwenden.

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.

Beispiele

Ein Beispiel finden Sie unter Abrufen von nicht bewerteten Symbolnamen.

Anmerkung

Der dbghelp.h-Header definiert UnDecorateSymbolName als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch 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

SymSetOptions-