Win32 API 日本語リファレンス
ホームSystem.Hypervisor › WHV_REGISTER_NAME

WHV_REGISTER_NAME

列挙型
基底型i4

メンバー 226

名前10進16進
WHvX64RegisterRax00x0
WHvX64RegisterRcx10x1
WHvX64RegisterRdx20x2
WHvX64RegisterRbx30x3
WHvX64RegisterRsp40x4
WHvX64RegisterRbp50x5
WHvX64RegisterRsi60x6
WHvX64RegisterRdi70x7
WHvX64RegisterR880x8
WHvX64RegisterR990x9
WHvX64RegisterR10100xA
WHvX64RegisterR11110xB
WHvX64RegisterR12120xC
WHvX64RegisterR13130xD
WHvX64RegisterR14140xE
WHvX64RegisterR15150xF
WHvX64RegisterRip160x10
WHvX64RegisterRflags170x11
WHvX64RegisterEs180x12
WHvX64RegisterCs190x13
WHvX64RegisterSs200x14
WHvX64RegisterDs210x15
WHvX64RegisterFs220x16
WHvX64RegisterGs230x17
WHvX64RegisterLdtr240x18
WHvX64RegisterTr250x19
WHvX64RegisterIdtr260x1A
WHvX64RegisterGdtr270x1B
WHvX64RegisterCr0280x1C
WHvX64RegisterCr2290x1D
WHvX64RegisterCr3300x1E
WHvX64RegisterCr4310x1F
WHvX64RegisterCr8320x20
WHvX64RegisterDr0330x21
WHvX64RegisterDr1340x22
WHvX64RegisterDr2350x23
WHvX64RegisterDr3360x24
WHvX64RegisterDr6370x25
WHvX64RegisterDr7380x26
WHvX64RegisterXCr0390x27
WHvX64RegisterVirtualCr0400x28
WHvX64RegisterVirtualCr3410x29
WHvX64RegisterVirtualCr4420x2A
WHvX64RegisterVirtualCr8430x2B
WHvX64RegisterXmm040960x1000
WHvX64RegisterXmm140970x1001
WHvX64RegisterXmm240980x1002
WHvX64RegisterXmm340990x1003
WHvX64RegisterXmm441000x1004
WHvX64RegisterXmm541010x1005
WHvX64RegisterXmm641020x1006
WHvX64RegisterXmm741030x1007
WHvX64RegisterXmm841040x1008
WHvX64RegisterXmm941050x1009
WHvX64RegisterXmm1041060x100A
WHvX64RegisterXmm1141070x100B
WHvX64RegisterXmm1241080x100C
WHvX64RegisterXmm1341090x100D
WHvX64RegisterXmm1441100x100E
WHvX64RegisterXmm1541110x100F
WHvX64RegisterFpMmx041120x1010
WHvX64RegisterFpMmx141130x1011
WHvX64RegisterFpMmx241140x1012
WHvX64RegisterFpMmx341150x1013
WHvX64RegisterFpMmx441160x1014
WHvX64RegisterFpMmx541170x1015
WHvX64RegisterFpMmx641180x1016
WHvX64RegisterFpMmx741190x1017
WHvX64RegisterFpControlStatus41200x1018
WHvX64RegisterXmmControlStatus41210x1019
WHvX64RegisterTsc81920x2000
WHvX64RegisterEfer81930x2001
WHvX64RegisterKernelGsBase81940x2002
WHvX64RegisterApicBase81950x2003
WHvX64RegisterPat81960x2004
WHvX64RegisterSysenterCs81970x2005
WHvX64RegisterSysenterEip81980x2006
WHvX64RegisterSysenterEsp81990x2007
WHvX64RegisterStar82000x2008
WHvX64RegisterLstar82010x2009
WHvX64RegisterCstar82020x200A
WHvX64RegisterSfmask82030x200B
WHvX64RegisterInitialApicId82040x200C
WHvX64RegisterMsrMtrrCap82050x200D
WHvX64RegisterMsrMtrrDefType82060x200E
WHvX64RegisterMsrMtrrPhysBase082080x2010
WHvX64RegisterMsrMtrrPhysBase182090x2011
WHvX64RegisterMsrMtrrPhysBase282100x2012
WHvX64RegisterMsrMtrrPhysBase382110x2013
WHvX64RegisterMsrMtrrPhysBase482120x2014
WHvX64RegisterMsrMtrrPhysBase582130x2015
WHvX64RegisterMsrMtrrPhysBase682140x2016
WHvX64RegisterMsrMtrrPhysBase782150x2017
WHvX64RegisterMsrMtrrPhysBase882160x2018
WHvX64RegisterMsrMtrrPhysBase982170x2019
WHvX64RegisterMsrMtrrPhysBaseA82180x201A
WHvX64RegisterMsrMtrrPhysBaseB82190x201B
WHvX64RegisterMsrMtrrPhysBaseC82200x201C
WHvX64RegisterMsrMtrrPhysBaseD82210x201D
WHvX64RegisterMsrMtrrPhysBaseE82220x201E
WHvX64RegisterMsrMtrrPhysBaseF82230x201F
WHvX64RegisterMsrMtrrPhysMask082560x2040
WHvX64RegisterMsrMtrrPhysMask182570x2041
WHvX64RegisterMsrMtrrPhysMask282580x2042
WHvX64RegisterMsrMtrrPhysMask382590x2043
WHvX64RegisterMsrMtrrPhysMask482600x2044
WHvX64RegisterMsrMtrrPhysMask582610x2045
WHvX64RegisterMsrMtrrPhysMask682620x2046
WHvX64RegisterMsrMtrrPhysMask782630x2047
WHvX64RegisterMsrMtrrPhysMask882640x2048
WHvX64RegisterMsrMtrrPhysMask982650x2049
WHvX64RegisterMsrMtrrPhysMaskA82660x204A
WHvX64RegisterMsrMtrrPhysMaskB82670x204B
WHvX64RegisterMsrMtrrPhysMaskC82680x204C
WHvX64RegisterMsrMtrrPhysMaskD82690x204D
WHvX64RegisterMsrMtrrPhysMaskE82700x204E
WHvX64RegisterMsrMtrrPhysMaskF82710x204F
WHvX64RegisterMsrMtrrFix64k0000083040x2070
WHvX64RegisterMsrMtrrFix16k8000083050x2071
WHvX64RegisterMsrMtrrFix16kA000083060x2072
WHvX64RegisterMsrMtrrFix4kC000083070x2073
WHvX64RegisterMsrMtrrFix4kC800083080x2074
WHvX64RegisterMsrMtrrFix4kD000083090x2075
WHvX64RegisterMsrMtrrFix4kD800083100x2076
WHvX64RegisterMsrMtrrFix4kE000083110x2077
WHvX64RegisterMsrMtrrFix4kE800083120x2078
WHvX64RegisterMsrMtrrFix4kF000083130x2079
WHvX64RegisterMsrMtrrFix4kF800083140x207A
WHvX64RegisterTscAux83150x207B
WHvX64RegisterBndcfgs83160x207C
WHvX64RegisterMCount83180x207E
WHvX64RegisterACount83190x207F
WHvX64RegisterSpecCtrl83240x2084
WHvX64RegisterPredCmd83250x2085
WHvX64RegisterTscVirtualOffset83270x2087
WHvX64RegisterTsxCtrl83280x2088
WHvX64RegisterXss83310x208B
WHvX64RegisterUCet83320x208C
WHvX64RegisterSCet83330x208D
WHvX64RegisterSsp83340x208E
WHvX64RegisterPl0Ssp83350x208F
WHvX64RegisterPl1Ssp83360x2090
WHvX64RegisterPl2Ssp83370x2091
WHvX64RegisterPl3Ssp83380x2092
WHvX64RegisterInterruptSspTableAddr83390x2093
WHvX64RegisterTscDeadline83410x2095
WHvX64RegisterTscAdjust83420x2096
WHvX64RegisterUmwaitControl83440x2098
WHvX64RegisterXfd83450x2099
WHvX64RegisterXfdErr83460x209A
WHvX64RegisterApicId122900x3002
WHvX64RegisterApicVersion122910x3003
WHvX64RegisterApicTpr122960x3008
WHvX64RegisterApicPpr122980x300A
WHvX64RegisterApicEoi122990x300B
WHvX64RegisterApicLdr123010x300D
WHvX64RegisterApicSpurious123030x300F
WHvX64RegisterApicIsr0123040x3010
WHvX64RegisterApicIsr1123050x3011
WHvX64RegisterApicIsr2123060x3012
WHvX64RegisterApicIsr3123070x3013
WHvX64RegisterApicIsr4123080x3014
WHvX64RegisterApicIsr5123090x3015
WHvX64RegisterApicIsr6123100x3016
WHvX64RegisterApicIsr7123110x3017
WHvX64RegisterApicTmr0123120x3018
WHvX64RegisterApicTmr1123130x3019
WHvX64RegisterApicTmr2123140x301A
WHvX64RegisterApicTmr3123150x301B
WHvX64RegisterApicTmr4123160x301C
WHvX64RegisterApicTmr5123170x301D
WHvX64RegisterApicTmr6123180x301E
WHvX64RegisterApicTmr7123190x301F
WHvX64RegisterApicIrr0123200x3020
WHvX64RegisterApicIrr1123210x3021
WHvX64RegisterApicIrr2123220x3022
WHvX64RegisterApicIrr3123230x3023
WHvX64RegisterApicIrr4123240x3024
WHvX64RegisterApicIrr5123250x3025
WHvX64RegisterApicIrr6123260x3026
WHvX64RegisterApicIrr7123270x3027
WHvX64RegisterApicEse123280x3028
WHvX64RegisterApicIcr123360x3030
WHvX64RegisterApicLvtTimer123380x3032
WHvX64RegisterApicLvtThermal123390x3033
WHvX64RegisterApicLvtPerfmon123400x3034
WHvX64RegisterApicLvtLint0123410x3035
WHvX64RegisterApicLvtLint1123420x3036
WHvX64RegisterApicLvtError123430x3037
WHvX64RegisterApicInitCount123440x3038
WHvX64RegisterApicCurrentCount123450x3039
WHvX64RegisterApicDivide123500x303E
WHvX64RegisterApicSelfIpi123510x303F
WHvRegisterSint0163840x4000
WHvRegisterSint1163850x4001
WHvRegisterSint2163860x4002
WHvRegisterSint3163870x4003
WHvRegisterSint4163880x4004
WHvRegisterSint5163890x4005
WHvRegisterSint6163900x4006
WHvRegisterSint7163910x4007
WHvRegisterSint8163920x4008
WHvRegisterSint9163930x4009
WHvRegisterSint10163940x400A
WHvRegisterSint11163950x400B
WHvRegisterSint12163960x400C
WHvRegisterSint13163970x400D
WHvRegisterSint14163980x400E
WHvRegisterSint15163990x400F
WHvRegisterScontrol164000x4010
WHvRegisterSversion164010x4011
WHvRegisterSiefp164020x4012
WHvRegisterSimp164030x4013
WHvRegisterEom164040x4014
WHvRegisterVpRuntime204800x5000
WHvX64RegisterHypercall204810x5001
WHvRegisterGuestOsId204820x5002
WHvRegisterVpAssistPage204990x5013
WHvRegisterReferenceTsc205030x5017
WHvRegisterReferenceTscSequence205060x501A
WHvRegisterPendingInterruption-21474836480x80000000
WHvRegisterInterruptState-21474836470x80000001
WHvRegisterPendingEvent-21474836460x80000002
WHvX64RegisterDeliverabilityNotifications-21474836440x80000004
WHvRegisterInternalActivityState-21474836430x80000005
WHvX64RegisterPendingDebugException-21474836420x80000006

各言語での定義

列挙メンバーの定義。HSP タブは #define global(値は16進)。

