Выход из исключения виртуального процессора

Контекстные данные для выхода, вызванного исключением, созданным виртуальным процессором.

Замечание

Эта причина выхода и ее структура контекста применяются только к секциям x64.

Синтаксис

//
// Context data for an exit caused by an exception generated by the virtual processor
// (WHvRunVpExitReasonException)
//
typedef union WHV_VP_EXCEPTION_INFO
{
    struct
    {
        UINT32 ErrorCodeValid : 1;
        UINT32 SoftwareException : 1;
        UINT32 Reserved : 30;
    };

    UINT32 AsUINT32;
} WHV_VP_EXCEPTION_INFO;

typedef struct WHV_VP_EXCEPTION_CONTEXT
{
    UINT8 InstructionByteCount;
    UINT8 Reserved[3];
    UINT8 InstructionBytes[16];

    // Exception info
    WHV_VP_EXCEPTION_INFO ExceptionInfo;
    UINT8 ExceptionType; // WHV_EXCEPTION_TYPE
    UINT8 Reserved2[3];
    UINT32 ErrorCode;
    UINT64 ExceptionParameter;
} WHV_VP_EXCEPTION_CONTEXT;

Remarks

Сведения об исключении, созданном виртуальным процессором, предоставляются в WHV_VP_EXCEPTION_CONTEXT структуре. 

Выходы для исключений создаются только в том случае, если они включены, задав WHV_EXTENDED_VM_EXITS.ExceptionExit свойство для секции.

См. также