Location 構造体 (dbgmodel.h)
オブジェクトの場所を定義します。 Location のこの特定のバリアントは、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 レイヤーで "非不透明" である 2 つの状態があります。
0: オフセットがターゲットの仮想アドレス空間へのポインターであることを示します。
0 以外: 定義された値はホストに固有です。 クライアントはオフセットを伝達および変更できます。 値を法的に変更することはできません。 これは、この構造体が C++ コードから構築されている場合は、IsVirtualAddress() メソッドによって決定できます。
Offset
ホスト コンテキストとこの構造体の HostDefined フィールドによって定義されたアドレス空間への場所のオフセット。 HostDefined フィールドが 0 の場合、これは場所の仮想アドレスです。 HostDefined フィールドが 0 以外の場合、これは他のアドレス空間へのオフセットです。 たとえば、登録済み構造体の特定のフィールドが格納レジスタ内のどこにあるかを示す場合があります。
コピーによって場所が構築されます。
既定では、同等の nullptr が構築されます。
void Location( ULONG64 virtualAddress)
オフセットからターゲットの仮想アドレス空間への場所を構築します。
void Location( const Location & src)
コピーによって場所が構築されます。
Location & operator=( const Location & src)
location 関数のコピー代入演算子。
Location & operator=( ULONG64 virtualAddress)
location 関数の代入演算子。
bool operator==( const Location & rhs)
location 関数の等価演算子。
bool operator!=( const Location & rhs)
location 関数の比較演算子と等しくありません。
Location & operator+=( LONG64 offset)
location 関数の加算代入演算子。
Location & operator-=( LONG64 offset)
location 関数の減算代入演算子。
Location operator+( LONG64 offset)
location 関数の加算演算子。
Location operator-( LONG64 offset)
位置関数の減算演算子。
位置のオフセットを返します。
場所が仮想アドレスを参照しているかどうかを示します。
要件
要件 | 値 |
---|---|
Header | dbgmodel.h |