typedef enum WHV_REGISTER_NAME : int {
    WHvX64RegisterRax = 0,
    WHvX64RegisterRcx = 1,
    WHvX64RegisterRdx = 2,
    WHvX64RegisterRbx = 3,
    WHvX64RegisterRsp = 4,
    WHvX64RegisterRbp = 5,
    WHvX64RegisterRsi = 6,
    WHvX64RegisterRdi = 7,
    WHvX64RegisterR8 = 8,
    WHvX64RegisterR9 = 9,
    WHvX64RegisterR10 = 10,
    WHvX64RegisterR11 = 11,
    WHvX64RegisterR12 = 12,
    WHvX64RegisterR13 = 13,
    WHvX64RegisterR14 = 14,
    WHvX64RegisterR15 = 15,
    WHvX64RegisterRip = 16,
    WHvX64RegisterRflags = 17,
    WHvX64RegisterEs = 18,
    WHvX64RegisterCs = 19,
    WHvX64RegisterSs = 20,
    WHvX64RegisterDs = 21,
    WHvX64RegisterFs = 22,
    WHvX64RegisterGs = 23,
    WHvX64RegisterLdtr = 24,
    WHvX64RegisterTr = 25,
    WHvX64RegisterIdtr = 26,
    WHvX64RegisterGdtr = 27,
    WHvX64RegisterCr0 = 28,
    WHvX64RegisterCr2 = 29,
    WHvX64RegisterCr3 = 30,
    WHvX64RegisterCr4 = 31,
    WHvX64RegisterCr8 = 32,
    WHvX64RegisterDr0 = 33,
    WHvX64RegisterDr1 = 34,
    WHvX64RegisterDr2 = 35,
    WHvX64RegisterDr3 = 36,
    WHvX64RegisterDr6 = 37,
    WHvX64RegisterDr7 = 38,
    WHvX64RegisterXCr0 = 39,
    WHvX64RegisterVirtualCr0 = 40,
    WHvX64RegisterVirtualCr3 = 41,
    WHvX64RegisterVirtualCr4 = 42,
    WHvX64RegisterVirtualCr8 = 43,
    WHvX64RegisterXmm0 = 4096,
    WHvX64RegisterXmm1 = 4097,
    WHvX64RegisterXmm2 = 4098,
    WHvX64RegisterXmm3 = 4099,
    WHvX64RegisterXmm4 = 4100,
    WHvX64RegisterXmm5 = 4101,
    WHvX64RegisterXmm6 = 4102,
    WHvX64RegisterXmm7 = 4103,
    WHvX64RegisterXmm8 = 4104,
    WHvX64RegisterXmm9 = 4105,
    WHvX64RegisterXmm10 = 4106,
    WHvX64RegisterXmm11 = 4107,
    WHvX64RegisterXmm12 = 4108,
    WHvX64RegisterXmm13 = 4109,
    WHvX64RegisterXmm14 = 4110,
    WHvX64RegisterXmm15 = 4111,
    WHvX64RegisterFpMmx0 = 4112,
    WHvX64RegisterFpMmx1 = 4113,
    WHvX64RegisterFpMmx2 = 4114,
    WHvX64RegisterFpMmx3 = 4115,
    WHvX64RegisterFpMmx4 = 4116,
    WHvX64RegisterFpMmx5 = 4117,
    WHvX64RegisterFpMmx6 = 4118,
    WHvX64RegisterFpMmx7 = 4119,
    WHvX64RegisterFpControlStatus = 4120,
    WHvX64RegisterXmmControlStatus = 4121,
    WHvX64RegisterTsc = 8192,
    WHvX64RegisterEfer = 8193,
    WHvX64RegisterKernelGsBase = 8194,
    WHvX64RegisterApicBase = 8195,
    WHvX64RegisterPat = 8196,
    WHvX64RegisterSysenterCs = 8197,
    WHvX64RegisterSysenterEip = 8198,
    WHvX64RegisterSysenterEsp = 8199,
    WHvX64RegisterStar = 8200,
    WHvX64RegisterLstar = 8201,
    WHvX64RegisterCstar = 8202,
    WHvX64RegisterSfmask = 8203,
    WHvX64RegisterInitialApicId = 8204,
    WHvX64RegisterMsrMtrrCap = 8205,
    WHvX64RegisterMsrMtrrDefType = 8206,
    WHvX64RegisterMsrMtrrPhysBase0 = 8208,
    WHvX64RegisterMsrMtrrPhysBase1 = 8209,
    WHvX64RegisterMsrMtrrPhysBase2 = 8210,
    WHvX64RegisterMsrMtrrPhysBase3 = 8211,
    WHvX64RegisterMsrMtrrPhysBase4 = 8212,
    WHvX64RegisterMsrMtrrPhysBase5 = 8213,
    WHvX64RegisterMsrMtrrPhysBase6 = 8214,
    WHvX64RegisterMsrMtrrPhysBase7 = 8215,
    WHvX64RegisterMsrMtrrPhysBase8 = 8216,
    WHvX64RegisterMsrMtrrPhysBase9 = 8217,
    WHvX64RegisterMsrMtrrPhysBaseA = 8218,
    WHvX64RegisterMsrMtrrPhysBaseB = 8219,
    WHvX64RegisterMsrMtrrPhysBaseC = 8220,
    WHvX64RegisterMsrMtrrPhysBaseD = 8221,
    WHvX64RegisterMsrMtrrPhysBaseE = 8222,
    WHvX64RegisterMsrMtrrPhysBaseF = 8223,
    WHvX64RegisterMsrMtrrPhysMask0 = 8256,
    WHvX64RegisterMsrMtrrPhysMask1 = 8257,
    WHvX64RegisterMsrMtrrPhysMask2 = 8258,
    WHvX64RegisterMsrMtrrPhysMask3 = 8259,
    WHvX64RegisterMsrMtrrPhysMask4 = 8260,
    WHvX64RegisterMsrMtrrPhysMask5 = 8261,
    WHvX64RegisterMsrMtrrPhysMask6 = 8262,
    WHvX64RegisterMsrMtrrPhysMask7 = 8263,
    WHvX64RegisterMsrMtrrPhysMask8 = 8264,
    WHvX64RegisterMsrMtrrPhysMask9 = 8265,
    WHvX64RegisterMsrMtrrPhysMaskA = 8266,
    WHvX64RegisterMsrMtrrPhysMaskB = 8267,
    WHvX64RegisterMsrMtrrPhysMaskC = 8268,
    WHvX64RegisterMsrMtrrPhysMaskD = 8269,
    WHvX64RegisterMsrMtrrPhysMaskE = 8270,
    WHvX64RegisterMsrMtrrPhysMaskF = 8271,
    WHvX64RegisterMsrMtrrFix64k00000 = 8304,
    WHvX64RegisterMsrMtrrFix16k80000 = 8305,
    WHvX64RegisterMsrMtrrFix16kA0000 = 8306,
    WHvX64RegisterMsrMtrrFix4kC0000 = 8307,
    WHvX64RegisterMsrMtrrFix4kC8000 = 8308,
    WHvX64RegisterMsrMtrrFix4kD0000 = 8309,
    WHvX64RegisterMsrMtrrFix4kD8000 = 8310,
    WHvX64RegisterMsrMtrrFix4kE0000 = 8311,
    WHvX64RegisterMsrMtrrFix4kE8000 = 8312,
    WHvX64RegisterMsrMtrrFix4kF0000 = 8313,
    WHvX64RegisterMsrMtrrFix4kF8000 = 8314,
    WHvX64RegisterTscAux = 8315,
    WHvX64RegisterBndcfgs = 8316,
    WHvX64RegisterMCount = 8318,
    WHvX64RegisterACount = 8319,
    WHvX64RegisterSpecCtrl = 8324,
    WHvX64RegisterPredCmd = 8325,
    WHvX64RegisterTscVirtualOffset = 8327,
    WHvX64RegisterTsxCtrl = 8328,
    WHvX64RegisterXss = 8331,
    WHvX64RegisterUCet = 8332,
    WHvX64RegisterSCet = 8333,
    WHvX64RegisterSsp = 8334,
    WHvX64RegisterPl0Ssp = 8335,
    WHvX64RegisterPl1Ssp = 8336,
    WHvX64RegisterPl2Ssp = 8337,
    WHvX64RegisterPl3Ssp = 8338,
    WHvX64RegisterInterruptSspTableAddr = 8339,
    WHvX64RegisterTscDeadline = 8341,
    WHvX64RegisterTscAdjust = 8342,
    WHvX64RegisterUmwaitControl = 8344,
    WHvX64RegisterXfd = 8345,
    WHvX64RegisterXfdErr = 8346,
    WHvX64RegisterApicId = 12290,
    WHvX64RegisterApicVersion = 12291,
    WHvX64RegisterApicTpr = 12296,
    WHvX64RegisterApicPpr = 12298,
    WHvX64RegisterApicEoi = 12299,
    WHvX64RegisterApicLdr = 12301,
    WHvX64RegisterApicSpurious = 12303,
    WHvX64RegisterApicIsr0 = 12304,
    WHvX64RegisterApicIsr1 = 12305,
    WHvX64RegisterApicIsr2 = 12306,
    WHvX64RegisterApicIsr3 = 12307,
    WHvX64RegisterApicIsr4 = 12308,
    WHvX64RegisterApicIsr5 = 12309,
    WHvX64RegisterApicIsr6 = 12310,
    WHvX64RegisterApicIsr7 = 12311,
    WHvX64RegisterApicTmr0 = 12312,
    WHvX64RegisterApicTmr1 = 12313,
    WHvX64RegisterApicTmr2 = 12314,
    WHvX64RegisterApicTmr3 = 12315,
    WHvX64RegisterApicTmr4 = 12316,
    WHvX64RegisterApicTmr5 = 12317,
    WHvX64RegisterApicTmr6 = 12318,
    WHvX64RegisterApicTmr7 = 12319,
    WHvX64RegisterApicIrr0 = 12320,
    WHvX64RegisterApicIrr1 = 12321,
    WHvX64RegisterApicIrr2 = 12322,
    WHvX64RegisterApicIrr3 = 12323,
    WHvX64RegisterApicIrr4 = 12324,
    WHvX64RegisterApicIrr5 = 12325,
    WHvX64RegisterApicIrr6 = 12326,
    WHvX64RegisterApicIrr7 = 12327,
    WHvX64RegisterApicEse = 12328,
    WHvX64RegisterApicIcr = 12336,
    WHvX64RegisterApicLvtTimer = 12338,
    WHvX64RegisterApicLvtThermal = 12339,
    WHvX64RegisterApicLvtPerfmon = 12340,
    WHvX64RegisterApicLvtLint0 = 12341,
    WHvX64RegisterApicLvtLint1 = 12342,
    WHvX64RegisterApicLvtError = 12343,
    WHvX64RegisterApicInitCount = 12344,
    WHvX64RegisterApicCurrentCount = 12345,
    WHvX64RegisterApicDivide = 12350,
    WHvX64RegisterApicSelfIpi = 12351,
    WHvRegisterSint0 = 16384,
    WHvRegisterSint1 = 16385,
    WHvRegisterSint2 = 16386,
    WHvRegisterSint3 = 16387,
    WHvRegisterSint4 = 16388,
    WHvRegisterSint5 = 16389,
    WHvRegisterSint6 = 16390,
    WHvRegisterSint7 = 16391,
    WHvRegisterSint8 = 16392,
    WHvRegisterSint9 = 16393,
    WHvRegisterSint10 = 16394,
    WHvRegisterSint11 = 16395,
    WHvRegisterSint12 = 16396,
    WHvRegisterSint13 = 16397,
    WHvRegisterSint14 = 16398,
    WHvRegisterSint15 = 16399,
    WHvRegisterScontrol = 16400,
    WHvRegisterSversion = 16401,
    WHvRegisterSiefp = 16402,
    WHvRegisterSimp = 16403,
    WHvRegisterEom = 16404,
    WHvRegisterVpRuntime = 20480,
    WHvX64RegisterHypercall = 20481,
    WHvRegisterGuestOsId = 20482,
    WHvRegisterVpAssistPage = 20499,
    WHvRegisterReferenceTsc = 20503,
    WHvRegisterReferenceTscSequence = 20506,
    WHvRegisterPendingInterruption = -2147483648,
    WHvRegisterInterruptState = -2147483647,
    WHvRegisterPendingEvent = -2147483646,
    WHvX64RegisterDeliverabilityNotifications = -2147483644,
    WHvRegisterInternalActivityState = -2147483643,
    WHvX64RegisterPendingDebugException = -2147483642
} WHV_REGISTER_NAME;
public enum WHV_REGISTER_NAME : int
{
    WHvX64RegisterRax = 0,
    WHvX64RegisterRcx = 1,
    WHvX64RegisterRdx = 2,
    WHvX64RegisterRbx = 3,
    WHvX64RegisterRsp = 4,
    WHvX64RegisterRbp = 5,
    WHvX64RegisterRsi = 6,
    WHvX64RegisterRdi = 7,
    WHvX64RegisterR8 = 8,
    WHvX64RegisterR9 = 9,
    WHvX64RegisterR10 = 10,
    WHvX64RegisterR11 = 11,
    WHvX64RegisterR12 = 12,
    WHvX64RegisterR13 = 13,
    WHvX64RegisterR14 = 14,
    WHvX64RegisterR15 = 15,
    WHvX64RegisterRip = 16,
    WHvX64RegisterRflags = 17,
    WHvX64RegisterEs = 18,
    WHvX64RegisterCs = 19,
    WHvX64RegisterSs = 20,
    WHvX64RegisterDs = 21,
    WHvX64RegisterFs = 22,
    WHvX64RegisterGs = 23,
    WHvX64RegisterLdtr = 24,
    WHvX64RegisterTr = 25,
    WHvX64RegisterIdtr = 26,
    WHvX64RegisterGdtr = 27,
    WHvX64RegisterCr0 = 28,
    WHvX64RegisterCr2 = 29,
    WHvX64RegisterCr3 = 30,
    WHvX64RegisterCr4 = 31,
    WHvX64RegisterCr8 = 32,
    WHvX64RegisterDr0 = 33,
    WHvX64RegisterDr1 = 34,
    WHvX64RegisterDr2 = 35,
    WHvX64RegisterDr3 = 36,
    WHvX64RegisterDr6 = 37,
    WHvX64RegisterDr7 = 38,
    WHvX64RegisterXCr0 = 39,
    WHvX64RegisterVirtualCr0 = 40,
    WHvX64RegisterVirtualCr3 = 41,
    WHvX64RegisterVirtualCr4 = 42,
    WHvX64RegisterVirtualCr8 = 43,
    WHvX64RegisterXmm0 = 4096,
    WHvX64RegisterXmm1 = 4097,
    WHvX64RegisterXmm2 = 4098,
    WHvX64RegisterXmm3 = 4099,
    WHvX64RegisterXmm4 = 4100,
    WHvX64RegisterXmm5 = 4101,
    WHvX64RegisterXmm6 = 4102,
    WHvX64RegisterXmm7 = 4103,
    WHvX64RegisterXmm8 = 4104,
    WHvX64RegisterXmm9 = 4105,
    WHvX64RegisterXmm10 = 4106,
    WHvX64RegisterXmm11 = 4107,
    WHvX64RegisterXmm12 = 4108,
    WHvX64RegisterXmm13 = 4109,
    WHvX64RegisterXmm14 = 4110,
    WHvX64RegisterXmm15 = 4111,
    WHvX64RegisterFpMmx0 = 4112,
    WHvX64RegisterFpMmx1 = 4113,
    WHvX64RegisterFpMmx2 = 4114,
    WHvX64RegisterFpMmx3 = 4115,
    WHvX64RegisterFpMmx4 = 4116,
    WHvX64RegisterFpMmx5 = 4117,
    WHvX64RegisterFpMmx6 = 4118,
    WHvX64RegisterFpMmx7 = 4119,
    WHvX64RegisterFpControlStatus = 4120,
    WHvX64RegisterXmmControlStatus = 4121,
    WHvX64RegisterTsc = 8192,
    WHvX64RegisterEfer = 8193,
    WHvX64RegisterKernelGsBase = 8194,
    WHvX64RegisterApicBase = 8195,
    WHvX64RegisterPat = 8196,
    WHvX64RegisterSysenterCs = 8197,
    WHvX64RegisterSysenterEip = 8198,
    WHvX64RegisterSysenterEsp = 8199,
    WHvX64RegisterStar = 8200,
    WHvX64RegisterLstar = 8201,
    WHvX64RegisterCstar = 8202,
    WHvX64RegisterSfmask = 8203,
    WHvX64RegisterInitialApicId = 8204,
    WHvX64RegisterMsrMtrrCap = 8205,
    WHvX64RegisterMsrMtrrDefType = 8206,
    WHvX64RegisterMsrMtrrPhysBase0 = 8208,
    WHvX64RegisterMsrMtrrPhysBase1 = 8209,
    WHvX64RegisterMsrMtrrPhysBase2 = 8210,
    WHvX64RegisterMsrMtrrPhysBase3 = 8211,
    WHvX64RegisterMsrMtrrPhysBase4 = 8212,
    WHvX64RegisterMsrMtrrPhysBase5 = 8213,
    WHvX64RegisterMsrMtrrPhysBase6 = 8214,
    WHvX64RegisterMsrMtrrPhysBase7 = 8215,
    WHvX64RegisterMsrMtrrPhysBase8 = 8216,
    WHvX64RegisterMsrMtrrPhysBase9 = 8217,
    WHvX64RegisterMsrMtrrPhysBaseA = 8218,
    WHvX64RegisterMsrMtrrPhysBaseB = 8219,
    WHvX64RegisterMsrMtrrPhysBaseC = 8220,
    WHvX64RegisterMsrMtrrPhysBaseD = 8221,
    WHvX64RegisterMsrMtrrPhysBaseE = 8222,
    WHvX64RegisterMsrMtrrPhysBaseF = 8223,
    WHvX64RegisterMsrMtrrPhysMask0 = 8256,
    WHvX64RegisterMsrMtrrPhysMask1 = 8257,
    WHvX64RegisterMsrMtrrPhysMask2 = 8258,
    WHvX64RegisterMsrMtrrPhysMask3 = 8259,
    WHvX64RegisterMsrMtrrPhysMask4 = 8260,
    WHvX64RegisterMsrMtrrPhysMask5 = 8261,
    WHvX64RegisterMsrMtrrPhysMask6 = 8262,
    WHvX64RegisterMsrMtrrPhysMask7 = 8263,
    WHvX64RegisterMsrMtrrPhysMask8 = 8264,
    WHvX64RegisterMsrMtrrPhysMask9 = 8265,
    WHvX64RegisterMsrMtrrPhysMaskA = 8266,
    WHvX64RegisterMsrMtrrPhysMaskB = 8267,
    WHvX64RegisterMsrMtrrPhysMaskC = 8268,
    WHvX64RegisterMsrMtrrPhysMaskD = 8269,
    WHvX64RegisterMsrMtrrPhysMaskE = 8270,
    WHvX64RegisterMsrMtrrPhysMaskF = 8271,
    WHvX64RegisterMsrMtrrFix64k00000 = 8304,
    WHvX64RegisterMsrMtrrFix16k80000 = 8305,
    WHvX64RegisterMsrMtrrFix16kA0000 = 8306,
    WHvX64RegisterMsrMtrrFix4kC0000 = 8307,
    WHvX64RegisterMsrMtrrFix4kC8000 = 8308,
    WHvX64RegisterMsrMtrrFix4kD0000 = 8309,
    WHvX64RegisterMsrMtrrFix4kD8000 = 8310,
    WHvX64RegisterMsrMtrrFix4kE0000 = 8311,
    WHvX64RegisterMsrMtrrFix4kE8000 = 8312,
    WHvX64RegisterMsrMtrrFix4kF0000 = 8313,
    WHvX64RegisterMsrMtrrFix4kF8000 = 8314,
    WHvX64RegisterTscAux = 8315,
    WHvX64RegisterBndcfgs = 8316,
    WHvX64RegisterMCount = 8318,
    WHvX64RegisterACount = 8319,
    WHvX64RegisterSpecCtrl = 8324,
    WHvX64RegisterPredCmd = 8325,
    WHvX64RegisterTscVirtualOffset = 8327,
    WHvX64RegisterTsxCtrl = 8328,
    WHvX64RegisterXss = 8331,
    WHvX64RegisterUCet = 8332,
    WHvX64RegisterSCet = 8333,
    WHvX64RegisterSsp = 8334,
    WHvX64RegisterPl0Ssp = 8335,
    WHvX64RegisterPl1Ssp = 8336,
    WHvX64RegisterPl2Ssp = 8337,
    WHvX64RegisterPl3Ssp = 8338,
    WHvX64RegisterInterruptSspTableAddr = 8339,
    WHvX64RegisterTscDeadline = 8341,
    WHvX64RegisterTscAdjust = 8342,
    WHvX64RegisterUmwaitControl = 8344,
    WHvX64RegisterXfd = 8345,
    WHvX64RegisterXfdErr = 8346,
    WHvX64RegisterApicId = 12290,
    WHvX64RegisterApicVersion = 12291,
    WHvX64RegisterApicTpr = 12296,
    WHvX64RegisterApicPpr = 12298,
    WHvX64RegisterApicEoi = 12299,
    WHvX64RegisterApicLdr = 12301,
    WHvX64RegisterApicSpurious = 12303,
    WHvX64RegisterApicIsr0 = 12304,
    WHvX64RegisterApicIsr1 = 12305,
    WHvX64RegisterApicIsr2 = 12306,
    WHvX64RegisterApicIsr3 = 12307,
    WHvX64RegisterApicIsr4 = 12308,
    WHvX64RegisterApicIsr5 = 12309,
    WHvX64RegisterApicIsr6 = 12310,
    WHvX64RegisterApicIsr7 = 12311,
    WHvX64RegisterApicTmr0 = 12312,
    WHvX64RegisterApicTmr1 = 12313,
    WHvX64RegisterApicTmr2 = 12314,
    WHvX64RegisterApicTmr3 = 12315,
    WHvX64RegisterApicTmr4 = 12316,
    WHvX64RegisterApicTmr5 = 12317,
    WHvX64RegisterApicTmr6 = 12318,
    WHvX64RegisterApicTmr7 = 12319,
    WHvX64RegisterApicIrr0 = 12320,
    WHvX64RegisterApicIrr1 = 12321,
    WHvX64RegisterApicIrr2 = 12322,
    WHvX64RegisterApicIrr3 = 12323,
    WHvX64RegisterApicIrr4 = 12324,
    WHvX64RegisterApicIrr5 = 12325,
    WHvX64RegisterApicIrr6 = 12326,
    WHvX64RegisterApicIrr7 = 12327,
    WHvX64RegisterApicEse = 12328,
    WHvX64RegisterApicIcr = 12336,
    WHvX64RegisterApicLvtTimer = 12338,
    WHvX64RegisterApicLvtThermal = 12339,
    WHvX64RegisterApicLvtPerfmon = 12340,
    WHvX64RegisterApicLvtLint0 = 12341,
    WHvX64RegisterApicLvtLint1 = 12342,
    WHvX64RegisterApicLvtError = 12343,
    WHvX64RegisterApicInitCount = 12344,
    WHvX64RegisterApicCurrentCount = 12345,
    WHvX64RegisterApicDivide = 12350,
    WHvX64RegisterApicSelfIpi = 12351,
    WHvRegisterSint0 = 16384,
    WHvRegisterSint1 = 16385,
    WHvRegisterSint2 = 16386,
    WHvRegisterSint3 = 16387,
    WHvRegisterSint4 = 16388,
    WHvRegisterSint5 = 16389,
    WHvRegisterSint6 = 16390,
    WHvRegisterSint7 = 16391,
    WHvRegisterSint8 = 16392,
    WHvRegisterSint9 = 16393,
    WHvRegisterSint10 = 16394,
    WHvRegisterSint11 = 16395,
    WHvRegisterSint12 = 16396,
    WHvRegisterSint13 = 16397,
    WHvRegisterSint14 = 16398,
    WHvRegisterSint15 = 16399,
    WHvRegisterScontrol = 16400,
    WHvRegisterSversion = 16401,
    WHvRegisterSiefp = 16402,
    WHvRegisterSimp = 16403,
    WHvRegisterEom = 16404,
    WHvRegisterVpRuntime = 20480,
    WHvX64RegisterHypercall = 20481,
    WHvRegisterGuestOsId = 20482,
    WHvRegisterVpAssistPage = 20499,
    WHvRegisterReferenceTsc = 20503,
    WHvRegisterReferenceTscSequence = 20506,
    WHvRegisterPendingInterruption = -2147483648,
    WHvRegisterInterruptState = -2147483647,
    WHvRegisterPendingEvent = -2147483646,
    WHvX64RegisterDeliverabilityNotifications = -2147483644,
    WHvRegisterInternalActivityState = -2147483643,
    WHvX64RegisterPendingDebugException = -2147483642,
}
Public Enum WHV_REGISTER_NAME As Integer
    WHvX64RegisterRax = 0
    WHvX64RegisterRcx = 1
    WHvX64RegisterRdx = 2
    WHvX64RegisterRbx = 3
    WHvX64RegisterRsp = 4
    WHvX64RegisterRbp = 5
    WHvX64RegisterRsi = 6
    WHvX64RegisterRdi = 7
    WHvX64RegisterR8 = 8
    WHvX64RegisterR9 = 9
    WHvX64RegisterR10 = 10
    WHvX64RegisterR11 = 11
    WHvX64RegisterR12 = 12
    WHvX64RegisterR13 = 13
    WHvX64RegisterR14 = 14
    WHvX64RegisterR15 = 15
    WHvX64RegisterRip = 16
    WHvX64RegisterRflags = 17
    WHvX64RegisterEs = 18
    WHvX64RegisterCs = 19
    WHvX64RegisterSs = 20
    WHvX64RegisterDs = 21
    WHvX64RegisterFs = 22
    WHvX64RegisterGs = 23
    WHvX64RegisterLdtr = 24
    WHvX64RegisterTr = 25
    WHvX64RegisterIdtr = 26
    WHvX64RegisterGdtr = 27
    WHvX64RegisterCr0 = 28
    WHvX64RegisterCr2 = 29
    WHvX64RegisterCr3 = 30
    WHvX64RegisterCr4 = 31
    WHvX64RegisterCr8 = 32
    WHvX64RegisterDr0 = 33
    WHvX64RegisterDr1 = 34
    WHvX64RegisterDr2 = 35
    WHvX64RegisterDr3 = 36
    WHvX64RegisterDr6 = 37
    WHvX64RegisterDr7 = 38
    WHvX64RegisterXCr0 = 39
    WHvX64RegisterVirtualCr0 = 40
    WHvX64RegisterVirtualCr3 = 41
    WHvX64RegisterVirtualCr4 = 42
    WHvX64RegisterVirtualCr8 = 43
    WHvX64RegisterXmm0 = 4096
    WHvX64RegisterXmm1 = 4097
    WHvX64RegisterXmm2 = 4098
    WHvX64RegisterXmm3 = 4099
    WHvX64RegisterXmm4 = 4100
    WHvX64RegisterXmm5 = 4101
    WHvX64RegisterXmm6 = 4102
    WHvX64RegisterXmm7 = 4103
    WHvX64RegisterXmm8 = 4104
    WHvX64RegisterXmm9 = 4105
    WHvX64RegisterXmm10 = 4106
    WHvX64RegisterXmm11 = 4107
    WHvX64RegisterXmm12 = 4108
    WHvX64RegisterXmm13 = 4109
    WHvX64RegisterXmm14 = 4110
    WHvX64RegisterXmm15 = 4111
    WHvX64RegisterFpMmx0 = 4112
    WHvX64RegisterFpMmx1 = 4113
    WHvX64RegisterFpMmx2 = 4114
    WHvX64RegisterFpMmx3 = 4115
    WHvX64RegisterFpMmx4 = 4116
    WHvX64RegisterFpMmx5 = 4117
    WHvX64RegisterFpMmx6 = 4118
    WHvX64RegisterFpMmx7 = 4119
    WHvX64RegisterFpControlStatus = 4120
    WHvX64RegisterXmmControlStatus = 4121
    WHvX64RegisterTsc = 8192
    WHvX64RegisterEfer = 8193
    WHvX64RegisterKernelGsBase = 8194
    WHvX64RegisterApicBase = 8195
    WHvX64RegisterPat = 8196
    WHvX64RegisterSysenterCs = 8197
    WHvX64RegisterSysenterEip = 8198
    WHvX64RegisterSysenterEsp = 8199
    WHvX64RegisterStar = 8200
    WHvX64RegisterLstar = 8201
    WHvX64RegisterCstar = 8202
    WHvX64RegisterSfmask = 8203
    WHvX64RegisterInitialApicId = 8204
    WHvX64RegisterMsrMtrrCap = 8205
    WHvX64RegisterMsrMtrrDefType = 8206
    WHvX64RegisterMsrMtrrPhysBase0 = 8208
    WHvX64RegisterMsrMtrrPhysBase1 = 8209
    WHvX64RegisterMsrMtrrPhysBase2 = 8210
    WHvX64RegisterMsrMtrrPhysBase3 = 8211
    WHvX64RegisterMsrMtrrPhysBase4 = 8212
    WHvX64RegisterMsrMtrrPhysBase5 = 8213
    WHvX64RegisterMsrMtrrPhysBase6 = 8214
    WHvX64RegisterMsrMtrrPhysBase7 = 8215
    WHvX64RegisterMsrMtrrPhysBase8 = 8216
    WHvX64RegisterMsrMtrrPhysBase9 = 8217
    WHvX64RegisterMsrMtrrPhysBaseA = 8218
    WHvX64RegisterMsrMtrrPhysBaseB = 8219
    WHvX64RegisterMsrMtrrPhysBaseC = 8220
    WHvX64RegisterMsrMtrrPhysBaseD = 8221
    WHvX64RegisterMsrMtrrPhysBaseE = 8222
    WHvX64RegisterMsrMtrrPhysBaseF = 8223
    WHvX64RegisterMsrMtrrPhysMask0 = 8256
    WHvX64RegisterMsrMtrrPhysMask1 = 8257
    WHvX64RegisterMsrMtrrPhysMask2 = 8258
    WHvX64RegisterMsrMtrrPhysMask3 = 8259
    WHvX64RegisterMsrMtrrPhysMask4 = 8260
    WHvX64RegisterMsrMtrrPhysMask5 = 8261
    WHvX64RegisterMsrMtrrPhysMask6 = 8262
    WHvX64RegisterMsrMtrrPhysMask7 = 8263
    WHvX64RegisterMsrMtrrPhysMask8 = 8264
    WHvX64RegisterMsrMtrrPhysMask9 = 8265
    WHvX64RegisterMsrMtrrPhysMaskA = 8266
    WHvX64RegisterMsrMtrrPhysMaskB = 8267
    WHvX64RegisterMsrMtrrPhysMaskC = 8268
    WHvX64RegisterMsrMtrrPhysMaskD = 8269
    WHvX64RegisterMsrMtrrPhysMaskE = 8270
    WHvX64RegisterMsrMtrrPhysMaskF = 8271
    WHvX64RegisterMsrMtrrFix64k00000 = 8304
    WHvX64RegisterMsrMtrrFix16k80000 = 8305
    WHvX64RegisterMsrMtrrFix16kA0000 = 8306
    WHvX64RegisterMsrMtrrFix4kC0000 = 8307
    WHvX64RegisterMsrMtrrFix4kC8000 = 8308
    WHvX64RegisterMsrMtrrFix4kD0000 = 8309
    WHvX64RegisterMsrMtrrFix4kD8000 = 8310
    WHvX64RegisterMsrMtrrFix4kE0000 = 8311
    WHvX64RegisterMsrMtrrFix4kE8000 = 8312
    WHvX64RegisterMsrMtrrFix4kF0000 = 8313
    WHvX64RegisterMsrMtrrFix4kF8000 = 8314
    WHvX64RegisterTscAux = 8315
    WHvX64RegisterBndcfgs = 8316
    WHvX64RegisterMCount = 8318
    WHvX64RegisterACount = 8319
    WHvX64RegisterSpecCtrl = 8324
    WHvX64RegisterPredCmd = 8325
    WHvX64RegisterTscVirtualOffset = 8327
    WHvX64RegisterTsxCtrl = 8328
    WHvX64RegisterXss = 8331
    WHvX64RegisterUCet = 8332
    WHvX64RegisterSCet = 8333
    WHvX64RegisterSsp = 8334
    WHvX64RegisterPl0Ssp = 8335
    WHvX64RegisterPl1Ssp = 8336
    WHvX64RegisterPl2Ssp = 8337
    WHvX64RegisterPl3Ssp = 8338
    WHvX64RegisterInterruptSspTableAddr = 8339
    WHvX64RegisterTscDeadline = 8341
    WHvX64RegisterTscAdjust = 8342
    WHvX64RegisterUmwaitControl = 8344
    WHvX64RegisterXfd = 8345
    WHvX64RegisterXfdErr = 8346
    WHvX64RegisterApicId = 12290
    WHvX64RegisterApicVersion = 12291
    WHvX64RegisterApicTpr = 12296
    WHvX64RegisterApicPpr = 12298
    WHvX64RegisterApicEoi = 12299
    WHvX64RegisterApicLdr = 12301
    WHvX64RegisterApicSpurious = 12303
    WHvX64RegisterApicIsr0 = 12304
    WHvX64RegisterApicIsr1 = 12305
    WHvX64RegisterApicIsr2 = 12306
    WHvX64RegisterApicIsr3 = 12307
    WHvX64RegisterApicIsr4 = 12308
    WHvX64RegisterApicIsr5 = 12309
    WHvX64RegisterApicIsr6 = 12310
    WHvX64RegisterApicIsr7 = 12311
    WHvX64RegisterApicTmr0 = 12312
    WHvX64RegisterApicTmr1 = 12313
    WHvX64RegisterApicTmr2 = 12314
    WHvX64RegisterApicTmr3 = 12315
    WHvX64RegisterApicTmr4 = 12316
    WHvX64RegisterApicTmr5 = 12317
    WHvX64RegisterApicTmr6 = 12318
    WHvX64RegisterApicTmr7 = 12319
    WHvX64RegisterApicIrr0 = 12320
    WHvX64RegisterApicIrr1 = 12321
    WHvX64RegisterApicIrr2 = 12322
    WHvX64RegisterApicIrr3 = 12323
    WHvX64RegisterApicIrr4 = 12324
    WHvX64RegisterApicIrr5 = 12325
    WHvX64RegisterApicIrr6 = 12326
    WHvX64RegisterApicIrr7 = 12327
    WHvX64RegisterApicEse = 12328
    WHvX64RegisterApicIcr = 12336
    WHvX64RegisterApicLvtTimer = 12338
    WHvX64RegisterApicLvtThermal = 12339
    WHvX64RegisterApicLvtPerfmon = 12340
    WHvX64RegisterApicLvtLint0 = 12341
    WHvX64RegisterApicLvtLint1 = 12342
    WHvX64RegisterApicLvtError = 12343
    WHvX64RegisterApicInitCount = 12344
    WHvX64RegisterApicCurrentCount = 12345
    WHvX64RegisterApicDivide = 12350
    WHvX64RegisterApicSelfIpi = 12351
    WHvRegisterSint0 = 16384
    WHvRegisterSint1 = 16385
    WHvRegisterSint2 = 16386
    WHvRegisterSint3 = 16387
    WHvRegisterSint4 = 16388
    WHvRegisterSint5 = 16389
    WHvRegisterSint6 = 16390
    WHvRegisterSint7 = 16391
    WHvRegisterSint8 = 16392
    WHvRegisterSint9 = 16393
    WHvRegisterSint10 = 16394
    WHvRegisterSint11 = 16395
    WHvRegisterSint12 = 16396
    WHvRegisterSint13 = 16397
    WHvRegisterSint14 = 16398
    WHvRegisterSint15 = 16399
    WHvRegisterScontrol = 16400
    WHvRegisterSversion = 16401
    WHvRegisterSiefp = 16402
    WHvRegisterSimp = 16403
    WHvRegisterEom = 16404
    WHvRegisterVpRuntime = 20480
    WHvX64RegisterHypercall = 20481
    WHvRegisterGuestOsId = 20482
    WHvRegisterVpAssistPage = 20499
    WHvRegisterReferenceTsc = 20503
    WHvRegisterReferenceTscSequence = 20506
    WHvRegisterPendingInterruption = -2147483648
    WHvRegisterInterruptState = -2147483647
    WHvRegisterPendingEvent = -2147483646
    WHvX64RegisterDeliverabilityNotifications = -2147483644
    WHvRegisterInternalActivityState = -2147483643
    WHvX64RegisterPendingDebugException = -2147483642
