위치 구조(dbgmodel.h)
개체의 위치를 정의합니다. 위치의 이 특정 변형은 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: 오프셋이 대상의 가상 주소 공간에 대한 포인터임을 나타냅니다.
0이 아닌 값: 정의된 값은 호스트에 대한 독점 값입니다. 클라이언트는 오프셋을 전파하고 변경할 수 있습니다. 그들은 합법적으로 값을 변경할 수 없습니다. 이 구조체는 C++ 코드에서 빌드된 경우 IsVirtualAddress() 메서드에 의해 결정될 수 있습니다.
Offset
이 구조체의 호스트 컨텍스트 및 호스트 정의 필드에 정의된 주소 공간에 대한 위치의 오프셋입니다. HostDefined 필드가 0이면 위치의 가상 주소입니다. HostDefined 필드가 0이 아닌 경우 다른 주소 공간으로의 오프셋입니다. 예를 들어 등록된 구조체의 특정 필드가 포함된 레지스터 내에 있는 위치를 나타낼 수 있습니다.
복사는 위치를 생성합니다.
기본값은 동등한 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 operator!=( const Location & rhs)
위치 함수의 비교 연산자 와 같지 않습니다.
location & operator+=( LONG64 오프셋)
위치 함수에 대한 추가 할당 연산자입니다.
location & operator-=( LONG64 오프셋)
위치 함수의 빼기 할당 연산자입니다.
Location operator+( LONG64 오프셋)
위치 함수에 대한 더하기 연산자입니다.
Location operator-( LONG64 offset)
위치 함수의 빼기 연산자입니다.
위치의 오프셋을 반환합니다.
위치가 가상 주소를 참조하는지 여부를 나타냅니다.
요구 사항
요구 사항 | 값 |
---|---|
헤더 | dbgmodel.h |