Funzione UnDecorateSymbolName (dbghelp.h)

Annulla l'annullamento del nome del simbolo C++ decorato specificato.

Sintassi

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

Parametri

[in] name

Nome del simbolo C++ decorato. Questo nome può essere identificato dal primo carattere del nome, che è sempre un punto interrogativo (?).

[out] outputString

Puntatore a un buffer stringa che riceve il nome non decorato.

[in] maxStringLength

Dimensioni del buffer UnDecoratedName , in caratteri.

[in] flags

Le opzioni per il modo in cui il nome decorato non èdecorato. Questo parametro può essere zero o più dei valori seguenti.

Valore Significato
UNDNAME_32_BIT_DECODE
0x0800
Deselezionare i nomi decorati a 32 bit.
UNDNAME_COMPLETE
0x0000
Abilitare l'annullamento completo.
UNDNAME_NAME_ONLY
0x1000
Deselezionare solo il nome per la dichiarazione primaria. Restituisce [scope::]name. Espande i parametri del modello.
UNDNAME_NO_ACCESS_SPECIFIERS
0x0080
Disabilitare l'espansione degli identificatori di accesso per i membri.
UNDNAME_NO_ALLOCATION_LANGUAGE
0x0010
Disabilitare l'espansione dell'identificatore del linguaggio di dichiarazione.
UNDNAME_NO_ALLOCATION_MODEL
0x0008
Disabilitare l'espansione del modello di dichiarazione.
UNDNAME_NO_ARGUMENTS
0x2000
Non annullare l'annullamento dell'argomento delle funzioni.
UNDNAME_NO_CV_THISTYPE
0x0040
Disabilitare l'espansione dei modificatori CodeView nel tipo per la dichiarazione primaria.
UNDNAME_NO_FUNCTION_RETURNS
0x0004
Disabilitare l'espansione dei tipi restituiti per le dichiarazioni primarie.
UNDNAME_NO_LEADING_UNDERSCORES
0x0001
Rimuovere i caratteri di sottolineatura iniziali dalle parole chiave Microsoft.
UNDNAME_NO_MEMBER_TYPE
0x0200
Disabilitare l'espansione dell'attributo statico o virtuale dei membri.
UNDNAME_NO_MS_KEYWORDS
0x0002
Disabilitare l'espansione delle parole chiave Microsoft.
UNDNAME_NO_MS_THISTYPE
0x0020
Disabilitare l'espansione delle parole chiave Microsoft nel tipo per la dichiarazione primaria.
UNDNAME_NO_RETURN_UDT_MODEL
0x0400
Disabilitare l'espansione del modello Microsoft per il tipo definito dall'utente restituisce.
UNDNAME_NO_SPECIAL_SYMS
0x4000
Non dedecorate nomi speciali, ad esempio vtable, vcall, vector, metatype e così via.
UNDNAME_NO_THISTYPE
0x0060
Disabilitare tutti i modificatori nel tipo .
UNDNAME_NO_THROW_SIGNATURES
0x0100
Disabilitare l'espansione delle firme generate per le funzioni e i puntatori alle funzioni.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è il numero di caratteri nel buffer UnDecoratedName , non incluso il terminatore NULL.

Se la funzione ha esito negativo, il valore restituito è zero. Per recuperare informazioni sull'errore estese, chiamare GetLastError.

Se la funzione ha esito negativo e restituisce zero, il contenuto del buffer UnDecoratedName non è predefinito.

Commenti

Per usare simboli non decorati, chiamare la funzione SymSetOptions con l'opzione SYMOPT_UNDNAME .

Tutte le funzioni DbgHelp, ad esempio questa, sono a thread singolo. Pertanto, le chiamate da più thread a questa funzione potrebbero causare un comportamento imprevisto o un danneggiamento della memoria. Per evitare questo problema, è necessario sincronizzare tutte le chiamate simultanee da più thread a questa funzione.

Per chiamare la versione Unicode di questa funzione, definire DBGHELP_TRANSLATE_TCHAR.

Esempio

Per un esempio, vedere Recupero dei nomi dei simboli nondecorati.

Requisiti

   
Piattaforma di destinazione Windows
Intestazione dbghelp.h
Libreria Dbghelp.lib
DLL Dbghelp.dll
Componente ridistribuibile DbgHelp.dll 5.1 o versioni successive

Vedi anche

Funzioni DbgHelp

SymSetOptions