End Enum
import enum

class WHV_REGISTER_NAME(enum.IntEnum):
    WHvX64RegisterRax = 0
    WHvX64RegisterRcx = 1
    WHvX64RegisterRdx = 2
    WHvX64RegisterRbx = 3
    WHvX64RegisterRsp = 4
    WHvX64RegisterRbp = 5
    WHvX64RegisterRsi = 6
    WHvX64RegisterRdi = 7
    WHvX64RegisterR8 = 8
    WHvX64RegisterR9 = 9
    WHvX64RegisterR10 = 10
    WHvX64RegisterR11 = 11
    WHvX64RegisterR12 = 12
    WHvX64RegisterR13 = 13
    WHvX64RegisterR14 = 14
    WHvX64RegisterR15 = 15
    WHvX64RegisterRip = 16
    WHvX64RegisterRflags = 17
    WHvX64RegisterEs = 18
    WHvX64RegisterCs = 19
    WHvX64RegisterSs = 20
    WHvX64RegisterDs = 21
    WHvX64RegisterFs = 22
    WHvX64RegisterGs = 23
    WHvX64RegisterLdtr = 24
    WHvX64RegisterTr = 25
    WHvX64RegisterIdtr = 26
    WHvX64RegisterGdtr = 27
    WHvX64RegisterCr0 = 28
    WHvX64RegisterCr2 = 29
    WHvX64RegisterCr3 = 30
    WHvX64RegisterCr4 = 31
    WHvX64RegisterCr8 = 32
    WHvX64RegisterDr0 = 33
    WHvX64RegisterDr1 = 34
    WHvX64RegisterDr2 = 35
    WHvX64RegisterDr3 = 36
    WHvX64RegisterDr6 = 37
    WHvX64RegisterDr7 = 38
    WHvX64RegisterXCr0 = 39
    WHvX64RegisterVirtualCr0 = 40
    WHvX64RegisterVirtualCr3 = 41
    WHvX64RegisterVirtualCr4 = 42
    WHvX64RegisterVirtualCr8 = 43
    WHvX64RegisterXmm0 = 4096
    WHvX64RegisterXmm1 = 4097
    WHvX64RegisterXmm2 = 4098
    WHvX64RegisterXmm3 = 4099
    WHvX64RegisterXmm4 = 4100
    WHvX64RegisterXmm5 = 4101
    WHvX64RegisterXmm6 = 4102
    WHvX64RegisterXmm7 = 4103
    WHvX64RegisterXmm8 = 4104
    WHvX64RegisterXmm9 = 4105
    WHvX64RegisterXmm10 = 4106
    WHvX64RegisterXmm11 = 4107
    WHvX64RegisterXmm12 = 4108
    WHvX64RegisterXmm13 = 4109
    WHvX64RegisterXmm14 = 4110
    WHvX64RegisterXmm15 = 4111
    WHvX64RegisterFpMmx0 = 4112
    WHvX64RegisterFpMmx1 = 4113
    WHvX64RegisterFpMmx2 = 4114
    WHvX64RegisterFpMmx3 = 4115
    WHvX64RegisterFpMmx4 = 4116
    WHvX64RegisterFpMmx5 = 4117
    WHvX64RegisterFpMmx6 = 4118
    WHvX64RegisterFpMmx7 = 4119
    WHvX64RegisterFpControlStatus = 4120
    WHvX64RegisterXmmControlStatus = 4121
    WHvX64RegisterTsc = 8192
    WHvX64RegisterEfer = 8193
    WHvX64RegisterKernelGsBase = 8194
    WHvX64RegisterApicBase = 8195
    WHvX64RegisterPat = 8196
    WHvX64RegisterSysenterCs = 8197
    WHvX64RegisterSysenterEip = 8198
    WHvX64RegisterSysenterEsp = 8199
    WHvX64RegisterStar = 8200
    WHvX64RegisterLstar = 8201
    WHvX64RegisterCstar = 8202
    WHvX64RegisterSfmask = 8203
    WHvX64RegisterInitialApicId = 8204
    WHvX64RegisterMsrMtrrCap = 8205
    WHvX64RegisterMsrMtrrDefType = 8206
    WHvX64RegisterMsrMtrrPhysBase0 = 8208
    WHvX64RegisterMsrMtrrPhysBase1 = 8209
    WHvX64RegisterMsrMtrrPhysBase2 = 8210
    WHvX64RegisterMsrMtrrPhysBase3 = 8211
    WHvX64RegisterMsrMtrrPhysBase4 = 8212
    WHvX64RegisterMsrMtrrPhysBase5 = 8213
    WHvX64RegisterMsrMtrrPhysBase6 = 8214
    WHvX64RegisterMsrMtrrPhysBase7 = 8215
    WHvX64RegisterMsrMtrrPhysBase8 = 8216
    WHvX64RegisterMsrMtrrPhysBase9 = 8217
    WHvX64RegisterMsrMtrrPhysBaseA = 8218
    WHvX64RegisterMsrMtrrPhysBaseB = 8219
    WHvX64RegisterMsrMtrrPhysBaseC = 8220
    WHvX64RegisterMsrMtrrPhysBaseD = 8221
    WHvX64RegisterMsrMtrrPhysBaseE = 8222
    WHvX64RegisterMsrMtrrPhysBaseF = 8223
    WHvX64RegisterMsrMtrrPhysMask0 = 8256
    WHvX64RegisterMsrMtrrPhysMask1 = 8257
    WHvX64RegisterMsrMtrrPhysMask2 = 8258
    WHvX64RegisterMsrMtrrPhysMask3 = 8259
    WHvX64RegisterMsrMtrrPhysMask4 = 8260
    WHvX64RegisterMsrMtrrPhysMask5 = 8261
    WHvX64RegisterMsrMtrrPhysMask6 = 8262
    WHvX64RegisterMsrMtrrPhysMask7 = 8263
    WHvX64RegisterMsrMtrrPhysMask8 = 8264
    WHvX64RegisterMsrMtrrPhysMask9 = 8265
    WHvX64RegisterMsrMtrrPhysMaskA = 8266
    WHvX64RegisterMsrMtrrPhysMaskB = 8267
    WHvX64RegisterMsrMtrrPhysMaskC = 8268
    WHvX64RegisterMsrMtrrPhysMaskD = 8269
    WHvX64RegisterMsrMtrrPhysMaskE = 8270
    WHvX64RegisterMsrMtrrPhysMaskF = 8271
    WHvX64RegisterMsrMtrrFix64k00000 = 8304
    WHvX64RegisterMsrMtrrFix16k80000 = 8305
    WHvX64RegisterMsrMtrrFix16kA0000 = 8306
    WHvX64RegisterMsrMtrrFix4kC0000 = 8307
    WHvX64RegisterMsrMtrrFix4kC8000 = 8308
    WHvX64RegisterMsrMtrrFix4kD0000 = 8309
    WHvX64RegisterMsrMtrrFix4kD8000 = 8310
    WHvX64RegisterMsrMtrrFix4kE0000 = 8311
    WHvX64RegisterMsrMtrrFix4kE8000 = 8312
    WHvX64RegisterMsrMtrrFix4kF0000 = 8313
    WHvX64RegisterMsrMtrrFix4kF8000 = 8314
    WHvX64RegisterTscAux = 8315
    WHvX64RegisterBndcfgs = 8316
    WHvX64RegisterMCount = 8318
    WHvX64RegisterACount = 8319
    WHvX64RegisterSpecCtrl = 8324
    WHvX64RegisterPredCmd = 8325
    WHvX64RegisterTscVirtualOffset = 8327
    WHvX64RegisterTsxCtrl = 8328
    WHvX64RegisterXss = 8331
    WHvX64RegisterUCet = 8332
    WHvX64RegisterSCet = 8333
    WHvX64RegisterSsp = 8334
    WHvX64RegisterPl0Ssp = 8335
    WHvX64RegisterPl1Ssp = 8336
    WHvX64RegisterPl2Ssp = 8337
    WHvX64RegisterPl3Ssp = 8338
    WHvX64RegisterInterruptSspTableAddr = 8339
    WHvX64RegisterTscDeadline = 8341
    WHvX64RegisterTscAdjust = 8342
    WHvX64RegisterUmwaitControl = 8344
    WHvX64RegisterXfd = 8345
    WHvX64RegisterXfdErr = 8346
    WHvX64RegisterApicId = 12290
    WHvX64RegisterApicVersion = 12291
    WHvX64RegisterApicTpr = 12296
    WHvX64RegisterApicPpr = 12298
    WHvX64RegisterApicEoi = 12299
    WHvX64RegisterApicLdr = 12301
    WHvX64RegisterApicSpurious = 12303
    WHvX64RegisterApicIsr0 = 12304
    WHvX64RegisterApicIsr1 = 12305
    WHvX64RegisterApicIsr2 = 12306
    WHvX64RegisterApicIsr3 = 12307
    WHvX64RegisterApicIsr4 = 12308
    WHvX64RegisterApicIsr5 = 12309
    WHvX64RegisterApicIsr6 = 12310
    WHvX64RegisterApicIsr7 = 12311
    WHvX64RegisterApicTmr0 = 12312
    WHvX64RegisterApicTmr1 = 12313
    WHvX64RegisterApicTmr2 = 12314
    WHvX64RegisterApicTmr3 = 12315
    WHvX64RegisterApicTmr4 = 12316
    WHvX64RegisterApicTmr5 = 12317
    WHvX64RegisterApicTmr6 = 12318
    WHvX64RegisterApicTmr7 = 12319
    WHvX64RegisterApicIrr0 = 12320
    WHvX64RegisterApicIrr1 = 12321
    WHvX64RegisterApicIrr2 = 12322
    WHvX64RegisterApicIrr3 = 12323
    WHvX64RegisterApicIrr4 = 12324
    WHvX64RegisterApicIrr5 = 12325
    WHvX64RegisterApicIrr6 = 12326
    WHvX64RegisterApicIrr7 = 12327
    WHvX64RegisterApicEse = 12328
    WHvX64RegisterApicIcr = 12336
    WHvX64RegisterApicLvtTimer = 12338
    WHvX64RegisterApicLvtThermal = 12339
    WHvX64RegisterApicLvtPerfmon = 12340
    WHvX64RegisterApicLvtLint0 = 12341
    WHvX64RegisterApicLvtLint1 = 12342
    WHvX64RegisterApicLvtError = 12343
    WHvX64RegisterApicInitCount = 12344
    WHvX64RegisterApicCurrentCount = 12345
    WHvX64RegisterApicDivide = 12350
    WHvX64RegisterApicSelfIpi = 12351
    WHvRegisterSint0 = 16384
    WHvRegisterSint1 = 16385
    WHvRegisterSint2 = 16386
    WHvRegisterSint3 = 16387
    WHvRegisterSint4 = 16388
    WHvRegisterSint5 = 16389
    WHvRegisterSint6 = 16390
    WHvRegisterSint7 = 16391
    WHvRegisterSint8 = 16392
    WHvRegisterSint9 = 16393
    WHvRegisterSint10 = 16394
    WHvRegisterSint11 = 16395
    WHvRegisterSint12 = 16396
    WHvRegisterSint13 = 16397
    WHvRegisterSint14 = 16398
    WHvRegisterSint15 = 16399
    WHvRegisterScontrol = 16400
    WHvRegisterSversion = 16401
    WHvRegisterSiefp = 16402
    WHvRegisterSimp = 16403
    WHvRegisterEom = 16404
    WHvRegisterVpRuntime = 20480
    WHvX64RegisterHypercall = 20481
    WHvRegisterGuestOsId = 20482
    WHvRegisterVpAssistPage = 20499
    WHvRegisterReferenceTsc = 20503
    WHvRegisterReferenceTscSequence = 20506
    WHvRegisterPendingInterruption = -2147483648
    WHvRegisterInterruptState = -2147483647
    WHvRegisterPendingEvent = -2147483646
    WHvX64RegisterDeliverabilityNotifications = -2147483644
    WHvRegisterInternalActivityState = -2147483643
    WHvX64RegisterPendingDebugException = -2147483642
