Structure d’emplacement (dbgmodel.h)
Définit l’emplacement d’un objet. Cette variante particulière de Location est le struct d’accès C-COM.
Notez qu’un emplacement n’a de sens qu’avec un contexte hôte. Il s’agit d’un emplacement dans un contexte. Lors de l’exécution d’une opération sur l’emplacement (lecture d’octets, écriture d’octets, etc...),, un contexte hôte valide doit être fourni.
Syntaxe
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();
};
Membres
HostDefined
Le champ HostDefined a deux états qui sont « non opaques » au niveau de la couche API.
0 : indique que le décalage est un pointeur vers l’espace d’adressage virtuel de la cible.
Non zéro : la valeur définie est propriétaire de l’hôte. Les clients peuvent propager et modifier le décalage. Ils ne peuvent pas légalement modifier la valeur. Cela peut être déterminé par la méthode IsVirtualAddress() si cette structure est générée à partir de code C++.
Offset
Décalage de l’emplacement dans l’espace d’adressage défini par le contexte hôte et le champ HostDefined de cette structure. Si le champ HostDefined est égal à zéro, il s’agit de l’adresse virtuelle de l’emplacement. Si le champ HostDefined n’est pas égal à zéro, il s’agit du décalage dans un autre espace d’adressage. Il peut, par exemple, indiquer où se trouve un champ particulier d’une structure inscrite dans le registre contenant.
Copier construit un emplacement.
La valeur par défaut construit un nullptr équivalent.
void Location( ULONG64 virtualAddress)
Construit un emplacement à partir d’un décalage dans l’espace d’adressage virtuel de la cible.
void Location( const Location & src)
Copier construit un emplacement.
Location & operator=( const Location & src)
Opérateur d’assignation de copie pour la fonction d’emplacement.
Location & operator=( ULONG64 virtualAddress)
Opérateur d’affectation pour la fonction location.
bool operator==( const Location & rhs)
Opérateur d’équivalence pour la fonction location.
bool operator !=( const Location & rhs)
N’est pas égal à l’opérateur de comparaison pour la fonction d’emplacement.
Location & operator+=( LONG64 offset)
Opérateur d’affectation d’addition pour la fonction location.
Emplacement & operator-=( LONG64 offset)
Opérateur d’assignation de soustraction pour la fonction location.
Location operator+( LONG64 offset)
Opérateur d’ajout pour la fonction location.
Opérateur d’emplacement-( décalage LONG64)
Opérateur de soustraction pour la fonction location.
Retourne le décalage de l’emplacement.
Indique si l’emplacement fait référence à une adresse virtuelle.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | dbgmodel.h |