I/O 포트 액세스 종료

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 포트 주소가 포함됩니다.

참고하십시오