// WHV_REGISTER_NAME
pub const WHvX64RegisterRax: i32 = 0;
pub const WHvX64RegisterRcx: i32 = 1;
pub const WHvX64RegisterRdx: i32 = 2;
pub const WHvX64RegisterRbx: i32 = 3;
pub const WHvX64RegisterRsp: i32 = 4;
pub const WHvX64RegisterRbp: i32 = 5;
pub const WHvX64RegisterRsi: i32 = 6;
pub const WHvX64RegisterRdi: i32 = 7;
pub const WHvX64RegisterR8: i32 = 8;
pub const WHvX64RegisterR9: i32 = 9;
pub const WHvX64RegisterR10: i32 = 10;
pub const WHvX64RegisterR11: i32 = 11;
pub const WHvX64RegisterR12: i32 = 12;
pub const WHvX64RegisterR13: i32 = 13;
pub const WHvX64RegisterR14: i32 = 14;
pub const WHvX64RegisterR15: i32 = 15;
pub const WHvX64RegisterRip: i32 = 16;
pub const WHvX64RegisterRflags: i32 = 17;
pub const WHvX64RegisterEs: i32 = 18;
pub const WHvX64RegisterCs: i32 = 19;
pub const WHvX64RegisterSs: i32 = 20;
pub const WHvX64RegisterDs: i32 = 21;
pub const WHvX64RegisterFs: i32 = 22;
pub const WHvX64RegisterGs: i32 = 23;
pub const WHvX64RegisterLdtr: i32 = 24;
pub const WHvX64RegisterTr: i32 = 25;
pub const WHvX64RegisterIdtr: i32 = 26;
pub const WHvX64RegisterGdtr: i32 = 27;
pub const WHvX64RegisterCr0: i32 = 28;
pub const WHvX64RegisterCr2: i32 = 29;
pub const WHvX64RegisterCr3: i32 = 30;
pub const WHvX64RegisterCr4: i32 = 31;
pub const WHvX64RegisterCr8: i32 = 32;
pub const WHvX64RegisterDr0: i32 = 33;
pub const WHvX64RegisterDr1: i32 = 34;
pub const WHvX64RegisterDr2: i32 = 35;
pub const WHvX64RegisterDr3: i32 = 36;
pub const WHvX64RegisterDr6: i32 = 37;
pub const WHvX64RegisterDr7: i32 = 38;
pub const WHvX64RegisterXCr0: i32 = 39;
pub const WHvX64RegisterVirtualCr0: i32 = 40;
pub const WHvX64RegisterVirtualCr3: i32 = 41;
pub const WHvX64RegisterVirtualCr4: i32 = 42;
pub const WHvX64RegisterVirtualCr8: i32 = 43;
pub const WHvX64RegisterXmm0: i32 = 4096;
pub const WHvX64RegisterXmm1: i32 = 4097;
pub const WHvX64RegisterXmm2: i32 = 4098;
pub const WHvX64RegisterXmm3: i32 = 4099;
pub const WHvX64RegisterXmm4: i32 = 4100;
pub const WHvX64RegisterXmm5: i32 = 4101;
pub const WHvX64RegisterXmm6: i32 = 4102;
pub const WHvX64RegisterXmm7: i32 = 4103;
pub const WHvX64RegisterXmm8: i32 = 4104;
pub const WHvX64RegisterXmm9: i32 = 4105;
pub const WHvX64RegisterXmm10: i32 = 4106;
pub const WHvX64RegisterXmm11: i32 = 4107;
pub const WHvX64RegisterXmm12: i32 = 4108;
pub const WHvX64RegisterXmm13: i32 = 4109;
pub const WHvX64RegisterXmm14: i32 = 4110;
pub const WHvX64RegisterXmm15: i32 = 4111;
pub const WHvX64RegisterFpMmx0: i32 = 4112;
pub const WHvX64RegisterFpMmx1: i32 = 4113;
pub const WHvX64RegisterFpMmx2: i32 = 4114;
pub const WHvX64RegisterFpMmx3: i32 = 4115;
pub const WHvX64RegisterFpMmx4: i32 = 4116;
pub const WHvX64RegisterFpMmx5: i32 = 4117;
pub const WHvX64RegisterFpMmx6: i32 = 4118;
pub const WHvX64RegisterFpMmx7: i32 = 4119;
pub const WHvX64RegisterFpControlStatus: i32 = 4120;
pub const WHvX64RegisterXmmControlStatus: i32 = 4121;
pub const WHvX64RegisterTsc: i32 = 8192;
pub const WHvX64RegisterEfer: i32 = 8193;
pub const WHvX64RegisterKernelGsBase: i32 = 8194;
pub const WHvX64RegisterApicBase: i32 = 8195;
pub const WHvX64RegisterPat: i32 = 8196;
pub const WHvX64RegisterSysenterCs: i32 = 8197;
pub const WHvX64RegisterSysenterEip: i32 = 8198;
pub const WHvX64RegisterSysenterEsp: i32 = 8199;
pub const WHvX64RegisterStar: i32 = 8200;
pub const WHvX64RegisterLstar: i32 = 8201;
pub const WHvX64RegisterCstar: i32 = 8202;
pub const WHvX64RegisterSfmask: i32 = 8203;
pub const WHvX64RegisterInitialApicId: i32 = 8204;
pub const WHvX64RegisterMsrMtrrCap: i32 = 8205;
pub const WHvX64RegisterMsrMtrrDefType: i32 = 8206;
pub const WHvX64RegisterMsrMtrrPhysBase0: i32 = 8208;
pub const WHvX64RegisterMsrMtrrPhysBase1: i32 = 8209;
pub const WHvX64RegisterMsrMtrrPhysBase2: i32 = 8210;
pub const WHvX64RegisterMsrMtrrPhysBase3: i32 = 8211;
pub const WHvX64RegisterMsrMtrrPhysBase4: i32 = 8212;
pub const WHvX64RegisterMsrMtrrPhysBase5: i32 = 8213;
pub const WHvX64RegisterMsrMtrrPhysBase6: i32 = 8214;
pub const WHvX64RegisterMsrMtrrPhysBase7: i32 = 8215;
pub const WHvX64RegisterMsrMtrrPhysBase8: i32 = 8216;
pub const WHvX64RegisterMsrMtrrPhysBase9: i32 = 8217;
pub const WHvX64RegisterMsrMtrrPhysBaseA: i32 = 8218;
pub const WHvX64RegisterMsrMtrrPhysBaseB: i32 = 8219;
pub const WHvX64RegisterMsrMtrrPhysBaseC: i32 = 8220;
pub const WHvX64RegisterMsrMtrrPhysBaseD: i32 = 8221;
pub const WHvX64RegisterMsrMtrrPhysBaseE: i32 = 8222;
pub const WHvX64RegisterMsrMtrrPhysBaseF: i32 = 8223;
pub const WHvX64RegisterMsrMtrrPhysMask0: i32 = 8256;
pub const WHvX64RegisterMsrMtrrPhysMask1: i32 = 8257;
pub const WHvX64RegisterMsrMtrrPhysMask2: i32 = 8258;
pub const WHvX64RegisterMsrMtrrPhysMask3: i32 = 8259;
pub const WHvX64RegisterMsrMtrrPhysMask4: i32 = 8260;
pub const WHvX64RegisterMsrMtrrPhysMask5: i32 = 8261;
pub const WHvX64RegisterMsrMtrrPhysMask6: i32 = 8262;
pub const WHvX64RegisterMsrMtrrPhysMask7: i32 = 8263;
pub const WHvX64RegisterMsrMtrrPhysMask8: i32 = 8264;
pub const WHvX64RegisterMsrMtrrPhysMask9: i32 = 8265;
pub const WHvX64RegisterMsrMtrrPhysMaskA: i32 = 8266;
pub const WHvX64RegisterMsrMtrrPhysMaskB: i32 = 8267;
pub const WHvX64RegisterMsrMtrrPhysMaskC: i32 = 8268;
pub const WHvX64RegisterMsrMtrrPhysMaskD: i32 = 8269;
pub const WHvX64RegisterMsrMtrrPhysMaskE: i32 = 8270;
pub const WHvX64RegisterMsrMtrrPhysMaskF: i32 = 8271;
pub const WHvX64RegisterMsrMtrrFix64k00000: i32 = 8304;
pub const WHvX64RegisterMsrMtrrFix16k80000: i32 = 8305;
pub const WHvX64RegisterMsrMtrrFix16kA0000: i32 = 8306;
pub const WHvX64RegisterMsrMtrrFix4kC0000: i32 = 8307;
pub const WHvX64RegisterMsrMtrrFix4kC8000: i32 = 8308;
pub const WHvX64RegisterMsrMtrrFix4kD0000: i32 = 8309;
pub const WHvX64RegisterMsrMtrrFix4kD8000: i32 = 8310;
pub const WHvX64RegisterMsrMtrrFix4kE0000: i32 = 8311;
pub const WHvX64RegisterMsrMtrrFix4kE8000: i32 = 8312;
pub const WHvX64RegisterMsrMtrrFix4kF0000: i32 = 8313;
pub const WHvX64RegisterMsrMtrrFix4kF8000: i32 = 8314;
pub const WHvX64RegisterTscAux: i32 = 8315;
pub const WHvX64RegisterBndcfgs: i32 = 8316;
pub const WHvX64RegisterMCount: i32 = 8318;
pub const WHvX64RegisterACount: i32 = 8319;
pub const WHvX64RegisterSpecCtrl: i32 = 8324;
pub const WHvX64RegisterPredCmd: i32 = 8325;
pub const WHvX64RegisterTscVirtualOffset: i32 = 8327;
pub const WHvX64RegisterTsxCtrl: i32 = 8328;
pub const WHvX64RegisterXss: i32 = 8331;
pub const WHvX64RegisterUCet: i32 = 8332;
pub const WHvX64RegisterSCet: i32 = 8333;
pub const WHvX64RegisterSsp: i32 = 8334;
pub const WHvX64RegisterPl0Ssp: i32 = 8335;
pub const WHvX64RegisterPl1Ssp: i32 = 8336;
pub const WHvX64RegisterPl2Ssp: i32 = 8337;
pub const WHvX64RegisterPl3Ssp: i32 = 8338;
pub const WHvX64RegisterInterruptSspTableAddr: i32 = 8339;
pub const WHvX64RegisterTscDeadline: i32 = 8341;
pub const WHvX64RegisterTscAdjust: i32 = 8342;
pub const WHvX64RegisterUmwaitControl: i32 = 8344;
pub const WHvX64RegisterXfd: i32 = 8345;
pub const WHvX64RegisterXfdErr: i32 = 8346;
pub const WHvX64RegisterApicId: i32 = 12290;
pub const WHvX64RegisterApicVersion: i32 = 12291;
pub const WHvX64RegisterApicTpr: i32 = 12296;
pub const WHvX64RegisterApicPpr: i32 = 12298;
pub const WHvX64RegisterApicEoi: i32 = 12299;
pub const WHvX64RegisterApicLdr: i32 = 12301;
pub const WHvX64RegisterApicSpurious: i32 = 12303;
pub const WHvX64RegisterApicIsr0: i32 = 12304;
pub const WHvX64RegisterApicIsr1: i32 = 12305;
pub const WHvX64RegisterApicIsr2: i32 = 12306;
pub const WHvX64RegisterApicIsr3: i32 = 12307;
pub const WHvX64RegisterApicIsr4: i32 = 12308;
pub const WHvX64RegisterApicIsr5: i32 = 12309;
pub const WHvX64RegisterApicIsr6: i32 = 12310;
pub const WHvX64RegisterApicIsr7: i32 = 12311;
pub const WHvX64RegisterApicTmr0: i32 = 12312;
pub const WHvX64RegisterApicTmr1: i32 = 12313;
pub const WHvX64RegisterApicTmr2: i32 = 12314;
pub const WHvX64RegisterApicTmr3: i32 = 12315;
pub const WHvX64RegisterApicTmr4: i32 = 12316;
pub const WHvX64RegisterApicTmr5: i32 = 12317;
pub const WHvX64RegisterApicTmr6: i32 = 12318;
pub const WHvX64RegisterApicTmr7: i32 = 12319;
pub const WHvX64RegisterApicIrr0: i32 = 12320;
pub const WHvX64RegisterApicIrr1: i32 = 12321;
pub const WHvX64RegisterApicIrr2: i32 = 12322;
pub const WHvX64RegisterApicIrr3: i32 = 12323;
pub const WHvX64RegisterApicIrr4: i32 = 12324;
pub const WHvX64RegisterApicIrr5: i32 = 12325;
pub const WHvX64RegisterApicIrr6: i32 = 12326;
pub const WHvX64RegisterApicIrr7: i32 = 12327;
pub const WHvX64RegisterApicEse: i32 = 12328;
pub const WHvX64RegisterApicIcr: i32 = 12336;
pub const WHvX64RegisterApicLvtTimer: i32 = 12338;
pub const WHvX64RegisterApicLvtThermal: i32 = 12339;
pub const WHvX64RegisterApicLvtPerfmon: i32 = 12340;
pub const WHvX64RegisterApicLvtLint0: i32 = 12341;
pub const WHvX64RegisterApicLvtLint1: i32 = 12342;
pub const WHvX64RegisterApicLvtError: i32 = 12343;
pub const WHvX64RegisterApicInitCount: i32 = 12344;
pub const WHvX64RegisterApicCurrentCount: i32 = 12345;
pub const WHvX64RegisterApicDivide: i32 = 12350;
pub const WHvX64RegisterApicSelfIpi: i32 = 12351;
pub const WHvRegisterSint0: i32 = 16384;
pub const WHvRegisterSint1: i32 = 16385;
pub const WHvRegisterSint2: i32 = 16386;
pub const WHvRegisterSint3: i32 = 16387;
pub const WHvRegisterSint4: i32 = 16388;
pub const WHvRegisterSint5: i32 = 16389;
pub const WHvRegisterSint6: i32 = 16390;
pub const WHvRegisterSint7: i32 = 16391;
pub const WHvRegisterSint8: i32 = 16392;
pub const WHvRegisterSint9: i32 = 16393;
pub const WHvRegisterSint10: i32 = 16394;
pub const WHvRegisterSint11: i32 = 16395;
pub const WHvRegisterSint12: i32 = 16396;
pub const WHvRegisterSint13: i32 = 16397;
pub const WHvRegisterSint14: i32 = 16398;
pub const WHvRegisterSint15: i32 = 16399;
pub const WHvRegisterScontrol: i32 = 16400;
pub const WHvRegisterSversion: i32 = 16401;
pub const WHvRegisterSiefp: i32 = 16402;
pub const WHvRegisterSimp: i32 = 16403;
pub const WHvRegisterEom: i32 = 16404;
pub const WHvRegisterVpRuntime: i32 = 20480;
pub const WHvX64RegisterHypercall: i32 = 20481;
pub const WHvRegisterGuestOsId: i32 = 20482;
pub const WHvRegisterVpAssistPage: i32 = 20499;
pub const WHvRegisterReferenceTsc: i32 = 20503;
pub const WHvRegisterReferenceTscSequence: i32 = 20506;
pub const WHvRegisterPendingInterruption: i32 = -2147483648;
pub const WHvRegisterInterruptState: i32 = -2147483647;
pub const WHvRegisterPendingEvent: i32 = -2147483646;
pub const WHvX64RegisterDeliverabilityNotifications: i32 = -2147483644;
pub const WHvRegisterInternalActivityState: i32 = -2147483643;
pub const WHvX64RegisterPendingDebugException: i32 = -2147483642;
// WHV_REGISTER_NAME
const (
	WHvX64RegisterRax int32 = 0
	WHvX64RegisterRcx int32 = 1
	WHvX64RegisterRdx int32 = 2
	WHvX64RegisterRbx int32 = 3
	WHvX64RegisterRsp int32 = 4
	WHvX64RegisterRbp int32 = 5
	WHvX64RegisterRsi int32 = 6
	WHvX64RegisterRdi int32 = 7
	WHvX64RegisterR8 int32 = 8
	WHvX64RegisterR9 int32 = 9
	WHvX64RegisterR10 int32 = 10
	WHvX64RegisterR11 int32 = 11
	WHvX64RegisterR12 int32 = 12
	WHvX64RegisterR13 int32 = 13
	WHvX64RegisterR14 int32 = 14
	WHvX64RegisterR15 int32 = 15
	WHvX64RegisterRip int32 = 16
	WHvX64RegisterRflags int32 = 17
	WHvX64RegisterEs int32 = 18
	WHvX64RegisterCs int32 = 19
	WHvX64RegisterSs int32 = 20
	WHvX64RegisterDs int32 = 21
	WHvX64RegisterFs int32 = 22
	WHvX64RegisterGs int32 = 23
	WHvX64RegisterLdtr int32 = 24
	WHvX64RegisterTr int32 = 25
	WHvX64RegisterIdtr int32 = 26
	WHvX64RegisterGdtr int32 = 27
	WHvX64RegisterCr0 int32 = 28
	WHvX64RegisterCr2 int32 = 29
	WHvX64RegisterCr3 int32 = 30
	WHvX64RegisterCr4 int32 = 31
	WHvX64RegisterCr8 int32 = 32
	WHvX64RegisterDr0 int32 = 33
	WHvX64RegisterDr1 int32 = 34
	WHvX64RegisterDr2 int32 = 35
	WHvX64RegisterDr3 int32 = 36
	WHvX64RegisterDr6 int32 = 37
	WHvX64RegisterDr7 int32 = 38
	WHvX64RegisterXCr0 int32 = 39
	WHvX64RegisterVirtualCr0 int32 = 40
	WHvX64RegisterVirtualCr3 int32 = 41
	WHvX64RegisterVirtualCr4 int32 = 42
	WHvX64RegisterVirtualCr8 int32 = 43
	WHvX64RegisterXmm0 int32 = 4096
	WHvX64RegisterXmm1 int32 = 4097
	WHvX64RegisterXmm2 int32 = 4098
	WHvX64RegisterXmm3 int32 = 4099
	WHvX64RegisterXmm4 int32 = 4100
	WHvX64RegisterXmm5 int32 = 4101
	WHvX64RegisterXmm6 int32 = 4102
	WHvX64RegisterXmm7 int32 = 4103
	WHvX64RegisterXmm8 int32 = 4104
	WHvX64RegisterXmm9 int32 = 4105
	WHvX64RegisterXmm10 int32 = 4106
	WHvX64RegisterXmm11 int32 = 4107
	WHvX64RegisterXmm12 int32 = 4108
	WHvX64RegisterXmm13 int32 = 4109
	WHvX64RegisterXmm14 int32 = 4110
	WHvX64RegisterXmm15 int32 = 4111
	WHvX64RegisterFpMmx0 int32 = 4112
	WHvX64RegisterFpMmx1 int32 = 4113
	WHvX64RegisterFpMmx2 int32 = 4114
	WHvX64RegisterFpMmx3 int32 = 4115
	WHvX64RegisterFpMmx4 int32 = 4116
	WHvX64RegisterFpMmx5 int32 = 4117
	WHvX64RegisterFpMmx6 int32 = 4118
	WHvX64RegisterFpMmx7 int32 = 4119
	WHvX64RegisterFpControlStatus int32 = 4120
	WHvX64RegisterXmmControlStatus int32 = 4121
	WHvX64RegisterTsc int32 = 8192
	WHvX64RegisterEfer int32 = 8193
	WHvX64RegisterKernelGsBase int32 = 8194
	WHvX64RegisterApicBase int32 = 8195
	WHvX64RegisterPat int32 = 8196
	WHvX64RegisterSysenterCs int32 = 8197
	WHvX64RegisterSysenterEip int32 = 8198
	WHvX64RegisterSysenterEsp int32 = 8199
	WHvX64RegisterStar int32 = 8200
	WHvX64RegisterLstar int32 = 8201
	WHvX64RegisterCstar int32 = 8202
	WHvX64RegisterSfmask int32 = 8203
	WHvX64RegisterInitialApicId int32 = 8204
	WHvX64RegisterMsrMtrrCap int32 = 8205
	WHvX64RegisterMsrMtrrDefType int32 = 8206
	WHvX64RegisterMsrMtrrPhysBase0 int32 = 8208
	WHvX64RegisterMsrMtrrPhysBase1 int32 = 8209
	WHvX64RegisterMsrMtrrPhysBase2 int32 = 8210
	WHvX64RegisterMsrMtrrPhysBase3 int32 = 8211
	WHvX64RegisterMsrMtrrPhysBase4 int32 = 8212
	WHvX64RegisterMsrMtrrPhysBase5 int32 = 8213
	WHvX64RegisterMsrMtrrPhysBase6 int32 = 8214
	WHvX64RegisterMsrMtrrPhysBase7 int32 = 8215
	WHvX64RegisterMsrMtrrPhysBase8 int32 = 8216
	WHvX64RegisterMsrMtrrPhysBase9 int32 = 8217
	WHvX64RegisterMsrMtrrPhysBaseA int32 = 8218
	WHvX64RegisterMsrMtrrPhysBaseB int32 = 8219
	WHvX64RegisterMsrMtrrPhysBaseC int32 = 8220
	WHvX64RegisterMsrMtrrPhysBaseD int32 = 8221
	WHvX64RegisterMsrMtrrPhysBaseE int32 = 8222
	WHvX64RegisterMsrMtrrPhysBaseF int32 = 8223
	WHvX64RegisterMsrMtrrPhysMask0 int32 = 8256
	WHvX64RegisterMsrMtrrPhysMask1 int32 = 8257
	WHvX64RegisterMsrMtrrPhysMask2 int32 = 8258
	WHvX64RegisterMsrMtrrPhysMask3 int32 = 8259
	WHvX64RegisterMsrMtrrPhysMask4 int32 = 8260
	WHvX64RegisterMsrMtrrPhysMask5 int32 = 8261
	WHvX64RegisterMsrMtrrPhysMask6 int32 = 8262
	WHvX64RegisterMsrMtrrPhysMask7 int32 = 8263
	WHvX64RegisterMsrMtrrPhysMask8 int32 = 8264
	WHvX64RegisterMsrMtrrPhysMask9 int32 = 8265
	WHvX64RegisterMsrMtrrPhysMaskA int32 = 8266
	WHvX64RegisterMsrMtrrPhysMaskB int32 = 8267
	WHvX64RegisterMsrMtrrPhysMaskC int32 = 8268
	WHvX64RegisterMsrMtrrPhysMaskD int32 = 8269
	WHvX64RegisterMsrMtrrPhysMaskE int32 = 8270
	WHvX64RegisterMsrMtrrPhysMaskF int32 = 8271
	WHvX64RegisterMsrMtrrFix64k00000 int32 = 8304
	WHvX64RegisterMsrMtrrFix16k80000 int32 = 8305
	WHvX64RegisterMsrMtrrFix16kA0000 int32 = 8306
	WHvX64RegisterMsrMtrrFix4kC0000 int32 = 8307
	WHvX64RegisterMsrMtrrFix4kC8000 int32 = 8308
	WHvX64RegisterMsrMtrrFix4kD0000 int32 = 8309
	WHvX64RegisterMsrMtrrFix4kD8000 int32 = 8310
	WHvX64RegisterMsrMtrrFix4kE0000 int32 = 8311
	WHvX64RegisterMsrMtrrFix4kE8000 int32 = 8312
	WHvX64RegisterMsrMtrrFix4kF0000 int32 = 8313
	WHvX64RegisterMsrMtrrFix4kF8000 int32 = 8314
	WHvX64RegisterTscAux int32 = 8315
	WHvX64RegisterBndcfgs int32 = 8316
	WHvX64RegisterMCount int32 = 8318
	WHvX64RegisterACount int32 = 8319
	WHvX64RegisterSpecCtrl int32 = 8324
	WHvX64RegisterPredCmd int32 = 8325
	WHvX64RegisterTscVirtualOffset int32 = 8327
	WHvX64RegisterTsxCtrl int32 = 8328
	WHvX64RegisterXss int32 = 8331
	WHvX64RegisterUCet int32 = 8332
	WHvX64RegisterSCet int32 = 8333
	WHvX64RegisterSsp int32 = 8334
	WHvX64RegisterPl0Ssp int32 = 8335
	WHvX64RegisterPl1Ssp int32 = 8336
	WHvX64RegisterPl2Ssp int32 = 8337
	WHvX64RegisterPl3Ssp int32 = 8338
	WHvX64RegisterInterruptSspTableAddr int32 = 8339
	WHvX64RegisterTscDeadline int32 = 8341
	WHvX64RegisterTscAdjust int32 = 8342
	WHvX64RegisterUmwaitControl int32 = 8344
	WHvX64RegisterXfd int32 = 8345
	WHvX64RegisterXfdErr int32 = 8346
	WHvX64RegisterApicId int32 = 12290
	WHvX64RegisterApicVersion int32 = 12291
	WHvX64RegisterApicTpr int32 = 12296
	WHvX64RegisterApicPpr int32 = 12298
	WHvX64RegisterApicEoi int32 = 12299
	WHvX64RegisterApicLdr int32 = 12301
	WHvX64RegisterApicSpurious int32 = 12303
	WHvX64RegisterApicIsr0 int32 = 12304
	WHvX64RegisterApicIsr1 int32 = 12305
	WHvX64RegisterApicIsr2 int32 = 12306
	WHvX64RegisterApicIsr3 int32 = 12307
	WHvX64RegisterApicIsr4 int32 = 12308
	WHvX64RegisterApicIsr5 int32 = 12309
	WHvX64RegisterApicIsr6 int32 = 12310
	WHvX64RegisterApicIsr7 int32 = 12311
	WHvX64RegisterApicTmr0 int32 = 12312
	WHvX64RegisterApicTmr1 int32 = 12313
	WHvX64RegisterApicTmr2 int32 = 12314
	WHvX64RegisterApicTmr3 int32 = 12315
	WHvX64RegisterApicTmr4 int32 = 12316
	WHvX64RegisterApicTmr5 int32 = 12317
	WHvX64RegisterApicTmr6 int32 = 12318
	WHvX64RegisterApicTmr7 int32 = 12319
	WHvX64RegisterApicIrr0 int32 = 12320
	WHvX64RegisterApicIrr1 int32 = 12321
	WHvX64RegisterApicIrr2 int32 = 12322
	WHvX64RegisterApicIrr3 int32 = 12323
	WHvX64RegisterApicIrr4 int32 = 12324
	WHvX64RegisterApicIrr5 int32 = 12325
	WHvX64RegisterApicIrr6 int32 = 12326
	WHvX64RegisterApicIrr7 int32 = 12327
	WHvX64RegisterApicEse int32 = 12328
	WHvX64RegisterApicIcr int32 = 12336
	WHvX64RegisterApicLvtTimer int32 = 12338
	WHvX64RegisterApicLvtThermal int32 = 12339
	WHvX64RegisterApicLvtPerfmon int32 = 12340
	WHvX64RegisterApicLvtLint0 int32 = 12341
	WHvX64RegisterApicLvtLint1 int32 = 12342
	WHvX64RegisterApicLvtError int32 = 12343
	WHvX64RegisterApicInitCount int32 = 12344
	WHvX64RegisterApicCurrentCount int32 = 12345
	WHvX64RegisterApicDivide int32 = 12350
	WHvX64RegisterApicSelfIpi int32 = 12351
	WHvRegisterSint0 int32 = 16384
	WHvRegisterSint1 int32 = 16385
	WHvRegisterSint2 int32 = 16386
	WHvRegisterSint3 int32 = 16387
	WHvRegisterSint4 int32 = 16388
	WHvRegisterSint5 int32 = 16389
	WHvRegisterSint6 int32 = 16390
	WHvRegisterSint7 int32 = 16391
	WHvRegisterSint8 int32 = 16392
	WHvRegisterSint9 int32 = 16393
	WHvRegisterSint10 int32 = 16394
	WHvRegisterSint11 int32 = 16395
	WHvRegisterSint12 int32 = 16396
	WHvRegisterSint13 int32 = 16397
	WHvRegisterSint14 int32 = 16398
	WHvRegisterSint15 int32 = 16399
	WHvRegisterScontrol int32 = 16400
	WHvRegisterSversion int32 = 16401
	WHvRegisterSiefp int32 = 16402
	WHvRegisterSimp int32 = 16403
	WHvRegisterEom int32 = 16404
	WHvRegisterVpRuntime int32 = 20480
	WHvX64RegisterHypercall int32 = 20481
	WHvRegisterGuestOsId int32 = 20482
	WHvRegisterVpAssistPage int32 = 20499
	WHvRegisterReferenceTsc int32 = 20503
	WHvRegisterReferenceTscSequence int32 = 20506
	WHvRegisterPendingInterruption int32 = -2147483648
	WHvRegisterInterruptState int32 = -2147483647
	WHvRegisterPendingEvent int32 = -2147483646
	WHvX64RegisterDeliverabilityNotifications int32 = -2147483644
	WHvRegisterInternalActivityState int32 = -2147483643
	WHvX64RegisterPendingDebugException int32 = -2147483642
)
const
  WHvX64RegisterRax = 0;
  WHvX64RegisterRcx = 1;
  WHvX64RegisterRdx = 2;
  WHvX64RegisterRbx = 3;
  WHvX64RegisterRsp = 4;
  WHvX64RegisterRbp = 5;
  WHvX64RegisterRsi = 6;
  WHvX64RegisterRdi = 7;
  WHvX64RegisterR8 = 8;
  WHvX64RegisterR9 = 9;
  WHvX64RegisterR10 = 10;
  WHvX64RegisterR11 = 11;
  WHvX64RegisterR12 = 12;
  WHvX64RegisterR13 = 13;
  WHvX64RegisterR14 = 14;
  WHvX64RegisterR15 = 15;
  WHvX64RegisterRip = 16;
  WHvX64RegisterRflags = 17;
  WHvX64RegisterEs = 18;
  WHvX64RegisterCs = 19;
  WHvX64RegisterSs = 20;
  WHvX64RegisterDs = 21;
  WHvX64RegisterFs = 22;
  WHvX64RegisterGs = 23;
  WHvX64RegisterLdtr = 24;
  WHvX64RegisterTr = 25;
  WHvX64RegisterIdtr = 26;
  WHvX64RegisterGdtr = 27;
  WHvX64RegisterCr0 = 28;
  WHvX64RegisterCr2 = 29;
  WHvX64RegisterCr3 = 30;
  WHvX64RegisterCr4 = 31;
  WHvX64RegisterCr8 = 32;
  WHvX64RegisterDr0 = 33;
  WHvX64RegisterDr1 = 34;
  WHvX64RegisterDr2 = 35;
  WHvX64RegisterDr3 = 36;
  WHvX64RegisterDr6 = 37;
  WHvX64RegisterDr7 = 38;
  WHvX64RegisterXCr0 = 39;
  WHvX64RegisterVirtualCr0 = 40;
  WHvX64RegisterVirtualCr3 = 41;
  WHvX64RegisterVirtualCr4 = 42;
  WHvX64RegisterVirtualCr8 = 43;
  WHvX64RegisterXmm0 = 4096;
  WHvX64RegisterXmm1 = 4097;
  WHvX64RegisterXmm2 = 4098;
  WHvX64RegisterXmm3 = 4099;
  WHvX64RegisterXmm4 = 4100;
  WHvX64RegisterXmm5 = 4101;
  WHvX64RegisterXmm6 = 4102;
  WHvX64RegisterXmm7 = 4103;
  WHvX64RegisterXmm8 = 4104;
  WHvX64RegisterXmm9 = 4105;
  WHvX64RegisterXmm10 = 4106;
  WHvX64RegisterXmm11 = 4107;
  WHvX64RegisterXmm12 = 4108;
  WHvX64RegisterXmm13 = 4109;
  WHvX64RegisterXmm14 = 4110;
  WHvX64RegisterXmm15 = 4111;
  WHvX64RegisterFpMmx0 = 4112;
  WHvX64RegisterFpMmx1 = 4113;
  WHvX64RegisterFpMmx2 = 4114;
  WHvX64RegisterFpMmx3 = 4115;
  WHvX64RegisterFpMmx4 = 4116;
  WHvX64RegisterFpMmx5 = 4117;
  WHvX64RegisterFpMmx6 = 4118;
  WHvX64RegisterFpMmx7 = 4119;
  WHvX64RegisterFpControlStatus = 4120;
  WHvX64RegisterXmmControlStatus = 4121;
  WHvX64RegisterTsc = 8192;
  WHvX64RegisterEfer = 8193;
  WHvX64RegisterKernelGsBase = 8194;
  WHvX64RegisterApicBase = 8195;
  WHvX64RegisterPat = 8196;
  WHvX64RegisterSysenterCs = 8197;
  WHvX64RegisterSysenterEip = 8198;
  WHvX64RegisterSysenterEsp = 8199;
  WHvX64RegisterStar = 8200;
  WHvX64RegisterLstar = 8201;
  WHvX64RegisterCstar = 8202;
  WHvX64RegisterSfmask = 8203;
  WHvX64RegisterInitialApicId = 8204;
  WHvX64RegisterMsrMtrrCap = 8205;
  WHvX64RegisterMsrMtrrDefType = 8206;
  WHvX64RegisterMsrMtrrPhysBase0 = 8208;
  WHvX64RegisterMsrMtrrPhysBase1 = 8209;
  WHvX64RegisterMsrMtrrPhysBase2 = 8210;
  WHvX64RegisterMsrMtrrPhysBase3 = 8211;
  WHvX64RegisterMsrMtrrPhysBase4 = 8212;
  WHvX64RegisterMsrMtrrPhysBase5 = 8213;
  WHvX64RegisterMsrMtrrPhysBase6 = 8214;
  WHvX64RegisterMsrMtrrPhysBase7 = 8215;
  WHvX64RegisterMsrMtrrPhysBase8 = 8216;
  WHvX64RegisterMsrMtrrPhysBase9 = 8217;
  WHvX64RegisterMsrMtrrPhysBaseA = 8218;
  WHvX64RegisterMsrMtrrPhysBaseB = 8219;
  WHvX64RegisterMsrMtrrPhysBaseC = 8220;
  WHvX64RegisterMsrMtrrPhysBaseD = 8221;
  WHvX64RegisterMsrMtrrPhysBaseE = 8222;
  WHvX64RegisterMsrMtrrPhysBaseF = 8223;
  WHvX64RegisterMsrMtrrPhysMask0 = 8256;
  WHvX64RegisterMsrMtrrPhysMask1 = 8257;
  WHvX64RegisterMsrMtrrPhysMask2 = 8258;
  WHvX64RegisterMsrMtrrPhysMask3 = 8259;
  WHvX64RegisterMsrMtrrPhysMask4 = 8260;
  WHvX64RegisterMsrMtrrPhysMask5 = 8261;
  WHvX64RegisterMsrMtrrPhysMask6 = 8262;
  WHvX64RegisterMsrMtrrPhysMask7 = 8263;
  WHvX64RegisterMsrMtrrPhysMask8 = 8264;
  WHvX64RegisterMsrMtrrPhysMask9 = 8265;
  WHvX64RegisterMsrMtrrPhysMaskA = 8266;
  WHvX64RegisterMsrMtrrPhysMaskB = 8267;
  WHvX64RegisterMsrMtrrPhysMaskC = 8268;
  WHvX64RegisterMsrMtrrPhysMaskD = 8269;
  WHvX64RegisterMsrMtrrPhysMaskE = 8270;
  WHvX64RegisterMsrMtrrPhysMaskF = 8271;
  WHvX64RegisterMsrMtrrFix64k00000 = 8304;
  WHvX64RegisterMsrMtrrFix16k80000 = 8305;
  WHvX64RegisterMsrMtrrFix16kA0000 = 8306;
  WHvX64RegisterMsrMtrrFix4kC0000 = 8307;
  WHvX64RegisterMsrMtrrFix4kC8000 = 8308;
  WHvX64RegisterMsrMtrrFix4kD0000 = 8309;
  WHvX64RegisterMsrMtrrFix4kD8000 = 8310;
  WHvX64RegisterMsrMtrrFix4kE0000 = 8311;
  WHvX64RegisterMsrMtrrFix4kE8000 = 8312;
  WHvX64RegisterMsrMtrrFix4kF0000 = 8313;
  WHvX64RegisterMsrMtrrFix4kF8000 = 8314;
  WHvX64RegisterTscAux = 8315;
  WHvX64RegisterBndcfgs = 8316;
  WHvX64RegisterMCount = 8318;
  WHvX64RegisterACount = 8319;
  WHvX64RegisterSpecCtrl = 8324;
  WHvX64RegisterPredCmd = 8325;
  WHvX64RegisterTscVirtualOffset = 8327;
  WHvX64RegisterTsxCtrl = 8328;
  WHvX64RegisterXss = 8331;
  WHvX64RegisterUCet = 8332;
  WHvX64RegisterSCet = 8333;
  WHvX64RegisterSsp = 8334;
  WHvX64RegisterPl0Ssp = 8335;
  WHvX64RegisterPl1Ssp = 8336;
  WHvX64RegisterPl2Ssp = 8337;
  WHvX64RegisterPl3Ssp = 8338;
  WHvX64RegisterInterruptSspTableAddr = 8339;
  WHvX64RegisterTscDeadline = 8341;
  WHvX64RegisterTscAdjust = 8342;
  WHvX64RegisterUmwaitControl = 8344;
  WHvX64RegisterXfd = 8345;
  WHvX64RegisterXfdErr = 8346;
  WHvX64RegisterApicId = 12290;
  WHvX64RegisterApicVersion = 12291;
  WHvX64RegisterApicTpr = 12296;
  WHvX64RegisterApicPpr = 12298;
  WHvX64RegisterApicEoi = 12299;
  WHvX64RegisterApicLdr = 12301;
  WHvX64RegisterApicSpurious = 12303;
  WHvX64RegisterApicIsr0 = 12304;
  WHvX64RegisterApicIsr1 = 12305;
  WHvX64RegisterApicIsr2 = 12306;
  WHvX64RegisterApicIsr3 = 12307;
  WHvX64RegisterApicIsr4 = 12308;
  WHvX64RegisterApicIsr5 = 12309;
  WHvX64RegisterApicIsr6 = 12310;
  WHvX64RegisterApicIsr7 = 12311;
  WHvX64RegisterApicTmr0 = 12312;
  WHvX64RegisterApicTmr1 = 12313;
  WHvX64RegisterApicTmr2 = 12314;
  WHvX64RegisterApicTmr3 = 12315;
  WHvX64RegisterApicTmr4 = 12316;
  WHvX64RegisterApicTmr5 = 12317;
  WHvX64RegisterApicTmr6 = 12318;
  WHvX64RegisterApicTmr7 = 12319;
  WHvX64RegisterApicIrr0 = 12320;
  WHvX64RegisterApicIrr1 = 12321;
  WHvX64RegisterApicIrr2 = 12322;
  WHvX64RegisterApicIrr3 = 12323;
  WHvX64RegisterApicIrr4 = 12324;
  WHvX64RegisterApicIrr5 = 12325;
  WHvX64RegisterApicIrr6 = 12326;
  WHvX64RegisterApicIrr7 = 12327;
  WHvX64RegisterApicEse = 12328;
  WHvX64RegisterApicIcr = 12336;
  WHvX64RegisterApicLvtTimer = 12338;
  WHvX64RegisterApicLvtThermal = 12339;
  WHvX64RegisterApicLvtPerfmon = 12340;
  WHvX64RegisterApicLvtLint0 = 12341;
  WHvX64RegisterApicLvtLint1 = 12342;
  WHvX64RegisterApicLvtError = 12343;
  WHvX64RegisterApicInitCount = 12344;
  WHvX64RegisterApicCurrentCount = 12345;
  WHvX64RegisterApicDivide = 12350;
  WHvX64RegisterApicSelfIpi = 12351;
  WHvRegisterSint0 = 16384;
  WHvRegisterSint1 = 16385;
  WHvRegisterSint2 = 16386;
  WHvRegisterSint3 = 16387;
  WHvRegisterSint4 = 16388;
  WHvRegisterSint5 = 16389;
  WHvRegisterSint6 = 16390;
  WHvRegisterSint7 = 16391;
  WHvRegisterSint8 = 16392;
  WHvRegisterSint9 = 16393;
  WHvRegisterSint10 = 16394;
  WHvRegisterSint11 = 16395;
  WHvRegisterSint12 = 16396;
  WHvRegisterSint13 = 16397;
  WHvRegisterSint14 = 16398;
  WHvRegisterSint15 = 16399;
  WHvRegisterScontrol = 16400;
  WHvRegisterSversion = 16401;
  WHvRegisterSiefp = 16402;
  WHvRegisterSimp = 16403;
  WHvRegisterEom = 16404;
  WHvRegisterVpRuntime = 20480;
  WHvX64RegisterHypercall = 20481;
  WHvRegisterGuestOsId = 20482;
  WHvRegisterVpAssistPage = 20499;
  WHvRegisterReferenceTsc = 20503;
  WHvRegisterReferenceTscSequence = 20506;
  WHvRegisterPendingInterruption = -2147483648;
  WHvRegisterInterruptState = -2147483647;
  WHvRegisterPendingEvent = -2147483646;
  WHvX64RegisterDeliverabilityNotifications = -2147483644;
  WHvRegisterInternalActivityState = -2147483643;
  WHvX64RegisterPendingDebugException = -2147483642;
