Compartir a través de


Función UnDecorateSymbolNameW (dbghelp.h)

Descora el nombre de símbolo de C++ decorado especificado.

Sintaxis

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

Parámetros

[in] name

Nombre de símbolo de C++ decorado. Este nombre se puede identificar con el primer carácter del nombre, que siempre es un signo de interrogación (?).

[out] outputString

Puntero a un búfer de cadena que recibe el nombre no codificado.

[in] maxStringLength

Tamaño del búfer UnDecoratedName, en caracteres.

[in] flags

Las opciones de cómo el nombre decorado no está descorrado. Este parámetro puede ser cero o más de los siguientes valores.

Valor Significado
UNDNAME_32_BIT_DECODE
0x0800
Decora los nombres decorados de 32 bits.
UNDNAME_COMPLETE
0x0000
Habilite la descoración completa.
UNDNAME_NAME_ONLY
0x1000
Decora solo el nombre de la declaración principal. Devuelve [scope::]name. Expande los parámetros de plantilla.
UNDNAME_NO_ACCESS_SPECIFIERS
0x0080
Deshabilite la expansión de los especificadores de acceso para los miembros.
UNDNAME_NO_ALLOCATION_LANGUAGE
0x0010
Deshabilite la expansión del especificador del lenguaje de declaración.
UNDNAME_NO_ALLOCATION_MODEL
0x0008
Deshabilite la expansión del modelo de declaración.
UNDNAME_NO_ARGUMENTS
0x2000
No descorar argumentos de función.
UNDNAME_NO_CV_THISTYPE
0x0040
Deshabilite la expansión de modificadores CodeView en el este tipo de para la declaración principal.
UNDNAME_NO_FUNCTION_RETURNS
0x0004
Deshabilite la expansión de los tipos de valor devuelto para las declaraciones principales.
UNDNAME_NO_LEADING_UNDERSCORES
0x0001
Quite los caracteres de subrayado iniciales de las palabras clave de Microsoft.
UNDNAME_NO_MEMBER_TYPE
0x0200
Deshabilite la expansión del atributo estático o virtual de los miembros.
UNDNAME_NO_MS_KEYWORDS
0x0002
Deshabilite la expansión de las palabras clave de Microsoft.
UNDNAME_NO_MS_THISTYPE
0x0020
Deshabilite la expansión de palabras clave de Microsoft en el este tipo de para la declaración principal.
UNDNAME_NO_RETURN_UDT_MODEL
0x0400
Deshabilite la expansión del modelo de Microsoft para las devoluciones de tipo definido por el usuario.
UNDNAME_NO_SPECIAL_SYMS
0x4000
No decora los nombres especiales, como vtable, vcall, vector, metatipo, etc.
UNDNAME_NO_THISTYPE
0x0060
Deshabilite todos los modificadores del este tipo de.
UNDNAME_NO_THROW_SIGNATURES
0x0100
Deshabilite la expansión de firmas de lanzamiento para funciones y punteros a funciones.

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es el número de caracteres de la UnDecoratedName búfer, no incluido el terminador NULL.

Si se produce un error en la función, el valor devuelto es cero. Para recuperar información de error extendida, llame a GetLastError.

Si se produce un error en la función y devuelve cero, el contenido de la UnDecoratedName búfer no está definido.

Observaciones

Para usar símbolos sin codificar, llame a la función SymSetOptions con la opción SYMOPT_UNDNAME.

Todas las funciones DbgHelp, como esta, son un solo subproceso. Por lo tanto, las llamadas de más de un subproceso a esta función probablemente provocarán un comportamiento inesperado o daños en la memoria. Para evitar esto, debe sincronizar todas las llamadas simultáneas de más de un subproceso a esta función.

Para llamar a la versión Unicode de esta función, defina DBGHELP_TRANSLATE_TCHAR.

Ejemplos

Para obtener un ejemplo, vea Recuperar nombres de símbolos no codificados.

Nota

El encabezado dbghelp.h define UnDecorateSymbolName como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.

Requisitos

Requisito Valor
de la plataforma de destino de Windows
encabezado de dbghelp.h
biblioteca de Dbghelp.lib
DLL de Dbghelp.dll
redistribuible DbgHelp.dll 5.1 o posterior

Consulte también

funciones dbgHelp de

SymSetOptions