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

“主机定义”字段在 API 层具有两种状态,即“非不透明”。

0:指示偏移量是指向目标虚拟地址空间的指针。

非零:定义的值是主机的专有值。 客户端可以传播和更改偏移量。 它们不能在法律上更改值。 如果此结构是从 C++ 代码生成的,则此结构可由 IsVirtualAddress () 方法确定。

Offset

由主机上下文和此结构的 HostDefined 字段定义的地址空间的位置偏移量。 如果 HostDefined 字段为零,则这是位置的虚拟地址。 如果 HostDefined 字段为非零,则表示其他某个地址空间的偏移量。 例如,它可以指示已注册结构的特定字段在包含的寄存器中的位置。

void Location ()

复制构造位置。

Default 构造等效的 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)

不等于位置函数的比较运算符。

位置 & 运算符+= ( LONG64 偏移)

location 函数的加法赋值运算符。

位置 & 运算符-= ( LONG64 偏移)

位置函数的减法赋值运算符。

位置运算符+ ( LONG64 偏移)

location 函数的加法运算符。

位置运算符- ( LONG64 偏移)

位置函数的减法运算符。

ULONG64 GetOffset ()

返回位置的偏移量。

bool IsVirtualAddress ()

指示位置是否引用虚拟地址。

要求

要求
Header dbgmodel.h

另请参阅

调试器数据模型 C++ 概述