Share via


Método IDebugAdvanced3::GetSymbolInformation (dbgeng.h)

El método GetSymbolInformation devuelve información especificada sobre un símbolo.

Sintaxis

HRESULT GetSymbolInformation(
  [in]            ULONG   Which,
  [in]            ULONG64 Arg64,
  [in]            ULONG   Arg32,
  [out, optional] PVOID   Buffer,
  [in]            ULONG   BufferSize,
  [out, optional] PULONG  InfoSize,
  [out, optional] PSTR    StringBuffer,
  [in]            ULONG   StringBufferSize,
  [out, optional] PULONG  StringSize
);

Parámetros

[in] Which

Especifica el fragmento de información que se va a devolver. Que puede tomar uno de los valores de la tabla siguiente.

Valor Información devuelta
DEBUG_SYMINFO_BREAKPOINT_SOURCE_LINE Devuelve el nombre del archivo de código fuente y el número de línea de un punto de interrupción especificado. El número de línea se devuelve a Buffer como un ULONG. El nombre de archivo se devuelve a StringBuffer.
DEBUG_SYMINFO_IMAGEHLP_MODULEW64 Devuelve una estructura IMAGEHLP_MODULEW64 que describe un módulo especificado. Para obtener más información sobre esta estructura, consulte el tema IMAGEHLP_MODULE64 en la documentación de la biblioteca de ayuda de depuración (dbghelp.chm).

No se devuelve ninguna cadena y StringBuffer, StringBufferSize y StringSize deben establecerse en cero.

DEBUG_SYMINFO_GET_SYMBOL_NAME_BY_OFFSET_AND_TAG_WIDE Devuelve el nombre Unicode del símbolo especificado por la ubicación en la memoria y el tipo de etiqueta PDB. El nombre se devuelve a Buffer. StringBuffer no se usa.
DEBUG_SYMINFO_GET_MODULE_SYMBOL_NAMES_AND_OFFSETS Devuelve una lista de nombres de símbolos y desplazamientos para los símbolos del módulo especificado con el tipo de etiqueta PDB especificado. Los desplazamientos se devuelven como una matriz de valores de ULONG a Buffer. Los nombres se devuelven en el mismo orden que los desplazamientos a StringBuffer. Algunos nombres pueden contener ceros incrustados porque las anotaciones pueden tener nombres de varias partes; por lo tanto, cada nombre termina con dos caracteres NULL.

[in] Arg64

Especifica un argumento de 64 bits. Este parámetro tiene las siguientes interpretaciones en función del valor de Cuál:

DEBUG_SYMINFO_BREAKPOINT_SOURCE_LINE

ignorado.

DEBUG_SYMINFO_IMAGEHLP_MODULEW64

Dirección base del módulo cuya descripción se solicita.

DEBUG_SYMINFO_GET_SYMBOL_NAME_BY_OFFSET_AND_TAG_WIDE

Especifica la dirección en la memoria del destino del símbolo cuyo nombre se solicita.

DEBUG_SYMINFO_GET_MODULE_SYMBOL_NAMES_AND_OFFSETS

Especifica el módulo cuyos símbolos se solicitan. Arg64 es una ubicación dentro de la asignación de memoria del módulo.

[in] Arg32

Especifica un argumento de 32 bits. Este parámetro tiene las siguientes interpretaciones en función del valor de Cuál:

DEBUG_SYMINFO_BREAKPOINT_SOURCE_LINE

Identificador del punto de interrupción del motor del punto de interrupción deseado.

DEBUG_SYMINFO_IMAGEHLP_MODULEW64

Establecer en cero.

DEBUG_SYMINFO_GET_SYMBOL_NAME_BY_OFFSET_AND_TAG_WIDE

Clasificación PDB del símbolo. Arg32 debe ser uno de los valores de la enumeración SymTagEnum definida en Dbghelp.h. Para más información, consulte la documentación de PDB.

DEBUG_SYMINFO_GET_MODULE_SYMBOL_NAMES_AND_OFFSETS

Clasificación PDB del símbolo. Arg32 debe ser uno de los valores de la enumeración SymTagEnum definida en Dbghelp.h. Para más información, consulte la documentación de PDB.

[out, optional] Buffer

Recibe la información de símbolo solicitada. El tipo de los datos devueltos depende del valor de Which. Si Buffer es NULL, no se devuelve esta información.

[in] BufferSize

Especifica el tamaño, en bytes, del búfer de búfer.

[out, optional] InfoSize

Si este método devuelve S_OK, InfoSize recibe el tamaño, en bytes, de la información de símbolos devuelta a Buffer. Si este método devuelve S_FALSE, el búfer proporcionado no es lo suficientemente grande y InfoSize recibe el tamaño de búfer necesario. Si InfoSize es NULL, no se devuelve esta información.

[out, optional] StringBuffer

Recibe la cadena solicitada. La interpretación de esta cadena depende del valor de Cuál. Si StringBuffer es NULL, esta información no se devuelve.

[in] StringBufferSize

Especifica el tamaño, en caracteres, del búfer de cadenas StringBuffer.

[out, optional] StringSize

Recibe el tamaño, en caracteres, de la cadena devuelta a StringBuffer. Si StringSize es NULL, no se devuelve esta información.

Valor devuelto

Este método también puede devolver valores de error. Consulte Valores devueltos para obtener más detalles.

Código devuelto Descripción
S_OK
Método realizado correctamente.
S_FALSE
Método realizado correctamente. Sin embargo, la información no cabería en el búfer de búfer o la cadena no cabería en el búfer StringBuffer, por lo que la información o el nombre se truncaron.

Requisitos

Requisito Value
Plataforma de destino Escritorio
Encabezado dbgeng.h (incluir Dbgeng.h)