Метод IDebugSymbols3::GetOffsetByName (dbgeng.h)

Метод GetOffsetByName возвращает расположение символа, определяемого по имени.

Синтаксис

HRESULT GetOffsetByName(
  [in]  PCSTR    Symbol,
  [out] PULONG64 Offset
);

Параметры

[in] Symbol

Указывает имя искать символ. Имя может быть указано именем модуля (например, mymodule!main).

[out] Offset

Получает расположение в адресном пространстве памяти целевого объекта для основания выделения памяти символа.

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

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

Код возврата Описание
S_OK
Метод выполнен успешно.
S_FALSE
Метод выполнен успешно. Однако имя Symbol не было уникальным, и было найдено несколько символов с таким именем. Один из этих символов был произвольно выбран и возвращен.
E_FAIL
Не удалось найти символ с указанным именем.

Комментарии

Если имя Symbol не является уникальным и GetOffsetByName находит несколько символов с этим именем, неоднозначность будет разрешена произвольно. В этом случае будет возвращено значение S_FALSE. StartSymbolMatch можно использовать для запуска поиска, чтобы определить, какой из них является требуемым результатом.

GetNameByOffset не поддерживает сопоставление шаблонов (например, подстановочные знаки). Чтобы найти символ с помощью сопоставления шаблонов, используйте StartSymbolMatch.

Если имя модуля для символа известно, рекомендуется указать имя символа именем модуля. В противном случае система будет искать символы для всех модулей, пока не найдет совпадение; Это может занять много времени, если нужно загрузить файлы символов для большого количества модулей. Если имя символа квалифицируется именем модуля, подсистема ищет только символы для этого модуля.

Дополнительные сведения о символах и их именах см. в разделе Символы.

Требования

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

См. также раздел

GetNameByOffset

IDebugSymbols

IDebugSymbols2

IDebugSymbols3