Метод IDebugSymbols3::GetOffsetByName (dbgeng.h)
Метод GetOffsetByName возвращает расположение символа, определяемого по имени.
Синтаксис
HRESULT GetOffsetByName(
[in] PCSTR Symbol,
[out] PULONG64 Offset
);
Параметры
[in] Symbol
Указывает имя искать символ. Имя может быть указано именем модуля (например, mymodule!main).
[out] Offset
Получает расположение в адресном пространстве памяти целевого объекта для основания выделения памяти символа.
Возвращаемое значение
Этот метод также может возвращать другие значения ошибок. Дополнительные сведения см. в разделе Возвращаемые значения .
Код возврата | Описание |
---|---|
|
Метод выполнен успешно. |
|
Метод выполнен успешно. Однако имя Symbol не было уникальным, и было найдено несколько символов с таким именем. Один из этих символов был произвольно выбран и возвращен. |
|
Не удалось найти символ с указанным именем. |
Комментарии
Если имя Symbol не является уникальным и GetOffsetByName находит несколько символов с этим именем, неоднозначность будет разрешена произвольно. В этом случае будет возвращено значение S_FALSE. StartSymbolMatch можно использовать для запуска поиска, чтобы определить, какой из них является требуемым результатом.
GetNameByOffset не поддерживает сопоставление шаблонов (например, подстановочные знаки). Чтобы найти символ с помощью сопоставления шаблонов, используйте StartSymbolMatch.
Если имя модуля для символа известно, рекомендуется указать имя символа именем модуля. В противном случае система будет искать символы для всех модулей, пока не найдет совпадение; Это может занять много времени, если нужно загрузить файлы символов для большого количества модулей. Если имя символа квалифицируется именем модуля, подсистема ищет только символы для этого модуля.
Дополнительные сведения о символах и их именах см. в разделе Символы.
Требования
Требование | Значение |
---|---|
Целевая платформа | Персональный компьютер |
Верхняя часть | dbgeng.h (включая Dbgeng.h) |