Compartilhar via


Estrutura de localização (dbgmodel.h)

Define o local de um objeto . Essa variante específica de Location é o struct de acesso C-COM.

Observe que um local só tem significado em conjunto com um contexto de host. É um local dentro de um contexto. Ao executar uma operação no local (leitura de bytes, bytes de gravação etc...), um contexto de host válido deve ser fornecido.

Sintaxe

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

Membros

HostDefined

O campo HostDefined tem dois estados que são "não opacos" na camada de API.

0: Indica que o deslocamento é um ponteiro para o espaço de endereço virtual do destino.

Diferente de Zero: o valor definido é proprietário do host. Os clientes podem propagar e alterar o deslocamento. Eles não podem alterar legalmente o valor. Isso pode ser determinado pelo método IsVirtualAddress() se essa estrutura for criada com base no código C++.

Offset

O deslocamento do local para o espaço de endereço definido pelo contexto do host e o campo HostDefined dessa estrutura. Se o campo HostDefined for zero, esse será o endereço virtual do local. Se o campo HostDefined não for zero, esse será o deslocamento para algum outro espaço de endereço. Ele pode, por exemplo, indicar onde um campo específico de uma estrutura registrada está localizado dentro do registro que contém.

void Location()

Copiar constrói um local.

O padrão constrói um nullptr equivalente.

void Location( ULONG64 virtualAddress)

Constrói um local de um deslocamento para o espaço de endereço virtual do destino.

void Location( const Location & src)

Copiar constrói um local.

Local & operator=( const Location & src)

O operador de atribuição de cópia para a função de localização.

Operador de & de localização=( ULONG64 virtualAddress)

O operador de atribuição para a função de localização.

bool operator==( const Location & rhs)

Operador de equivalência para a função de localização.

bool operator!=( const Location & rhs)

Não é igual ao operador de comparação para a função de localização.

Operador de & de localização+=( deslocamento LONG64)

O operador de atribuição de adição para a função de localização.

Local & operator-=( deslocamento LONG64)

O operador de atribuição de subtração para a função de localização.

Operador de localização+( deslocamento LONG64)

O operador de adição para a função de localização.

Operador de localização-( deslocamento LONG64)

Operador de subtração para a função de localização.

ULONG64 GetOffset()

Retorna o deslocamento do local.

bool IsVirtualAddress()

Indica se o local se refere a um endereço virtual.

Requisitos

Requisito Valor
Cabeçalho dbgmodel.h

Confira também

Visão geral do modelo de dados do depurador C++