Поделиться через


Метод IDebugHostField::GetOffset (dbgmodel.h)

Для полей со смещением (например, поля, тип расположения которых указывает LocationMember), метод GetOffset возвращает смещение от базового адреса содержащего типа (этот указатель) к данным самого поля. Такие смещения всегда выражаются в виде 64-разрядных значений без знака.

Если заданное поле не имеет расположения, которое является смещением от базового адреса содержащего типа, метод GetOffset завершится ошибкой.

Синтаксис

HRESULT GetOffset(
  ULONG64 *offset
);

Параметры

offset

Здесь будет возвращено смещение данных поля от базового адреса содержащего типа (например, этот указатель).

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

Этот метод возвращает HRESULT, который указывает на успех или сбой.

Remarks

ComPtr<IDebugHostField> spField; /* get a field symbol (see EnumerateChildren) */

ULONG64 fieldOffset;
if (SUCCEEDED(spField->GetOffset(&fieldOffset)))
{
    // For locations which have offsets (as indicated by GetLocationKind), 
    // fieldOffset will contain the offset of the field from the start 
    // of its containing type.
}

Требования

Требование Значение
Заголовок dbgmodel.h

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

Интерфейс IDebugHostField