Метод 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

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

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

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

Возвращаемый код Описание
S_OK
Метод был успешным.
E_NOINTERFACE
Поле Поле не удалось найти в типе, указанном ContainerTypeId.

Замечания

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

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

Требования

Требование Ценность
целевая платформа Настольный
заголовка dbgeng.h (include Dbgeng.h)

См. также

GetFieldOffset

GetTypeId

IDebugSymbols3