// WHV_REGISTER_NAME
pub const WHvX64RegisterRax: i32 = 0;
pub const WHvX64RegisterRcx: i32 = 1;
pub const WHvX64RegisterRdx: i32 = 2;
pub const WHvX64RegisterRbx: i32 = 3;
pub const WHvX64RegisterRsp: i32 = 4;
pub const WHvX64RegisterRbp: i32 = 5;
pub const WHvX64RegisterRsi: i32 = 6;
pub const WHvX64RegisterRdi: i32 = 7;
pub const WHvX64RegisterR8: i32 = 8;
pub const WHvX64RegisterR9: i32 = 9;
pub const WHvX64RegisterR10: i32 = 10;
pub const WHvX64RegisterR11: i32 = 11;
pub const WHvX64RegisterR12: i32 = 12;
pub const WHvX64RegisterR13: i32 = 13;
pub const WHvX64RegisterR14: i32 = 14;
pub const WHvX64RegisterR15: i32 = 15;
pub const WHvX64RegisterRip: i32 = 16;
pub const WHvX64RegisterRflags: i32 = 17;
pub const WHvX64RegisterEs: i32 = 18;
pub const WHvX64RegisterCs: i32 = 19;
pub const WHvX64RegisterSs: i32 = 20;
pub const WHvX64RegisterDs: i32 = 21;
pub const WHvX64RegisterFs: i32 = 22;
pub const WHvX64RegisterGs: i32 = 23;
pub const WHvX64RegisterLdtr: i32 = 24;
pub const WHvX64RegisterTr: i32 = 25;
pub const WHvX64RegisterIdtr: i32 = 26;
pub const WHvX64RegisterGdtr: i32 = 27;
pub const WHvX64RegisterCr0: i32 = 28;
pub const WHvX64RegisterCr2: i32 = 29;
pub const WHvX64RegisterCr3: i32 = 30;
pub const WHvX64RegisterCr4: i32 = 31;
pub const WHvX64RegisterCr8: i32 = 32;
pub const WHvX64RegisterDr0: i32 = 33;
pub const WHvX64RegisterDr1: i32 = 34;
pub const WHvX64RegisterDr2: i32 = 35;
pub const WHvX64RegisterDr3: i32 = 36;
pub const WHvX64RegisterDr6: i32 = 37;
pub const WHvX64RegisterDr7: i32 = 38;
pub const WHvX64RegisterXCr0: i32 = 39;
pub const WHvX64RegisterVirtualCr0: i32 = 40;
pub const WHvX64RegisterVirtualCr3: i32 = 41;
pub const WHvX64RegisterVirtualCr4: i32 = 42;
pub const WHvX64RegisterVirtualCr8: i32 = 43;
pub const WHvX64RegisterXmm0: i32 = 4096;
pub const WHvX64RegisterXmm1: i32 = 4097;
pub const WHvX64RegisterXmm2: i32 = 4098;
pub const WHvX64RegisterXmm3: i32 = 4099;
pub const WHvX64RegisterXmm4: i32 = 4100;
pub const WHvX64RegisterXmm5: i32 = 4101;
pub const WHvX64RegisterXmm6: i32 = 4102;
pub const WHvX64RegisterXmm7: i32 = 4103;
pub const WHvX64RegisterXmm8: i32 = 4104;
pub const WHvX64RegisterXmm9: i32 = 4105;
pub const WHvX64RegisterXmm10: i32 = 4106;
pub const WHvX64RegisterXmm11: i32 = 4107;
pub const WHvX64RegisterXmm12: i32 = 4108;
pub const WHvX64RegisterXmm13: i32 = 4109;
pub const WHvX64RegisterXmm14: i32 = 4110;
pub const WHvX64RegisterXmm15: i32 = 4111;
pub const WHvX64RegisterFpMmx0: i32 = 4112;
pub const WHvX64RegisterFpMmx1: i32 = 4113;
pub const WHvX64RegisterFpMmx2: i32 = 4114;
pub const WHvX64RegisterFpMmx3: i32 = 4115;
pub const WHvX64RegisterFpMmx4: i32 = 4116;
pub const WHvX64RegisterFpMmx5: i32 = 4117;
pub const WHvX64RegisterFpMmx6: i32 = 4118;
pub const WHvX64RegisterFpMmx7: i32 = 4119;
pub const WHvX64RegisterFpControlStatus: i32 = 4120;
pub const WHvX64RegisterXmmControlStatus: i32 = 4121;
pub const WHvX64RegisterTsc: i32 = 8192;
pub const WHvX64RegisterEfer: i32 = 8193;
pub const WHvX64RegisterKernelGsBase: i32 = 8194;
pub const WHvX64RegisterApicBase: i32 = 8195;
pub const WHvX64RegisterPat: i32 = 8196;
pub const WHvX64RegisterSysenterCs: i32 = 8197;
pub const WHvX64RegisterSysenterEip: i32 = 8198;
pub const WHvX64RegisterSysenterEsp: i32 = 8199;
pub const WHvX64RegisterStar: i32 = 8200;
pub const WHvX64RegisterLstar: i32 = 8201;
pub const WHvX64RegisterCstar: i32 = 8202;
pub const WHvX64RegisterSfmask: i32 = 8203;
pub const WHvX64RegisterInitialApicId: i32 = 8204;
pub const WHvX64RegisterMsrMtrrCap: i32 = 8205;
pub const WHvX64RegisterMsrMtrrDefType: i32 = 8206;
pub const WHvX64RegisterMsrMtrrPhysBase0: i32 = 8208;
pub const WHvX64RegisterMsrMtrrPhysBase1: i32 = 8209;
pub const WHvX64RegisterMsrMtrrPhysBase2: i32 = 8210;
pub const WHvX64RegisterMsrMtrrPhysBase3: i32 = 8211;
pub const WHvX64RegisterMsrMtrrPhysBase4: i32 = 8212;
pub const WHvX64RegisterMsrMtrrPhysBase5: i32 = 8213;
pub const WHvX64RegisterMsrMtrrPhysBase6: i32 = 8214;
pub const WHvX64RegisterMsrMtrrPhysBase7: i32 = 8215;
pub const WHvX64RegisterMsrMtrrPhysBase8: i32 = 8216;
pub const WHvX64RegisterMsrMtrrPhysBase9: i32 = 8217;
pub const WHvX64RegisterMsrMtrrPhysBaseA: i32 = 8218;
pub const WHvX64RegisterMsrMtrrPhysBaseB: i32 = 8219;
pub const WHvX64RegisterMsrMtrrPhysBaseC: i32 = 8220;
pub const WHvX64RegisterMsrMtrrPhysBaseD: i32 = 8221;
pub const WHvX64RegisterMsrMtrrPhysBaseE: i32 = 8222;
pub const WHvX64RegisterMsrMtrrPhysBaseF: i32 = 8223;
pub const WHvX64RegisterMsrMtrrPhysMask0: i32 = 8256;
pub const WHvX64RegisterMsrMtrrPhysMask1: i32 = 8257;
pub const WHvX64RegisterMsrMtrrPhysMask2: i32 = 8258;
pub const WHvX64RegisterMsrMtrrPhysMask3: i32 = 8259;
pub const WHvX64RegisterMsrMtrrPhysMask4: i32 = 8260;
pub const WHvX64RegisterMsrMtrrPhysMask5: i32 = 8261;
pub const WHvX64RegisterMsrMtrrPhysMask6: i32 = 8262;
pub const WHvX64RegisterMsrMtrrPhysMask7: i32 = 8263;
pub const WHvX64RegisterMsrMtrrPhysMask8: i32 = 8264;
pub const WHvX64RegisterMsrMtrrPhysMask9: i32 = 8265;
pub const WHvX64RegisterMsrMtrrPhysMaskA: i32 = 8266;
pub const WHvX64RegisterMsrMtrrPhysMaskB: i32 = 8267;
pub const WHvX64RegisterMsrMtrrPhysMaskC: i32 = 8268;
pub const WHvX64RegisterMsrMtrrPhysMaskD: i32 = 8269;
pub const WHvX64RegisterMsrMtrrPhysMaskE: i32 = 8270;
pub const WHvX64RegisterMsrMtrrPhysMaskF: i32 = 8271;
pub const WHvX64RegisterMsrMtrrFix64k00000: i32 = 8304;
pub const WHvX64RegisterMsrMtrrFix16k80000: i32 = 8305;
pub const WHvX64RegisterMsrMtrrFix16kA0000: i32 = 8306;
pub const WHvX64RegisterMsrMtrrFix4kC0000: i32 = 8307;
pub const WHvX64RegisterMsrMtrrFix4kC8000: i32 = 8308;
pub const WHvX64RegisterMsrMtrrFix4kD0000: i32 = 8309;
pub const WHvX64RegisterMsrMtrrFix4kD8000: i32 = 8310;
pub const WHvX64RegisterMsrMtrrFix4kE0000: i32 = 8311;
pub const WHvX64RegisterMsrMtrrFix4kE8000: i32 = 8312;
pub const WHvX64RegisterMsrMtrrFix4kF0000: i32 = 8313;
pub const WHvX64RegisterMsrMtrrFix4kF8000: i32 = 8314;
pub const WHvX64RegisterTscAux: i32 = 8315;
pub const WHvX64RegisterBndcfgs: i32 = 8316;
pub const WHvX64RegisterMCount: i32 = 8318;
pub const WHvX64RegisterACount: i32 = 8319;
pub const WHvX64RegisterSpecCtrl: i32 = 8324;
pub const WHvX64RegisterPredCmd: i32 = 8325;
pub const WHvX64RegisterTscVirtualOffset: i32 = 8327;
pub const WHvX64RegisterTsxCtrl: i32 = 8328;
pub const WHvX64RegisterXss: i32 = 8331;
pub const WHvX64RegisterUCet: i32 = 8332;
pub const WHvX64RegisterSCet: i32 = 8333;
pub const WHvX64RegisterSsp: i32 = 8334;
pub const WHvX64RegisterPl0Ssp: i32 = 8335;
pub const WHvX64RegisterPl1Ssp: i32 = 8336;
pub const WHvX64RegisterPl2Ssp: i32 = 8337;
pub const WHvX64RegisterPl3Ssp: i32 = 8338;
pub const WHvX64RegisterInterruptSspTableAddr: i32 = 8339;
pub const WHvX64RegisterTscDeadline: i32 = 8341;
pub const WHvX64RegisterTscAdjust: i32 = 8342;
pub const WHvX64RegisterUmwaitControl: i32 = 8344;
pub const WHvX64RegisterXfd: i32 = 8345;
pub const WHvX64RegisterXfdErr: i32 = 8346;
pub const WHvX64RegisterApicId: i32 = 12290;
pub const WHvX64RegisterApicVersion: i32 = 12291;
pub const WHvX64RegisterApicTpr: i32 = 12296;
pub const WHvX64RegisterApicPpr: i32 = 12298;
pub const WHvX64RegisterApicEoi: i32 = 12299;
pub const WHvX64RegisterApicLdr: i32 = 12301;
pub const WHvX64RegisterApicSpurious: i32 = 12303;
pub const WHvX64RegisterApicIsr0: i32 = 12304;
pub const WHvX64RegisterApicIsr1: i32 = 12305;
pub const WHvX64RegisterApicIsr2: i32 = 12306;
pub const WHvX64RegisterApicIsr3: i32 = 12307;
pub const WHvX64RegisterApicIsr4: i32 = 12308;
pub const WHvX64RegisterApicIsr5: i32 = 12309;
pub const WHvX64RegisterApicIsr6: i32 = 12310;
pub const WHvX64RegisterApicIsr7: i32 = 12311;
pub const WHvX64RegisterApicTmr0: i32 = 12312;
pub const WHvX64RegisterApicTmr1: i32 = 12313;
pub const WHvX64RegisterApicTmr2: i32 = 12314;
pub const WHvX64RegisterApicTmr3: i32 = 12315;
pub const WHvX64RegisterApicTmr4: i32 = 12316;
pub const WHvX64RegisterApicTmr5: i32 = 12317;
pub const WHvX64RegisterApicTmr6: i32 = 12318;
pub const WHvX64RegisterApicTmr7: i32 = 12319;
pub const WHvX64RegisterApicIrr0: i32 = 12320;
pub const WHvX64RegisterApicIrr1: i32 = 12321;
pub const WHvX64RegisterApicIrr2: i32 = 12322;
pub const WHvX64RegisterApicIrr3: i32 = 12323;
pub const WHvX64RegisterApicIrr4: i32 = 12324;
pub const WHvX64RegisterApicIrr5: i32 = 12325;
pub const WHvX64RegisterApicIrr6: i32 = 12326;
pub const WHvX64RegisterApicIrr7: i32 = 12327;
pub const WHvX64RegisterApicEse: i32 = 12328;
pub const WHvX64RegisterApicIcr: i32 = 12336;
pub const WHvX64RegisterApicLvtTimer: i32 = 12338;
pub const WHvX64RegisterApicLvtThermal: i32 = 12339;
pub const WHvX64RegisterApicLvtPerfmon: i32 = 12340;
pub const WHvX64RegisterApicLvtLint0: i32 = 12341;
pub const WHvX64RegisterApicLvtLint1: i32 = 12342;
pub const WHvX64RegisterApicLvtError: i32 = 12343;
pub const WHvX64RegisterApicInitCount: i32 = 12344;
pub const WHvX64RegisterApicCurrentCount: i32 = 12345;
pub const WHvX64RegisterApicDivide: i32 = 12350;
pub const WHvX64RegisterApicSelfIpi: i32 = 12351;
pub const WHvRegisterSint0: i32 = 16384;
pub const WHvRegisterSint1: i32 = 16385;
pub const WHvRegisterSint2: i32 = 16386;
pub const WHvRegisterSint3: i32 = 16387;
pub const WHvRegisterSint4: i32 = 16388;
pub const WHvRegisterSint5: i32 = 16389;
pub const WHvRegisterSint6: i32 = 16390;
pub const WHvRegisterSint7: i32 = 16391;
pub const WHvRegisterSint8: i32 = 16392;
pub const WHvRegisterSint9: i32 = 16393;
pub const WHvRegisterSint10: i32 = 16394;
pub const WHvRegisterSint11: i32 = 16395;
pub const WHvRegisterSint12: i32 = 16396;
pub const WHvRegisterSint13: i32 = 16397;
pub const WHvRegisterSint14: i32 = 16398;
pub const WHvRegisterSint15: i32 = 16399;
pub const WHvRegisterScontrol: i32 = 16400;
pub const WHvRegisterSversion: i32 = 16401;
pub const WHvRegisterSiefp: i32 = 16402;
pub const WHvRegisterSimp: i32 = 16403;
pub const WHvRegisterEom: i32 = 16404;
pub const WHvRegisterVpRuntime: i32 = 20480;
pub const WHvX64RegisterHypercall: i32 = 20481;
pub const WHvRegisterGuestOsId: i32 = 20482;
pub const WHvRegisterVpAssistPage: i32 = 20499;
pub const WHvRegisterReferenceTsc: i32 = 20503;
pub const WHvRegisterReferenceTscSequence: i32 = 20506;
pub const WHvRegisterPendingInterruption: i32 = -2147483648;
pub const WHvRegisterInterruptState: i32 = -2147483647;
pub const WHvRegisterPendingEvent: i32 = -2147483646;
pub const WHvX64RegisterDeliverabilityNotifications: i32 = -2147483644;
pub const WHvRegisterInternalActivityState: i32 = -2147483643;
pub const WHvX64RegisterPendingDebugException: i32 = -2147483642;
const
  WHvX64RegisterRax* = 0
  WHvX64RegisterRcx* = 1
  WHvX64RegisterRdx* = 2
  WHvX64RegisterRbx* = 3
  WHvX64RegisterRsp* = 4
  WHvX64RegisterRbp* = 5
  WHvX64RegisterRsi* = 6
  WHvX64RegisterRdi* = 7
  WHvX64RegisterR8* = 8
  WHvX64RegisterR9* = 9
  WHvX64RegisterR10* = 10
  WHvX64RegisterR11* = 11
  WHvX64RegisterR12* = 12
  WHvX64RegisterR13* = 13
  WHvX64RegisterR14* = 14
  WHvX64RegisterR15* = 15
  WHvX64RegisterRip* = 16
  WHvX64RegisterRflags* = 17
  WHvX64RegisterEs* = 18
  WHvX64RegisterCs* = 19
  WHvX64RegisterSs* = 20
  WHvX64RegisterDs* = 21
  WHvX64RegisterFs* = 22
  WHvX64RegisterGs* = 23
  WHvX64RegisterLdtr* = 24
  WHvX64RegisterTr* = 25
  WHvX64RegisterIdtr* = 26
  WHvX64RegisterGdtr* = 27
  WHvX64RegisterCr0* = 28
  WHvX64RegisterCr2* = 29
  WHvX64RegisterCr3* = 30
  WHvX64RegisterCr4* = 31
  WHvX64RegisterCr8* = 32
  WHvX64RegisterDr0* = 33
  WHvX64RegisterDr1* = 34
  WHvX64RegisterDr2* = 35
  WHvX64RegisterDr3* = 36
  WHvX64RegisterDr6* = 37
  WHvX64RegisterDr7* = 38
  WHvX64RegisterXCr0* = 39
  WHvX64RegisterVirtualCr0* = 40
  WHvX64RegisterVirtualCr3* = 41
  WHvX64RegisterVirtualCr4* = 42
  WHvX64RegisterVirtualCr8* = 43
  WHvX64RegisterXmm0* = 4096
  WHvX64RegisterXmm1* = 4097
  WHvX64RegisterXmm2* = 4098
  WHvX64RegisterXmm3* = 4099
  WHvX64RegisterXmm4* = 4100
  WHvX64RegisterXmm5* = 4101
  WHvX64RegisterXmm6* = 4102
  WHvX64RegisterXmm7* = 4103
  WHvX64RegisterXmm8* = 4104
  WHvX64RegisterXmm9* = 4105
  WHvX64RegisterXmm10* = 4106
  WHvX64RegisterXmm11* = 4107
  WHvX64RegisterXmm12* = 4108
  WHvX64RegisterXmm13* = 4109
  WHvX64RegisterXmm14* = 4110
  WHvX64RegisterXmm15* = 4111
  WHvX64RegisterFpMmx0* = 4112
  WHvX64RegisterFpMmx1* = 4113
  WHvX64RegisterFpMmx2* = 4114
  WHvX64RegisterFpMmx3* = 4115
  WHvX64RegisterFpMmx4* = 4116
  WHvX64RegisterFpMmx5* = 4117
  WHvX64RegisterFpMmx6* = 4118
  WHvX64RegisterFpMmx7* = 4119
  WHvX64RegisterFpControlStatus* = 4120
  WHvX64RegisterXmmControlStatus* = 4121
  WHvX64RegisterTsc* = 8192
  WHvX64RegisterEfer* = 8193
  WHvX64RegisterKernelGsBase* = 8194
  WHvX64RegisterApicBase* = 8195
  WHvX64RegisterPat* = 8196
  WHvX64RegisterSysenterCs* = 8197
  WHvX64RegisterSysenterEip* = 8198
  WHvX64RegisterSysenterEsp* = 8199
  WHvX64RegisterStar* = 8200
  WHvX64RegisterLstar* = 8201
  WHvX64RegisterCstar* = 8202
  WHvX64RegisterSfmask* = 8203
  WHvX64RegisterInitialApicId* = 8204
  WHvX64RegisterMsrMtrrCap* = 8205
  WHvX64RegisterMsrMtrrDefType* = 8206
  WHvX64RegisterMsrMtrrPhysBase0* = 8208
  WHvX64RegisterMsrMtrrPhysBase1* = 8209
  WHvX64RegisterMsrMtrrPhysBase2* = 8210
  WHvX64RegisterMsrMtrrPhysBase3* = 8211
  WHvX64RegisterMsrMtrrPhysBase4* = 8212
  WHvX64RegisterMsrMtrrPhysBase5* = 8213
  WHvX64RegisterMsrMtrrPhysBase6* = 8214
  WHvX64RegisterMsrMtrrPhysBase7* = 8215
  WHvX64RegisterMsrMtrrPhysBase8* = 8216
  WHvX64RegisterMsrMtrrPhysBase9* = 8217
  WHvX64RegisterMsrMtrrPhysBaseA* = 8218
  WHvX64RegisterMsrMtrrPhysBaseB* = 8219
  WHvX64RegisterMsrMtrrPhysBaseC* = 8220
  WHvX64RegisterMsrMtrrPhysBaseD* = 8221
  WHvX64RegisterMsrMtrrPhysBaseE* = 8222
  WHvX64RegisterMsrMtrrPhysBaseF* = 8223
  WHvX64RegisterMsrMtrrPhysMask0* = 8256
  WHvX64RegisterMsrMtrrPhysMask1* = 8257
  WHvX64RegisterMsrMtrrPhysMask2* = 8258
  WHvX64RegisterMsrMtrrPhysMask3* = 8259
  WHvX64RegisterMsrMtrrPhysMask4* = 8260
  WHvX64RegisterMsrMtrrPhysMask5* = 8261
  WHvX64RegisterMsrMtrrPhysMask6* = 8262
  WHvX64RegisterMsrMtrrPhysMask7* = 8263
  WHvX64RegisterMsrMtrrPhysMask8* = 8264
  WHvX64RegisterMsrMtrrPhysMask9* = 8265
  WHvX64RegisterMsrMtrrPhysMaskA* = 8266
  WHvX64RegisterMsrMtrrPhysMaskB* = 8267
  WHvX64RegisterMsrMtrrPhysMaskC* = 8268
  WHvX64RegisterMsrMtrrPhysMaskD* = 8269
  WHvX64RegisterMsrMtrrPhysMaskE* = 8270
  WHvX64RegisterMsrMtrrPhysMaskF* = 8271
  WHvX64RegisterMsrMtrrFix64k00000* = 8304
  WHvX64RegisterMsrMtrrFix16k80000* = 8305
  WHvX64RegisterMsrMtrrFix16kA0000* = 8306
  WHvX64RegisterMsrMtrrFix4kC0000* = 8307
  WHvX64RegisterMsrMtrrFix4kC8000* = 8308
  WHvX64RegisterMsrMtrrFix4kD0000* = 8309
  WHvX64RegisterMsrMtrrFix4kD8000* = 8310
  WHvX64RegisterMsrMtrrFix4kE0000* = 8311
  WHvX64RegisterMsrMtrrFix4kE8000* = 8312
  WHvX64RegisterMsrMtrrFix4kF0000* = 8313
  WHvX64RegisterMsrMtrrFix4kF8000* = 8314
  WHvX64RegisterTscAux* = 8315
  WHvX64RegisterBndcfgs* = 8316
  WHvX64RegisterMCount* = 8318
  WHvX64RegisterACount* = 8319
  WHvX64RegisterSpecCtrl* = 8324
  WHvX64RegisterPredCmd* = 8325
  WHvX64RegisterTscVirtualOffset* = 8327
  WHvX64RegisterTsxCtrl* = 8328
  WHvX64RegisterXss* = 8331
  WHvX64RegisterUCet* = 8332
  WHvX64RegisterSCet* = 8333
  WHvX64RegisterSsp* = 8334
  WHvX64RegisterPl0Ssp* = 8335
  WHvX64RegisterPl1Ssp* = 8336
  WHvX64RegisterPl2Ssp* = 8337
  WHvX64RegisterPl3Ssp* = 8338
  WHvX64RegisterInterruptSspTableAddr* = 8339
  WHvX64RegisterTscDeadline* = 8341
  WHvX64RegisterTscAdjust* = 8342
  WHvX64RegisterUmwaitControl* = 8344
  WHvX64RegisterXfd* = 8345
  WHvX64RegisterXfdErr* = 8346
  WHvX64RegisterApicId* = 12290
  WHvX64RegisterApicVersion* = 12291
  WHvX64RegisterApicTpr* = 12296
  WHvX64RegisterApicPpr* = 12298
  WHvX64RegisterApicEoi* = 12299
  WHvX64RegisterApicLdr* = 12301
  WHvX64RegisterApicSpurious* = 12303
  WHvX64RegisterApicIsr0* = 12304
  WHvX64RegisterApicIsr1* = 12305
  WHvX64RegisterApicIsr2* = 12306
  WHvX64RegisterApicIsr3* = 12307
  WHvX64RegisterApicIsr4* = 12308
  WHvX64RegisterApicIsr5* = 12309
  WHvX64RegisterApicIsr6* = 12310
  WHvX64RegisterApicIsr7* = 12311
  WHvX64RegisterApicTmr0* = 12312
  WHvX64RegisterApicTmr1* = 12313
  WHvX64RegisterApicTmr2* = 12314
  WHvX64RegisterApicTmr3* = 12315
  WHvX64RegisterApicTmr4* = 12316
  WHvX64RegisterApicTmr5* = 12317
  WHvX64RegisterApicTmr6* = 12318
  WHvX64RegisterApicTmr7* = 12319
  WHvX64RegisterApicIrr0* = 12320
  WHvX64RegisterApicIrr1* = 12321
  WHvX64RegisterApicIrr2* = 12322
  WHvX64RegisterApicIrr3* = 12323
  WHvX64RegisterApicIrr4* = 12324
  WHvX64RegisterApicIrr5* = 12325
  WHvX64RegisterApicIrr6* = 12326
  WHvX64RegisterApicIrr7* = 12327
  WHvX64RegisterApicEse* = 12328
  WHvX64RegisterApicIcr* = 12336
  WHvX64RegisterApicLvtTimer* = 12338
  WHvX64RegisterApicLvtThermal* = 12339
  WHvX64RegisterApicLvtPerfmon* = 12340
  WHvX64RegisterApicLvtLint0* = 12341
  WHvX64RegisterApicLvtLint1* = 12342
  WHvX64RegisterApicLvtError* = 12343
  WHvX64RegisterApicInitCount* = 12344
  WHvX64RegisterApicCurrentCount* = 12345
  WHvX64RegisterApicDivide* = 12350
  WHvX64RegisterApicSelfIpi* = 12351
  WHvRegisterSint0* = 16384
  WHvRegisterSint1* = 16385
  WHvRegisterSint2* = 16386
  WHvRegisterSint3* = 16387
  WHvRegisterSint4* = 16388
  WHvRegisterSint5* = 16389
  WHvRegisterSint6* = 16390
  WHvRegisterSint7* = 16391
  WHvRegisterSint8* = 16392
  WHvRegisterSint9* = 16393
  WHvRegisterSint10* = 16394
  WHvRegisterSint11* = 16395
  WHvRegisterSint12* = 16396
  WHvRegisterSint13* = 16397
  WHvRegisterSint14* = 16398
  WHvRegisterSint15* = 16399
  WHvRegisterScontrol* = 16400
  WHvRegisterSversion* = 16401
  WHvRegisterSiefp* = 16402
  WHvRegisterSimp* = 16403
  WHvRegisterEom* = 16404
  WHvRegisterVpRuntime* = 20480
  WHvX64RegisterHypercall* = 20481
  WHvRegisterGuestOsId* = 20482
  WHvRegisterVpAssistPage* = 20499
  WHvRegisterReferenceTsc* = 20503
  WHvRegisterReferenceTscSequence* = 20506
  WHvRegisterPendingInterruption* = -2147483648
  WHvRegisterInterruptState* = -2147483647
  WHvRegisterPendingEvent* = -2147483646
  WHvX64RegisterDeliverabilityNotifications* = -2147483644
  WHvRegisterInternalActivityState* = -2147483643
  WHvX64RegisterPendingDebugException* = -2147483642
