I/O 포트 액세스로 인한 종료에 대한 컨텍스트 데이터입니다.
메모
이 종료 이유와 컨텍스트 구조는 x64 파티션에만 적용됩니다.
문법
//
// Context data for an exit caused by an I/O port access (WHvRunVpExitReasonX64IOPortAccess)
//
typedef union WHV_X64_IO_PORT_ACCESS_INFO
{
struct
{
UINT32 IsWrite : 1;
UINT32 AccessSize: 3;
UINT32 StringOp : 1;
UINT32 RepPrefix : 1;
UINT32 Reserved : 26;
};
UINT32 AsUINT32;
} WHV_X64_IO_PORT_ACCESS_INFO;
typedef struct WHV_X64_IO_PORT_ACCESS_CONTEXT
{
// Context of the virtual processor
UINT8 InstructionByteCount;
UINT8 Reserved[3];
UINT8 InstructionBytes[16];
// I/O port access info
WHV_X64_IO_PORT_ACCESS_INFO AccessInfo;
UINT16 PortNumber;
UINT16 Reserved2[3];
UINT64 Rax;
UINT64 Rcx;
UINT64 Rsi;
UINT64 Rdi;
WHV_X64_SEGMENT_REGISTER Ds;
WHV_X64_SEGMENT_REGISTER Es;
} WHV_X64_IO_PORT_ACCESS_CONTEXT;
Remarks
I/O 포트 명령(IN, OUT, INS 및 OUTS)을 실행하는 가상 프로세서로 인한 종료에 대한 정보가 구조에 WHV_X64_IO_PORT_ACCESS_CONTEXT 제공됩니다. 컨텍스트 정보에는 가상화 스택이 가상 프로세서에서 액세스하는 I/O 포트를 사용하는 디바이스의 디바이스 에뮬레이션 논리로 출구를 전달할 수 있는 I/O 포트 주소가 포함됩니다.