由虛擬處理器產生的例外所導致的退出上下文資料。
Note
這個退出原因及其上下文結構僅適用於 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 分割區屬性啟用例外時,才會產生出口。