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

Метод GetFieldTypeAndOffset возвращает тип поля и его смещение в контейнере.

Синтаксис

HRESULT GetFieldTypeAndOffset(
  [in]            ULONG64 Module,
  [in]            ULONG   ContainerTypeId,
  [in]            PCSTR   Field,
  [out, optional] PULONG  FieldTypeId,
  [out, optional] PULONG  Offset
);

Параметры

[in] Module

Указывает модуль, содержащий типы контейнера и поля.

[in] ContainerTypeId

Указывает идентификатор типа для типа контейнера. Примерами контейнеров являются структуры, объединения и классы.

[in] Field

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

[out, optional] FieldTypeId

Получает идентификатор типа поля.

[out, optional] Offset

Получает смещение поля Field из расположения базовой памяти экземпляра контейнера.

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

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

Код возврата Описание
S_OK
Метод выполнен успешно.
E_NOINTERFACE
Не удалось найти поле Field в типе, заданном ContainerTypeId.

Комментарии

Ниже приведен пример пути, разделенного точками, для параметра Field . Предположим, что структура MyStruct содержит поле MyField типа MySubStruct, а структура MySubStruct содержит поле MySubField. Затем тип этого поля и его расположение относительно расположения структуры MyStruct можно найти, передав "MyField.MySubField" в качестве параметра Field этому методу.

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

Требования

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

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

GetFieldOffset

GetTypeId

IDebugSymbols3