Поделиться через


Метод IDebugAdvanced3::GetSymbolInformationWide (dbgeng.h)

Метод SetSymbolInformationWide возвращает указанные сведения о символе.

Синтаксис

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

Параметры

[in] Which

Указывает возвращаемый фрагмент сведений. Для которого может приниматься одно из значений в следующей таблице.

Значение Возвращаемые сведения
DEBUG_SYMINFO_BREAKPOINT_SOURCE_LINE Возвращает имя файла исходного кода и номер строки для указанной точки останова. Номер строки возвращается в буфер в виде ULONG. Имя файла возвращается в StringBuffer.
DEBUG_SYMINFO_IMAGEHLP_MODULEW64 Возвращает структуру IMAGEHLP_MODULEW64, описывающую указанный модуль. Дополнительные сведения об этой структуре см. в разделе IMAGEHLP_MODULE64 документации по библиотеке справки отладки (dbghelp.chm).

Строка не возвращается, а stringBuffer, StringBufferSize и StringSize должны иметь нулевое значение.

DEBUG_SYMINFO_GET_SYMBOL_NAME_BY_OFFSET_AND_TAG_WIDE Возвращает имя символа в Юникоде, заданное расположением в памяти и типом тега PDB. Имя возвращается в буфер. StringBuffer не используется.
DEBUG_SYMINFO_GET_MODULE_SYMBOL_NAMES_AND_OFFSETS Возвращает список имен символов и смещений для символов в указанном модуле с указанным типом тега PDB. Смещения возвращаются в буфер в виде массива значений ULONG. Имена возвращаются в том же порядке, что и смещения в StringBuffer. Некоторые имена могут содержать внедренные нули, так как заметки могут иметь многокомпонентные имена; Таким образом, каждое имя завершается двумя символами NULL.

[in] Arg64

Задает 64-разрядный аргумент. Этот параметр имеет следующие интерпретации в зависимости от значения Свойства :

DEBUG_SYMINFO_BREAKPOINT_SOURCE_LINE

Не обрабатывается.

DEBUG_SYMINFO_IMAGEHLP_MODULEW64

Базовый адрес модуля, описание которого запрашивается.

DEBUG_SYMINFO_GET_SYMBOL_NAME_BY_OFFSET_AND_TAG_WIDE

Указывает адрес в памяти целевого объекта символа, имя которого запрашивается.

DEBUG_SYMINFO_GET_MODULE_SYMBOL_NAMES_AND_OFFSETS

Указывает модуль, символы которого запрашиваются. Arg64 — это расположение в выделении памяти модуля.

[in] Arg32

Задает 32-разрядный аргумент. Этот параметр имеет следующие интерпретации в зависимости от значения Свойства :

DEBUG_SYMINFO_BREAKPOINT_SOURCE_LINE

Идентификатор точки останова подсистемы требуемой точки останова.

DEBUG_SYMINFO_IMAGEHLP_MODULEW64

Задайте нулевое значение.

DEBUG_SYMINFO_GET_SYMBOL_NAME_BY_OFFSET_AND_TAG_WIDE

Классификация PDB символа. Arg32 должен быть одним из значений перечисления SymTagEnum , определенного в Dbghelp.h. Дополнительные сведения см. в документации по PDB.

DEBUG_SYMINFO_GET_MODULE_SYMBOL_NAMES_AND_OFFSETS

Классификация PDB символа. Arg32 должен быть одним из значений перечисления SymTagEnum , определенного в Dbghelp.h. Дополнительные сведения см. в документации по PDB.

[out, optional] Buffer

Получает запрошенные сведения о символах. Тип возвращаемых данных зависит от значения Свойства. Если параметр Buffer имеет значение NULL, эта информация не возвращается.

[in] BufferSize

Указывает размер буфера буфера (в байтах).

[out, optional] InfoSize

Если этот метод возвращает S_OK, InfoSize получает размер в байтах сведений о символах, возвращенных в буфер. Если этот метод возвращает S_FALSE, предоставленный буфер недостаточно велик, и InfoSize получает требуемый размер буфера. Если InfoSize имеет значение NULL, эти сведения не возвращаются.

[out, optional] StringBuffer

Получает запрошенную строку. Интерпретация этой строки зависит от значения Свойства. Если StringBuffer имеет значение NULL, эти сведения не возвращаются.

[in] StringBufferSize

Задает размер строкового буфера StringBuffer (в символах).

[out, optional] StringSize

Получает размер строки в символах, возвращаемой в StringBuffer. Если stringSize имеет значение NULL, эти сведения не возвращаются.

Возвращаемое значение

Этот метод также может возвращать значения ошибок. Дополнительные сведения см. в разделе Возвращаемые значения .

Код возврата Описание
S_OK
Метод выполнен успешно.
S_FALSE
Метод выполнен успешно. Однако информация не помещается в буфер буфера или строка не помещается в буфер StringBuffer буфера, поэтому информация или имя были усечены.

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть dbgeng.h (включая Dbgeng.h)