Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Определяет расположение объекта. Этот конкретный вариант расположения — это структуру доступа C-COM.
Обратите внимание, что расположение имеет значение только в сочетании с контекстом узла. Это расположение в контексте. При выполнении операции с расположением (чтение байтов, запись байтов и т. д.) необходимо указать допустимый контекст узла.
Синтаксис
struct Location {
ULONG64 HostDefined;
ULONG64 Offset;
void Location();
void Location(
ULONG64 virtualAddress
);
void Location(
const Location & src
);
Location & operator=(
const Location & src
);
Location & operator=(
ULONG64 virtualAddress
);
bool operator==(
const Location & rhs
);
bool operator!=(
const Location & rhs
);
Location & operator+=(
LONG64 offset
);
Location & operator-=(
LONG64 offset
);
Location operator+(
LONG64 offset
);
Location operator-(
LONG64 offset
);
ULONG64 GetOffset();
bool IsVirtualAddress();
};
Члены
HostDefined
Поле HostDefined имеет два состояния, которые являются непрозрачными на уровне API.
0. Указывает, что смещение является указателем на виртуальное адресное пространство целевого объекта.
Ненулевая: определенное значение является владельцем узла. Клиенты могут распространять и изменять смещение. Они не могут юридически изменить значение. Это можно определить методом IsVirtualAddress(), если эта структура построена из кода C++.
Offset
Смещение расположения в адресное пространство, определенное контекстом узла и полем HostDefined этой структуры. Если поле HostDefined равно нулю, это виртуальный адрес расположения. Если поле HostDefined не равно нулю, это смещение в другое адресное пространство. Например, может указывать, где находится определенное поле зарегистрированной структуры в пределах содержащего регистра.
Копирование создает расположение.
По умолчанию создается эквивалентный nullptr.
void Location(ULONG64 virtualAddress)
Создает расположение из смещения в виртуальное адресное пространство целевого объекта.
void Location(const Location & src)
Копирование создает расположение.
Location & operator=( const Location & src)
Оператор назначения копирования для функции расположения.
оператор & location =( ULONG64 virtualAddress)
Оператор назначения для функции расположения.
bool operator=(const Location & rhs)
Оператор эквивалентности для функции расположения.
оператор bool!=( const Location & rhs)
Не равно оператору сравнения для функции расположения.
оператор location &+=( смещение LONG64)
Оператор назначения добавления для функции расположения.
location & operator-=(смещение LONG64)
Оператор назначения вычитания для функции расположения.
оператор location+(long64 offset)
Оператор добавления для функции расположения.
оператора location (смещение LONG64)
Оператор вычитания для функции расположения.
Возвращает смещение расположения.
Указывает, относится ли расположение к виртуальному адресу.
Требования
| Требование | Ценность |
|---|---|
| заголовка | dbgmodel.h |
См. также
Обзор модели данных отладчика C++