enum WHV_REGISTER_NAME : int {
    WHvX64RegisterRax = 0,
    WHvX64RegisterRcx = 1,
    WHvX64RegisterRdx = 2,
    WHvX64RegisterRbx = 3,
    WHvX64RegisterRsp = 4,
    WHvX64RegisterRbp = 5,
    WHvX64RegisterRsi = 6,
    WHvX64RegisterRdi = 7,
    WHvX64RegisterR8 = 8,
    WHvX64RegisterR9 = 9,
    WHvX64RegisterR10 = 10,
    WHvX64RegisterR11 = 11,
    WHvX64RegisterR12 = 12,
    WHvX64RegisterR13 = 13,
    WHvX64RegisterR14 = 14,
    WHvX64RegisterR15 = 15,
    WHvX64RegisterRip = 16,
    WHvX64RegisterRflags = 17,
    WHvX64RegisterEs = 18,
    WHvX64RegisterCs = 19,
    WHvX64RegisterSs = 20,
    WHvX64RegisterDs = 21,
    WHvX64RegisterFs = 22,
    WHvX64RegisterGs = 23,
    WHvX64RegisterLdtr = 24,
    WHvX64RegisterTr = 25,
    WHvX64RegisterIdtr = 26,
    WHvX64RegisterGdtr = 27,
    WHvX64RegisterCr0 = 28,
    WHvX64RegisterCr2 = 29,
    WHvX64RegisterCr3 = 30,
    WHvX64RegisterCr4 = 31,
    WHvX64RegisterCr8 = 32,
    WHvX64RegisterDr0 = 33,
    WHvX64RegisterDr1 = 34,
    WHvX64RegisterDr2 = 35,
    WHvX64RegisterDr3 = 36,
    WHvX64RegisterDr6 = 37,
    WHvX64RegisterDr7 = 38,
    WHvX64RegisterXCr0 = 39,
    WHvX64RegisterVirtualCr0 = 40,
    WHvX64RegisterVirtualCr3 = 41,
    WHvX64RegisterVirtualCr4 = 42,
    WHvX64RegisterVirtualCr8 = 43,
    WHvX64RegisterXmm0 = 4096,
    WHvX64RegisterXmm1 = 4097,
    WHvX64RegisterXmm2 = 4098,
    WHvX64RegisterXmm3 = 4099,
    WHvX64RegisterXmm4 = 4100,
    WHvX64RegisterXmm5 = 4101,
    WHvX64RegisterXmm6 = 4102,
    WHvX64RegisterXmm7 = 4103,
    WHvX64RegisterXmm8 = 4104,
    WHvX64RegisterXmm9 = 4105,
    WHvX64RegisterXmm10 = 4106,
    WHvX64RegisterXmm11 = 4107,
    WHvX64RegisterXmm12 = 4108,
    WHvX64RegisterXmm13 = 4109,
    WHvX64RegisterXmm14 = 4110,
    WHvX64RegisterXmm15 = 4111,
    WHvX64RegisterFpMmx0 = 4112,
    WHvX64RegisterFpMmx1 = 4113,
    WHvX64RegisterFpMmx2 = 4114,
    WHvX64RegisterFpMmx3 = 4115,
    WHvX64RegisterFpMmx4 = 4116,
    WHvX64RegisterFpMmx5 = 4117,
    WHvX64RegisterFpMmx6 = 4118,
    WHvX64RegisterFpMmx7 = 4119,
    WHvX64RegisterFpControlStatus = 4120,
    WHvX64RegisterXmmControlStatus = 4121,
    WHvX64RegisterTsc = 8192,
    WHvX64RegisterEfer = 8193,
    WHvX64RegisterKernelGsBase = 8194,
    WHvX64RegisterApicBase = 8195,
    WHvX64RegisterPat = 8196,
    WHvX64RegisterSysenterCs = 8197,
    WHvX64RegisterSysenterEip = 8198,
    WHvX64RegisterSysenterEsp = 8199,
    WHvX64RegisterStar = 8200,
    WHvX64RegisterLstar = 8201,
    WHvX64RegisterCstar = 8202,
    WHvX64RegisterSfmask = 8203,
    WHvX64RegisterInitialApicId = 8204,
    WHvX64RegisterMsrMtrrCap = 8205,
    WHvX64RegisterMsrMtrrDefType = 8206,
    WHvX64RegisterMsrMtrrPhysBase0 = 8208,
    WHvX64RegisterMsrMtrrPhysBase1 = 8209,
    WHvX64RegisterMsrMtrrPhysBase2 = 8210,
    WHvX64RegisterMsrMtrrPhysBase3 = 8211,
    WHvX64RegisterMsrMtrrPhysBase4 = 8212,
    WHvX64RegisterMsrMtrrPhysBase5 = 8213,
    WHvX64RegisterMsrMtrrPhysBase6 = 8214,
    WHvX64RegisterMsrMtrrPhysBase7 = 8215,
    WHvX64RegisterMsrMtrrPhysBase8 = 8216,
    WHvX64RegisterMsrMtrrPhysBase9 = 8217,
    WHvX64RegisterMsrMtrrPhysBaseA = 8218,
    WHvX64RegisterMsrMtrrPhysBaseB = 8219,
    WHvX64RegisterMsrMtrrPhysBaseC = 8220,
    WHvX64RegisterMsrMtrrPhysBaseD = 8221,
    WHvX64RegisterMsrMtrrPhysBaseE = 8222,
    WHvX64RegisterMsrMtrrPhysBaseF = 8223,
    WHvX64RegisterMsrMtrrPhysMask0 = 8256,
    WHvX64RegisterMsrMtrrPhysMask1 = 8257,
    WHvX64RegisterMsrMtrrPhysMask2 = 8258,
    WHvX64RegisterMsrMtrrPhysMask3 = 8259,
    WHvX64RegisterMsrMtrrPhysMask4 = 8260,
    WHvX64RegisterMsrMtrrPhysMask5 = 8261,
    WHvX64RegisterMsrMtrrPhysMask6 = 8262,
    WHvX64RegisterMsrMtrrPhysMask7 = 8263,
    WHvX64RegisterMsrMtrrPhysMask8 = 8264,
    WHvX64RegisterMsrMtrrPhysMask9 = 8265,
    WHvX64RegisterMsrMtrrPhysMaskA = 8266,
    WHvX64RegisterMsrMtrrPhysMaskB = 8267,
    WHvX64RegisterMsrMtrrPhysMaskC = 8268,
    WHvX64RegisterMsrMtrrPhysMaskD = 8269,
    WHvX64RegisterMsrMtrrPhysMaskE = 8270,
    WHvX64RegisterMsrMtrrPhysMaskF = 8271,
    WHvX64RegisterMsrMtrrFix64k00000 = 8304,
    WHvX64RegisterMsrMtrrFix16k80000 = 8305,
    WHvX64RegisterMsrMtrrFix16kA0000 = 8306,
    WHvX64RegisterMsrMtrrFix4kC0000 = 8307,
    WHvX64RegisterMsrMtrrFix4kC8000 = 8308,
    WHvX64RegisterMsrMtrrFix4kD0000 = 8309,
    WHvX64RegisterMsrMtrrFix4kD8000 = 8310,
    WHvX64RegisterMsrMtrrFix4kE0000 = 8311,
    WHvX64RegisterMsrMtrrFix4kE8000 = 8312,
    WHvX64RegisterMsrMtrrFix4kF0000 = 8313,
    WHvX64RegisterMsrMtrrFix4kF8000 = 8314,
    WHvX64RegisterTscAux = 8315,
    WHvX64RegisterBndcfgs = 8316,
    WHvX64RegisterMCount = 8318,
    WHvX64RegisterACount = 8319,
    WHvX64RegisterSpecCtrl = 8324,
    WHvX64RegisterPredCmd = 8325,
    WHvX64RegisterTscVirtualOffset = 8327,
    WHvX64RegisterTsxCtrl = 8328,
    WHvX64RegisterXss = 8331,
    WHvX64RegisterUCet = 8332,
    WHvX64RegisterSCet = 8333,
    WHvX64RegisterSsp = 8334,
    WHvX64RegisterPl0Ssp = 8335,
    WHvX64RegisterPl1Ssp = 8336,
    WHvX64RegisterPl2Ssp = 8337,
    WHvX64RegisterPl3Ssp = 8338,
    WHvX64RegisterInterruptSspTableAddr = 8339,
    WHvX64RegisterTscDeadline = 8341,
    WHvX64RegisterTscAdjust = 8342,
    WHvX64RegisterUmwaitControl = 8344,
    WHvX64RegisterXfd = 8345,
    WHvX64RegisterXfdErr = 8346,
    WHvX64RegisterApicId = 12290,
    WHvX64RegisterApicVersion = 12291,
    WHvX64RegisterApicTpr = 12296,
    WHvX64RegisterApicPpr = 12298,
    WHvX64RegisterApicEoi = 12299,
    WHvX64RegisterApicLdr = 12301,
    WHvX64RegisterApicSpurious = 12303,
    WHvX64RegisterApicIsr0 = 12304,
    WHvX64RegisterApicIsr1 = 12305,
    WHvX64RegisterApicIsr2 = 12306,
    WHvX64RegisterApicIsr3 = 12307,
    WHvX64RegisterApicIsr4 = 12308,
    WHvX64RegisterApicIsr5 = 12309,
    WHvX64RegisterApicIsr6 = 12310,
    WHvX64RegisterApicIsr7 = 12311,
    WHvX64RegisterApicTmr0 = 12312,
    WHvX64RegisterApicTmr1 = 12313,
    WHvX64RegisterApicTmr2 = 12314,
    WHvX64RegisterApicTmr3 = 12315,
    WHvX64RegisterApicTmr4 = 12316,
    WHvX64RegisterApicTmr5 = 12317,
    WHvX64RegisterApicTmr6 = 12318,
    WHvX64RegisterApicTmr7 = 12319,
    WHvX64RegisterApicIrr0 = 12320,
    WHvX64RegisterApicIrr1 = 12321,
    WHvX64RegisterApicIrr2 = 12322,
    WHvX64RegisterApicIrr3 = 12323,
    WHvX64RegisterApicIrr4 = 12324,
    WHvX64RegisterApicIrr5 = 12325,
    WHvX64RegisterApicIrr6 = 12326,
    WHvX64RegisterApicIrr7 = 12327,
    WHvX64RegisterApicEse = 12328,
    WHvX64RegisterApicIcr = 12336,
    WHvX64RegisterApicLvtTimer = 12338,
    WHvX64RegisterApicLvtThermal = 12339,
    WHvX64RegisterApicLvtPerfmon = 12340,
    WHvX64RegisterApicLvtLint0 = 12341,
    WHvX64RegisterApicLvtLint1 = 12342,
    WHvX64RegisterApicLvtError = 12343,
    WHvX64RegisterApicInitCount = 12344,
    WHvX64RegisterApicCurrentCount = 12345,
    WHvX64RegisterApicDivide = 12350,
    WHvX64RegisterApicSelfIpi = 12351,
    WHvRegisterSint0 = 16384,
    WHvRegisterSint1 = 16385,
    WHvRegisterSint2 = 16386,
    WHvRegisterSint3 = 16387,
    WHvRegisterSint4 = 16388,
    WHvRegisterSint5 = 16389,
    WHvRegisterSint6 = 16390,
    WHvRegisterSint7 = 16391,
    WHvRegisterSint8 = 16392,
    WHvRegisterSint9 = 16393,
    WHvRegisterSint10 = 16394,
    WHvRegisterSint11 = 16395,
    WHvRegisterSint12 = 16396,
    WHvRegisterSint13 = 16397,
    WHvRegisterSint14 = 16398,
    WHvRegisterSint15 = 16399,
    WHvRegisterScontrol = 16400,
    WHvRegisterSversion = 16401,
    WHvRegisterSiefp = 16402,
    WHvRegisterSimp = 16403,
    WHvRegisterEom = 16404,
    WHvRegisterVpRuntime = 20480,
    WHvX64RegisterHypercall = 20481,
    WHvRegisterGuestOsId = 20482,
    WHvRegisterVpAssistPage = 20499,
    WHvRegisterReferenceTsc = 20503,
    WHvRegisterReferenceTscSequence = 20506,
    WHvRegisterPendingInterruption = -2147483648,
    WHvRegisterInterruptState = -2147483647,
    WHvRegisterPendingEvent = -2147483646,
    WHvX64RegisterDeliverabilityNotifications = -2147483644,
    WHvRegisterInternalActivityState = -2147483643,
    WHvX64RegisterPendingDebugException = -2147483642,
}
#define global WHvX64RegisterRax                         0x0
#define global WHvX64RegisterRcx                         0x1
#define global WHvX64RegisterRdx                         0x2
#define global WHvX64RegisterRbx                         0x3
#define global WHvX64RegisterRsp                         0x4
#define global WHvX64RegisterRbp                         0x5
#define global WHvX64RegisterRsi                         0x6
#define global WHvX64RegisterRdi                         0x7
#define global WHvX64RegisterR8                          0x8
#define global WHvX64RegisterR9                          0x9
#define global WHvX64RegisterR10                         0xA
#define global WHvX64RegisterR11                         0xB
#define global WHvX64RegisterR12                         0xC
#define global WHvX64RegisterR13                         0xD
#define global WHvX64RegisterR14                         0xE
#define global WHvX64RegisterR15                         0xF
#define global WHvX64RegisterRip                         0x10
#define global WHvX64RegisterRflags                      0x11
#define global WHvX64RegisterEs                          0x12
#define global WHvX64RegisterCs                          0x13
#define global WHvX64RegisterSs                          0x14
#define global WHvX64RegisterDs                          0x15
#define global WHvX64RegisterFs                          0x16
#define global WHvX64RegisterGs                          0x17
#define global WHvX64RegisterLdtr                        0x18
#define global WHvX64RegisterTr                          0x19
#define global WHvX64RegisterIdtr                        0x1A
#define global WHvX64RegisterGdtr                        0x1B
#define global WHvX64RegisterCr0                         0x1C
#define global WHvX64RegisterCr2                         0x1D
#define global WHvX64RegisterCr3                         0x1E
#define global WHvX64RegisterCr4                         0x1F
#define global WHvX64RegisterCr8                         0x20
#define global WHvX64RegisterDr0                         0x21
#define global WHvX64RegisterDr1                         0x22
#define global WHvX64RegisterDr2                         0x23
#define global WHvX64RegisterDr3                         0x24
#define global WHvX64RegisterDr6                         0x25
#define global WHvX64RegisterDr7                         0x26
#define global WHvX64RegisterXCr0                        0x27
#define global WHvX64RegisterVirtualCr0                  0x28
#define global WHvX64RegisterVirtualCr3                  0x29
#define global WHvX64RegisterVirtualCr4                  0x2A
#define global WHvX64RegisterVirtualCr8                  0x2B
#define global WHvX64RegisterXmm0                        0x1000
#define global WHvX64RegisterXmm1                        0x1001
#define global WHvX64RegisterXmm2                        0x1002
#define global WHvX64RegisterXmm3                        0x1003
#define global WHvX64RegisterXmm4                        0x1004
#define global WHvX64RegisterXmm5                        0x1005
#define global WHvX64RegisterXmm6                        0x1006
#define global WHvX64RegisterXmm7                        0x1007
#define global WHvX64RegisterXmm8                        0x1008
#define global WHvX64RegisterXmm9                        0x1009
#define global WHvX64RegisterXmm10                       0x100A
#define global WHvX64RegisterXmm11                       0x100B
#define global WHvX64RegisterXmm12                       0x100C
#define global WHvX64RegisterXmm13                       0x100D
#define global WHvX64RegisterXmm14                       0x100E
#define global WHvX64RegisterXmm15                       0x100F
#define global WHvX64RegisterFpMmx0                      0x1010
#define global WHvX64RegisterFpMmx1                      0x1011
#define global WHvX64RegisterFpMmx2                      0x1012
#define global WHvX64RegisterFpMmx3                      0x1013
#define global WHvX64RegisterFpMmx4                      0x1014
#define global WHvX64RegisterFpMmx5                      0x1015
#define global WHvX64RegisterFpMmx6                      0x1016
#define global WHvX64RegisterFpMmx7                      0x1017
#define global WHvX64RegisterFpControlStatus             0x1018
#define global WHvX64RegisterXmmControlStatus            0x1019
#define global WHvX64RegisterTsc                         0x2000
#define global WHvX64RegisterEfer                        0x2001
#define global WHvX64RegisterKernelGsBase                0x2002
#define global WHvX64RegisterApicBase                    0x2003
#define global WHvX64RegisterPat                         0x2004
#define global WHvX64RegisterSysenterCs                  0x2005
#define global WHvX64RegisterSysenterEip                 0x2006
#define global WHvX64RegisterSysenterEsp                 0x2007
#define global WHvX64RegisterStar                        0x2008
#define global WHvX64RegisterLstar                       0x2009
#define global WHvX64RegisterCstar                       0x200A
#define global WHvX64RegisterSfmask                      0x200B
#define global WHvX64RegisterInitialApicId               0x200C
#define global WHvX64RegisterMsrMtrrCap                  0x200D
#define global WHvX64RegisterMsrMtrrDefType              0x200E
#define global WHvX64RegisterMsrMtrrPhysBase0            0x2010
#define global WHvX64RegisterMsrMtrrPhysBase1            0x2011
#define global WHvX64RegisterMsrMtrrPhysBase2            0x2012
#define global WHvX64RegisterMsrMtrrPhysBase3            0x2013
#define global WHvX64RegisterMsrMtrrPhysBase4            0x2014
#define global WHvX64RegisterMsrMtrrPhysBase5            0x2015
#define global WHvX64RegisterMsrMtrrPhysBase6            0x2016
#define global WHvX64RegisterMsrMtrrPhysBase7            0x2017
#define global WHvX64RegisterMsrMtrrPhysBase8            0x2018
#define global WHvX64RegisterMsrMtrrPhysBase9            0x2019
#define global WHvX64RegisterMsrMtrrPhysBaseA            0x201A
#define global WHvX64RegisterMsrMtrrPhysBaseB            0x201B
#define global WHvX64RegisterMsrMtrrPhysBaseC            0x201C
#define global WHvX64RegisterMsrMtrrPhysBaseD            0x201D
#define global WHvX64RegisterMsrMtrrPhysBaseE            0x201E
#define global WHvX64RegisterMsrMtrrPhysBaseF            0x201F
#define global WHvX64RegisterMsrMtrrPhysMask0            0x2040
#define global WHvX64RegisterMsrMtrrPhysMask1            0x2041
#define global WHvX64RegisterMsrMtrrPhysMask2            0x2042
#define global WHvX64RegisterMsrMtrrPhysMask3            0x2043
#define global WHvX64RegisterMsrMtrrPhysMask4            0x2044
#define global WHvX64RegisterMsrMtrrPhysMask5            0x2045
#define global WHvX64RegisterMsrMtrrPhysMask6            0x2046
#define global WHvX64RegisterMsrMtrrPhysMask7            0x2047
#define global WHvX64RegisterMsrMtrrPhysMask8            0x2048
#define global WHvX64RegisterMsrMtrrPhysMask9            0x2049
#define global WHvX64RegisterMsrMtrrPhysMaskA            0x204A
#define global WHvX64RegisterMsrMtrrPhysMaskB            0x204B
#define global WHvX64RegisterMsrMtrrPhysMaskC            0x204C
#define global WHvX64RegisterMsrMtrrPhysMaskD            0x204D
#define global WHvX64RegisterMsrMtrrPhysMaskE            0x204E
#define global WHvX64RegisterMsrMtrrPhysMaskF            0x204F
#define global WHvX64RegisterMsrMtrrFix64k00000          0x2070
#define global WHvX64RegisterMsrMtrrFix16k80000          0x2071
#define global WHvX64RegisterMsrMtrrFix16kA0000          0x2072
#define global WHvX64RegisterMsrMtrrFix4kC0000           0x2073
#define global WHvX64RegisterMsrMtrrFix4kC8000           0x2074
#define global WHvX64RegisterMsrMtrrFix4kD0000           0x2075
#define global WHvX64RegisterMsrMtrrFix4kD8000           0x2076
#define global WHvX64RegisterMsrMtrrFix4kE0000           0x2077
#define global WHvX64RegisterMsrMtrrFix4kE8000           0x2078
#define global WHvX64RegisterMsrMtrrFix4kF0000           0x2079
#define global WHvX64RegisterMsrMtrrFix4kF8000           0x207A
#define global WHvX64RegisterTscAux                      0x207B
#define global WHvX64RegisterBndcfgs                     0x207C
#define global WHvX64RegisterMCount                      0x207E
#define global WHvX64RegisterACount                      0x207F
#define global WHvX64RegisterSpecCtrl                    0x2084
#define global WHvX64RegisterPredCmd                     0x2085
#define global WHvX64RegisterTscVirtualOffset            0x2087
#define global WHvX64RegisterTsxCtrl                     0x2088
#define global WHvX64RegisterXss                         0x208B
#define global WHvX64RegisterUCet                        0x208C
#define global WHvX64RegisterSCet                        0x208D
#define global WHvX64RegisterSsp                         0x208E
#define global WHvX64RegisterPl0Ssp                      0x208F
#define global WHvX64RegisterPl1Ssp                      0x2090
#define global WHvX64RegisterPl2Ssp                      0x2091
#define global WHvX64RegisterPl3Ssp                      0x2092
#define global WHvX64RegisterInterruptSspTableAddr       0x2093
#define global WHvX64RegisterTscDeadline                 0x2095
#define global WHvX64RegisterTscAdjust                   0x2096
#define global WHvX64RegisterUmwaitControl               0x2098
#define global WHvX64RegisterXfd                         0x2099
#define global WHvX64RegisterXfdErr                      0x209A
#define global WHvX64RegisterApicId                      0x3002
#define global WHvX64RegisterApicVersion                 0x3003
#define global WHvX64RegisterApicTpr                     0x3008
#define global WHvX64RegisterApicPpr                     0x300A
#define global WHvX64RegisterApicEoi                     0x300B
#define global WHvX64RegisterApicLdr                     0x300D
#define global WHvX64RegisterApicSpurious                0x300F
#define global WHvX64RegisterApicIsr0                    0x3010
#define global WHvX64RegisterApicIsr1                    0x3011
#define global WHvX64RegisterApicIsr2                    0x3012
#define global WHvX64RegisterApicIsr3                    0x3013
#define global WHvX64RegisterApicIsr4                    0x3014
#define global WHvX64RegisterApicIsr5                    0x3015
#define global WHvX64RegisterApicIsr6                    0x3016
#define global WHvX64RegisterApicIsr7                    0x3017
#define global WHvX64RegisterApicTmr0                    0x3018
#define global WHvX64RegisterApicTmr1                    0x3019
#define global WHvX64RegisterApicTmr2                    0x301A
#define global WHvX64RegisterApicTmr3                    0x301B
#define global WHvX64RegisterApicTmr4                    0x301C
#define global WHvX64RegisterApicTmr5                    0x301D
#define global WHvX64RegisterApicTmr6                    0x301E
#define global WHvX64RegisterApicTmr7                    0x301F
#define global WHvX64RegisterApicIrr0                    0x3020
#define global WHvX64RegisterApicIrr1                    0x3021
#define global WHvX64RegisterApicIrr2                    0x3022
#define global WHvX64RegisterApicIrr3                    0x3023
#define global WHvX64RegisterApicIrr4                    0x3024
#define global WHvX64RegisterApicIrr5                    0x3025
#define global WHvX64RegisterApicIrr6                    0x3026
#define global WHvX64RegisterApicIrr7                    0x3027
#define global WHvX64RegisterApicEse                     0x3028
#define global WHvX64RegisterApicIcr                     0x3030
#define global WHvX64RegisterApicLvtTimer                0x3032
#define global WHvX64RegisterApicLvtThermal              0x3033
#define global WHvX64RegisterApicLvtPerfmon              0x3034
#define global WHvX64RegisterApicLvtLint0                0x3035
#define global WHvX64RegisterApicLvtLint1                0x3036
#define global WHvX64RegisterApicLvtError                0x3037
#define global WHvX64RegisterApicInitCount               0x3038
#define global WHvX64RegisterApicCurrentCount            0x3039
#define global WHvX64RegisterApicDivide                  0x303E
#define global WHvX64RegisterApicSelfIpi                 0x303F
#define global WHvRegisterSint0                          0x4000
#define global WHvRegisterSint1                          0x4001
#define global WHvRegisterSint2                          0x4002
#define global WHvRegisterSint3                          0x4003
#define global WHvRegisterSint4                          0x4004
#define global WHvRegisterSint5                          0x4005
#define global WHvRegisterSint6                          0x4006
#define global WHvRegisterSint7                          0x4007
#define global WHvRegisterSint8                          0x4008
#define global WHvRegisterSint9                          0x4009
#define global WHvRegisterSint10                         0x400A
#define global WHvRegisterSint11                         0x400B
#define global WHvRegisterSint12                         0x400C
#define global WHvRegisterSint13                         0x400D
#define global WHvRegisterSint14                         0x400E
#define global WHvRegisterSint15                         0x400F
#define global WHvRegisterScontrol                       0x4010
#define global WHvRegisterSversion                       0x4011
#define global WHvRegisterSiefp                          0x4012
#define global WHvRegisterSimp                           0x4013
#define global WHvRegisterEom                            0x4014
#define global WHvRegisterVpRuntime                      0x5000
#define global WHvX64RegisterHypercall                   0x5001
#define global WHvRegisterGuestOsId                      0x5002
#define global WHvRegisterVpAssistPage                   0x5013
#define global WHvRegisterReferenceTsc                   0x5017
#define global WHvRegisterReferenceTscSequence           0x501A
#define global WHvRegisterPendingInterruption            0x80000000
#define global WHvRegisterInterruptState                 0x80000001
#define global WHvRegisterPendingEvent                   0x80000002
#define global WHvX64RegisterDeliverabilityNotifications 0x80000004
#define global WHvRegisterInternalActivityState          0x80000005
#define global WHvX64RegisterPendingDebugException       0x80000006