共用方式為


位置結構 (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] 字段為零,則這是位置的虛擬位址。 如果 [主機定義] 字段不是零,這是其他地址空間的位移。 例如,它可能會指出已註冊結構的特定欄位位於包含緩存器內的位置。

void Location()

複製會建構位置。

默認值會建構對等的 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 函式的減法指派運算符。

位置運算子+(LONG64 位移)

location 函式的加號運算符。

location operator-( LONG64 offset)

location 函式的減法運算符。

ULONG64 GetOffset()

傳回位置的位移。

bool IsVirtualAddress()

指出位置是否參考虛擬位址。

要求

要求 價值
標頭 dbgmodel.h

另請參閱

調試程序數據模型C++概觀