Standortstruktur (dbgmodel.h)
Definiert den Speicherort für ein Objekt. Diese spezielle Variante von Location ist die C-COM-Zugriffsstruktur.
Beachten Sie, dass ein Speicherort nur in Verbindung mit einem Hostkontext Bedeutung hat. Es handelt sich um einen Ort innerhalb eines Kontexts. Beim Ausführen eines Vorgangs am Speicherort (Lesebytes, Schreiben von Bytes usw.) muss ein gültiger Hostkontext angegeben werden.
Syntax
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();
};
Angehörige
HostDefined
Das Feld "HostDefined" weist zwei Zustände auf, die auf der API-Ebene "Non-Opaque" sind.
0: Gibt an, dass der Offset ein Zeiger in den virtuellen Adressraum des Ziels ist.
Ungleich Null: Der definierte Wert ist proprietärer Wert für den Host. Clients können den Offset weitergeben und ändern. Sie können den Wert nicht rechtlich ändern. Dies kann durch die IsVirtualAddress()-Methode bestimmt werden, wenn diese Struktur aus C++-Code erstellt wird.
Offset
Der Offset des Speicherorts in den Adressraum, der durch den Hostkontext und das Feld "HostDefined" dieser Struktur definiert ist. Wenn das Feld "HostDefined" null ist, ist dies die virtuelle Adresse des Speicherorts. Wenn das Feld "HostDefined" ungleich Null ist, ist dies der Offset in einen anderen Adressraum. Es kann z. B. angeben, wo sich ein bestimmtes Feld einer registrierten Struktur innerhalb des enthaltenden Registers befindet.
Kopieren erstellt einen Speicherort.
Der Standardwert erstellt einen entsprechenden Nullptr.
void Location( ULONG64 virtualAddress)
Erstellt einen Speicherort aus einem Offset in den virtuellen Adressraum des Ziels.
void Location( const Location & src)
Kopieren erstellt einen Speicherort.
Location & operator=( const Location & src)
Der Kopierzuweisungsoperator für die Positionsfunktion.
Location & operator=( ULONG64 virtualAddress)
Der Zuordnungsoperator für die Positionsfunktion.
bool operator==( const Location & rhs)
Äquivalenzoperator für die Positionsfunktion.
bool operator!=( const Location & rhs)
Ungleich vergleichsoperator für die Positionsfunktion.
Location & operator+=( LONG64 offset)
Der Additionszuweisungsoperator für die Positionsfunktion.
Location & operator-=( LONG64 offset)
Der Subtraktionszuweisungsoperator für die Positionsfunktion.
Location operator+( LONG64 offset)
Der Additionsoperator für die Positionsfunktion.
Location operator-( LONG64 offset)
Subtraktionsoperator für die Positionsfunktion.
Gibt den Offset der Position zurück.
Gibt an, ob sich der Speicherort auf eine virtuelle Adresse bezieht.
Anforderungen
Anforderung | Wert |
---|---|
Header- | dbgmodel.h |