位置結構 (dbgmodel.h)
定義物件的位置。 位置的這個特定變體是 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
[主機定義] 欄位在 API 層有兩個「非不透明」狀態。
0:表示位移是目標虛擬位址空間的指標。
非零:定義的值是主機的專屬值。 用戶端可以傳播和變更位移。 它們無法合法地變更值。 如果這個結構是從C++程式代碼建置,則可以由IsVirtualAddress() 方法決定。
Offset
位置位移至主機內容和這個結構的 HostDefined 字段所定義的地址空間。 如果 [HostDefined] 字段為零,則這是位置的虛擬位址。 如果 [主機定義] 字段不是零,這是其他地址空間的位移。 例如,它可能會指出已註冊結構的特定欄位位於包含緩存器內的位置。
複製會建構位置。
默認值會建構對等的 nullptr。
void Location(ULONG64 virtualAddress)
從位移建構目標虛擬位址空間的位置。
void Location(const Location & src)
複製會建構位置。
location & operator=( const Location & src)
位置函式的複製指派運算符。
location & operator=( ULONG64 virtualAddress)
位置函式的指派運算符。
bool operator==( const Location & rhs)
位置函式的等價運算符。
bool 運算符!=(const Location & rhs)
不等於location函式的比較運算子。
location & operator+=(LONG64 offset)
位置函式的加法指派運算符。
location & operator-=(LONG64 offset)
location 函式的減法指派運算符。
location 函式的加號運算符。
location operator-( LONG64 offset)
location 函式的減法運算符。
傳回位置的位移。
指出位置是否參考虛擬位址。
要求
要求 | 價值 |
---|---|
標頭 | dbgmodel.h |