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


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

Метод GetLocationKind возвращает расположение, в каком расположен символ в соответствии с перечислением LocationKind. Такое перечисление может иметь одно из следующих значений:

Перечисление Значение
LocationMember Поле является обычным элементом данных в конструкции класса, структуры, объединения или другого типа. Он имеет смещение относительно базового адреса конструкции содержащего типа. Такой базовый адрес обычно представлен указателем this. Смещение поля можно получить с помощью метода GetOffset. Методы GetLocation и GetValue завершатся ошибкой для поля LocationMember.
LocationStatic Поле является статическим и имеет собственный адрес. Метод GetLocation вернет абстрактное расположение (например, адрес) статического поля. Методы GetOffset и GetValue завершатся ошибкой для поля LocationStatic.
LocationConstant Поле является константой и имеет значение . Метод GetValue возвращает значение константы. Методы GetOffset и GetLocation завершатся ошибкой для поля LocationConstant
LocationNone Поле не имеет расположения. Возможно, он был оптимизирован компилятором или статическим полем, которое объявлено, но никогда не определено. Независимо от того, как такое поле появилось, оно не имеет физического присутствия или значения. Только в символах. Все методы получения (GetOffset, GetLocation и GetValue) завершатся ошибкой для поля LocationNone.

Синтаксис

HRESULT GetLocationKind(
  LocationKind *locationKind
);

Параметры

locationKind

Тип расположения для этого поля будет возвращен здесь в виде значения перечисления LocationKind.

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

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

Комментарии

Образец кода

ComPtr<IDebugHostField> spField; /* get a field symbol */

LocationKind kind;
if (SUCCEEDED(spField->GetLocationKind(&kind)))
{
    // kind indicates the kind of location (e.g.: static, constant, member, etc...)
}

Требования

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

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

Интерфейс IDebugHostField