Метод 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, эти сведения не возвращаются.
Возвращаемое значение
Этот метод также может возвращать значения ошибок. Дополнительные сведения см. в разделе Возвращаемые значения .
Код возврата | Описание |
---|---|
|
Метод выполнен успешно. |
|
Метод выполнен успешно. Однако информация не помещается в буфер буфера или строка не помещается в буфер StringBuffer буфера, поэтому информация или имя были усечены. |
Требования
Требование | Значение |
---|---|
Целевая платформа | Персональный компьютер |
Верхняя часть | dbgeng.h (включая Dbgeng.h) |