Compartir a través de


Estructura de ubicación (dbgmodel.h)

Define la ubicación de un objeto . Esta variante concreta de Location es la estructura de acceso C-COM.

Tenga en cuenta que una ubicación solo tiene significado junto con un contexto de host. Es una ubicación dentro de un contexto. Al realizar una operación en la ubicación (leer bytes, escribir bytes, etc.), se debe proporcionar un contexto de host válido.

Sintaxis

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();
};

Miembros

HostDefined

El campo HostDefined tiene dos estados que son "No opacos" en la capa de API.

0: indica que el desplazamiento es un puntero al espacio de direcciones virtuales del destino.

Distinto de cero: el valor definido es propietario del host. Los clientes pueden propagar y cambiar el desplazamiento. No pueden cambiar legalmente el valor. Esto puede determinarse mediante el método IsVirtualAddress() si esta estructura se compila a partir del código de C++.

Offset

Desplazamiento de la ubicación en el espacio de direcciones definido por el contexto de host y el campo HostDefined de esta estructura. Si el campo HostDefined es cero, esta es la dirección virtual de la ubicación. Si el campo HostDefined es distinto de cero, este es el desplazamiento en otro espacio de direcciones. Por ejemplo, puede indicar dónde se encuentra un campo determinado de una estructura registrada dentro del registro contenedor.

void Location()

Copiar construye una ubicación.

El valor predeterminado construye un nullptr equivalente.

void Location( ULONG64 virtualAddress)

Construye una ubicación a partir de un desplazamiento en el espacio de direcciones virtuales del destino.

void Location( const Location & src)

Copiar construye una ubicación.

Location & operator=( const Location & src)

Operador de asignación de copia para la función location.

Location & operator=( ULONG64 virtualAddress)

Operador de asignación para la función location.

bool operator==( const Location & rhs)

Operador de equivalencia para la función de ubicación.

bool operator!=( const Location & rhs)

No es igual al operador de comparación para la función location.

Location & operator+=( LONG64 offset)

Operador de asignación de suma para la función location.

Location & operator-=( LONG64 offset)

Operador de asignación de resta para la función location.

Operador de ubicación+( desplazamiento LONG64)

Operador de suma para la función de ubicación.

Operador location-( DESPLAZAMIENTO LONG64)

Operador de resta para la función de ubicación.

ULONG64 GetOffset()

Devuelve el desplazamiento de la ubicación.

bool IsVirtualAddress()

Indica si la ubicación hace referencia a una dirección virtual.

Requisitos

Requisito Valor
Header dbgmodel.h

Consulte también

Información general sobre el modelo de datos del depurador de C++