]> git.proxmox.com Git - rustc.git/blob - vendor/windows/src/Windows/Win32/System/Hypervisor/mod.rs
New upstream version 1.70.0+dfsg1
[rustc.git] / vendor / windows / src / Windows / Win32 / System / Hypervisor / mod.rs
1 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2 #[inline]
3 pub unsafe fn ApplyGuestMemoryFix(vmsavedstatedumphandle: *mut ::core::ffi::c_void, vpid: u32, virtualaddress: u64, fixbuffer: *const ::core::ffi::c_void, fixbuffersize: u32) -> ::windows::core::Result<()> {
4 ::windows::imp::link ! ( "vmsavedstatedumpprovider.dll""system" fn ApplyGuestMemoryFix ( vmsavedstatedumphandle : *mut ::core::ffi::c_void , vpid : u32 , virtualaddress : u64 , fixbuffer : *const ::core::ffi::c_void , fixbuffersize : u32 ) -> :: windows::core::HRESULT );
5 ApplyGuestMemoryFix(vmsavedstatedumphandle, vpid, virtualaddress, fixbuffer, fixbuffersize).ok()
6 }
7 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
8 #[inline]
9 pub unsafe fn ApplyPendingSavedStateFileReplayLog<P0>(vmrsfile: P0) -> ::windows::core::Result<()>
10 where
11 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
12 {
13 ::windows::imp::link ! ( "vmsavedstatedumpprovider.dll""system" fn ApplyPendingSavedStateFileReplayLog ( vmrsfile : :: windows::core::PCWSTR ) -> :: windows::core::HRESULT );
14 ApplyPendingSavedStateFileReplayLog(vmrsfile.into_param().abi()).ok()
15 }
16 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
17 #[inline]
18 pub unsafe fn CallStackUnwind(vmsavedstatedumphandle: *mut ::core::ffi::c_void, vpid: u32, imageinfo: *const MODULE_INFO, imageinfocount: u32, framecount: u32, callstack: *mut ::windows::core::PWSTR) -> ::windows::core::Result<()> {
19 ::windows::imp::link ! ( "vmsavedstatedumpprovider.dll""system" fn CallStackUnwind ( vmsavedstatedumphandle : *mut ::core::ffi::c_void , vpid : u32 , imageinfo : *const MODULE_INFO , imageinfocount : u32 , framecount : u32 , callstack : *mut :: windows::core::PWSTR ) -> :: windows::core::HRESULT );
20 CallStackUnwind(vmsavedstatedumphandle, vpid, imageinfo, imageinfocount, framecount, callstack).ok()
21 }
22 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`, `\"Win32_Foundation\"`*"]
23 #[cfg(feature = "Win32_Foundation")]
24 #[inline]
25 pub unsafe fn FindSavedStateSymbolFieldInType<P0, P1>(vmsavedstatedumphandle: *mut ::core::ffi::c_void, vpid: u32, typename: P0, fieldname: P1, offset: *mut u32, found: *mut super::super::Foundation::BOOL) -> ::windows::core::Result<()>
26 where
27 P0: ::windows::core::IntoParam<::windows::core::PCSTR>,
28 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
29 {
30 ::windows::imp::link ! ( "vmsavedstatedumpprovider.dll""system" fn FindSavedStateSymbolFieldInType ( vmsavedstatedumphandle : *mut ::core::ffi::c_void , vpid : u32 , typename : :: windows::core::PCSTR , fieldname : :: windows::core::PCWSTR , offset : *mut u32 , found : *mut super::super::Foundation:: BOOL ) -> :: windows::core::HRESULT );
31 FindSavedStateSymbolFieldInType(vmsavedstatedumphandle, vpid, typename.into_param().abi(), fieldname.into_param().abi(), offset, found).ok()
32 }
33 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
34 #[inline]
35 pub unsafe fn ForceActiveVirtualTrustLevel(vmsavedstatedumphandle: *mut ::core::ffi::c_void, vpid: u32, virtualtrustlevel: u8) -> ::windows::core::Result<()> {
36 ::windows::imp::link ! ( "vmsavedstatedumpprovider.dll""system" fn ForceActiveVirtualTrustLevel ( vmsavedstatedumphandle : *mut ::core::ffi::c_void , vpid : u32 , virtualtrustlevel : u8 ) -> :: windows::core::HRESULT );
37 ForceActiveVirtualTrustLevel(vmsavedstatedumphandle, vpid, virtualtrustlevel).ok()
38 }
39 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
40 #[inline]
41 pub unsafe fn ForceArchitecture(vmsavedstatedumphandle: *mut ::core::ffi::c_void, vpid: u32, architecture: VIRTUAL_PROCESSOR_ARCH) -> ::windows::core::Result<()> {
42 ::windows::imp::link ! ( "vmsavedstatedumpprovider.dll""system" fn ForceArchitecture ( vmsavedstatedumphandle : *mut ::core::ffi::c_void , vpid : u32 , architecture : VIRTUAL_PROCESSOR_ARCH ) -> :: windows::core::HRESULT );
43 ForceArchitecture(vmsavedstatedumphandle, vpid, architecture).ok()
44 }
45 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`, `\"Win32_Foundation\"`*"]
46 #[cfg(feature = "Win32_Foundation")]
47 #[inline]
48 pub unsafe fn ForceNestedHostMode<P0>(vmsavedstatedumphandle: *mut ::core::ffi::c_void, vpid: u32, hostmode: P0, oldmode: ::core::option::Option<*mut super::super::Foundation::BOOL>) -> ::windows::core::Result<()>
49 where
50 P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
51 {
52 ::windows::imp::link ! ( "vmsavedstatedumpprovider.dll""system" fn ForceNestedHostMode ( vmsavedstatedumphandle : *mut ::core::ffi::c_void , vpid : u32 , hostmode : super::super::Foundation:: BOOL , oldmode : *mut super::super::Foundation:: BOOL ) -> :: windows::core::HRESULT );
53 ForceNestedHostMode(vmsavedstatedumphandle, vpid, hostmode.into_param().abi(), ::core::mem::transmute(oldmode.unwrap_or(::std::ptr::null_mut()))).ok()
54 }
55 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
56 #[inline]
57 pub unsafe fn ForcePagingMode(vmsavedstatedumphandle: *mut ::core::ffi::c_void, vpid: u32, pagingmode: PAGING_MODE) -> ::windows::core::Result<()> {
58 ::windows::imp::link ! ( "vmsavedstatedumpprovider.dll""system" fn ForcePagingMode ( vmsavedstatedumphandle : *mut ::core::ffi::c_void , vpid : u32 , pagingmode : PAGING_MODE ) -> :: windows::core::HRESULT );
59 ForcePagingMode(vmsavedstatedumphandle, vpid, pagingmode).ok()
60 }
61 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
62 #[inline]
63 pub unsafe fn GetActiveVirtualTrustLevel(vmsavedstatedumphandle: *mut ::core::ffi::c_void, vpid: u32, virtualtrustlevel: *mut u8) -> ::windows::core::Result<()> {
64 ::windows::imp::link ! ( "vmsavedstatedumpprovider.dll""system" fn GetActiveVirtualTrustLevel ( vmsavedstatedumphandle : *mut ::core::ffi::c_void , vpid : u32 , virtualtrustlevel : *mut u8 ) -> :: windows::core::HRESULT );
65 GetActiveVirtualTrustLevel(vmsavedstatedumphandle, vpid, virtualtrustlevel).ok()
66 }
67 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
68 #[inline]
69 pub unsafe fn GetArchitecture(vmsavedstatedumphandle: *mut ::core::ffi::c_void, vpid: u32, architecture: *mut VIRTUAL_PROCESSOR_ARCH) -> ::windows::core::Result<()> {
70 ::windows::imp::link ! ( "vmsavedstatedumpprovider.dll""system" fn GetArchitecture ( vmsavedstatedumphandle : *mut ::core::ffi::c_void , vpid : u32 , architecture : *mut VIRTUAL_PROCESSOR_ARCH ) -> :: windows::core::HRESULT );
71 GetArchitecture(vmsavedstatedumphandle, vpid, architecture).ok()
72 }
73 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
74 #[inline]
75 pub unsafe fn GetEnabledVirtualTrustLevels(vmsavedstatedumphandle: *mut ::core::ffi::c_void, vpid: u32, virtualtrustlevels: *mut u32) -> ::windows::core::Result<()> {
76 ::windows::imp::link ! ( "vmsavedstatedumpprovider.dll""system" fn GetEnabledVirtualTrustLevels ( vmsavedstatedumphandle : *mut ::core::ffi::c_void , vpid : u32 , virtualtrustlevels : *mut u32 ) -> :: windows::core::HRESULT );
77 GetEnabledVirtualTrustLevels(vmsavedstatedumphandle, vpid, virtualtrustlevels).ok()
78 }
79 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
80 #[inline]
81 pub unsafe fn GetGuestEnabledVirtualTrustLevels(vmsavedstatedumphandle: *mut ::core::ffi::c_void, virtualtrustlevels: *mut u32) -> ::windows::core::Result<()> {
82 ::windows::imp::link ! ( "vmsavedstatedumpprovider.dll""system" fn GetGuestEnabledVirtualTrustLevels ( vmsavedstatedumphandle : *mut ::core::ffi::c_void , virtualtrustlevels : *mut u32 ) -> :: windows::core::HRESULT );
83 GetGuestEnabledVirtualTrustLevels(vmsavedstatedumphandle, virtualtrustlevels).ok()
84 }
85 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
86 #[inline]
87 pub unsafe fn GetGuestOsInfo(vmsavedstatedumphandle: *mut ::core::ffi::c_void, virtualtrustlevel: u8, guestosinfo: *mut GUEST_OS_INFO) -> ::windows::core::Result<()> {
88 ::windows::imp::link ! ( "vmsavedstatedumpprovider.dll""system" fn GetGuestOsInfo ( vmsavedstatedumphandle : *mut ::core::ffi::c_void , virtualtrustlevel : u8 , guestosinfo : *mut GUEST_OS_INFO ) -> :: windows::core::HRESULT );
89 GetGuestOsInfo(vmsavedstatedumphandle, virtualtrustlevel, guestosinfo).ok()
90 }
91 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
92 #[inline]
93 pub unsafe fn GetGuestPhysicalMemoryChunks(vmsavedstatedumphandle: *mut ::core::ffi::c_void, memorychunkpagesize: *mut u64, memorychunks: *mut GPA_MEMORY_CHUNK, memorychunkcount: *mut u64) -> ::windows::core::Result<()> {
94 ::windows::imp::link ! ( "vmsavedstatedumpprovider.dll""system" fn GetGuestPhysicalMemoryChunks ( vmsavedstatedumphandle : *mut ::core::ffi::c_void , memorychunkpagesize : *mut u64 , memorychunks : *mut GPA_MEMORY_CHUNK , memorychunkcount : *mut u64 ) -> :: windows::core::HRESULT );
95 GetGuestPhysicalMemoryChunks(vmsavedstatedumphandle, memorychunkpagesize, memorychunks, memorychunkcount).ok()
96 }
97 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
98 #[inline]
99 pub unsafe fn GetGuestRawSavedMemorySize(vmsavedstatedumphandle: *mut ::core::ffi::c_void, guestrawsavedmemorysize: *mut u64) -> ::windows::core::Result<()> {
100 ::windows::imp::link ! ( "vmsavedstatedumpprovider.dll""system" fn GetGuestRawSavedMemorySize ( vmsavedstatedumphandle : *mut ::core::ffi::c_void , guestrawsavedmemorysize : *mut u64 ) -> :: windows::core::HRESULT );
101 GetGuestRawSavedMemorySize(vmsavedstatedumphandle, guestrawsavedmemorysize).ok()
102 }
103 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
104 #[inline]
105 pub unsafe fn GetMemoryBlockCacheLimit(vmsavedstatedumphandle: *mut ::core::ffi::c_void, memoryblockcachelimit: *mut u64) -> ::windows::core::Result<()> {
106 ::windows::imp::link ! ( "vmsavedstatedumpprovider.dll""system" fn GetMemoryBlockCacheLimit ( vmsavedstatedumphandle : *mut ::core::ffi::c_void , memoryblockcachelimit : *mut u64 ) -> :: windows::core::HRESULT );
107 GetMemoryBlockCacheLimit(vmsavedstatedumphandle, memoryblockcachelimit).ok()
108 }
109 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`, `\"Win32_Foundation\"`*"]
110 #[cfg(feature = "Win32_Foundation")]
111 #[inline]
112 pub unsafe fn GetNestedVirtualizationMode(vmsavedstatedumphandle: *mut ::core::ffi::c_void, vpid: u32, enabled: *mut super::super::Foundation::BOOL) -> ::windows::core::Result<()> {
113 ::windows::imp::link ! ( "vmsavedstatedumpprovider.dll""system" fn GetNestedVirtualizationMode ( vmsavedstatedumphandle : *mut ::core::ffi::c_void , vpid : u32 , enabled : *mut super::super::Foundation:: BOOL ) -> :: windows::core::HRESULT );
114 GetNestedVirtualizationMode(vmsavedstatedumphandle, vpid, enabled).ok()
115 }
116 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
117 #[inline]
118 pub unsafe fn GetPagingMode(vmsavedstatedumphandle: *mut ::core::ffi::c_void, vpid: u32, pagingmode: *mut PAGING_MODE) -> ::windows::core::Result<()> {
119 ::windows::imp::link ! ( "vmsavedstatedumpprovider.dll""system" fn GetPagingMode ( vmsavedstatedumphandle : *mut ::core::ffi::c_void , vpid : u32 , pagingmode : *mut PAGING_MODE ) -> :: windows::core::HRESULT );
120 GetPagingMode(vmsavedstatedumphandle, vpid, pagingmode).ok()
121 }
122 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
123 #[inline]
124 pub unsafe fn GetRegisterValue(vmsavedstatedumphandle: *mut ::core::ffi::c_void, vpid: u32, registerid: u32, registervalue: *mut VIRTUAL_PROCESSOR_REGISTER) -> ::windows::core::Result<()> {
125 ::windows::imp::link ! ( "vmsavedstatedumpprovider.dll""system" fn GetRegisterValue ( vmsavedstatedumphandle : *mut ::core::ffi::c_void , vpid : u32 , registerid : u32 , registervalue : *mut VIRTUAL_PROCESSOR_REGISTER ) -> :: windows::core::HRESULT );
126 GetRegisterValue(vmsavedstatedumphandle, vpid, registerid, registervalue).ok()
127 }
128 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
129 #[inline]
130 pub unsafe fn GetSavedStateSymbolFieldInfo<P0>(vmsavedstatedumphandle: *mut ::core::ffi::c_void, vpid: u32, typename: P0, typefieldinfomap: *mut ::windows::core::PWSTR) -> ::windows::core::Result<()>
131 where
132 P0: ::windows::core::IntoParam<::windows::core::PCSTR>,
133 {
134 ::windows::imp::link ! ( "vmsavedstatedumpprovider.dll""system" fn GetSavedStateSymbolFieldInfo ( vmsavedstatedumphandle : *mut ::core::ffi::c_void , vpid : u32 , typename : :: windows::core::PCSTR , typefieldinfomap : *mut :: windows::core::PWSTR ) -> :: windows::core::HRESULT );
135 GetSavedStateSymbolFieldInfo(vmsavedstatedumphandle, vpid, typename.into_param().abi(), typefieldinfomap).ok()
136 }
137 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`, `\"Win32_Foundation\"`*"]
138 #[cfg(feature = "Win32_Foundation")]
139 #[inline]
140 pub unsafe fn GetSavedStateSymbolProviderHandle(vmsavedstatedumphandle: *mut ::core::ffi::c_void) -> super::super::Foundation::HANDLE {
141 ::windows::imp::link ! ( "vmsavedstatedumpprovider.dll""system" fn GetSavedStateSymbolProviderHandle ( vmsavedstatedumphandle : *mut ::core::ffi::c_void ) -> super::super::Foundation:: HANDLE );
142 GetSavedStateSymbolProviderHandle(vmsavedstatedumphandle)
143 }
144 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
145 #[inline]
146 pub unsafe fn GetSavedStateSymbolTypeSize<P0>(vmsavedstatedumphandle: *mut ::core::ffi::c_void, vpid: u32, typename: P0, size: *mut u32) -> ::windows::core::Result<()>
147 where
148 P0: ::windows::core::IntoParam<::windows::core::PCSTR>,
149 {
150 ::windows::imp::link ! ( "vmsavedstatedumpprovider.dll""system" fn GetSavedStateSymbolTypeSize ( vmsavedstatedumphandle : *mut ::core::ffi::c_void , vpid : u32 , typename : :: windows::core::PCSTR , size : *mut u32 ) -> :: windows::core::HRESULT );
151 GetSavedStateSymbolTypeSize(vmsavedstatedumphandle, vpid, typename.into_param().abi(), size).ok()
152 }
153 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
154 #[inline]
155 pub unsafe fn GetVpCount(vmsavedstatedumphandle: *mut ::core::ffi::c_void, vpcount: *mut u32) -> ::windows::core::Result<()> {
156 ::windows::imp::link ! ( "vmsavedstatedumpprovider.dll""system" fn GetVpCount ( vmsavedstatedumphandle : *mut ::core::ffi::c_void , vpcount : *mut u32 ) -> :: windows::core::HRESULT );
157 GetVpCount(vmsavedstatedumphandle, vpcount).ok()
158 }
159 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
160 #[inline]
161 pub unsafe fn GuestPhysicalAddressToRawSavedMemoryOffset(vmsavedstatedumphandle: *mut ::core::ffi::c_void, physicaladdress: u64, rawsavedmemoryoffset: *mut u64) -> ::windows::core::Result<()> {
162 ::windows::imp::link ! ( "vmsavedstatedumpprovider.dll""system" fn GuestPhysicalAddressToRawSavedMemoryOffset ( vmsavedstatedumphandle : *mut ::core::ffi::c_void , physicaladdress : u64 , rawsavedmemoryoffset : *mut u64 ) -> :: windows::core::HRESULT );
163 GuestPhysicalAddressToRawSavedMemoryOffset(vmsavedstatedumphandle, physicaladdress, rawsavedmemoryoffset).ok()
164 }
165 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
166 #[inline]
167 pub unsafe fn GuestVirtualAddressToPhysicalAddress(vmsavedstatedumphandle: *mut ::core::ffi::c_void, vpid: u32, virtualaddress: u64, physicaladdress: *mut u64, unmappedregionsize: ::core::option::Option<*mut u64>) -> ::windows::core::Result<()> {
168 ::windows::imp::link ! ( "vmsavedstatedumpprovider.dll""system" fn GuestVirtualAddressToPhysicalAddress ( vmsavedstatedumphandle : *mut ::core::ffi::c_void , vpid : u32 , virtualaddress : u64 , physicaladdress : *mut u64 , unmappedregionsize : *mut u64 ) -> :: windows::core::HRESULT );
169 GuestVirtualAddressToPhysicalAddress(vmsavedstatedumphandle, vpid, virtualaddress, physicaladdress, ::core::mem::transmute(unmappedregionsize.unwrap_or(::std::ptr::null_mut()))).ok()
170 }
171 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
172 #[inline]
173 pub unsafe fn HdvCreateDeviceInstance(devicehosthandle: *const ::core::ffi::c_void, devicetype: HDV_DEVICE_TYPE, deviceclassid: *const ::windows::core::GUID, deviceinstanceid: *const ::windows::core::GUID, deviceinterface: *const ::core::ffi::c_void, devicecontext: ::core::option::Option<*const ::core::ffi::c_void>, devicehandle: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()> {
174 ::windows::imp::link ! ( "vmdevicehost.dll""system" fn HdvCreateDeviceInstance ( devicehosthandle : *const ::core::ffi::c_void , devicetype : HDV_DEVICE_TYPE , deviceclassid : *const :: windows::core::GUID , deviceinstanceid : *const :: windows::core::GUID , deviceinterface : *const ::core::ffi::c_void , devicecontext : *const ::core::ffi::c_void , devicehandle : *mut *mut ::core::ffi::c_void ) -> :: windows::core::HRESULT );
175 HdvCreateDeviceInstance(devicehosthandle, devicetype, deviceclassid, deviceinstanceid, deviceinterface, ::core::mem::transmute(devicecontext.unwrap_or(::std::ptr::null())), devicehandle).ok()
176 }
177 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`, `\"Win32_Foundation\"`*"]
178 #[cfg(feature = "Win32_Foundation")]
179 #[inline]
180 pub unsafe fn HdvCreateGuestMemoryAperture<P0>(requestor: *const ::core::ffi::c_void, guestphysicaladdress: u64, bytecount: u32, writeprotected: P0, mappedaddress: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>
181 where
182 P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
183 {
184 ::windows::imp::link ! ( "vmdevicehost.dll""system" fn HdvCreateGuestMemoryAperture ( requestor : *const ::core::ffi::c_void , guestphysicaladdress : u64 , bytecount : u32 , writeprotected : super::super::Foundation:: BOOL , mappedaddress : *mut *mut ::core::ffi::c_void ) -> :: windows::core::HRESULT );
185 HdvCreateGuestMemoryAperture(requestor, guestphysicaladdress, bytecount, writeprotected.into_param().abi(), mappedaddress).ok()
186 }
187 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`, `\"Win32_Foundation\"`*"]
188 #[cfg(feature = "Win32_Foundation")]
189 #[inline]
190 pub unsafe fn HdvCreateSectionBackedMmioRange<P0>(requestor: *const ::core::ffi::c_void, barindex: HDV_PCI_BAR_SELECTOR, offsetinpages: u64, lengthinpages: u64, mappingflags: HDV_MMIO_MAPPING_FLAGS, sectionhandle: P0, sectionoffsetinpages: u64) -> ::windows::core::Result<()>
191 where
192 P0: ::windows::core::IntoParam<super::super::Foundation::HANDLE>,
193 {
194 ::windows::imp::link ! ( "vmdevicehost.dll""system" fn HdvCreateSectionBackedMmioRange ( requestor : *const ::core::ffi::c_void , barindex : HDV_PCI_BAR_SELECTOR , offsetinpages : u64 , lengthinpages : u64 , mappingflags : HDV_MMIO_MAPPING_FLAGS , sectionhandle : super::super::Foundation:: HANDLE , sectionoffsetinpages : u64 ) -> :: windows::core::HRESULT );
195 HdvCreateSectionBackedMmioRange(requestor, barindex, offsetinpages, lengthinpages, mappingflags, sectionhandle.into_param().abi(), sectionoffsetinpages).ok()
196 }
197 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
198 #[inline]
199 pub unsafe fn HdvDeliverGuestInterrupt(requestor: *const ::core::ffi::c_void, msiaddress: u64, msidata: u32) -> ::windows::core::Result<()> {
200 ::windows::imp::link ! ( "vmdevicehost.dll""system" fn HdvDeliverGuestInterrupt ( requestor : *const ::core::ffi::c_void , msiaddress : u64 , msidata : u32 ) -> :: windows::core::HRESULT );
201 HdvDeliverGuestInterrupt(requestor, msiaddress, msidata).ok()
202 }
203 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
204 #[inline]
205 pub unsafe fn HdvDestroyGuestMemoryAperture(requestor: *const ::core::ffi::c_void, mappedaddress: *const ::core::ffi::c_void) -> ::windows::core::Result<()> {
206 ::windows::imp::link ! ( "vmdevicehost.dll""system" fn HdvDestroyGuestMemoryAperture ( requestor : *const ::core::ffi::c_void , mappedaddress : *const ::core::ffi::c_void ) -> :: windows::core::HRESULT );
207 HdvDestroyGuestMemoryAperture(requestor, mappedaddress).ok()
208 }
209 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
210 #[inline]
211 pub unsafe fn HdvDestroySectionBackedMmioRange(requestor: *const ::core::ffi::c_void, barindex: HDV_PCI_BAR_SELECTOR, offsetinpages: u64) -> ::windows::core::Result<()> {
212 ::windows::imp::link ! ( "vmdevicehost.dll""system" fn HdvDestroySectionBackedMmioRange ( requestor : *const ::core::ffi::c_void , barindex : HDV_PCI_BAR_SELECTOR , offsetinpages : u64 ) -> :: windows::core::HRESULT );
213 HdvDestroySectionBackedMmioRange(requestor, barindex, offsetinpages).ok()
214 }
215 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`, `\"Win32_System_HostComputeSystem\"`*"]
216 #[cfg(feature = "Win32_System_HostComputeSystem")]
217 #[inline]
218 pub unsafe fn HdvInitializeDeviceHost<P0>(computesystem: P0, devicehosthandle: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>
219 where
220 P0: ::windows::core::IntoParam<super::HostComputeSystem::HCS_SYSTEM>,
221 {
222 ::windows::imp::link ! ( "vmdevicehost.dll""system" fn HdvInitializeDeviceHost ( computesystem : super::HostComputeSystem:: HCS_SYSTEM , devicehosthandle : *mut *mut ::core::ffi::c_void ) -> :: windows::core::HRESULT );
223 HdvInitializeDeviceHost(computesystem.into_param().abi(), devicehosthandle).ok()
224 }
225 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
226 #[inline]
227 pub unsafe fn HdvReadGuestMemory(requestor: *const ::core::ffi::c_void, guestphysicaladdress: u64, buffer: &mut [u8]) -> ::windows::core::Result<()> {
228 ::windows::imp::link ! ( "vmdevicehost.dll""system" fn HdvReadGuestMemory ( requestor : *const ::core::ffi::c_void , guestphysicaladdress : u64 , bytecount : u32 , buffer : *mut u8 ) -> :: windows::core::HRESULT );
229 HdvReadGuestMemory(requestor, guestphysicaladdress, buffer.len() as _, ::core::mem::transmute(buffer.as_ptr())).ok()
230 }
231 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`, `\"Win32_Foundation\"`*"]
232 #[cfg(feature = "Win32_Foundation")]
233 #[inline]
234 pub unsafe fn HdvRegisterDoorbell<P0>(requestor: *const ::core::ffi::c_void, barindex: HDV_PCI_BAR_SELECTOR, baroffset: u64, triggervalue: u64, flags: u64, doorbellevent: P0) -> ::windows::core::Result<()>
235 where
236 P0: ::windows::core::IntoParam<super::super::Foundation::HANDLE>,
237 {
238 ::windows::imp::link ! ( "vmdevicehost.dll""system" fn HdvRegisterDoorbell ( requestor : *const ::core::ffi::c_void , barindex : HDV_PCI_BAR_SELECTOR , baroffset : u64 , triggervalue : u64 , flags : u64 , doorbellevent : super::super::Foundation:: HANDLE ) -> :: windows::core::HRESULT );
239 HdvRegisterDoorbell(requestor, barindex, baroffset, triggervalue, flags, doorbellevent.into_param().abi()).ok()
240 }
241 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
242 #[inline]
243 pub unsafe fn HdvTeardownDeviceHost(devicehosthandle: *const ::core::ffi::c_void) -> ::windows::core::Result<()> {
244 ::windows::imp::link ! ( "vmdevicehost.dll""system" fn HdvTeardownDeviceHost ( devicehosthandle : *const ::core::ffi::c_void ) -> :: windows::core::HRESULT );
245 HdvTeardownDeviceHost(devicehosthandle).ok()
246 }
247 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
248 #[inline]
249 pub unsafe fn HdvUnregisterDoorbell(requestor: *const ::core::ffi::c_void, barindex: HDV_PCI_BAR_SELECTOR, baroffset: u64, triggervalue: u64, flags: u64) -> ::windows::core::Result<()> {
250 ::windows::imp::link ! ( "vmdevicehost.dll""system" fn HdvUnregisterDoorbell ( requestor : *const ::core::ffi::c_void , barindex : HDV_PCI_BAR_SELECTOR , baroffset : u64 , triggervalue : u64 , flags : u64 ) -> :: windows::core::HRESULT );
251 HdvUnregisterDoorbell(requestor, barindex, baroffset, triggervalue, flags).ok()
252 }
253 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
254 #[inline]
255 pub unsafe fn HdvWriteGuestMemory(requestor: *const ::core::ffi::c_void, guestphysicaladdress: u64, buffer: &[u8]) -> ::windows::core::Result<()> {
256 ::windows::imp::link ! ( "vmdevicehost.dll""system" fn HdvWriteGuestMemory ( requestor : *const ::core::ffi::c_void , guestphysicaladdress : u64 , bytecount : u32 , buffer : *const u8 ) -> :: windows::core::HRESULT );
257 HdvWriteGuestMemory(requestor, guestphysicaladdress, buffer.len() as _, ::core::mem::transmute(buffer.as_ptr())).ok()
258 }
259 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`, `\"Win32_Foundation\"`*"]
260 #[cfg(feature = "Win32_Foundation")]
261 #[inline]
262 pub unsafe fn InKernelSpace(vmsavedstatedumphandle: *mut ::core::ffi::c_void, vpid: u32, inkernelspace: *mut super::super::Foundation::BOOL) -> ::windows::core::Result<()> {
263 ::windows::imp::link ! ( "vmsavedstatedumpprovider.dll""system" fn InKernelSpace ( vmsavedstatedumphandle : *mut ::core::ffi::c_void , vpid : u32 , inkernelspace : *mut super::super::Foundation:: BOOL ) -> :: windows::core::HRESULT );
264 InKernelSpace(vmsavedstatedumphandle, vpid, inkernelspace).ok()
265 }
266 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`, `\"Win32_Foundation\"`*"]
267 #[cfg(feature = "Win32_Foundation")]
268 #[inline]
269 pub unsafe fn IsActiveVirtualTrustLevelEnabled(vmsavedstatedumphandle: *mut ::core::ffi::c_void, vpid: u32, activevirtualtrustlevelenabled: *mut super::super::Foundation::BOOL) -> ::windows::core::Result<()> {
270 ::windows::imp::link ! ( "vmsavedstatedumpprovider.dll""system" fn IsActiveVirtualTrustLevelEnabled ( vmsavedstatedumphandle : *mut ::core::ffi::c_void , vpid : u32 , activevirtualtrustlevelenabled : *mut super::super::Foundation:: BOOL ) -> :: windows::core::HRESULT );
271 IsActiveVirtualTrustLevelEnabled(vmsavedstatedumphandle, vpid, activevirtualtrustlevelenabled).ok()
272 }
273 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`, `\"Win32_Foundation\"`*"]
274 #[cfg(feature = "Win32_Foundation")]
275 #[inline]
276 pub unsafe fn IsNestedVirtualizationEnabled(vmsavedstatedumphandle: *mut ::core::ffi::c_void, enabled: *mut super::super::Foundation::BOOL) -> ::windows::core::Result<()> {
277 ::windows::imp::link ! ( "vmsavedstatedumpprovider.dll""system" fn IsNestedVirtualizationEnabled ( vmsavedstatedumphandle : *mut ::core::ffi::c_void , enabled : *mut super::super::Foundation:: BOOL ) -> :: windows::core::HRESULT );
278 IsNestedVirtualizationEnabled(vmsavedstatedumphandle, enabled).ok()
279 }
280 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
281 #[inline]
282 pub unsafe fn LoadSavedStateFile<P0>(vmrsfile: P0, vmsavedstatedumphandle: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>
283 where
284 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
285 {
286 ::windows::imp::link ! ( "vmsavedstatedumpprovider.dll""system" fn LoadSavedStateFile ( vmrsfile : :: windows::core::PCWSTR , vmsavedstatedumphandle : *mut *mut ::core::ffi::c_void ) -> :: windows::core::HRESULT );
287 LoadSavedStateFile(vmrsfile.into_param().abi(), vmsavedstatedumphandle).ok()
288 }
289 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
290 #[inline]
291 pub unsafe fn LoadSavedStateFiles<P0, P1>(binfile: P0, vsvfile: P1, vmsavedstatedumphandle: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>
292 where
293 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
294 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
295 {
296 ::windows::imp::link ! ( "vmsavedstatedumpprovider.dll""system" fn LoadSavedStateFiles ( binfile : :: windows::core::PCWSTR , vsvfile : :: windows::core::PCWSTR , vmsavedstatedumphandle : *mut *mut ::core::ffi::c_void ) -> :: windows::core::HRESULT );
297 LoadSavedStateFiles(binfile.into_param().abi(), vsvfile.into_param().abi(), vmsavedstatedumphandle).ok()
298 }
299 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
300 #[inline]
301 pub unsafe fn LoadSavedStateModuleSymbols<P0, P1>(vmsavedstatedumphandle: *mut ::core::ffi::c_void, imagename: P0, modulename: P1, baseaddress: u64, sizeofbase: u32) -> ::windows::core::Result<()>
302 where
303 P0: ::windows::core::IntoParam<::windows::core::PCSTR>,
304 P1: ::windows::core::IntoParam<::windows::core::PCSTR>,
305 {
306 ::windows::imp::link ! ( "vmsavedstatedumpprovider.dll""system" fn LoadSavedStateModuleSymbols ( vmsavedstatedumphandle : *mut ::core::ffi::c_void , imagename : :: windows::core::PCSTR , modulename : :: windows::core::PCSTR , baseaddress : u64 , sizeofbase : u32 ) -> :: windows::core::HRESULT );
307 LoadSavedStateModuleSymbols(vmsavedstatedumphandle, imagename.into_param().abi(), modulename.into_param().abi(), baseaddress, sizeofbase).ok()
308 }
309 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
310 #[inline]
311 pub unsafe fn LoadSavedStateModuleSymbolsEx<P0, P1>(vmsavedstatedumphandle: *mut ::core::ffi::c_void, imagename: P0, imagetimestamp: u32, modulename: P1, baseaddress: u64, sizeofbase: u32) -> ::windows::core::Result<()>
312 where
313 P0: ::windows::core::IntoParam<::windows::core::PCSTR>,
314 P1: ::windows::core::IntoParam<::windows::core::PCSTR>,
315 {
316 ::windows::imp::link ! ( "vmsavedstatedumpprovider.dll""system" fn LoadSavedStateModuleSymbolsEx ( vmsavedstatedumphandle : *mut ::core::ffi::c_void , imagename : :: windows::core::PCSTR , imagetimestamp : u32 , modulename : :: windows::core::PCSTR , baseaddress : u64 , sizeofbase : u32 ) -> :: windows::core::HRESULT );
317 LoadSavedStateModuleSymbolsEx(vmsavedstatedumphandle, imagename.into_param().abi(), imagetimestamp, modulename.into_param().abi(), baseaddress, sizeofbase).ok()
318 }
319 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`, `\"Win32_Foundation\"`*"]
320 #[cfg(feature = "Win32_Foundation")]
321 #[inline]
322 pub unsafe fn LoadSavedStateSymbolProvider<P0, P1>(vmsavedstatedumphandle: *mut ::core::ffi::c_void, usersymbols: P0, force: P1) -> ::windows::core::Result<()>
323 where
324 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
325 P1: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
326 {
327 ::windows::imp::link ! ( "vmsavedstatedumpprovider.dll""system" fn LoadSavedStateSymbolProvider ( vmsavedstatedumphandle : *mut ::core::ffi::c_void , usersymbols : :: windows::core::PCWSTR , force : super::super::Foundation:: BOOL ) -> :: windows::core::HRESULT );
328 LoadSavedStateSymbolProvider(vmsavedstatedumphandle, usersymbols.into_param().abi(), force.into_param().abi()).ok()
329 }
330 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
331 #[inline]
332 pub unsafe fn LocateSavedStateFiles<P0, P1>(vmname: P0, snapshotname: P1, binpath: *mut ::windows::core::PWSTR, vsvpath: *mut ::windows::core::PWSTR, vmrspath: *mut ::windows::core::PWSTR) -> ::windows::core::Result<()>
333 where
334 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
335 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
336 {
337 ::windows::imp::link ! ( "vmsavedstatedumpprovider.dll""system" fn LocateSavedStateFiles ( vmname : :: windows::core::PCWSTR , snapshotname : :: windows::core::PCWSTR , binpath : *mut :: windows::core::PWSTR , vsvpath : *mut :: windows::core::PWSTR , vmrspath : *mut :: windows::core::PWSTR ) -> :: windows::core::HRESULT );
338 LocateSavedStateFiles(vmname.into_param().abi(), snapshotname.into_param().abi(), binpath, vsvpath, vmrspath).ok()
339 }
340 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
341 #[inline]
342 pub unsafe fn ReadGuestPhysicalAddress(vmsavedstatedumphandle: *mut ::core::ffi::c_void, physicaladdress: u64, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: ::core::option::Option<*mut u32>) -> ::windows::core::Result<()> {
343 ::windows::imp::link ! ( "vmsavedstatedumpprovider.dll""system" fn ReadGuestPhysicalAddress ( vmsavedstatedumphandle : *mut ::core::ffi::c_void , physicaladdress : u64 , buffer : *mut ::core::ffi::c_void , buffersize : u32 , bytesread : *mut u32 ) -> :: windows::core::HRESULT );
344 ReadGuestPhysicalAddress(vmsavedstatedumphandle, physicaladdress, buffer, buffersize, ::core::mem::transmute(bytesread.unwrap_or(::std::ptr::null_mut()))).ok()
345 }
346 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
347 #[inline]
348 pub unsafe fn ReadGuestRawSavedMemory(vmsavedstatedumphandle: *mut ::core::ffi::c_void, rawsavedmemoryoffset: u64, buffer: *mut ::core::ffi::c_void, buffersize: u32, bytesread: ::core::option::Option<*mut u32>) -> ::windows::core::Result<()> {
349 ::windows::imp::link ! ( "vmsavedstatedumpprovider.dll""system" fn ReadGuestRawSavedMemory ( vmsavedstatedumphandle : *mut ::core::ffi::c_void , rawsavedmemoryoffset : u64 , buffer : *mut ::core::ffi::c_void , buffersize : u32 , bytesread : *mut u32 ) -> :: windows::core::HRESULT );
350 ReadGuestRawSavedMemory(vmsavedstatedumphandle, rawsavedmemoryoffset, buffer, buffersize, ::core::mem::transmute(bytesread.unwrap_or(::std::ptr::null_mut()))).ok()
351 }
352 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
353 #[inline]
354 pub unsafe fn ReadSavedStateGlobalVariable<P0>(vmsavedstatedumphandle: *mut ::core::ffi::c_void, vpid: u32, globalname: P0, buffer: *mut ::core::ffi::c_void, buffersize: u32) -> ::windows::core::Result<()>
355 where
356 P0: ::windows::core::IntoParam<::windows::core::PCSTR>,
357 {
358 ::windows::imp::link ! ( "vmsavedstatedumpprovider.dll""system" fn ReadSavedStateGlobalVariable ( vmsavedstatedumphandle : *mut ::core::ffi::c_void , vpid : u32 , globalname : :: windows::core::PCSTR , buffer : *mut ::core::ffi::c_void , buffersize : u32 ) -> :: windows::core::HRESULT );
359 ReadSavedStateGlobalVariable(vmsavedstatedumphandle, vpid, globalname.into_param().abi(), buffer, buffersize).ok()
360 }
361 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
362 #[inline]
363 pub unsafe fn ReleaseSavedStateFiles(vmsavedstatedumphandle: *mut ::core::ffi::c_void) -> ::windows::core::Result<()> {
364 ::windows::imp::link ! ( "vmsavedstatedumpprovider.dll""system" fn ReleaseSavedStateFiles ( vmsavedstatedumphandle : *mut ::core::ffi::c_void ) -> :: windows::core::HRESULT );
365 ReleaseSavedStateFiles(vmsavedstatedumphandle).ok()
366 }
367 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
368 #[inline]
369 pub unsafe fn ReleaseSavedStateSymbolProvider(vmsavedstatedumphandle: *mut ::core::ffi::c_void) -> ::windows::core::Result<()> {
370 ::windows::imp::link ! ( "vmsavedstatedumpprovider.dll""system" fn ReleaseSavedStateSymbolProvider ( vmsavedstatedumphandle : *mut ::core::ffi::c_void ) -> :: windows::core::HRESULT );
371 ReleaseSavedStateSymbolProvider(vmsavedstatedumphandle).ok()
372 }
373 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
374 #[inline]
375 pub unsafe fn ResolveSavedStateGlobalVariableAddress<P0>(vmsavedstatedumphandle: *mut ::core::ffi::c_void, vpid: u32, globalname: P0, virtualaddress: *mut u64, size: ::core::option::Option<*mut u32>) -> ::windows::core::Result<()>
376 where
377 P0: ::windows::core::IntoParam<::windows::core::PCSTR>,
378 {
379 ::windows::imp::link ! ( "vmsavedstatedumpprovider.dll""system" fn ResolveSavedStateGlobalVariableAddress ( vmsavedstatedumphandle : *mut ::core::ffi::c_void , vpid : u32 , globalname : :: windows::core::PCSTR , virtualaddress : *mut u64 , size : *mut u32 ) -> :: windows::core::HRESULT );
380 ResolveSavedStateGlobalVariableAddress(vmsavedstatedumphandle, vpid, globalname.into_param().abi(), virtualaddress, ::core::mem::transmute(size.unwrap_or(::std::ptr::null_mut()))).ok()
381 }
382 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`, `\"Win32_Foundation\"`*"]
383 #[cfg(feature = "Win32_Foundation")]
384 #[inline]
385 pub unsafe fn ScanMemoryForDosImages(vmsavedstatedumphandle: *mut ::core::ffi::c_void, vpid: u32, startaddress: u64, endaddress: u64, callbackcontext: *mut ::core::ffi::c_void, foundimagecallback: FOUND_IMAGE_CALLBACK, standaloneaddress: *const u64, standaloneaddresscount: u32) -> ::windows::core::Result<()> {
386 ::windows::imp::link ! ( "vmsavedstatedumpprovider.dll""system" fn ScanMemoryForDosImages ( vmsavedstatedumphandle : *mut ::core::ffi::c_void , vpid : u32 , startaddress : u64 , endaddress : u64 , callbackcontext : *mut ::core::ffi::c_void , foundimagecallback : FOUND_IMAGE_CALLBACK , standaloneaddress : *const u64 , standaloneaddresscount : u32 ) -> :: windows::core::HRESULT );
387 ScanMemoryForDosImages(vmsavedstatedumphandle, vpid, startaddress, endaddress, callbackcontext, foundimagecallback, standaloneaddress, standaloneaddresscount).ok()
388 }
389 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
390 #[inline]
391 pub unsafe fn SetMemoryBlockCacheLimit(vmsavedstatedumphandle: *mut ::core::ffi::c_void, memoryblockcachelimit: u64) -> ::windows::core::Result<()> {
392 ::windows::imp::link ! ( "vmsavedstatedumpprovider.dll""system" fn SetMemoryBlockCacheLimit ( vmsavedstatedumphandle : *mut ::core::ffi::c_void , memoryblockcachelimit : u64 ) -> :: windows::core::HRESULT );
393 SetMemoryBlockCacheLimit(vmsavedstatedumphandle, memoryblockcachelimit).ok()
394 }
395 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
396 #[inline]
397 pub unsafe fn SetSavedStateSymbolProviderDebugInfoCallback(vmsavedstatedumphandle: *mut ::core::ffi::c_void, callback: GUEST_SYMBOLS_PROVIDER_DEBUG_INFO_CALLBACK) -> ::windows::core::Result<()> {
398 ::windows::imp::link ! ( "vmsavedstatedumpprovider.dll""system" fn SetSavedStateSymbolProviderDebugInfoCallback ( vmsavedstatedumphandle : *mut ::core::ffi::c_void , callback : GUEST_SYMBOLS_PROVIDER_DEBUG_INFO_CALLBACK ) -> :: windows::core::HRESULT );
399 SetSavedStateSymbolProviderDebugInfoCallback(vmsavedstatedumphandle, callback).ok()
400 }
401 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`, `\"Win32_Foundation\"`*"]
402 #[cfg(feature = "Win32_Foundation")]
403 #[inline]
404 pub unsafe fn WHvAcceptPartitionMigration<P0>(migrationhandle: P0) -> ::windows::core::Result<WHV_PARTITION_HANDLE>
405 where
406 P0: ::windows::core::IntoParam<super::super::Foundation::HANDLE>,
407 {
408 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvAcceptPartitionMigration ( migrationhandle : super::super::Foundation:: HANDLE , partition : *mut WHV_PARTITION_HANDLE ) -> :: windows::core::HRESULT );
409 let mut result__ = ::windows::core::zeroed::<WHV_PARTITION_HANDLE>();
410 WHvAcceptPartitionMigration(migrationhandle.into_param().abi(), &mut result__).from_abi(result__)
411 }
412 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
413 #[inline]
414 pub unsafe fn WHvAdviseGpaRange<P0>(partition: P0, gparanges: &[WHV_MEMORY_RANGE_ENTRY], advice: WHV_ADVISE_GPA_RANGE_CODE, advicebuffer: *const ::core::ffi::c_void, advicebuffersizeinbytes: u32) -> ::windows::core::Result<()>
415 where
416 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
417 {
418 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvAdviseGpaRange ( partition : WHV_PARTITION_HANDLE , gparanges : *const WHV_MEMORY_RANGE_ENTRY , gparangescount : u32 , advice : WHV_ADVISE_GPA_RANGE_CODE , advicebuffer : *const ::core::ffi::c_void , advicebuffersizeinbytes : u32 ) -> :: windows::core::HRESULT );
419 WHvAdviseGpaRange(partition.into_param().abi(), ::core::mem::transmute(gparanges.as_ptr()), gparanges.len() as _, advice, advicebuffer, advicebuffersizeinbytes).ok()
420 }
421 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`, `\"Win32_Foundation\"`*"]
422 #[cfg(feature = "Win32_Foundation")]
423 #[inline]
424 pub unsafe fn WHvAllocateVpciResource(providerid: ::core::option::Option<*const ::windows::core::GUID>, flags: WHV_ALLOCATE_VPCI_RESOURCE_FLAGS, resourcedescriptor: ::core::option::Option<&[u8]>) -> ::windows::core::Result<super::super::Foundation::HANDLE> {
425 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvAllocateVpciResource ( providerid : *const :: windows::core::GUID , flags : WHV_ALLOCATE_VPCI_RESOURCE_FLAGS , resourcedescriptor : *const ::core::ffi::c_void , resourcedescriptorsizeinbytes : u32 , vpciresource : *mut super::super::Foundation:: HANDLE ) -> :: windows::core::HRESULT );
426 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::HANDLE>();
427 WHvAllocateVpciResource(::core::mem::transmute(providerid.unwrap_or(::std::ptr::null())), flags, ::core::mem::transmute(resourcedescriptor.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), resourcedescriptor.as_deref().map_or(0, |slice| slice.len() as _), &mut result__).from_abi(result__)
428 }
429 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
430 #[inline]
431 pub unsafe fn WHvCancelPartitionMigration<P0>(partition: P0) -> ::windows::core::Result<()>
432 where
433 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
434 {
435 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvCancelPartitionMigration ( partition : WHV_PARTITION_HANDLE ) -> :: windows::core::HRESULT );
436 WHvCancelPartitionMigration(partition.into_param().abi()).ok()
437 }
438 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
439 #[inline]
440 pub unsafe fn WHvCancelRunVirtualProcessor<P0>(partition: P0, vpindex: u32, flags: u32) -> ::windows::core::Result<()>
441 where
442 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
443 {
444 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvCancelRunVirtualProcessor ( partition : WHV_PARTITION_HANDLE , vpindex : u32 , flags : u32 ) -> :: windows::core::HRESULT );
445 WHvCancelRunVirtualProcessor(partition.into_param().abi(), vpindex, flags).ok()
446 }
447 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
448 #[inline]
449 pub unsafe fn WHvCompletePartitionMigration<P0>(partition: P0) -> ::windows::core::Result<()>
450 where
451 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
452 {
453 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvCompletePartitionMigration ( partition : WHV_PARTITION_HANDLE ) -> :: windows::core::HRESULT );
454 WHvCompletePartitionMigration(partition.into_param().abi()).ok()
455 }
456 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`, `\"Win32_Foundation\"`*"]
457 #[cfg(feature = "Win32_Foundation")]
458 #[inline]
459 pub unsafe fn WHvCreateNotificationPort<P0, P1>(partition: P0, parameters: *const WHV_NOTIFICATION_PORT_PARAMETERS, eventhandle: P1, porthandle: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>
460 where
461 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
462 P1: ::windows::core::IntoParam<super::super::Foundation::HANDLE>,
463 {
464 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvCreateNotificationPort ( partition : WHV_PARTITION_HANDLE , parameters : *const WHV_NOTIFICATION_PORT_PARAMETERS , eventhandle : super::super::Foundation:: HANDLE , porthandle : *mut *mut ::core::ffi::c_void ) -> :: windows::core::HRESULT );
465 WHvCreateNotificationPort(partition.into_param().abi(), parameters, eventhandle.into_param().abi(), porthandle).ok()
466 }
467 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
468 #[inline]
469 pub unsafe fn WHvCreatePartition() -> ::windows::core::Result<WHV_PARTITION_HANDLE> {
470 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvCreatePartition ( partition : *mut WHV_PARTITION_HANDLE ) -> :: windows::core::HRESULT );
471 let mut result__ = ::windows::core::zeroed::<WHV_PARTITION_HANDLE>();
472 WHvCreatePartition(&mut result__).from_abi(result__)
473 }
474 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`, `\"Win32_Foundation\"`*"]
475 #[cfg(feature = "Win32_Foundation")]
476 #[inline]
477 pub unsafe fn WHvCreateTrigger<P0>(partition: P0, parameters: *const WHV_TRIGGER_PARAMETERS, triggerhandle: *mut *mut ::core::ffi::c_void, eventhandle: *mut super::super::Foundation::HANDLE) -> ::windows::core::Result<()>
478 where
479 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
480 {
481 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvCreateTrigger ( partition : WHV_PARTITION_HANDLE , parameters : *const WHV_TRIGGER_PARAMETERS , triggerhandle : *mut *mut ::core::ffi::c_void , eventhandle : *mut super::super::Foundation:: HANDLE ) -> :: windows::core::HRESULT );
482 WHvCreateTrigger(partition.into_param().abi(), parameters, triggerhandle, eventhandle).ok()
483 }
484 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
485 #[inline]
486 pub unsafe fn WHvCreateVirtualProcessor<P0>(partition: P0, vpindex: u32, flags: u32) -> ::windows::core::Result<()>
487 where
488 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
489 {
490 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvCreateVirtualProcessor ( partition : WHV_PARTITION_HANDLE , vpindex : u32 , flags : u32 ) -> :: windows::core::HRESULT );
491 WHvCreateVirtualProcessor(partition.into_param().abi(), vpindex, flags).ok()
492 }
493 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
494 #[inline]
495 pub unsafe fn WHvCreateVirtualProcessor2<P0>(partition: P0, vpindex: u32, properties: &[WHV_VIRTUAL_PROCESSOR_PROPERTY]) -> ::windows::core::Result<()>
496 where
497 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
498 {
499 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvCreateVirtualProcessor2 ( partition : WHV_PARTITION_HANDLE , vpindex : u32 , properties : *const WHV_VIRTUAL_PROCESSOR_PROPERTY , propertycount : u32 ) -> :: windows::core::HRESULT );
500 WHvCreateVirtualProcessor2(partition.into_param().abi(), vpindex, ::core::mem::transmute(properties.as_ptr()), properties.len() as _).ok()
501 }
502 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`, `\"Win32_Foundation\"`*"]
503 #[cfg(feature = "Win32_Foundation")]
504 #[inline]
505 pub unsafe fn WHvCreateVpciDevice<P0, P1, P2>(partition: P0, logicaldeviceid: u64, vpciresource: P1, flags: WHV_CREATE_VPCI_DEVICE_FLAGS, notificationeventhandle: P2) -> ::windows::core::Result<()>
506 where
507 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
508 P1: ::windows::core::IntoParam<super::super::Foundation::HANDLE>,
509 P2: ::windows::core::IntoParam<super::super::Foundation::HANDLE>,
510 {
511 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvCreateVpciDevice ( partition : WHV_PARTITION_HANDLE , logicaldeviceid : u64 , vpciresource : super::super::Foundation:: HANDLE , flags : WHV_CREATE_VPCI_DEVICE_FLAGS , notificationeventhandle : super::super::Foundation:: HANDLE ) -> :: windows::core::HRESULT );
512 WHvCreateVpciDevice(partition.into_param().abi(), logicaldeviceid, vpciresource.into_param().abi(), flags, notificationeventhandle.into_param().abi()).ok()
513 }
514 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
515 #[inline]
516 pub unsafe fn WHvDeleteNotificationPort<P0>(partition: P0, porthandle: *const ::core::ffi::c_void) -> ::windows::core::Result<()>
517 where
518 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
519 {
520 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvDeleteNotificationPort ( partition : WHV_PARTITION_HANDLE , porthandle : *const ::core::ffi::c_void ) -> :: windows::core::HRESULT );
521 WHvDeleteNotificationPort(partition.into_param().abi(), porthandle).ok()
522 }
523 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
524 #[inline]
525 pub unsafe fn WHvDeletePartition<P0>(partition: P0) -> ::windows::core::Result<()>
526 where
527 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
528 {
529 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvDeletePartition ( partition : WHV_PARTITION_HANDLE ) -> :: windows::core::HRESULT );
530 WHvDeletePartition(partition.into_param().abi()).ok()
531 }
532 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
533 #[inline]
534 pub unsafe fn WHvDeleteTrigger<P0>(partition: P0, triggerhandle: *const ::core::ffi::c_void) -> ::windows::core::Result<()>
535 where
536 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
537 {
538 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvDeleteTrigger ( partition : WHV_PARTITION_HANDLE , triggerhandle : *const ::core::ffi::c_void ) -> :: windows::core::HRESULT );
539 WHvDeleteTrigger(partition.into_param().abi(), triggerhandle).ok()
540 }
541 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
542 #[inline]
543 pub unsafe fn WHvDeleteVirtualProcessor<P0>(partition: P0, vpindex: u32) -> ::windows::core::Result<()>
544 where
545 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
546 {
547 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvDeleteVirtualProcessor ( partition : WHV_PARTITION_HANDLE , vpindex : u32 ) -> :: windows::core::HRESULT );
548 WHvDeleteVirtualProcessor(partition.into_param().abi(), vpindex).ok()
549 }
550 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
551 #[inline]
552 pub unsafe fn WHvDeleteVpciDevice<P0>(partition: P0, logicaldeviceid: u64) -> ::windows::core::Result<()>
553 where
554 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
555 {
556 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvDeleteVpciDevice ( partition : WHV_PARTITION_HANDLE , logicaldeviceid : u64 ) -> :: windows::core::HRESULT );
557 WHvDeleteVpciDevice(partition.into_param().abi(), logicaldeviceid).ok()
558 }
559 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
560 #[inline]
561 pub unsafe fn WHvEmulatorCreateEmulator(callbacks: *const WHV_EMULATOR_CALLBACKS, emulator: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()> {
562 ::windows::imp::link ! ( "winhvemulation.dll""system" fn WHvEmulatorCreateEmulator ( callbacks : *const WHV_EMULATOR_CALLBACKS , emulator : *mut *mut ::core::ffi::c_void ) -> :: windows::core::HRESULT );
563 WHvEmulatorCreateEmulator(callbacks, emulator).ok()
564 }
565 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
566 #[inline]
567 pub unsafe fn WHvEmulatorDestroyEmulator(emulator: *const ::core::ffi::c_void) -> ::windows::core::Result<()> {
568 ::windows::imp::link ! ( "winhvemulation.dll""system" fn WHvEmulatorDestroyEmulator ( emulator : *const ::core::ffi::c_void ) -> :: windows::core::HRESULT );
569 WHvEmulatorDestroyEmulator(emulator).ok()
570 }
571 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
572 #[inline]
573 pub unsafe fn WHvEmulatorTryIoEmulation(emulator: *const ::core::ffi::c_void, context: *const ::core::ffi::c_void, vpcontext: *const WHV_VP_EXIT_CONTEXT, ioinstructioncontext: *const WHV_X64_IO_PORT_ACCESS_CONTEXT) -> ::windows::core::Result<WHV_EMULATOR_STATUS> {
574 ::windows::imp::link ! ( "winhvemulation.dll""system" fn WHvEmulatorTryIoEmulation ( emulator : *const ::core::ffi::c_void , context : *const ::core::ffi::c_void , vpcontext : *const WHV_VP_EXIT_CONTEXT , ioinstructioncontext : *const WHV_X64_IO_PORT_ACCESS_CONTEXT , emulatorreturnstatus : *mut WHV_EMULATOR_STATUS ) -> :: windows::core::HRESULT );
575 let mut result__ = ::windows::core::zeroed::<WHV_EMULATOR_STATUS>();
576 WHvEmulatorTryIoEmulation(emulator, context, vpcontext, ioinstructioncontext, &mut result__).from_abi(result__)
577 }
578 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
579 #[inline]
580 pub unsafe fn WHvEmulatorTryMmioEmulation(emulator: *const ::core::ffi::c_void, context: *const ::core::ffi::c_void, vpcontext: *const WHV_VP_EXIT_CONTEXT, mmioinstructioncontext: *const WHV_MEMORY_ACCESS_CONTEXT) -> ::windows::core::Result<WHV_EMULATOR_STATUS> {
581 ::windows::imp::link ! ( "winhvemulation.dll""system" fn WHvEmulatorTryMmioEmulation ( emulator : *const ::core::ffi::c_void , context : *const ::core::ffi::c_void , vpcontext : *const WHV_VP_EXIT_CONTEXT , mmioinstructioncontext : *const WHV_MEMORY_ACCESS_CONTEXT , emulatorreturnstatus : *mut WHV_EMULATOR_STATUS ) -> :: windows::core::HRESULT );
582 let mut result__ = ::windows::core::zeroed::<WHV_EMULATOR_STATUS>();
583 WHvEmulatorTryMmioEmulation(emulator, context, vpcontext, mmioinstructioncontext, &mut result__).from_abi(result__)
584 }
585 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
586 #[inline]
587 pub unsafe fn WHvGetCapability(capabilitycode: WHV_CAPABILITY_CODE, capabilitybuffer: *mut ::core::ffi::c_void, capabilitybuffersizeinbytes: u32, writtensizeinbytes: ::core::option::Option<*mut u32>) -> ::windows::core::Result<()> {
588 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvGetCapability ( capabilitycode : WHV_CAPABILITY_CODE , capabilitybuffer : *mut ::core::ffi::c_void , capabilitybuffersizeinbytes : u32 , writtensizeinbytes : *mut u32 ) -> :: windows::core::HRESULT );
589 WHvGetCapability(capabilitycode, capabilitybuffer, capabilitybuffersizeinbytes, ::core::mem::transmute(writtensizeinbytes.unwrap_or(::std::ptr::null_mut()))).ok()
590 }
591 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
592 #[inline]
593 pub unsafe fn WHvGetInterruptTargetVpSet<P0>(partition: P0, destination: u64, destinationmode: WHV_INTERRUPT_DESTINATION_MODE, targetvps: &mut [u32], targetvpcount: *mut u32) -> ::windows::core::Result<()>
594 where
595 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
596 {
597 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvGetInterruptTargetVpSet ( partition : WHV_PARTITION_HANDLE , destination : u64 , destinationmode : WHV_INTERRUPT_DESTINATION_MODE , targetvps : *mut u32 , vpcount : u32 , targetvpcount : *mut u32 ) -> :: windows::core::HRESULT );
598 WHvGetInterruptTargetVpSet(partition.into_param().abi(), destination, destinationmode, ::core::mem::transmute(targetvps.as_ptr()), targetvps.len() as _, targetvpcount).ok()
599 }
600 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
601 #[inline]
602 pub unsafe fn WHvGetPartitionCounters<P0>(partition: P0, counterset: WHV_PARTITION_COUNTER_SET, buffer: *mut ::core::ffi::c_void, buffersizeinbytes: u32, byteswritten: ::core::option::Option<*mut u32>) -> ::windows::core::Result<()>
603 where
604 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
605 {
606 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvGetPartitionCounters ( partition : WHV_PARTITION_HANDLE , counterset : WHV_PARTITION_COUNTER_SET , buffer : *mut ::core::ffi::c_void , buffersizeinbytes : u32 , byteswritten : *mut u32 ) -> :: windows::core::HRESULT );
607 WHvGetPartitionCounters(partition.into_param().abi(), counterset, buffer, buffersizeinbytes, ::core::mem::transmute(byteswritten.unwrap_or(::std::ptr::null_mut()))).ok()
608 }
609 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
610 #[inline]
611 pub unsafe fn WHvGetPartitionProperty<P0>(partition: P0, propertycode: WHV_PARTITION_PROPERTY_CODE, propertybuffer: *mut ::core::ffi::c_void, propertybuffersizeinbytes: u32, writtensizeinbytes: ::core::option::Option<*mut u32>) -> ::windows::core::Result<()>
612 where
613 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
614 {
615 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvGetPartitionProperty ( partition : WHV_PARTITION_HANDLE , propertycode : WHV_PARTITION_PROPERTY_CODE , propertybuffer : *mut ::core::ffi::c_void , propertybuffersizeinbytes : u32 , writtensizeinbytes : *mut u32 ) -> :: windows::core::HRESULT );
616 WHvGetPartitionProperty(partition.into_param().abi(), propertycode, propertybuffer, propertybuffersizeinbytes, ::core::mem::transmute(writtensizeinbytes.unwrap_or(::std::ptr::null_mut()))).ok()
617 }
618 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
619 #[inline]
620 pub unsafe fn WHvGetVirtualProcessorCounters<P0>(partition: P0, vpindex: u32, counterset: WHV_PROCESSOR_COUNTER_SET, buffer: *mut ::core::ffi::c_void, buffersizeinbytes: u32, byteswritten: ::core::option::Option<*mut u32>) -> ::windows::core::Result<()>
621 where
622 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
623 {
624 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvGetVirtualProcessorCounters ( partition : WHV_PARTITION_HANDLE , vpindex : u32 , counterset : WHV_PROCESSOR_COUNTER_SET , buffer : *mut ::core::ffi::c_void , buffersizeinbytes : u32 , byteswritten : *mut u32 ) -> :: windows::core::HRESULT );
625 WHvGetVirtualProcessorCounters(partition.into_param().abi(), vpindex, counterset, buffer, buffersizeinbytes, ::core::mem::transmute(byteswritten.unwrap_or(::std::ptr::null_mut()))).ok()
626 }
627 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
628 #[inline]
629 pub unsafe fn WHvGetVirtualProcessorCpuidOutput<P0>(partition: P0, vpindex: u32, eax: u32, ecx: u32) -> ::windows::core::Result<WHV_CPUID_OUTPUT>
630 where
631 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
632 {
633 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvGetVirtualProcessorCpuidOutput ( partition : WHV_PARTITION_HANDLE , vpindex : u32 , eax : u32 , ecx : u32 , cpuidoutput : *mut WHV_CPUID_OUTPUT ) -> :: windows::core::HRESULT );
634 let mut result__ = ::windows::core::zeroed::<WHV_CPUID_OUTPUT>();
635 WHvGetVirtualProcessorCpuidOutput(partition.into_param().abi(), vpindex, eax, ecx, &mut result__).from_abi(result__)
636 }
637 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
638 #[inline]
639 pub unsafe fn WHvGetVirtualProcessorInterruptControllerState<P0>(partition: P0, vpindex: u32, state: *mut ::core::ffi::c_void, statesize: u32, writtensize: ::core::option::Option<*mut u32>) -> ::windows::core::Result<()>
640 where
641 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
642 {
643 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvGetVirtualProcessorInterruptControllerState ( partition : WHV_PARTITION_HANDLE , vpindex : u32 , state : *mut ::core::ffi::c_void , statesize : u32 , writtensize : *mut u32 ) -> :: windows::core::HRESULT );
644 WHvGetVirtualProcessorInterruptControllerState(partition.into_param().abi(), vpindex, state, statesize, ::core::mem::transmute(writtensize.unwrap_or(::std::ptr::null_mut()))).ok()
645 }
646 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
647 #[inline]
648 pub unsafe fn WHvGetVirtualProcessorInterruptControllerState2<P0>(partition: P0, vpindex: u32, state: *mut ::core::ffi::c_void, statesize: u32, writtensize: ::core::option::Option<*mut u32>) -> ::windows::core::Result<()>
649 where
650 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
651 {
652 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvGetVirtualProcessorInterruptControllerState2 ( partition : WHV_PARTITION_HANDLE , vpindex : u32 , state : *mut ::core::ffi::c_void , statesize : u32 , writtensize : *mut u32 ) -> :: windows::core::HRESULT );
653 WHvGetVirtualProcessorInterruptControllerState2(partition.into_param().abi(), vpindex, state, statesize, ::core::mem::transmute(writtensize.unwrap_or(::std::ptr::null_mut()))).ok()
654 }
655 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
656 #[inline]
657 pub unsafe fn WHvGetVirtualProcessorRegisters<P0>(partition: P0, vpindex: u32, registernames: *const WHV_REGISTER_NAME, registercount: u32, registervalues: *mut WHV_REGISTER_VALUE) -> ::windows::core::Result<()>
658 where
659 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
660 {
661 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvGetVirtualProcessorRegisters ( partition : WHV_PARTITION_HANDLE , vpindex : u32 , registernames : *const WHV_REGISTER_NAME , registercount : u32 , registervalues : *mut WHV_REGISTER_VALUE ) -> :: windows::core::HRESULT );
662 WHvGetVirtualProcessorRegisters(partition.into_param().abi(), vpindex, registernames, registercount, registervalues).ok()
663 }
664 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
665 #[inline]
666 pub unsafe fn WHvGetVirtualProcessorState<P0>(partition: P0, vpindex: u32, statetype: WHV_VIRTUAL_PROCESSOR_STATE_TYPE, buffer: *mut ::core::ffi::c_void, buffersizeinbytes: u32, byteswritten: ::core::option::Option<*mut u32>) -> ::windows::core::Result<()>
667 where
668 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
669 {
670 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvGetVirtualProcessorState ( partition : WHV_PARTITION_HANDLE , vpindex : u32 , statetype : WHV_VIRTUAL_PROCESSOR_STATE_TYPE , buffer : *mut ::core::ffi::c_void , buffersizeinbytes : u32 , byteswritten : *mut u32 ) -> :: windows::core::HRESULT );
671 WHvGetVirtualProcessorState(partition.into_param().abi(), vpindex, statetype, buffer, buffersizeinbytes, ::core::mem::transmute(byteswritten.unwrap_or(::std::ptr::null_mut()))).ok()
672 }
673 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
674 #[inline]
675 pub unsafe fn WHvGetVirtualProcessorXsaveState<P0>(partition: P0, vpindex: u32, buffer: *mut ::core::ffi::c_void, buffersizeinbytes: u32, byteswritten: *mut u32) -> ::windows::core::Result<()>
676 where
677 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
678 {
679 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvGetVirtualProcessorXsaveState ( partition : WHV_PARTITION_HANDLE , vpindex : u32 , buffer : *mut ::core::ffi::c_void , buffersizeinbytes : u32 , byteswritten : *mut u32 ) -> :: windows::core::HRESULT );
680 WHvGetVirtualProcessorXsaveState(partition.into_param().abi(), vpindex, buffer, buffersizeinbytes, byteswritten).ok()
681 }
682 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
683 #[inline]
684 pub unsafe fn WHvGetVpciDeviceInterruptTarget<P0>(partition: P0, logicaldeviceid: u64, index: u32, multimessagenumber: u32, target: *mut WHV_VPCI_INTERRUPT_TARGET, targetsizeinbytes: u32, byteswritten: ::core::option::Option<*mut u32>) -> ::windows::core::Result<()>
685 where
686 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
687 {
688 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvGetVpciDeviceInterruptTarget ( partition : WHV_PARTITION_HANDLE , logicaldeviceid : u64 , index : u32 , multimessagenumber : u32 , target : *mut WHV_VPCI_INTERRUPT_TARGET , targetsizeinbytes : u32 , byteswritten : *mut u32 ) -> :: windows::core::HRESULT );
689 WHvGetVpciDeviceInterruptTarget(partition.into_param().abi(), logicaldeviceid, index, multimessagenumber, target, targetsizeinbytes, ::core::mem::transmute(byteswritten.unwrap_or(::std::ptr::null_mut()))).ok()
690 }
691 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
692 #[inline]
693 pub unsafe fn WHvGetVpciDeviceNotification<P0>(partition: P0, logicaldeviceid: u64, notification: *mut WHV_VPCI_DEVICE_NOTIFICATION, notificationsizeinbytes: u32) -> ::windows::core::Result<()>
694 where
695 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
696 {
697 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvGetVpciDeviceNotification ( partition : WHV_PARTITION_HANDLE , logicaldeviceid : u64 , notification : *mut WHV_VPCI_DEVICE_NOTIFICATION , notificationsizeinbytes : u32 ) -> :: windows::core::HRESULT );
698 WHvGetVpciDeviceNotification(partition.into_param().abi(), logicaldeviceid, notification, notificationsizeinbytes).ok()
699 }
700 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
701 #[inline]
702 pub unsafe fn WHvGetVpciDeviceProperty<P0>(partition: P0, logicaldeviceid: u64, propertycode: WHV_VPCI_DEVICE_PROPERTY_CODE, propertybuffer: *mut ::core::ffi::c_void, propertybuffersizeinbytes: u32, writtensizeinbytes: ::core::option::Option<*mut u32>) -> ::windows::core::Result<()>
703 where
704 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
705 {
706 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvGetVpciDeviceProperty ( partition : WHV_PARTITION_HANDLE , logicaldeviceid : u64 , propertycode : WHV_VPCI_DEVICE_PROPERTY_CODE , propertybuffer : *mut ::core::ffi::c_void , propertybuffersizeinbytes : u32 , writtensizeinbytes : *mut u32 ) -> :: windows::core::HRESULT );
707 WHvGetVpciDeviceProperty(partition.into_param().abi(), logicaldeviceid, propertycode, propertybuffer, propertybuffersizeinbytes, ::core::mem::transmute(writtensizeinbytes.unwrap_or(::std::ptr::null_mut()))).ok()
708 }
709 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
710 #[inline]
711 pub unsafe fn WHvMapGpaRange<P0>(partition: P0, sourceaddress: *const ::core::ffi::c_void, guestaddress: u64, sizeinbytes: u64, flags: WHV_MAP_GPA_RANGE_FLAGS) -> ::windows::core::Result<()>
712 where
713 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
714 {
715 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvMapGpaRange ( partition : WHV_PARTITION_HANDLE , sourceaddress : *const ::core::ffi::c_void , guestaddress : u64 , sizeinbytes : u64 , flags : WHV_MAP_GPA_RANGE_FLAGS ) -> :: windows::core::HRESULT );
716 WHvMapGpaRange(partition.into_param().abi(), sourceaddress, guestaddress, sizeinbytes, flags).ok()
717 }
718 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`, `\"Win32_Foundation\"`*"]
719 #[cfg(feature = "Win32_Foundation")]
720 #[inline]
721 pub unsafe fn WHvMapGpaRange2<P0, P1>(partition: P0, process: P1, sourceaddress: *const ::core::ffi::c_void, guestaddress: u64, sizeinbytes: u64, flags: WHV_MAP_GPA_RANGE_FLAGS) -> ::windows::core::Result<()>
722 where
723 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
724 P1: ::windows::core::IntoParam<super::super::Foundation::HANDLE>,
725 {
726 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvMapGpaRange2 ( partition : WHV_PARTITION_HANDLE , process : super::super::Foundation:: HANDLE , sourceaddress : *const ::core::ffi::c_void , guestaddress : u64 , sizeinbytes : u64 , flags : WHV_MAP_GPA_RANGE_FLAGS ) -> :: windows::core::HRESULT );
727 WHvMapGpaRange2(partition.into_param().abi(), process.into_param().abi(), sourceaddress, guestaddress, sizeinbytes, flags).ok()
728 }
729 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
730 #[inline]
731 pub unsafe fn WHvMapVpciDeviceInterrupt<P0>(partition: P0, logicaldeviceid: u64, index: u32, messagecount: u32, target: *const WHV_VPCI_INTERRUPT_TARGET, msiaddress: *mut u64, msidata: *mut u32) -> ::windows::core::Result<()>
732 where
733 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
734 {
735 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvMapVpciDeviceInterrupt ( partition : WHV_PARTITION_HANDLE , logicaldeviceid : u64 , index : u32 , messagecount : u32 , target : *const WHV_VPCI_INTERRUPT_TARGET , msiaddress : *mut u64 , msidata : *mut u32 ) -> :: windows::core::HRESULT );
736 WHvMapVpciDeviceInterrupt(partition.into_param().abi(), logicaldeviceid, index, messagecount, target, msiaddress, msidata).ok()
737 }
738 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
739 #[inline]
740 pub unsafe fn WHvMapVpciDeviceMmioRanges<P0>(partition: P0, logicaldeviceid: u64, mappingcount: *mut u32, mappings: *mut *mut WHV_VPCI_MMIO_MAPPING) -> ::windows::core::Result<()>
741 where
742 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
743 {
744 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvMapVpciDeviceMmioRanges ( partition : WHV_PARTITION_HANDLE , logicaldeviceid : u64 , mappingcount : *mut u32 , mappings : *mut *mut WHV_VPCI_MMIO_MAPPING ) -> :: windows::core::HRESULT );
745 WHvMapVpciDeviceMmioRanges(partition.into_param().abi(), logicaldeviceid, mappingcount, mappings).ok()
746 }
747 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
748 #[inline]
749 pub unsafe fn WHvPostVirtualProcessorSynicMessage<P0>(partition: P0, vpindex: u32, sintindex: u32, message: *const ::core::ffi::c_void, messagesizeinbytes: u32) -> ::windows::core::Result<()>
750 where
751 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
752 {
753 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvPostVirtualProcessorSynicMessage ( partition : WHV_PARTITION_HANDLE , vpindex : u32 , sintindex : u32 , message : *const ::core::ffi::c_void , messagesizeinbytes : u32 ) -> :: windows::core::HRESULT );
754 WHvPostVirtualProcessorSynicMessage(partition.into_param().abi(), vpindex, sintindex, message, messagesizeinbytes).ok()
755 }
756 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
757 #[inline]
758 pub unsafe fn WHvQueryGpaRangeDirtyBitmap<P0>(partition: P0, guestaddress: u64, rangesizeinbytes: u64, bitmap: ::core::option::Option<*mut u64>, bitmapsizeinbytes: u32) -> ::windows::core::Result<()>
759 where
760 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
761 {
762 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvQueryGpaRangeDirtyBitmap ( partition : WHV_PARTITION_HANDLE , guestaddress : u64 , rangesizeinbytes : u64 , bitmap : *mut u64 , bitmapsizeinbytes : u32 ) -> :: windows::core::HRESULT );
763 WHvQueryGpaRangeDirtyBitmap(partition.into_param().abi(), guestaddress, rangesizeinbytes, ::core::mem::transmute(bitmap.unwrap_or(::std::ptr::null_mut())), bitmapsizeinbytes).ok()
764 }
765 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
766 #[inline]
767 pub unsafe fn WHvReadGpaRange<P0>(partition: P0, vpindex: u32, guestaddress: u64, controls: WHV_ACCESS_GPA_CONTROLS, data: *mut ::core::ffi::c_void, datasizeinbytes: u32) -> ::windows::core::Result<()>
768 where
769 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
770 {
771 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvReadGpaRange ( partition : WHV_PARTITION_HANDLE , vpindex : u32 , guestaddress : u64 , controls : WHV_ACCESS_GPA_CONTROLS , data : *mut ::core::ffi::c_void , datasizeinbytes : u32 ) -> :: windows::core::HRESULT );
772 WHvReadGpaRange(partition.into_param().abi(), vpindex, guestaddress, ::core::mem::transmute(controls), data, datasizeinbytes).ok()
773 }
774 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
775 #[inline]
776 pub unsafe fn WHvReadVpciDeviceRegister<P0>(partition: P0, logicaldeviceid: u64, register: *const WHV_VPCI_DEVICE_REGISTER, data: *mut ::core::ffi::c_void) -> ::windows::core::Result<()>
777 where
778 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
779 {
780 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvReadVpciDeviceRegister ( partition : WHV_PARTITION_HANDLE , logicaldeviceid : u64 , register : *const WHV_VPCI_DEVICE_REGISTER , data : *mut ::core::ffi::c_void ) -> :: windows::core::HRESULT );
781 WHvReadVpciDeviceRegister(partition.into_param().abi(), logicaldeviceid, register, data).ok()
782 }
783 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`, `\"Win32_Foundation\"`*"]
784 #[cfg(feature = "Win32_Foundation")]
785 #[inline]
786 pub unsafe fn WHvRegisterPartitionDoorbellEvent<P0, P1>(partition: P0, matchdata: *const WHV_DOORBELL_MATCH_DATA, eventhandle: P1) -> ::windows::core::Result<()>
787 where
788 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
789 P1: ::windows::core::IntoParam<super::super::Foundation::HANDLE>,
790 {
791 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvRegisterPartitionDoorbellEvent ( partition : WHV_PARTITION_HANDLE , matchdata : *const WHV_DOORBELL_MATCH_DATA , eventhandle : super::super::Foundation:: HANDLE ) -> :: windows::core::HRESULT );
792 WHvRegisterPartitionDoorbellEvent(partition.into_param().abi(), matchdata, eventhandle.into_param().abi()).ok()
793 }
794 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
795 #[inline]
796 pub unsafe fn WHvRequestInterrupt<P0>(partition: P0, interrupt: *const WHV_INTERRUPT_CONTROL, interruptcontrolsize: u32) -> ::windows::core::Result<()>
797 where
798 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
799 {
800 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvRequestInterrupt ( partition : WHV_PARTITION_HANDLE , interrupt : *const WHV_INTERRUPT_CONTROL , interruptcontrolsize : u32 ) -> :: windows::core::HRESULT );
801 WHvRequestInterrupt(partition.into_param().abi(), interrupt, interruptcontrolsize).ok()
802 }
803 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
804 #[inline]
805 pub unsafe fn WHvRequestVpciDeviceInterrupt<P0>(partition: P0, logicaldeviceid: u64, msiaddress: u64, msidata: u32) -> ::windows::core::Result<()>
806 where
807 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
808 {
809 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvRequestVpciDeviceInterrupt ( partition : WHV_PARTITION_HANDLE , logicaldeviceid : u64 , msiaddress : u64 , msidata : u32 ) -> :: windows::core::HRESULT );
810 WHvRequestVpciDeviceInterrupt(partition.into_param().abi(), logicaldeviceid, msiaddress, msidata).ok()
811 }
812 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
813 #[inline]
814 pub unsafe fn WHvResetPartition<P0>(partition: P0) -> ::windows::core::Result<()>
815 where
816 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
817 {
818 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvResetPartition ( partition : WHV_PARTITION_HANDLE ) -> :: windows::core::HRESULT );
819 WHvResetPartition(partition.into_param().abi()).ok()
820 }
821 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
822 #[inline]
823 pub unsafe fn WHvResumePartitionTime<P0>(partition: P0) -> ::windows::core::Result<()>
824 where
825 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
826 {
827 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvResumePartitionTime ( partition : WHV_PARTITION_HANDLE ) -> :: windows::core::HRESULT );
828 WHvResumePartitionTime(partition.into_param().abi()).ok()
829 }
830 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
831 #[inline]
832 pub unsafe fn WHvRetargetVpciDeviceInterrupt<P0>(partition: P0, logicaldeviceid: u64, msiaddress: u64, msidata: u32, target: *const WHV_VPCI_INTERRUPT_TARGET) -> ::windows::core::Result<()>
833 where
834 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
835 {
836 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvRetargetVpciDeviceInterrupt ( partition : WHV_PARTITION_HANDLE , logicaldeviceid : u64 , msiaddress : u64 , msidata : u32 , target : *const WHV_VPCI_INTERRUPT_TARGET ) -> :: windows::core::HRESULT );
837 WHvRetargetVpciDeviceInterrupt(partition.into_param().abi(), logicaldeviceid, msiaddress, msidata, target).ok()
838 }
839 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
840 #[inline]
841 pub unsafe fn WHvRunVirtualProcessor<P0>(partition: P0, vpindex: u32, exitcontext: *mut ::core::ffi::c_void, exitcontextsizeinbytes: u32) -> ::windows::core::Result<()>
842 where
843 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
844 {
845 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvRunVirtualProcessor ( partition : WHV_PARTITION_HANDLE , vpindex : u32 , exitcontext : *mut ::core::ffi::c_void , exitcontextsizeinbytes : u32 ) -> :: windows::core::HRESULT );
846 WHvRunVirtualProcessor(partition.into_param().abi(), vpindex, exitcontext, exitcontextsizeinbytes).ok()
847 }
848 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
849 #[inline]
850 pub unsafe fn WHvSetNotificationPortProperty<P0>(partition: P0, porthandle: *const ::core::ffi::c_void, propertycode: WHV_NOTIFICATION_PORT_PROPERTY_CODE, propertyvalue: u64) -> ::windows::core::Result<()>
851 where
852 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
853 {
854 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvSetNotificationPortProperty ( partition : WHV_PARTITION_HANDLE , porthandle : *const ::core::ffi::c_void , propertycode : WHV_NOTIFICATION_PORT_PROPERTY_CODE , propertyvalue : u64 ) -> :: windows::core::HRESULT );
855 WHvSetNotificationPortProperty(partition.into_param().abi(), porthandle, propertycode, propertyvalue).ok()
856 }
857 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
858 #[inline]
859 pub unsafe fn WHvSetPartitionProperty<P0>(partition: P0, propertycode: WHV_PARTITION_PROPERTY_CODE, propertybuffer: *const ::core::ffi::c_void, propertybuffersizeinbytes: u32) -> ::windows::core::Result<()>
860 where
861 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
862 {
863 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvSetPartitionProperty ( partition : WHV_PARTITION_HANDLE , propertycode : WHV_PARTITION_PROPERTY_CODE , propertybuffer : *const ::core::ffi::c_void , propertybuffersizeinbytes : u32 ) -> :: windows::core::HRESULT );
864 WHvSetPartitionProperty(partition.into_param().abi(), propertycode, propertybuffer, propertybuffersizeinbytes).ok()
865 }
866 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
867 #[inline]
868 pub unsafe fn WHvSetVirtualProcessorInterruptControllerState<P0>(partition: P0, vpindex: u32, state: *const ::core::ffi::c_void, statesize: u32) -> ::windows::core::Result<()>
869 where
870 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
871 {
872 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvSetVirtualProcessorInterruptControllerState ( partition : WHV_PARTITION_HANDLE , vpindex : u32 , state : *const ::core::ffi::c_void , statesize : u32 ) -> :: windows::core::HRESULT );
873 WHvSetVirtualProcessorInterruptControllerState(partition.into_param().abi(), vpindex, state, statesize).ok()
874 }
875 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
876 #[inline]
877 pub unsafe fn WHvSetVirtualProcessorInterruptControllerState2<P0>(partition: P0, vpindex: u32, state: *const ::core::ffi::c_void, statesize: u32) -> ::windows::core::Result<()>
878 where
879 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
880 {
881 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvSetVirtualProcessorInterruptControllerState2 ( partition : WHV_PARTITION_HANDLE , vpindex : u32 , state : *const ::core::ffi::c_void , statesize : u32 ) -> :: windows::core::HRESULT );
882 WHvSetVirtualProcessorInterruptControllerState2(partition.into_param().abi(), vpindex, state, statesize).ok()
883 }
884 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
885 #[inline]
886 pub unsafe fn WHvSetVirtualProcessorRegisters<P0>(partition: P0, vpindex: u32, registernames: *const WHV_REGISTER_NAME, registercount: u32, registervalues: *const WHV_REGISTER_VALUE) -> ::windows::core::Result<()>
887 where
888 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
889 {
890 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvSetVirtualProcessorRegisters ( partition : WHV_PARTITION_HANDLE , vpindex : u32 , registernames : *const WHV_REGISTER_NAME , registercount : u32 , registervalues : *const WHV_REGISTER_VALUE ) -> :: windows::core::HRESULT );
891 WHvSetVirtualProcessorRegisters(partition.into_param().abi(), vpindex, registernames, registercount, registervalues).ok()
892 }
893 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
894 #[inline]
895 pub unsafe fn WHvSetVirtualProcessorState<P0>(partition: P0, vpindex: u32, statetype: WHV_VIRTUAL_PROCESSOR_STATE_TYPE, buffer: *const ::core::ffi::c_void, buffersizeinbytes: u32) -> ::windows::core::Result<()>
896 where
897 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
898 {
899 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvSetVirtualProcessorState ( partition : WHV_PARTITION_HANDLE , vpindex : u32 , statetype : WHV_VIRTUAL_PROCESSOR_STATE_TYPE , buffer : *const ::core::ffi::c_void , buffersizeinbytes : u32 ) -> :: windows::core::HRESULT );
900 WHvSetVirtualProcessorState(partition.into_param().abi(), vpindex, statetype, buffer, buffersizeinbytes).ok()
901 }
902 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
903 #[inline]
904 pub unsafe fn WHvSetVirtualProcessorXsaveState<P0>(partition: P0, vpindex: u32, buffer: *const ::core::ffi::c_void, buffersizeinbytes: u32) -> ::windows::core::Result<()>
905 where
906 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
907 {
908 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvSetVirtualProcessorXsaveState ( partition : WHV_PARTITION_HANDLE , vpindex : u32 , buffer : *const ::core::ffi::c_void , buffersizeinbytes : u32 ) -> :: windows::core::HRESULT );
909 WHvSetVirtualProcessorXsaveState(partition.into_param().abi(), vpindex, buffer, buffersizeinbytes).ok()
910 }
911 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`, `\"Win32_System_Power\"`*"]
912 #[cfg(feature = "Win32_System_Power")]
913 #[inline]
914 pub unsafe fn WHvSetVpciDevicePowerState<P0>(partition: P0, logicaldeviceid: u64, powerstate: super::Power::DEVICE_POWER_STATE) -> ::windows::core::Result<()>
915 where
916 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
917 {
918 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvSetVpciDevicePowerState ( partition : WHV_PARTITION_HANDLE , logicaldeviceid : u64 , powerstate : super::Power:: DEVICE_POWER_STATE ) -> :: windows::core::HRESULT );
919 WHvSetVpciDevicePowerState(partition.into_param().abi(), logicaldeviceid, powerstate).ok()
920 }
921 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
922 #[inline]
923 pub unsafe fn WHvSetupPartition<P0>(partition: P0) -> ::windows::core::Result<()>
924 where
925 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
926 {
927 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvSetupPartition ( partition : WHV_PARTITION_HANDLE ) -> :: windows::core::HRESULT );
928 WHvSetupPartition(partition.into_param().abi()).ok()
929 }
930 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`, `\"Win32_Foundation\"`*"]
931 #[cfg(feature = "Win32_Foundation")]
932 #[inline]
933 pub unsafe fn WHvSignalVirtualProcessorSynicEvent<P0>(partition: P0, synicevent: WHV_SYNIC_EVENT_PARAMETERS, newlysignaled: ::core::option::Option<*mut super::super::Foundation::BOOL>) -> ::windows::core::Result<()>
934 where
935 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
936 {
937 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvSignalVirtualProcessorSynicEvent ( partition : WHV_PARTITION_HANDLE , synicevent : WHV_SYNIC_EVENT_PARAMETERS , newlysignaled : *mut super::super::Foundation:: BOOL ) -> :: windows::core::HRESULT );
938 WHvSignalVirtualProcessorSynicEvent(partition.into_param().abi(), ::core::mem::transmute(synicevent), ::core::mem::transmute(newlysignaled.unwrap_or(::std::ptr::null_mut()))).ok()
939 }
940 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`, `\"Win32_Foundation\"`*"]
941 #[cfg(feature = "Win32_Foundation")]
942 #[inline]
943 pub unsafe fn WHvStartPartitionMigration<P0>(partition: P0) -> ::windows::core::Result<super::super::Foundation::HANDLE>
944 where
945 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
946 {
947 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvStartPartitionMigration ( partition : WHV_PARTITION_HANDLE , migrationhandle : *mut super::super::Foundation:: HANDLE ) -> :: windows::core::HRESULT );
948 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::HANDLE>();
949 WHvStartPartitionMigration(partition.into_param().abi(), &mut result__).from_abi(result__)
950 }
951 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
952 #[inline]
953 pub unsafe fn WHvSuspendPartitionTime<P0>(partition: P0) -> ::windows::core::Result<()>
954 where
955 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
956 {
957 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvSuspendPartitionTime ( partition : WHV_PARTITION_HANDLE ) -> :: windows::core::HRESULT );
958 WHvSuspendPartitionTime(partition.into_param().abi()).ok()
959 }
960 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
961 #[inline]
962 pub unsafe fn WHvTranslateGva<P0>(partition: P0, vpindex: u32, gva: u64, translateflags: WHV_TRANSLATE_GVA_FLAGS, translationresult: *mut WHV_TRANSLATE_GVA_RESULT, gpa: *mut u64) -> ::windows::core::Result<()>
963 where
964 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
965 {
966 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvTranslateGva ( partition : WHV_PARTITION_HANDLE , vpindex : u32 , gva : u64 , translateflags : WHV_TRANSLATE_GVA_FLAGS , translationresult : *mut WHV_TRANSLATE_GVA_RESULT , gpa : *mut u64 ) -> :: windows::core::HRESULT );
967 WHvTranslateGva(partition.into_param().abi(), vpindex, gva, translateflags, translationresult, gpa).ok()
968 }
969 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
970 #[inline]
971 pub unsafe fn WHvUnmapGpaRange<P0>(partition: P0, guestaddress: u64, sizeinbytes: u64) -> ::windows::core::Result<()>
972 where
973 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
974 {
975 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvUnmapGpaRange ( partition : WHV_PARTITION_HANDLE , guestaddress : u64 , sizeinbytes : u64 ) -> :: windows::core::HRESULT );
976 WHvUnmapGpaRange(partition.into_param().abi(), guestaddress, sizeinbytes).ok()
977 }
978 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
979 #[inline]
980 pub unsafe fn WHvUnmapVpciDeviceInterrupt<P0>(partition: P0, logicaldeviceid: u64, index: u32) -> ::windows::core::Result<()>
981 where
982 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
983 {
984 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvUnmapVpciDeviceInterrupt ( partition : WHV_PARTITION_HANDLE , logicaldeviceid : u64 , index : u32 ) -> :: windows::core::HRESULT );
985 WHvUnmapVpciDeviceInterrupt(partition.into_param().abi(), logicaldeviceid, index).ok()
986 }
987 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
988 #[inline]
989 pub unsafe fn WHvUnmapVpciDeviceMmioRanges<P0>(partition: P0, logicaldeviceid: u64) -> ::windows::core::Result<()>
990 where
991 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
992 {
993 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvUnmapVpciDeviceMmioRanges ( partition : WHV_PARTITION_HANDLE , logicaldeviceid : u64 ) -> :: windows::core::HRESULT );
994 WHvUnmapVpciDeviceMmioRanges(partition.into_param().abi(), logicaldeviceid).ok()
995 }
996 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
997 #[inline]
998 pub unsafe fn WHvUnregisterPartitionDoorbellEvent<P0>(partition: P0, matchdata: *const WHV_DOORBELL_MATCH_DATA) -> ::windows::core::Result<()>
999 where
1000 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
1001 {
1002 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvUnregisterPartitionDoorbellEvent ( partition : WHV_PARTITION_HANDLE , matchdata : *const WHV_DOORBELL_MATCH_DATA ) -> :: windows::core::HRESULT );
1003 WHvUnregisterPartitionDoorbellEvent(partition.into_param().abi(), matchdata).ok()
1004 }
1005 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1006 #[inline]
1007 pub unsafe fn WHvUpdateTriggerParameters<P0>(partition: P0, parameters: *const WHV_TRIGGER_PARAMETERS, triggerhandle: *const ::core::ffi::c_void) -> ::windows::core::Result<()>
1008 where
1009 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
1010 {
1011 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvUpdateTriggerParameters ( partition : WHV_PARTITION_HANDLE , parameters : *const WHV_TRIGGER_PARAMETERS , triggerhandle : *const ::core::ffi::c_void ) -> :: windows::core::HRESULT );
1012 WHvUpdateTriggerParameters(partition.into_param().abi(), parameters, triggerhandle).ok()
1013 }
1014 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1015 #[inline]
1016 pub unsafe fn WHvWriteGpaRange<P0>(partition: P0, vpindex: u32, guestaddress: u64, controls: WHV_ACCESS_GPA_CONTROLS, data: *const ::core::ffi::c_void, datasizeinbytes: u32) -> ::windows::core::Result<()>
1017 where
1018 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
1019 {
1020 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvWriteGpaRange ( partition : WHV_PARTITION_HANDLE , vpindex : u32 , guestaddress : u64 , controls : WHV_ACCESS_GPA_CONTROLS , data : *const ::core::ffi::c_void , datasizeinbytes : u32 ) -> :: windows::core::HRESULT );
1021 WHvWriteGpaRange(partition.into_param().abi(), vpindex, guestaddress, ::core::mem::transmute(controls), data, datasizeinbytes).ok()
1022 }
1023 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1024 #[inline]
1025 pub unsafe fn WHvWriteVpciDeviceRegister<P0>(partition: P0, logicaldeviceid: u64, register: *const WHV_VPCI_DEVICE_REGISTER, data: *const ::core::ffi::c_void) -> ::windows::core::Result<()>
1026 where
1027 P0: ::windows::core::IntoParam<WHV_PARTITION_HANDLE>,
1028 {
1029 ::windows::imp::link ! ( "winhvplatform.dll""system" fn WHvWriteVpciDeviceRegister ( partition : WHV_PARTITION_HANDLE , logicaldeviceid : u64 , register : *const WHV_VPCI_DEVICE_REGISTER , data : *const ::core::ffi::c_void ) -> :: windows::core::HRESULT );
1030 WHvWriteVpciDeviceRegister(partition.into_param().abi(), logicaldeviceid, register, data).ok()
1031 }
1032 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1033 pub const GUID_DEVINTERFACE_VM_GENCOUNTER: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x3ff2c92b_6598_4e60_8e1c_0ccf4927e319);
1034 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1035 pub const HDV_PCI_BAR_COUNT: u32 = 6u32;
1036 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1037 pub const HVSOCKET_ADDRESS_FLAG_PASSTHRU: u32 = 1u32;
1038 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1039 pub const HVSOCKET_CONNECTED_SUSPEND: u32 = 4u32;
1040 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1041 pub const HVSOCKET_CONNECT_TIMEOUT: u32 = 1u32;
1042 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1043 pub const HVSOCKET_CONNECT_TIMEOUT_MAX: u32 = 300000u32;
1044 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1045 pub const HVSOCKET_CONTAINER_PASSTHRU: u32 = 2u32;
1046 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1047 pub const HV_GUID_BROADCAST: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xffffffff_ffff_ffff_ffff_ffffffffffff);
1048 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1049 pub const HV_GUID_CHILDREN: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x90db8b89_0d35_4f79_8ce9_49ea0ac8b7cd);
1050 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1051 pub const HV_GUID_LOOPBACK: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe0e16197_dd56_4a10_9195_5ee7a155a838);
1052 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1053 pub const HV_GUID_PARENT: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xa42e7cda_d03f_480c_9cc2_a4de20abb878);
1054 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1055 pub const HV_GUID_SILOHOST: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x36bd0c5c_7276_4223_88ba_7d03b654c568);
1056 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1057 pub const HV_GUID_VSOCK_TEMPLATE: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x00000000_facb_11e6_bd58_64006a7986d3);
1058 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1059 pub const HV_GUID_ZERO: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x00000000_0000_0000_0000_000000000000);
1060 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1061 pub const HV_PROTOCOL_RAW: u32 = 1u32;
1062 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1063 pub const IOCTL_VMGENCOUNTER_READ: u32 = 3325956u32;
1064 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1065 pub const VM_GENCOUNTER_SYMBOLIC_LINK_NAME: ::windows::core::PCWSTR = ::windows::w!("\\VmGenerationCounter");
1066 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1067 pub const WHV_ANY_VP: u32 = 4294967295u32;
1068 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1069 pub const WHV_HYPERCALL_CONTEXT_MAX_XMM_REGISTERS: u32 = 6u32;
1070 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1071 pub const WHV_MAX_DEVICE_ID_SIZE_IN_CHARS: u32 = 200u32;
1072 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1073 pub const WHV_PROCESSOR_FEATURES_BANKS_COUNT: u32 = 2u32;
1074 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1075 pub const WHV_READ_WRITE_GPA_RANGE_MAX_SIZE: u32 = 16u32;
1076 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1077 pub const WHV_SYNIC_MESSAGE_SIZE: u32 = 256u32;
1078 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1079 pub const WHV_SYNTHETIC_PROCESSOR_FEATURES_BANKS_COUNT: u32 = 1u32;
1080 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1081 pub const WHV_VPCI_TYPE0_BAR_COUNT: u32 = 6u32;
1082 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1083 #[repr(transparent)]
1084 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
1085 pub struct GUEST_OS_MICROSOFT_IDS(pub i32);
1086 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1087 pub const GuestOsMicrosoftUndefined: GUEST_OS_MICROSOFT_IDS = GUEST_OS_MICROSOFT_IDS(0i32);
1088 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1089 pub const GuestOsMicrosoftMSDOS: GUEST_OS_MICROSOFT_IDS = GUEST_OS_MICROSOFT_IDS(1i32);
1090 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1091 pub const GuestOsMicrosoftWindows3x: GUEST_OS_MICROSOFT_IDS = GUEST_OS_MICROSOFT_IDS(2i32);
1092 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1093 pub const GuestOsMicrosoftWindows9x: GUEST_OS_MICROSOFT_IDS = GUEST_OS_MICROSOFT_IDS(3i32);
1094 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1095 pub const GuestOsMicrosoftWindowsNT: GUEST_OS_MICROSOFT_IDS = GUEST_OS_MICROSOFT_IDS(4i32);
1096 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1097 pub const GuestOsMicrosoftWindowsCE: GUEST_OS_MICROSOFT_IDS = GUEST_OS_MICROSOFT_IDS(5i32);
1098 impl ::core::marker::Copy for GUEST_OS_MICROSOFT_IDS {}
1099 impl ::core::clone::Clone for GUEST_OS_MICROSOFT_IDS {
1100 fn clone(&self) -> Self {
1101 *self
1102 }
1103 }
1104 impl ::core::default::Default for GUEST_OS_MICROSOFT_IDS {
1105 fn default() -> Self {
1106 Self(0)
1107 }
1108 }
1109 impl ::windows::core::TypeKind for GUEST_OS_MICROSOFT_IDS {
1110 type TypeKind = ::windows::core::CopyType;
1111 }
1112 impl ::core::fmt::Debug for GUEST_OS_MICROSOFT_IDS {
1113 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1114 f.debug_tuple("GUEST_OS_MICROSOFT_IDS").field(&self.0).finish()
1115 }
1116 }
1117 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1118 #[repr(transparent)]
1119 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
1120 pub struct GUEST_OS_OPENSOURCE_IDS(pub i32);
1121 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1122 pub const GuestOsOpenSourceUndefined: GUEST_OS_OPENSOURCE_IDS = GUEST_OS_OPENSOURCE_IDS(0i32);
1123 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1124 pub const GuestOsOpenSourceLinux: GUEST_OS_OPENSOURCE_IDS = GUEST_OS_OPENSOURCE_IDS(1i32);
1125 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1126 pub const GuestOsOpenSourceFreeBSD: GUEST_OS_OPENSOURCE_IDS = GUEST_OS_OPENSOURCE_IDS(2i32);
1127 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1128 pub const GuestOsOpenSourceXen: GUEST_OS_OPENSOURCE_IDS = GUEST_OS_OPENSOURCE_IDS(3i32);
1129 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1130 pub const GuestOsOpenSourceIllumos: GUEST_OS_OPENSOURCE_IDS = GUEST_OS_OPENSOURCE_IDS(4i32);
1131 impl ::core::marker::Copy for GUEST_OS_OPENSOURCE_IDS {}
1132 impl ::core::clone::Clone for GUEST_OS_OPENSOURCE_IDS {
1133 fn clone(&self) -> Self {
1134 *self
1135 }
1136 }
1137 impl ::core::default::Default for GUEST_OS_OPENSOURCE_IDS {
1138 fn default() -> Self {
1139 Self(0)
1140 }
1141 }
1142 impl ::windows::core::TypeKind for GUEST_OS_OPENSOURCE_IDS {
1143 type TypeKind = ::windows::core::CopyType;
1144 }
1145 impl ::core::fmt::Debug for GUEST_OS_OPENSOURCE_IDS {
1146 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1147 f.debug_tuple("GUEST_OS_OPENSOURCE_IDS").field(&self.0).finish()
1148 }
1149 }
1150 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1151 #[repr(transparent)]
1152 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
1153 pub struct GUEST_OS_VENDOR(pub i32);
1154 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1155 pub const GuestOsVendorUndefined: GUEST_OS_VENDOR = GUEST_OS_VENDOR(0i32);
1156 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1157 pub const GuestOsVendorMicrosoft: GUEST_OS_VENDOR = GUEST_OS_VENDOR(1i32);
1158 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1159 pub const GuestOsVendorHPE: GUEST_OS_VENDOR = GUEST_OS_VENDOR(2i32);
1160 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1161 pub const GuestOsVendorLANCOM: GUEST_OS_VENDOR = GUEST_OS_VENDOR(512i32);
1162 impl ::core::marker::Copy for GUEST_OS_VENDOR {}
1163 impl ::core::clone::Clone for GUEST_OS_VENDOR {
1164 fn clone(&self) -> Self {
1165 *self
1166 }
1167 }
1168 impl ::core::default::Default for GUEST_OS_VENDOR {
1169 fn default() -> Self {
1170 Self(0)
1171 }
1172 }
1173 impl ::windows::core::TypeKind for GUEST_OS_VENDOR {
1174 type TypeKind = ::windows::core::CopyType;
1175 }
1176 impl ::core::fmt::Debug for GUEST_OS_VENDOR {
1177 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1178 f.debug_tuple("GUEST_OS_VENDOR").field(&self.0).finish()
1179 }
1180 }
1181 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1182 #[repr(transparent)]
1183 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
1184 pub struct HDV_DEVICE_TYPE(pub i32);
1185 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1186 pub const HdvDeviceTypeUndefined: HDV_DEVICE_TYPE = HDV_DEVICE_TYPE(0i32);
1187 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1188 pub const HdvDeviceTypePCI: HDV_DEVICE_TYPE = HDV_DEVICE_TYPE(1i32);
1189 impl ::core::marker::Copy for HDV_DEVICE_TYPE {}
1190 impl ::core::clone::Clone for HDV_DEVICE_TYPE {
1191 fn clone(&self) -> Self {
1192 *self
1193 }
1194 }
1195 impl ::core::default::Default for HDV_DEVICE_TYPE {
1196 fn default() -> Self {
1197 Self(0)
1198 }
1199 }
1200 impl ::windows::core::TypeKind for HDV_DEVICE_TYPE {
1201 type TypeKind = ::windows::core::CopyType;
1202 }
1203 impl ::core::fmt::Debug for HDV_DEVICE_TYPE {
1204 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1205 f.debug_tuple("HDV_DEVICE_TYPE").field(&self.0).finish()
1206 }
1207 }
1208 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1209 #[repr(transparent)]
1210 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
1211 pub struct HDV_DOORBELL_FLAGS(pub i32);
1212 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1213 pub const HDV_DOORBELL_FLAG_TRIGGER_SIZE_ANY: HDV_DOORBELL_FLAGS = HDV_DOORBELL_FLAGS(0i32);
1214 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1215 pub const HDV_DOORBELL_FLAG_TRIGGER_SIZE_BYTE: HDV_DOORBELL_FLAGS = HDV_DOORBELL_FLAGS(1i32);
1216 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1217 pub const HDV_DOORBELL_FLAG_TRIGGER_SIZE_WORD: HDV_DOORBELL_FLAGS = HDV_DOORBELL_FLAGS(2i32);
1218 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1219 pub const HDV_DOORBELL_FLAG_TRIGGER_SIZE_DWORD: HDV_DOORBELL_FLAGS = HDV_DOORBELL_FLAGS(3i32);
1220 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1221 pub const HDV_DOORBELL_FLAG_TRIGGER_SIZE_QWORD: HDV_DOORBELL_FLAGS = HDV_DOORBELL_FLAGS(4i32);
1222 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1223 pub const HDV_DOORBELL_FLAG_TRIGGER_ANY_VALUE: HDV_DOORBELL_FLAGS = HDV_DOORBELL_FLAGS(-2147483648i32);
1224 impl ::core::marker::Copy for HDV_DOORBELL_FLAGS {}
1225 impl ::core::clone::Clone for HDV_DOORBELL_FLAGS {
1226 fn clone(&self) -> Self {
1227 *self
1228 }
1229 }
1230 impl ::core::default::Default for HDV_DOORBELL_FLAGS {
1231 fn default() -> Self {
1232 Self(0)
1233 }
1234 }
1235 impl ::windows::core::TypeKind for HDV_DOORBELL_FLAGS {
1236 type TypeKind = ::windows::core::CopyType;
1237 }
1238 impl ::core::fmt::Debug for HDV_DOORBELL_FLAGS {
1239 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1240 f.debug_tuple("HDV_DOORBELL_FLAGS").field(&self.0).finish()
1241 }
1242 }
1243 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1244 #[repr(transparent)]
1245 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
1246 pub struct HDV_MMIO_MAPPING_FLAGS(pub i32);
1247 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1248 pub const HdvMmioMappingFlagNone: HDV_MMIO_MAPPING_FLAGS = HDV_MMIO_MAPPING_FLAGS(0i32);
1249 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1250 pub const HdvMmioMappingFlagWriteable: HDV_MMIO_MAPPING_FLAGS = HDV_MMIO_MAPPING_FLAGS(1i32);
1251 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1252 pub const HdvMmioMappingFlagExecutable: HDV_MMIO_MAPPING_FLAGS = HDV_MMIO_MAPPING_FLAGS(2i32);
1253 impl ::core::marker::Copy for HDV_MMIO_MAPPING_FLAGS {}
1254 impl ::core::clone::Clone for HDV_MMIO_MAPPING_FLAGS {
1255 fn clone(&self) -> Self {
1256 *self
1257 }
1258 }
1259 impl ::core::default::Default for HDV_MMIO_MAPPING_FLAGS {
1260 fn default() -> Self {
1261 Self(0)
1262 }
1263 }
1264 impl ::windows::core::TypeKind for HDV_MMIO_MAPPING_FLAGS {
1265 type TypeKind = ::windows::core::CopyType;
1266 }
1267 impl ::core::fmt::Debug for HDV_MMIO_MAPPING_FLAGS {
1268 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1269 f.debug_tuple("HDV_MMIO_MAPPING_FLAGS").field(&self.0).finish()
1270 }
1271 }
1272 impl HDV_MMIO_MAPPING_FLAGS {
1273 pub const fn contains(&self, other: Self) -> bool {
1274 self.0 & other.0 == other.0
1275 }
1276 }
1277 impl ::core::ops::BitOr for HDV_MMIO_MAPPING_FLAGS {
1278 type Output = Self;
1279 fn bitor(self, other: Self) -> Self {
1280 Self(self.0 | other.0)
1281 }
1282 }
1283 impl ::core::ops::BitAnd for HDV_MMIO_MAPPING_FLAGS {
1284 type Output = Self;
1285 fn bitand(self, other: Self) -> Self {
1286 Self(self.0 & other.0)
1287 }
1288 }
1289 impl ::core::ops::BitOrAssign for HDV_MMIO_MAPPING_FLAGS {
1290 fn bitor_assign(&mut self, other: Self) {
1291 self.0.bitor_assign(other.0)
1292 }
1293 }
1294 impl ::core::ops::BitAndAssign for HDV_MMIO_MAPPING_FLAGS {
1295 fn bitand_assign(&mut self, other: Self) {
1296 self.0.bitand_assign(other.0)
1297 }
1298 }
1299 impl ::core::ops::Not for HDV_MMIO_MAPPING_FLAGS {
1300 type Output = Self;
1301 fn not(self) -> Self {
1302 Self(self.0.not())
1303 }
1304 }
1305 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1306 #[repr(transparent)]
1307 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
1308 pub struct HDV_PCI_BAR_SELECTOR(pub i32);
1309 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1310 pub const HDV_PCI_BAR0: HDV_PCI_BAR_SELECTOR = HDV_PCI_BAR_SELECTOR(0i32);
1311 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1312 pub const HDV_PCI_BAR1: HDV_PCI_BAR_SELECTOR = HDV_PCI_BAR_SELECTOR(1i32);
1313 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1314 pub const HDV_PCI_BAR2: HDV_PCI_BAR_SELECTOR = HDV_PCI_BAR_SELECTOR(2i32);
1315 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1316 pub const HDV_PCI_BAR3: HDV_PCI_BAR_SELECTOR = HDV_PCI_BAR_SELECTOR(3i32);
1317 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1318 pub const HDV_PCI_BAR4: HDV_PCI_BAR_SELECTOR = HDV_PCI_BAR_SELECTOR(4i32);
1319 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1320 pub const HDV_PCI_BAR5: HDV_PCI_BAR_SELECTOR = HDV_PCI_BAR_SELECTOR(5i32);
1321 impl ::core::marker::Copy for HDV_PCI_BAR_SELECTOR {}
1322 impl ::core::clone::Clone for HDV_PCI_BAR_SELECTOR {
1323 fn clone(&self) -> Self {
1324 *self
1325 }
1326 }
1327 impl ::core::default::Default for HDV_PCI_BAR_SELECTOR {
1328 fn default() -> Self {
1329 Self(0)
1330 }
1331 }
1332 impl ::windows::core::TypeKind for HDV_PCI_BAR_SELECTOR {
1333 type TypeKind = ::windows::core::CopyType;
1334 }
1335 impl ::core::fmt::Debug for HDV_PCI_BAR_SELECTOR {
1336 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1337 f.debug_tuple("HDV_PCI_BAR_SELECTOR").field(&self.0).finish()
1338 }
1339 }
1340 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1341 #[repr(transparent)]
1342 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
1343 pub struct HDV_PCI_INTERFACE_VERSION(pub i32);
1344 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1345 pub const HdvPciDeviceInterfaceVersionInvalid: HDV_PCI_INTERFACE_VERSION = HDV_PCI_INTERFACE_VERSION(0i32);
1346 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1347 pub const HdvPciDeviceInterfaceVersion1: HDV_PCI_INTERFACE_VERSION = HDV_PCI_INTERFACE_VERSION(1i32);
1348 impl ::core::marker::Copy for HDV_PCI_INTERFACE_VERSION {}
1349 impl ::core::clone::Clone for HDV_PCI_INTERFACE_VERSION {
1350 fn clone(&self) -> Self {
1351 *self
1352 }
1353 }
1354 impl ::core::default::Default for HDV_PCI_INTERFACE_VERSION {
1355 fn default() -> Self {
1356 Self(0)
1357 }
1358 }
1359 impl ::windows::core::TypeKind for HDV_PCI_INTERFACE_VERSION {
1360 type TypeKind = ::windows::core::CopyType;
1361 }
1362 impl ::core::fmt::Debug for HDV_PCI_INTERFACE_VERSION {
1363 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1364 f.debug_tuple("HDV_PCI_INTERFACE_VERSION").field(&self.0).finish()
1365 }
1366 }
1367 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1368 #[repr(transparent)]
1369 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
1370 pub struct PAGING_MODE(pub i32);
1371 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1372 pub const Paging_Invalid: PAGING_MODE = PAGING_MODE(0i32);
1373 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1374 pub const Paging_NonPaged: PAGING_MODE = PAGING_MODE(1i32);
1375 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1376 pub const Paging_32Bit: PAGING_MODE = PAGING_MODE(2i32);
1377 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1378 pub const Paging_Pae: PAGING_MODE = PAGING_MODE(3i32);
1379 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1380 pub const Paging_Long: PAGING_MODE = PAGING_MODE(4i32);
1381 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1382 pub const Paging_Armv8: PAGING_MODE = PAGING_MODE(5i32);
1383 impl ::core::marker::Copy for PAGING_MODE {}
1384 impl ::core::clone::Clone for PAGING_MODE {
1385 fn clone(&self) -> Self {
1386 *self
1387 }
1388 }
1389 impl ::core::default::Default for PAGING_MODE {
1390 fn default() -> Self {
1391 Self(0)
1392 }
1393 }
1394 impl ::windows::core::TypeKind for PAGING_MODE {
1395 type TypeKind = ::windows::core::CopyType;
1396 }
1397 impl ::core::fmt::Debug for PAGING_MODE {
1398 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1399 f.debug_tuple("PAGING_MODE").field(&self.0).finish()
1400 }
1401 }
1402 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1403 #[repr(transparent)]
1404 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
1405 pub struct REGISTER_ID(pub i32);
1406 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1407 pub const X64_RegisterRax: REGISTER_ID = REGISTER_ID(0i32);
1408 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1409 pub const X64_RegisterRcx: REGISTER_ID = REGISTER_ID(1i32);
1410 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1411 pub const X64_RegisterRdx: REGISTER_ID = REGISTER_ID(2i32);
1412 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1413 pub const X64_RegisterRbx: REGISTER_ID = REGISTER_ID(3i32);
1414 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1415 pub const X64_RegisterRsp: REGISTER_ID = REGISTER_ID(4i32);
1416 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1417 pub const X64_RegisterRbp: REGISTER_ID = REGISTER_ID(5i32);
1418 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1419 pub const X64_RegisterRsi: REGISTER_ID = REGISTER_ID(6i32);
1420 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1421 pub const X64_RegisterRdi: REGISTER_ID = REGISTER_ID(7i32);
1422 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1423 pub const X64_RegisterR8: REGISTER_ID = REGISTER_ID(8i32);
1424 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1425 pub const X64_RegisterR9: REGISTER_ID = REGISTER_ID(9i32);
1426 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1427 pub const X64_RegisterR10: REGISTER_ID = REGISTER_ID(10i32);
1428 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1429 pub const X64_RegisterR11: REGISTER_ID = REGISTER_ID(11i32);
1430 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1431 pub const X64_RegisterR12: REGISTER_ID = REGISTER_ID(12i32);
1432 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1433 pub const X64_RegisterR13: REGISTER_ID = REGISTER_ID(13i32);
1434 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1435 pub const X64_RegisterR14: REGISTER_ID = REGISTER_ID(14i32);
1436 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1437 pub const X64_RegisterR15: REGISTER_ID = REGISTER_ID(15i32);
1438 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1439 pub const X64_RegisterRip: REGISTER_ID = REGISTER_ID(16i32);
1440 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1441 pub const X64_RegisterRFlags: REGISTER_ID = REGISTER_ID(17i32);
1442 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1443 pub const X64_RegisterXmm0: REGISTER_ID = REGISTER_ID(18i32);
1444 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1445 pub const X64_RegisterXmm1: REGISTER_ID = REGISTER_ID(19i32);
1446 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1447 pub const X64_RegisterXmm2: REGISTER_ID = REGISTER_ID(20i32);
1448 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1449 pub const X64_RegisterXmm3: REGISTER_ID = REGISTER_ID(21i32);
1450 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1451 pub const X64_RegisterXmm4: REGISTER_ID = REGISTER_ID(22i32);
1452 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1453 pub const X64_RegisterXmm5: REGISTER_ID = REGISTER_ID(23i32);
1454 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1455 pub const X64_RegisterXmm6: REGISTER_ID = REGISTER_ID(24i32);
1456 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1457 pub const X64_RegisterXmm7: REGISTER_ID = REGISTER_ID(25i32);
1458 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1459 pub const X64_RegisterXmm8: REGISTER_ID = REGISTER_ID(26i32);
1460 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1461 pub const X64_RegisterXmm9: REGISTER_ID = REGISTER_ID(27i32);
1462 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1463 pub const X64_RegisterXmm10: REGISTER_ID = REGISTER_ID(28i32);
1464 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1465 pub const X64_RegisterXmm11: REGISTER_ID = REGISTER_ID(29i32);
1466 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1467 pub const X64_RegisterXmm12: REGISTER_ID = REGISTER_ID(30i32);
1468 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1469 pub const X64_RegisterXmm13: REGISTER_ID = REGISTER_ID(31i32);
1470 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1471 pub const X64_RegisterXmm14: REGISTER_ID = REGISTER_ID(32i32);
1472 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1473 pub const X64_RegisterXmm15: REGISTER_ID = REGISTER_ID(33i32);
1474 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1475 pub const X64_RegisterFpMmx0: REGISTER_ID = REGISTER_ID(34i32);
1476 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1477 pub const X64_RegisterFpMmx1: REGISTER_ID = REGISTER_ID(35i32);
1478 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1479 pub const X64_RegisterFpMmx2: REGISTER_ID = REGISTER_ID(36i32);
1480 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1481 pub const X64_RegisterFpMmx3: REGISTER_ID = REGISTER_ID(37i32);
1482 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1483 pub const X64_RegisterFpMmx4: REGISTER_ID = REGISTER_ID(38i32);
1484 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1485 pub const X64_RegisterFpMmx5: REGISTER_ID = REGISTER_ID(39i32);
1486 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1487 pub const X64_RegisterFpMmx6: REGISTER_ID = REGISTER_ID(40i32);
1488 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1489 pub const X64_RegisterFpMmx7: REGISTER_ID = REGISTER_ID(41i32);
1490 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1491 pub const X64_RegisterFpControlStatus: REGISTER_ID = REGISTER_ID(42i32);
1492 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1493 pub const X64_RegisterXmmControlStatus: REGISTER_ID = REGISTER_ID(43i32);
1494 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1495 pub const X64_RegisterCr0: REGISTER_ID = REGISTER_ID(44i32);
1496 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1497 pub const X64_RegisterCr2: REGISTER_ID = REGISTER_ID(45i32);
1498 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1499 pub const X64_RegisterCr3: REGISTER_ID = REGISTER_ID(46i32);
1500 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1501 pub const X64_RegisterCr4: REGISTER_ID = REGISTER_ID(47i32);
1502 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1503 pub const X64_RegisterCr8: REGISTER_ID = REGISTER_ID(48i32);
1504 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1505 pub const X64_RegisterEfer: REGISTER_ID = REGISTER_ID(49i32);
1506 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1507 pub const X64_RegisterDr0: REGISTER_ID = REGISTER_ID(50i32);
1508 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1509 pub const X64_RegisterDr1: REGISTER_ID = REGISTER_ID(51i32);
1510 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1511 pub const X64_RegisterDr2: REGISTER_ID = REGISTER_ID(52i32);
1512 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1513 pub const X64_RegisterDr3: REGISTER_ID = REGISTER_ID(53i32);
1514 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1515 pub const X64_RegisterDr6: REGISTER_ID = REGISTER_ID(54i32);
1516 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1517 pub const X64_RegisterDr7: REGISTER_ID = REGISTER_ID(55i32);
1518 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1519 pub const X64_RegisterEs: REGISTER_ID = REGISTER_ID(56i32);
1520 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1521 pub const X64_RegisterCs: REGISTER_ID = REGISTER_ID(57i32);
1522 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1523 pub const X64_RegisterSs: REGISTER_ID = REGISTER_ID(58i32);
1524 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1525 pub const X64_RegisterDs: REGISTER_ID = REGISTER_ID(59i32);
1526 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1527 pub const X64_RegisterFs: REGISTER_ID = REGISTER_ID(60i32);
1528 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1529 pub const X64_RegisterGs: REGISTER_ID = REGISTER_ID(61i32);
1530 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1531 pub const X64_RegisterLdtr: REGISTER_ID = REGISTER_ID(62i32);
1532 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1533 pub const X64_RegisterTr: REGISTER_ID = REGISTER_ID(63i32);
1534 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1535 pub const X64_RegisterIdtr: REGISTER_ID = REGISTER_ID(64i32);
1536 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1537 pub const X64_RegisterGdtr: REGISTER_ID = REGISTER_ID(65i32);
1538 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1539 pub const X64_RegisterMax: REGISTER_ID = REGISTER_ID(66i32);
1540 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1541 pub const ARM64_RegisterX0: REGISTER_ID = REGISTER_ID(67i32);
1542 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1543 pub const ARM64_RegisterX1: REGISTER_ID = REGISTER_ID(68i32);
1544 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1545 pub const ARM64_RegisterX2: REGISTER_ID = REGISTER_ID(69i32);
1546 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1547 pub const ARM64_RegisterX3: REGISTER_ID = REGISTER_ID(70i32);
1548 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1549 pub const ARM64_RegisterX4: REGISTER_ID = REGISTER_ID(71i32);
1550 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1551 pub const ARM64_RegisterX5: REGISTER_ID = REGISTER_ID(72i32);
1552 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1553 pub const ARM64_RegisterX6: REGISTER_ID = REGISTER_ID(73i32);
1554 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1555 pub const ARM64_RegisterX7: REGISTER_ID = REGISTER_ID(74i32);
1556 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1557 pub const ARM64_RegisterX8: REGISTER_ID = REGISTER_ID(75i32);
1558 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1559 pub const ARM64_RegisterX9: REGISTER_ID = REGISTER_ID(76i32);
1560 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1561 pub const ARM64_RegisterX10: REGISTER_ID = REGISTER_ID(77i32);
1562 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1563 pub const ARM64_RegisterX11: REGISTER_ID = REGISTER_ID(78i32);
1564 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1565 pub const ARM64_RegisterX12: REGISTER_ID = REGISTER_ID(79i32);
1566 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1567 pub const ARM64_RegisterX13: REGISTER_ID = REGISTER_ID(80i32);
1568 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1569 pub const ARM64_RegisterX14: REGISTER_ID = REGISTER_ID(81i32);
1570 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1571 pub const ARM64_RegisterX15: REGISTER_ID = REGISTER_ID(82i32);
1572 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1573 pub const ARM64_RegisterX16: REGISTER_ID = REGISTER_ID(83i32);
1574 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1575 pub const ARM64_RegisterX17: REGISTER_ID = REGISTER_ID(84i32);
1576 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1577 pub const ARM64_RegisterX18: REGISTER_ID = REGISTER_ID(85i32);
1578 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1579 pub const ARM64_RegisterX19: REGISTER_ID = REGISTER_ID(86i32);
1580 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1581 pub const ARM64_RegisterX20: REGISTER_ID = REGISTER_ID(87i32);
1582 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1583 pub const ARM64_RegisterX21: REGISTER_ID = REGISTER_ID(88i32);
1584 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1585 pub const ARM64_RegisterX22: REGISTER_ID = REGISTER_ID(89i32);
1586 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1587 pub const ARM64_RegisterX23: REGISTER_ID = REGISTER_ID(90i32);
1588 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1589 pub const ARM64_RegisterX24: REGISTER_ID = REGISTER_ID(91i32);
1590 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1591 pub const ARM64_RegisterX25: REGISTER_ID = REGISTER_ID(92i32);
1592 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1593 pub const ARM64_RegisterX26: REGISTER_ID = REGISTER_ID(93i32);
1594 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1595 pub const ARM64_RegisterX27: REGISTER_ID = REGISTER_ID(94i32);
1596 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1597 pub const ARM64_RegisterX28: REGISTER_ID = REGISTER_ID(95i32);
1598 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1599 pub const ARM64_RegisterXFp: REGISTER_ID = REGISTER_ID(96i32);
1600 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1601 pub const ARM64_RegisterXLr: REGISTER_ID = REGISTER_ID(97i32);
1602 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1603 pub const ARM64_RegisterPc: REGISTER_ID = REGISTER_ID(98i32);
1604 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1605 pub const ARM64_RegisterSpEl0: REGISTER_ID = REGISTER_ID(99i32);
1606 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1607 pub const ARM64_RegisterSpEl1: REGISTER_ID = REGISTER_ID(100i32);
1608 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1609 pub const ARM64_RegisterCpsr: REGISTER_ID = REGISTER_ID(101i32);
1610 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1611 pub const ARM64_RegisterQ0: REGISTER_ID = REGISTER_ID(102i32);
1612 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1613 pub const ARM64_RegisterQ1: REGISTER_ID = REGISTER_ID(103i32);
1614 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1615 pub const ARM64_RegisterQ2: REGISTER_ID = REGISTER_ID(104i32);
1616 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1617 pub const ARM64_RegisterQ3: REGISTER_ID = REGISTER_ID(105i32);
1618 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1619 pub const ARM64_RegisterQ4: REGISTER_ID = REGISTER_ID(106i32);
1620 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1621 pub const ARM64_RegisterQ5: REGISTER_ID = REGISTER_ID(107i32);
1622 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1623 pub const ARM64_RegisterQ6: REGISTER_ID = REGISTER_ID(108i32);
1624 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1625 pub const ARM64_RegisterQ7: REGISTER_ID = REGISTER_ID(109i32);
1626 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1627 pub const ARM64_RegisterQ8: REGISTER_ID = REGISTER_ID(110i32);
1628 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1629 pub const ARM64_RegisterQ9: REGISTER_ID = REGISTER_ID(111i32);
1630 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1631 pub const ARM64_RegisterQ10: REGISTER_ID = REGISTER_ID(112i32);
1632 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1633 pub const ARM64_RegisterQ11: REGISTER_ID = REGISTER_ID(113i32);
1634 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1635 pub const ARM64_RegisterQ12: REGISTER_ID = REGISTER_ID(114i32);
1636 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1637 pub const ARM64_RegisterQ13: REGISTER_ID = REGISTER_ID(115i32);
1638 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1639 pub const ARM64_RegisterQ14: REGISTER_ID = REGISTER_ID(116i32);
1640 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1641 pub const ARM64_RegisterQ15: REGISTER_ID = REGISTER_ID(117i32);
1642 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1643 pub const ARM64_RegisterQ16: REGISTER_ID = REGISTER_ID(118i32);
1644 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1645 pub const ARM64_RegisterQ17: REGISTER_ID = REGISTER_ID(119i32);
1646 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1647 pub const ARM64_RegisterQ18: REGISTER_ID = REGISTER_ID(120i32);
1648 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1649 pub const ARM64_RegisterQ19: REGISTER_ID = REGISTER_ID(121i32);
1650 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1651 pub const ARM64_RegisterQ20: REGISTER_ID = REGISTER_ID(122i32);
1652 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1653 pub const ARM64_RegisterQ21: REGISTER_ID = REGISTER_ID(123i32);
1654 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1655 pub const ARM64_RegisterQ22: REGISTER_ID = REGISTER_ID(124i32);
1656 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1657 pub const ARM64_RegisterQ23: REGISTER_ID = REGISTER_ID(125i32);
1658 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1659 pub const ARM64_RegisterQ24: REGISTER_ID = REGISTER_ID(126i32);
1660 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1661 pub const ARM64_RegisterQ25: REGISTER_ID = REGISTER_ID(127i32);
1662 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1663 pub const ARM64_RegisterQ26: REGISTER_ID = REGISTER_ID(128i32);
1664 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1665 pub const ARM64_RegisterQ27: REGISTER_ID = REGISTER_ID(129i32);
1666 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1667 pub const ARM64_RegisterQ28: REGISTER_ID = REGISTER_ID(130i32);
1668 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1669 pub const ARM64_RegisterQ29: REGISTER_ID = REGISTER_ID(131i32);
1670 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1671 pub const ARM64_RegisterQ30: REGISTER_ID = REGISTER_ID(132i32);
1672 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1673 pub const ARM64_RegisterQ31: REGISTER_ID = REGISTER_ID(133i32);
1674 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1675 pub const ARM64_RegisterFpStatus: REGISTER_ID = REGISTER_ID(134i32);
1676 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1677 pub const ARM64_RegisterFpControl: REGISTER_ID = REGISTER_ID(135i32);
1678 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1679 pub const ARM64_RegisterEsrEl1: REGISTER_ID = REGISTER_ID(136i32);
1680 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1681 pub const ARM64_RegisterSpsrEl1: REGISTER_ID = REGISTER_ID(137i32);
1682 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1683 pub const ARM64_RegisterFarEl1: REGISTER_ID = REGISTER_ID(138i32);
1684 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1685 pub const ARM64_RegisterParEl1: REGISTER_ID = REGISTER_ID(139i32);
1686 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1687 pub const ARM64_RegisterElrEl1: REGISTER_ID = REGISTER_ID(140i32);
1688 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1689 pub const ARM64_RegisterTtbr0El1: REGISTER_ID = REGISTER_ID(141i32);
1690 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1691 pub const ARM64_RegisterTtbr1El1: REGISTER_ID = REGISTER_ID(142i32);
1692 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1693 pub const ARM64_RegisterVbarEl1: REGISTER_ID = REGISTER_ID(143i32);
1694 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1695 pub const ARM64_RegisterSctlrEl1: REGISTER_ID = REGISTER_ID(144i32);
1696 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1697 pub const ARM64_RegisterActlrEl1: REGISTER_ID = REGISTER_ID(145i32);
1698 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1699 pub const ARM64_RegisterTcrEl1: REGISTER_ID = REGISTER_ID(146i32);
1700 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1701 pub const ARM64_RegisterMairEl1: REGISTER_ID = REGISTER_ID(147i32);
1702 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1703 pub const ARM64_RegisterAmairEl1: REGISTER_ID = REGISTER_ID(148i32);
1704 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1705 pub const ARM64_RegisterTpidrEl0: REGISTER_ID = REGISTER_ID(149i32);
1706 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1707 pub const ARM64_RegisterTpidrroEl0: REGISTER_ID = REGISTER_ID(150i32);
1708 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1709 pub const ARM64_RegisterTpidrEl1: REGISTER_ID = REGISTER_ID(151i32);
1710 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1711 pub const ARM64_RegisterContextIdrEl1: REGISTER_ID = REGISTER_ID(152i32);
1712 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1713 pub const ARM64_RegisterCpacrEl1: REGISTER_ID = REGISTER_ID(153i32);
1714 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1715 pub const ARM64_RegisterCsselrEl1: REGISTER_ID = REGISTER_ID(154i32);
1716 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1717 pub const ARM64_RegisterCntkctlEl1: REGISTER_ID = REGISTER_ID(155i32);
1718 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1719 pub const ARM64_RegisterCntvCvalEl0: REGISTER_ID = REGISTER_ID(156i32);
1720 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1721 pub const ARM64_RegisterCntvCtlEl0: REGISTER_ID = REGISTER_ID(157i32);
1722 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1723 pub const ARM64_RegisterMax: REGISTER_ID = REGISTER_ID(158i32);
1724 impl ::core::marker::Copy for REGISTER_ID {}
1725 impl ::core::clone::Clone for REGISTER_ID {
1726 fn clone(&self) -> Self {
1727 *self
1728 }
1729 }
1730 impl ::core::default::Default for REGISTER_ID {
1731 fn default() -> Self {
1732 Self(0)
1733 }
1734 }
1735 impl ::windows::core::TypeKind for REGISTER_ID {
1736 type TypeKind = ::windows::core::CopyType;
1737 }
1738 impl ::core::fmt::Debug for REGISTER_ID {
1739 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1740 f.debug_tuple("REGISTER_ID").field(&self.0).finish()
1741 }
1742 }
1743 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1744 #[repr(transparent)]
1745 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
1746 pub struct VIRTUAL_PROCESSOR_ARCH(pub i32);
1747 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1748 pub const Arch_Unknown: VIRTUAL_PROCESSOR_ARCH = VIRTUAL_PROCESSOR_ARCH(0i32);
1749 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1750 pub const Arch_x86: VIRTUAL_PROCESSOR_ARCH = VIRTUAL_PROCESSOR_ARCH(1i32);
1751 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1752 pub const Arch_x64: VIRTUAL_PROCESSOR_ARCH = VIRTUAL_PROCESSOR_ARCH(2i32);
1753 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1754 pub const Arch_Armv8: VIRTUAL_PROCESSOR_ARCH = VIRTUAL_PROCESSOR_ARCH(3i32);
1755 impl ::core::marker::Copy for VIRTUAL_PROCESSOR_ARCH {}
1756 impl ::core::clone::Clone for VIRTUAL_PROCESSOR_ARCH {
1757 fn clone(&self) -> Self {
1758 *self
1759 }
1760 }
1761 impl ::core::default::Default for VIRTUAL_PROCESSOR_ARCH {
1762 fn default() -> Self {
1763 Self(0)
1764 }
1765 }
1766 impl ::windows::core::TypeKind for VIRTUAL_PROCESSOR_ARCH {
1767 type TypeKind = ::windows::core::CopyType;
1768 }
1769 impl ::core::fmt::Debug for VIRTUAL_PROCESSOR_ARCH {
1770 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1771 f.debug_tuple("VIRTUAL_PROCESSOR_ARCH").field(&self.0).finish()
1772 }
1773 }
1774 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1775 #[repr(transparent)]
1776 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
1777 pub struct VIRTUAL_PROCESSOR_VENDOR(pub i32);
1778 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1779 pub const ProcessorVendor_Unknown: VIRTUAL_PROCESSOR_VENDOR = VIRTUAL_PROCESSOR_VENDOR(0i32);
1780 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1781 pub const ProcessorVendor_Amd: VIRTUAL_PROCESSOR_VENDOR = VIRTUAL_PROCESSOR_VENDOR(1i32);
1782 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1783 pub const ProcessorVendor_Intel: VIRTUAL_PROCESSOR_VENDOR = VIRTUAL_PROCESSOR_VENDOR(2i32);
1784 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1785 pub const ProcessorVendor_Hygon: VIRTUAL_PROCESSOR_VENDOR = VIRTUAL_PROCESSOR_VENDOR(3i32);
1786 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1787 pub const ProcessorVendor_Arm: VIRTUAL_PROCESSOR_VENDOR = VIRTUAL_PROCESSOR_VENDOR(4i32);
1788 impl ::core::marker::Copy for VIRTUAL_PROCESSOR_VENDOR {}
1789 impl ::core::clone::Clone for VIRTUAL_PROCESSOR_VENDOR {
1790 fn clone(&self) -> Self {
1791 *self
1792 }
1793 }
1794 impl ::core::default::Default for VIRTUAL_PROCESSOR_VENDOR {
1795 fn default() -> Self {
1796 Self(0)
1797 }
1798 }
1799 impl ::windows::core::TypeKind for VIRTUAL_PROCESSOR_VENDOR {
1800 type TypeKind = ::windows::core::CopyType;
1801 }
1802 impl ::core::fmt::Debug for VIRTUAL_PROCESSOR_VENDOR {
1803 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1804 f.debug_tuple("VIRTUAL_PROCESSOR_VENDOR").field(&self.0).finish()
1805 }
1806 }
1807 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1808 #[repr(transparent)]
1809 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
1810 pub struct WHV_ADVISE_GPA_RANGE_CODE(pub i32);
1811 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1812 pub const WHvAdviseGpaRangeCodePopulate: WHV_ADVISE_GPA_RANGE_CODE = WHV_ADVISE_GPA_RANGE_CODE(0i32);
1813 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1814 pub const WHvAdviseGpaRangeCodePin: WHV_ADVISE_GPA_RANGE_CODE = WHV_ADVISE_GPA_RANGE_CODE(1i32);
1815 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1816 pub const WHvAdviseGpaRangeCodeUnpin: WHV_ADVISE_GPA_RANGE_CODE = WHV_ADVISE_GPA_RANGE_CODE(2i32);
1817 impl ::core::marker::Copy for WHV_ADVISE_GPA_RANGE_CODE {}
1818 impl ::core::clone::Clone for WHV_ADVISE_GPA_RANGE_CODE {
1819 fn clone(&self) -> Self {
1820 *self
1821 }
1822 }
1823 impl ::core::default::Default for WHV_ADVISE_GPA_RANGE_CODE {
1824 fn default() -> Self {
1825 Self(0)
1826 }
1827 }
1828 impl ::windows::core::TypeKind for WHV_ADVISE_GPA_RANGE_CODE {
1829 type TypeKind = ::windows::core::CopyType;
1830 }
1831 impl ::core::fmt::Debug for WHV_ADVISE_GPA_RANGE_CODE {
1832 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1833 f.debug_tuple("WHV_ADVISE_GPA_RANGE_CODE").field(&self.0).finish()
1834 }
1835 }
1836 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1837 #[repr(transparent)]
1838 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
1839 pub struct WHV_ALLOCATE_VPCI_RESOURCE_FLAGS(pub i32);
1840 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1841 pub const WHvAllocateVpciResourceFlagNone: WHV_ALLOCATE_VPCI_RESOURCE_FLAGS = WHV_ALLOCATE_VPCI_RESOURCE_FLAGS(0i32);
1842 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1843 pub const WHvAllocateVpciResourceFlagAllowDirectP2P: WHV_ALLOCATE_VPCI_RESOURCE_FLAGS = WHV_ALLOCATE_VPCI_RESOURCE_FLAGS(1i32);
1844 impl ::core::marker::Copy for WHV_ALLOCATE_VPCI_RESOURCE_FLAGS {}
1845 impl ::core::clone::Clone for WHV_ALLOCATE_VPCI_RESOURCE_FLAGS {
1846 fn clone(&self) -> Self {
1847 *self
1848 }
1849 }
1850 impl ::core::default::Default for WHV_ALLOCATE_VPCI_RESOURCE_FLAGS {
1851 fn default() -> Self {
1852 Self(0)
1853 }
1854 }
1855 impl ::windows::core::TypeKind for WHV_ALLOCATE_VPCI_RESOURCE_FLAGS {
1856 type TypeKind = ::windows::core::CopyType;
1857 }
1858 impl ::core::fmt::Debug for WHV_ALLOCATE_VPCI_RESOURCE_FLAGS {
1859 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1860 f.debug_tuple("WHV_ALLOCATE_VPCI_RESOURCE_FLAGS").field(&self.0).finish()
1861 }
1862 }
1863 impl WHV_ALLOCATE_VPCI_RESOURCE_FLAGS {
1864 pub const fn contains(&self, other: Self) -> bool {
1865 self.0 & other.0 == other.0
1866 }
1867 }
1868 impl ::core::ops::BitOr for WHV_ALLOCATE_VPCI_RESOURCE_FLAGS {
1869 type Output = Self;
1870 fn bitor(self, other: Self) -> Self {
1871 Self(self.0 | other.0)
1872 }
1873 }
1874 impl ::core::ops::BitAnd for WHV_ALLOCATE_VPCI_RESOURCE_FLAGS {
1875 type Output = Self;
1876 fn bitand(self, other: Self) -> Self {
1877 Self(self.0 & other.0)
1878 }
1879 }
1880 impl ::core::ops::BitOrAssign for WHV_ALLOCATE_VPCI_RESOURCE_FLAGS {
1881 fn bitor_assign(&mut self, other: Self) {
1882 self.0.bitor_assign(other.0)
1883 }
1884 }
1885 impl ::core::ops::BitAndAssign for WHV_ALLOCATE_VPCI_RESOURCE_FLAGS {
1886 fn bitand_assign(&mut self, other: Self) {
1887 self.0.bitand_assign(other.0)
1888 }
1889 }
1890 impl ::core::ops::Not for WHV_ALLOCATE_VPCI_RESOURCE_FLAGS {
1891 type Output = Self;
1892 fn not(self) -> Self {
1893 Self(self.0.not())
1894 }
1895 }
1896 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1897 #[repr(transparent)]
1898 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
1899 pub struct WHV_CACHE_TYPE(pub i32);
1900 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1901 pub const WHvCacheTypeUncached: WHV_CACHE_TYPE = WHV_CACHE_TYPE(0i32);
1902 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1903 pub const WHvCacheTypeWriteCombining: WHV_CACHE_TYPE = WHV_CACHE_TYPE(1i32);
1904 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1905 pub const WHvCacheTypeWriteThrough: WHV_CACHE_TYPE = WHV_CACHE_TYPE(4i32);
1906 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1907 pub const WHvCacheTypeWriteBack: WHV_CACHE_TYPE = WHV_CACHE_TYPE(6i32);
1908 impl ::core::marker::Copy for WHV_CACHE_TYPE {}
1909 impl ::core::clone::Clone for WHV_CACHE_TYPE {
1910 fn clone(&self) -> Self {
1911 *self
1912 }
1913 }
1914 impl ::core::default::Default for WHV_CACHE_TYPE {
1915 fn default() -> Self {
1916 Self(0)
1917 }
1918 }
1919 impl ::windows::core::TypeKind for WHV_CACHE_TYPE {
1920 type TypeKind = ::windows::core::CopyType;
1921 }
1922 impl ::core::fmt::Debug for WHV_CACHE_TYPE {
1923 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1924 f.debug_tuple("WHV_CACHE_TYPE").field(&self.0).finish()
1925 }
1926 }
1927 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1928 #[repr(transparent)]
1929 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
1930 pub struct WHV_CAPABILITY_CODE(pub i32);
1931 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1932 pub const WHvCapabilityCodeHypervisorPresent: WHV_CAPABILITY_CODE = WHV_CAPABILITY_CODE(0i32);
1933 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1934 pub const WHvCapabilityCodeFeatures: WHV_CAPABILITY_CODE = WHV_CAPABILITY_CODE(1i32);
1935 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1936 pub const WHvCapabilityCodeExtendedVmExits: WHV_CAPABILITY_CODE = WHV_CAPABILITY_CODE(2i32);
1937 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1938 pub const WHvCapabilityCodeExceptionExitBitmap: WHV_CAPABILITY_CODE = WHV_CAPABILITY_CODE(3i32);
1939 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1940 pub const WHvCapabilityCodeX64MsrExitBitmap: WHV_CAPABILITY_CODE = WHV_CAPABILITY_CODE(4i32);
1941 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1942 pub const WHvCapabilityCodeGpaRangePopulateFlags: WHV_CAPABILITY_CODE = WHV_CAPABILITY_CODE(5i32);
1943 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1944 pub const WHvCapabilityCodeSchedulerFeatures: WHV_CAPABILITY_CODE = WHV_CAPABILITY_CODE(6i32);
1945 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1946 pub const WHvCapabilityCodeProcessorVendor: WHV_CAPABILITY_CODE = WHV_CAPABILITY_CODE(4096i32);
1947 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1948 pub const WHvCapabilityCodeProcessorFeatures: WHV_CAPABILITY_CODE = WHV_CAPABILITY_CODE(4097i32);
1949 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1950 pub const WHvCapabilityCodeProcessorClFlushSize: WHV_CAPABILITY_CODE = WHV_CAPABILITY_CODE(4098i32);
1951 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1952 pub const WHvCapabilityCodeProcessorXsaveFeatures: WHV_CAPABILITY_CODE = WHV_CAPABILITY_CODE(4099i32);
1953 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1954 pub const WHvCapabilityCodeProcessorClockFrequency: WHV_CAPABILITY_CODE = WHV_CAPABILITY_CODE(4100i32);
1955 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1956 pub const WHvCapabilityCodeInterruptClockFrequency: WHV_CAPABILITY_CODE = WHV_CAPABILITY_CODE(4101i32);
1957 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1958 pub const WHvCapabilityCodeProcessorFeaturesBanks: WHV_CAPABILITY_CODE = WHV_CAPABILITY_CODE(4102i32);
1959 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1960 pub const WHvCapabilityCodeProcessorFrequencyCap: WHV_CAPABILITY_CODE = WHV_CAPABILITY_CODE(4103i32);
1961 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1962 pub const WHvCapabilityCodeSyntheticProcessorFeaturesBanks: WHV_CAPABILITY_CODE = WHV_CAPABILITY_CODE(4104i32);
1963 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1964 pub const WHvCapabilityCodeProcessorPerfmonFeatures: WHV_CAPABILITY_CODE = WHV_CAPABILITY_CODE(4105i32);
1965 impl ::core::marker::Copy for WHV_CAPABILITY_CODE {}
1966 impl ::core::clone::Clone for WHV_CAPABILITY_CODE {
1967 fn clone(&self) -> Self {
1968 *self
1969 }
1970 }
1971 impl ::core::default::Default for WHV_CAPABILITY_CODE {
1972 fn default() -> Self {
1973 Self(0)
1974 }
1975 }
1976 impl ::windows::core::TypeKind for WHV_CAPABILITY_CODE {
1977 type TypeKind = ::windows::core::CopyType;
1978 }
1979 impl ::core::fmt::Debug for WHV_CAPABILITY_CODE {
1980 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1981 f.debug_tuple("WHV_CAPABILITY_CODE").field(&self.0).finish()
1982 }
1983 }
1984 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1985 #[repr(transparent)]
1986 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
1987 pub struct WHV_CREATE_VPCI_DEVICE_FLAGS(pub i32);
1988 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1989 pub const WHvCreateVpciDeviceFlagNone: WHV_CREATE_VPCI_DEVICE_FLAGS = WHV_CREATE_VPCI_DEVICE_FLAGS(0i32);
1990 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1991 pub const WHvCreateVpciDeviceFlagPhysicallyBacked: WHV_CREATE_VPCI_DEVICE_FLAGS = WHV_CREATE_VPCI_DEVICE_FLAGS(1i32);
1992 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
1993 pub const WHvCreateVpciDeviceFlagUseLogicalInterrupts: WHV_CREATE_VPCI_DEVICE_FLAGS = WHV_CREATE_VPCI_DEVICE_FLAGS(2i32);
1994 impl ::core::marker::Copy for WHV_CREATE_VPCI_DEVICE_FLAGS {}
1995 impl ::core::clone::Clone for WHV_CREATE_VPCI_DEVICE_FLAGS {
1996 fn clone(&self) -> Self {
1997 *self
1998 }
1999 }
2000 impl ::core::default::Default for WHV_CREATE_VPCI_DEVICE_FLAGS {
2001 fn default() -> Self {
2002 Self(0)
2003 }
2004 }
2005 impl ::windows::core::TypeKind for WHV_CREATE_VPCI_DEVICE_FLAGS {
2006 type TypeKind = ::windows::core::CopyType;
2007 }
2008 impl ::core::fmt::Debug for WHV_CREATE_VPCI_DEVICE_FLAGS {
2009 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2010 f.debug_tuple("WHV_CREATE_VPCI_DEVICE_FLAGS").field(&self.0).finish()
2011 }
2012 }
2013 impl WHV_CREATE_VPCI_DEVICE_FLAGS {
2014 pub const fn contains(&self, other: Self) -> bool {
2015 self.0 & other.0 == other.0
2016 }
2017 }
2018 impl ::core::ops::BitOr for WHV_CREATE_VPCI_DEVICE_FLAGS {
2019 type Output = Self;
2020 fn bitor(self, other: Self) -> Self {
2021 Self(self.0 | other.0)
2022 }
2023 }
2024 impl ::core::ops::BitAnd for WHV_CREATE_VPCI_DEVICE_FLAGS {
2025 type Output = Self;
2026 fn bitand(self, other: Self) -> Self {
2027 Self(self.0 & other.0)
2028 }
2029 }
2030 impl ::core::ops::BitOrAssign for WHV_CREATE_VPCI_DEVICE_FLAGS {
2031 fn bitor_assign(&mut self, other: Self) {
2032 self.0.bitor_assign(other.0)
2033 }
2034 }
2035 impl ::core::ops::BitAndAssign for WHV_CREATE_VPCI_DEVICE_FLAGS {
2036 fn bitand_assign(&mut self, other: Self) {
2037 self.0.bitand_assign(other.0)
2038 }
2039 }
2040 impl ::core::ops::Not for WHV_CREATE_VPCI_DEVICE_FLAGS {
2041 type Output = Self;
2042 fn not(self) -> Self {
2043 Self(self.0.not())
2044 }
2045 }
2046 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2047 #[repr(transparent)]
2048 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2049 pub struct WHV_EXCEPTION_TYPE(pub i32);
2050 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2051 pub const WHvX64ExceptionTypeDivideErrorFault: WHV_EXCEPTION_TYPE = WHV_EXCEPTION_TYPE(0i32);
2052 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2053 pub const WHvX64ExceptionTypeDebugTrapOrFault: WHV_EXCEPTION_TYPE = WHV_EXCEPTION_TYPE(1i32);
2054 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2055 pub const WHvX64ExceptionTypeBreakpointTrap: WHV_EXCEPTION_TYPE = WHV_EXCEPTION_TYPE(3i32);
2056 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2057 pub const WHvX64ExceptionTypeOverflowTrap: WHV_EXCEPTION_TYPE = WHV_EXCEPTION_TYPE(4i32);
2058 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2059 pub const WHvX64ExceptionTypeBoundRangeFault: WHV_EXCEPTION_TYPE = WHV_EXCEPTION_TYPE(5i32);
2060 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2061 pub const WHvX64ExceptionTypeInvalidOpcodeFault: WHV_EXCEPTION_TYPE = WHV_EXCEPTION_TYPE(6i32);
2062 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2063 pub const WHvX64ExceptionTypeDeviceNotAvailableFault: WHV_EXCEPTION_TYPE = WHV_EXCEPTION_TYPE(7i32);
2064 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2065 pub const WHvX64ExceptionTypeDoubleFaultAbort: WHV_EXCEPTION_TYPE = WHV_EXCEPTION_TYPE(8i32);
2066 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2067 pub const WHvX64ExceptionTypeInvalidTaskStateSegmentFault: WHV_EXCEPTION_TYPE = WHV_EXCEPTION_TYPE(10i32);
2068 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2069 pub const WHvX64ExceptionTypeSegmentNotPresentFault: WHV_EXCEPTION_TYPE = WHV_EXCEPTION_TYPE(11i32);
2070 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2071 pub const WHvX64ExceptionTypeStackFault: WHV_EXCEPTION_TYPE = WHV_EXCEPTION_TYPE(12i32);
2072 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2073 pub const WHvX64ExceptionTypeGeneralProtectionFault: WHV_EXCEPTION_TYPE = WHV_EXCEPTION_TYPE(13i32);
2074 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2075 pub const WHvX64ExceptionTypePageFault: WHV_EXCEPTION_TYPE = WHV_EXCEPTION_TYPE(14i32);
2076 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2077 pub const WHvX64ExceptionTypeFloatingPointErrorFault: WHV_EXCEPTION_TYPE = WHV_EXCEPTION_TYPE(16i32);
2078 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2079 pub const WHvX64ExceptionTypeAlignmentCheckFault: WHV_EXCEPTION_TYPE = WHV_EXCEPTION_TYPE(17i32);
2080 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2081 pub const WHvX64ExceptionTypeMachineCheckAbort: WHV_EXCEPTION_TYPE = WHV_EXCEPTION_TYPE(18i32);
2082 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2083 pub const WHvX64ExceptionTypeSimdFloatingPointFault: WHV_EXCEPTION_TYPE = WHV_EXCEPTION_TYPE(19i32);
2084 impl ::core::marker::Copy for WHV_EXCEPTION_TYPE {}
2085 impl ::core::clone::Clone for WHV_EXCEPTION_TYPE {
2086 fn clone(&self) -> Self {
2087 *self
2088 }
2089 }
2090 impl ::core::default::Default for WHV_EXCEPTION_TYPE {
2091 fn default() -> Self {
2092 Self(0)
2093 }
2094 }
2095 impl ::windows::core::TypeKind for WHV_EXCEPTION_TYPE {
2096 type TypeKind = ::windows::core::CopyType;
2097 }
2098 impl ::core::fmt::Debug for WHV_EXCEPTION_TYPE {
2099 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2100 f.debug_tuple("WHV_EXCEPTION_TYPE").field(&self.0).finish()
2101 }
2102 }
2103 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2104 #[repr(transparent)]
2105 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2106 pub struct WHV_INTERRUPT_DESTINATION_MODE(pub i32);
2107 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2108 pub const WHvX64InterruptDestinationModePhysical: WHV_INTERRUPT_DESTINATION_MODE = WHV_INTERRUPT_DESTINATION_MODE(0i32);
2109 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2110 pub const WHvX64InterruptDestinationModeLogical: WHV_INTERRUPT_DESTINATION_MODE = WHV_INTERRUPT_DESTINATION_MODE(1i32);
2111 impl ::core::marker::Copy for WHV_INTERRUPT_DESTINATION_MODE {}
2112 impl ::core::clone::Clone for WHV_INTERRUPT_DESTINATION_MODE {
2113 fn clone(&self) -> Self {
2114 *self
2115 }
2116 }
2117 impl ::core::default::Default for WHV_INTERRUPT_DESTINATION_MODE {
2118 fn default() -> Self {
2119 Self(0)
2120 }
2121 }
2122 impl ::windows::core::TypeKind for WHV_INTERRUPT_DESTINATION_MODE {
2123 type TypeKind = ::windows::core::CopyType;
2124 }
2125 impl ::core::fmt::Debug for WHV_INTERRUPT_DESTINATION_MODE {
2126 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2127 f.debug_tuple("WHV_INTERRUPT_DESTINATION_MODE").field(&self.0).finish()
2128 }
2129 }
2130 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2131 #[repr(transparent)]
2132 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2133 pub struct WHV_INTERRUPT_TRIGGER_MODE(pub i32);
2134 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2135 pub const WHvX64InterruptTriggerModeEdge: WHV_INTERRUPT_TRIGGER_MODE = WHV_INTERRUPT_TRIGGER_MODE(0i32);
2136 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2137 pub const WHvX64InterruptTriggerModeLevel: WHV_INTERRUPT_TRIGGER_MODE = WHV_INTERRUPT_TRIGGER_MODE(1i32);
2138 impl ::core::marker::Copy for WHV_INTERRUPT_TRIGGER_MODE {}
2139 impl ::core::clone::Clone for WHV_INTERRUPT_TRIGGER_MODE {
2140 fn clone(&self) -> Self {
2141 *self
2142 }
2143 }
2144 impl ::core::default::Default for WHV_INTERRUPT_TRIGGER_MODE {
2145 fn default() -> Self {
2146 Self(0)
2147 }
2148 }
2149 impl ::windows::core::TypeKind for WHV_INTERRUPT_TRIGGER_MODE {
2150 type TypeKind = ::windows::core::CopyType;
2151 }
2152 impl ::core::fmt::Debug for WHV_INTERRUPT_TRIGGER_MODE {
2153 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2154 f.debug_tuple("WHV_INTERRUPT_TRIGGER_MODE").field(&self.0).finish()
2155 }
2156 }
2157 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2158 #[repr(transparent)]
2159 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2160 pub struct WHV_INTERRUPT_TYPE(pub i32);
2161 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2162 pub const WHvX64InterruptTypeFixed: WHV_INTERRUPT_TYPE = WHV_INTERRUPT_TYPE(0i32);
2163 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2164 pub const WHvX64InterruptTypeLowestPriority: WHV_INTERRUPT_TYPE = WHV_INTERRUPT_TYPE(1i32);
2165 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2166 pub const WHvX64InterruptTypeNmi: WHV_INTERRUPT_TYPE = WHV_INTERRUPT_TYPE(4i32);
2167 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2168 pub const WHvX64InterruptTypeInit: WHV_INTERRUPT_TYPE = WHV_INTERRUPT_TYPE(5i32);
2169 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2170 pub const WHvX64InterruptTypeSipi: WHV_INTERRUPT_TYPE = WHV_INTERRUPT_TYPE(6i32);
2171 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2172 pub const WHvX64InterruptTypeLocalInt1: WHV_INTERRUPT_TYPE = WHV_INTERRUPT_TYPE(9i32);
2173 impl ::core::marker::Copy for WHV_INTERRUPT_TYPE {}
2174 impl ::core::clone::Clone for WHV_INTERRUPT_TYPE {
2175 fn clone(&self) -> Self {
2176 *self
2177 }
2178 }
2179 impl ::core::default::Default for WHV_INTERRUPT_TYPE {
2180 fn default() -> Self {
2181 Self(0)
2182 }
2183 }
2184 impl ::windows::core::TypeKind for WHV_INTERRUPT_TYPE {
2185 type TypeKind = ::windows::core::CopyType;
2186 }
2187 impl ::core::fmt::Debug for WHV_INTERRUPT_TYPE {
2188 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2189 f.debug_tuple("WHV_INTERRUPT_TYPE").field(&self.0).finish()
2190 }
2191 }
2192 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2193 #[repr(transparent)]
2194 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2195 pub struct WHV_MAP_GPA_RANGE_FLAGS(pub i32);
2196 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2197 pub const WHvMapGpaRangeFlagNone: WHV_MAP_GPA_RANGE_FLAGS = WHV_MAP_GPA_RANGE_FLAGS(0i32);
2198 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2199 pub const WHvMapGpaRangeFlagRead: WHV_MAP_GPA_RANGE_FLAGS = WHV_MAP_GPA_RANGE_FLAGS(1i32);
2200 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2201 pub const WHvMapGpaRangeFlagWrite: WHV_MAP_GPA_RANGE_FLAGS = WHV_MAP_GPA_RANGE_FLAGS(2i32);
2202 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2203 pub const WHvMapGpaRangeFlagExecute: WHV_MAP_GPA_RANGE_FLAGS = WHV_MAP_GPA_RANGE_FLAGS(4i32);
2204 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2205 pub const WHvMapGpaRangeFlagTrackDirtyPages: WHV_MAP_GPA_RANGE_FLAGS = WHV_MAP_GPA_RANGE_FLAGS(8i32);
2206 impl ::core::marker::Copy for WHV_MAP_GPA_RANGE_FLAGS {}
2207 impl ::core::clone::Clone for WHV_MAP_GPA_RANGE_FLAGS {
2208 fn clone(&self) -> Self {
2209 *self
2210 }
2211 }
2212 impl ::core::default::Default for WHV_MAP_GPA_RANGE_FLAGS {
2213 fn default() -> Self {
2214 Self(0)
2215 }
2216 }
2217 impl ::windows::core::TypeKind for WHV_MAP_GPA_RANGE_FLAGS {
2218 type TypeKind = ::windows::core::CopyType;
2219 }
2220 impl ::core::fmt::Debug for WHV_MAP_GPA_RANGE_FLAGS {
2221 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2222 f.debug_tuple("WHV_MAP_GPA_RANGE_FLAGS").field(&self.0).finish()
2223 }
2224 }
2225 impl WHV_MAP_GPA_RANGE_FLAGS {
2226 pub const fn contains(&self, other: Self) -> bool {
2227 self.0 & other.0 == other.0
2228 }
2229 }
2230 impl ::core::ops::BitOr for WHV_MAP_GPA_RANGE_FLAGS {
2231 type Output = Self;
2232 fn bitor(self, other: Self) -> Self {
2233 Self(self.0 | other.0)
2234 }
2235 }
2236 impl ::core::ops::BitAnd for WHV_MAP_GPA_RANGE_FLAGS {
2237 type Output = Self;
2238 fn bitand(self, other: Self) -> Self {
2239 Self(self.0 & other.0)
2240 }
2241 }
2242 impl ::core::ops::BitOrAssign for WHV_MAP_GPA_RANGE_FLAGS {
2243 fn bitor_assign(&mut self, other: Self) {
2244 self.0.bitor_assign(other.0)
2245 }
2246 }
2247 impl ::core::ops::BitAndAssign for WHV_MAP_GPA_RANGE_FLAGS {
2248 fn bitand_assign(&mut self, other: Self) {
2249 self.0.bitand_assign(other.0)
2250 }
2251 }
2252 impl ::core::ops::Not for WHV_MAP_GPA_RANGE_FLAGS {
2253 type Output = Self;
2254 fn not(self) -> Self {
2255 Self(self.0.not())
2256 }
2257 }
2258 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2259 #[repr(transparent)]
2260 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2261 pub struct WHV_MEMORY_ACCESS_TYPE(pub i32);
2262 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2263 pub const WHvMemoryAccessRead: WHV_MEMORY_ACCESS_TYPE = WHV_MEMORY_ACCESS_TYPE(0i32);
2264 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2265 pub const WHvMemoryAccessWrite: WHV_MEMORY_ACCESS_TYPE = WHV_MEMORY_ACCESS_TYPE(1i32);
2266 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2267 pub const WHvMemoryAccessExecute: WHV_MEMORY_ACCESS_TYPE = WHV_MEMORY_ACCESS_TYPE(2i32);
2268 impl ::core::marker::Copy for WHV_MEMORY_ACCESS_TYPE {}
2269 impl ::core::clone::Clone for WHV_MEMORY_ACCESS_TYPE {
2270 fn clone(&self) -> Self {
2271 *self
2272 }
2273 }
2274 impl ::core::default::Default for WHV_MEMORY_ACCESS_TYPE {
2275 fn default() -> Self {
2276 Self(0)
2277 }
2278 }
2279 impl ::windows::core::TypeKind for WHV_MEMORY_ACCESS_TYPE {
2280 type TypeKind = ::windows::core::CopyType;
2281 }
2282 impl ::core::fmt::Debug for WHV_MEMORY_ACCESS_TYPE {
2283 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2284 f.debug_tuple("WHV_MEMORY_ACCESS_TYPE").field(&self.0).finish()
2285 }
2286 }
2287 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2288 #[repr(transparent)]
2289 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2290 pub struct WHV_MSR_ACTION(pub i32);
2291 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2292 pub const WHvMsrActionArchitectureDefault: WHV_MSR_ACTION = WHV_MSR_ACTION(0i32);
2293 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2294 pub const WHvMsrActionIgnoreWriteReadZero: WHV_MSR_ACTION = WHV_MSR_ACTION(1i32);
2295 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2296 pub const WHvMsrActionExit: WHV_MSR_ACTION = WHV_MSR_ACTION(2i32);
2297 impl ::core::marker::Copy for WHV_MSR_ACTION {}
2298 impl ::core::clone::Clone for WHV_MSR_ACTION {
2299 fn clone(&self) -> Self {
2300 *self
2301 }
2302 }
2303 impl ::core::default::Default for WHV_MSR_ACTION {
2304 fn default() -> Self {
2305 Self(0)
2306 }
2307 }
2308 impl ::windows::core::TypeKind for WHV_MSR_ACTION {
2309 type TypeKind = ::windows::core::CopyType;
2310 }
2311 impl ::core::fmt::Debug for WHV_MSR_ACTION {
2312 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2313 f.debug_tuple("WHV_MSR_ACTION").field(&self.0).finish()
2314 }
2315 }
2316 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2317 #[repr(transparent)]
2318 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2319 pub struct WHV_NOTIFICATION_PORT_PROPERTY_CODE(pub i32);
2320 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2321 pub const WHvNotificationPortPropertyPreferredTargetVp: WHV_NOTIFICATION_PORT_PROPERTY_CODE = WHV_NOTIFICATION_PORT_PROPERTY_CODE(1i32);
2322 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2323 pub const WHvNotificationPortPropertyPreferredTargetDuration: WHV_NOTIFICATION_PORT_PROPERTY_CODE = WHV_NOTIFICATION_PORT_PROPERTY_CODE(5i32);
2324 impl ::core::marker::Copy for WHV_NOTIFICATION_PORT_PROPERTY_CODE {}
2325 impl ::core::clone::Clone for WHV_NOTIFICATION_PORT_PROPERTY_CODE {
2326 fn clone(&self) -> Self {
2327 *self
2328 }
2329 }
2330 impl ::core::default::Default for WHV_NOTIFICATION_PORT_PROPERTY_CODE {
2331 fn default() -> Self {
2332 Self(0)
2333 }
2334 }
2335 impl ::windows::core::TypeKind for WHV_NOTIFICATION_PORT_PROPERTY_CODE {
2336 type TypeKind = ::windows::core::CopyType;
2337 }
2338 impl ::core::fmt::Debug for WHV_NOTIFICATION_PORT_PROPERTY_CODE {
2339 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2340 f.debug_tuple("WHV_NOTIFICATION_PORT_PROPERTY_CODE").field(&self.0).finish()
2341 }
2342 }
2343 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2344 #[repr(transparent)]
2345 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2346 pub struct WHV_NOTIFICATION_PORT_TYPE(pub i32);
2347 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2348 pub const WHvNotificationPortTypeEvent: WHV_NOTIFICATION_PORT_TYPE = WHV_NOTIFICATION_PORT_TYPE(2i32);
2349 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2350 pub const WHvNotificationPortTypeDoorbell: WHV_NOTIFICATION_PORT_TYPE = WHV_NOTIFICATION_PORT_TYPE(4i32);
2351 impl ::core::marker::Copy for WHV_NOTIFICATION_PORT_TYPE {}
2352 impl ::core::clone::Clone for WHV_NOTIFICATION_PORT_TYPE {
2353 fn clone(&self) -> Self {
2354 *self
2355 }
2356 }
2357 impl ::core::default::Default for WHV_NOTIFICATION_PORT_TYPE {
2358 fn default() -> Self {
2359 Self(0)
2360 }
2361 }
2362 impl ::windows::core::TypeKind for WHV_NOTIFICATION_PORT_TYPE {
2363 type TypeKind = ::windows::core::CopyType;
2364 }
2365 impl ::core::fmt::Debug for WHV_NOTIFICATION_PORT_TYPE {
2366 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2367 f.debug_tuple("WHV_NOTIFICATION_PORT_TYPE").field(&self.0).finish()
2368 }
2369 }
2370 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2371 #[repr(transparent)]
2372 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2373 pub struct WHV_PARTITION_COUNTER_SET(pub i32);
2374 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2375 pub const WHvPartitionCounterSetMemory: WHV_PARTITION_COUNTER_SET = WHV_PARTITION_COUNTER_SET(0i32);
2376 impl ::core::marker::Copy for WHV_PARTITION_COUNTER_SET {}
2377 impl ::core::clone::Clone for WHV_PARTITION_COUNTER_SET {
2378 fn clone(&self) -> Self {
2379 *self
2380 }
2381 }
2382 impl ::core::default::Default for WHV_PARTITION_COUNTER_SET {
2383 fn default() -> Self {
2384 Self(0)
2385 }
2386 }
2387 impl ::windows::core::TypeKind for WHV_PARTITION_COUNTER_SET {
2388 type TypeKind = ::windows::core::CopyType;
2389 }
2390 impl ::core::fmt::Debug for WHV_PARTITION_COUNTER_SET {
2391 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2392 f.debug_tuple("WHV_PARTITION_COUNTER_SET").field(&self.0).finish()
2393 }
2394 }
2395 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2396 #[repr(transparent)]
2397 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2398 pub struct WHV_PARTITION_PROPERTY_CODE(pub i32);
2399 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2400 pub const WHvPartitionPropertyCodeExtendedVmExits: WHV_PARTITION_PROPERTY_CODE = WHV_PARTITION_PROPERTY_CODE(1i32);
2401 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2402 pub const WHvPartitionPropertyCodeExceptionExitBitmap: WHV_PARTITION_PROPERTY_CODE = WHV_PARTITION_PROPERTY_CODE(2i32);
2403 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2404 pub const WHvPartitionPropertyCodeSeparateSecurityDomain: WHV_PARTITION_PROPERTY_CODE = WHV_PARTITION_PROPERTY_CODE(3i32);
2405 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2406 pub const WHvPartitionPropertyCodeNestedVirtualization: WHV_PARTITION_PROPERTY_CODE = WHV_PARTITION_PROPERTY_CODE(4i32);
2407 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2408 pub const WHvPartitionPropertyCodeX64MsrExitBitmap: WHV_PARTITION_PROPERTY_CODE = WHV_PARTITION_PROPERTY_CODE(5i32);
2409 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2410 pub const WHvPartitionPropertyCodePrimaryNumaNode: WHV_PARTITION_PROPERTY_CODE = WHV_PARTITION_PROPERTY_CODE(6i32);
2411 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2412 pub const WHvPartitionPropertyCodeCpuReserve: WHV_PARTITION_PROPERTY_CODE = WHV_PARTITION_PROPERTY_CODE(7i32);
2413 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2414 pub const WHvPartitionPropertyCodeCpuCap: WHV_PARTITION_PROPERTY_CODE = WHV_PARTITION_PROPERTY_CODE(8i32);
2415 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2416 pub const WHvPartitionPropertyCodeCpuWeight: WHV_PARTITION_PROPERTY_CODE = WHV_PARTITION_PROPERTY_CODE(9i32);
2417 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2418 pub const WHvPartitionPropertyCodeCpuGroupId: WHV_PARTITION_PROPERTY_CODE = WHV_PARTITION_PROPERTY_CODE(10i32);
2419 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2420 pub const WHvPartitionPropertyCodeProcessorFrequencyCap: WHV_PARTITION_PROPERTY_CODE = WHV_PARTITION_PROPERTY_CODE(11i32);
2421 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2422 pub const WHvPartitionPropertyCodeAllowDeviceAssignment: WHV_PARTITION_PROPERTY_CODE = WHV_PARTITION_PROPERTY_CODE(12i32);
2423 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2424 pub const WHvPartitionPropertyCodeDisableSmt: WHV_PARTITION_PROPERTY_CODE = WHV_PARTITION_PROPERTY_CODE(13i32);
2425 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2426 pub const WHvPartitionPropertyCodeProcessorFeatures: WHV_PARTITION_PROPERTY_CODE = WHV_PARTITION_PROPERTY_CODE(4097i32);
2427 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2428 pub const WHvPartitionPropertyCodeProcessorClFlushSize: WHV_PARTITION_PROPERTY_CODE = WHV_PARTITION_PROPERTY_CODE(4098i32);
2429 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2430 pub const WHvPartitionPropertyCodeCpuidExitList: WHV_PARTITION_PROPERTY_CODE = WHV_PARTITION_PROPERTY_CODE(4099i32);
2431 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2432 pub const WHvPartitionPropertyCodeCpuidResultList: WHV_PARTITION_PROPERTY_CODE = WHV_PARTITION_PROPERTY_CODE(4100i32);
2433 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2434 pub const WHvPartitionPropertyCodeLocalApicEmulationMode: WHV_PARTITION_PROPERTY_CODE = WHV_PARTITION_PROPERTY_CODE(4101i32);
2435 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2436 pub const WHvPartitionPropertyCodeProcessorXsaveFeatures: WHV_PARTITION_PROPERTY_CODE = WHV_PARTITION_PROPERTY_CODE(4102i32);
2437 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2438 pub const WHvPartitionPropertyCodeProcessorClockFrequency: WHV_PARTITION_PROPERTY_CODE = WHV_PARTITION_PROPERTY_CODE(4103i32);
2439 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2440 pub const WHvPartitionPropertyCodeInterruptClockFrequency: WHV_PARTITION_PROPERTY_CODE = WHV_PARTITION_PROPERTY_CODE(4104i32);
2441 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2442 pub const WHvPartitionPropertyCodeApicRemoteReadSupport: WHV_PARTITION_PROPERTY_CODE = WHV_PARTITION_PROPERTY_CODE(4105i32);
2443 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2444 pub const WHvPartitionPropertyCodeProcessorFeaturesBanks: WHV_PARTITION_PROPERTY_CODE = WHV_PARTITION_PROPERTY_CODE(4106i32);
2445 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2446 pub const WHvPartitionPropertyCodeReferenceTime: WHV_PARTITION_PROPERTY_CODE = WHV_PARTITION_PROPERTY_CODE(4107i32);
2447 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2448 pub const WHvPartitionPropertyCodeSyntheticProcessorFeaturesBanks: WHV_PARTITION_PROPERTY_CODE = WHV_PARTITION_PROPERTY_CODE(4108i32);
2449 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2450 pub const WHvPartitionPropertyCodeCpuidResultList2: WHV_PARTITION_PROPERTY_CODE = WHV_PARTITION_PROPERTY_CODE(4109i32);
2451 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2452 pub const WHvPartitionPropertyCodeProcessorPerfmonFeatures: WHV_PARTITION_PROPERTY_CODE = WHV_PARTITION_PROPERTY_CODE(4110i32);
2453 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2454 pub const WHvPartitionPropertyCodeMsrActionList: WHV_PARTITION_PROPERTY_CODE = WHV_PARTITION_PROPERTY_CODE(4111i32);
2455 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2456 pub const WHvPartitionPropertyCodeUnimplementedMsrAction: WHV_PARTITION_PROPERTY_CODE = WHV_PARTITION_PROPERTY_CODE(4112i32);
2457 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2458 pub const WHvPartitionPropertyCodeProcessorCount: WHV_PARTITION_PROPERTY_CODE = WHV_PARTITION_PROPERTY_CODE(8191i32);
2459 impl ::core::marker::Copy for WHV_PARTITION_PROPERTY_CODE {}
2460 impl ::core::clone::Clone for WHV_PARTITION_PROPERTY_CODE {
2461 fn clone(&self) -> Self {
2462 *self
2463 }
2464 }
2465 impl ::core::default::Default for WHV_PARTITION_PROPERTY_CODE {
2466 fn default() -> Self {
2467 Self(0)
2468 }
2469 }
2470 impl ::windows::core::TypeKind for WHV_PARTITION_PROPERTY_CODE {
2471 type TypeKind = ::windows::core::CopyType;
2472 }
2473 impl ::core::fmt::Debug for WHV_PARTITION_PROPERTY_CODE {
2474 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2475 f.debug_tuple("WHV_PARTITION_PROPERTY_CODE").field(&self.0).finish()
2476 }
2477 }
2478 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2479 #[repr(transparent)]
2480 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2481 pub struct WHV_PROCESSOR_COUNTER_SET(pub i32);
2482 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2483 pub const WHvProcessorCounterSetRuntime: WHV_PROCESSOR_COUNTER_SET = WHV_PROCESSOR_COUNTER_SET(0i32);
2484 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2485 pub const WHvProcessorCounterSetIntercepts: WHV_PROCESSOR_COUNTER_SET = WHV_PROCESSOR_COUNTER_SET(1i32);
2486 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2487 pub const WHvProcessorCounterSetEvents: WHV_PROCESSOR_COUNTER_SET = WHV_PROCESSOR_COUNTER_SET(2i32);
2488 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2489 pub const WHvProcessorCounterSetApic: WHV_PROCESSOR_COUNTER_SET = WHV_PROCESSOR_COUNTER_SET(3i32);
2490 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2491 pub const WHvProcessorCounterSetSyntheticFeatures: WHV_PROCESSOR_COUNTER_SET = WHV_PROCESSOR_COUNTER_SET(4i32);
2492 impl ::core::marker::Copy for WHV_PROCESSOR_COUNTER_SET {}
2493 impl ::core::clone::Clone for WHV_PROCESSOR_COUNTER_SET {
2494 fn clone(&self) -> Self {
2495 *self
2496 }
2497 }
2498 impl ::core::default::Default for WHV_PROCESSOR_COUNTER_SET {
2499 fn default() -> Self {
2500 Self(0)
2501 }
2502 }
2503 impl ::windows::core::TypeKind for WHV_PROCESSOR_COUNTER_SET {
2504 type TypeKind = ::windows::core::CopyType;
2505 }
2506 impl ::core::fmt::Debug for WHV_PROCESSOR_COUNTER_SET {
2507 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2508 f.debug_tuple("WHV_PROCESSOR_COUNTER_SET").field(&self.0).finish()
2509 }
2510 }
2511 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2512 #[repr(transparent)]
2513 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2514 pub struct WHV_PROCESSOR_VENDOR(pub i32);
2515 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2516 pub const WHvProcessorVendorAmd: WHV_PROCESSOR_VENDOR = WHV_PROCESSOR_VENDOR(0i32);
2517 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2518 pub const WHvProcessorVendorIntel: WHV_PROCESSOR_VENDOR = WHV_PROCESSOR_VENDOR(1i32);
2519 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2520 pub const WHvProcessorVendorHygon: WHV_PROCESSOR_VENDOR = WHV_PROCESSOR_VENDOR(2i32);
2521 impl ::core::marker::Copy for WHV_PROCESSOR_VENDOR {}
2522 impl ::core::clone::Clone for WHV_PROCESSOR_VENDOR {
2523 fn clone(&self) -> Self {
2524 *self
2525 }
2526 }
2527 impl ::core::default::Default for WHV_PROCESSOR_VENDOR {
2528 fn default() -> Self {
2529 Self(0)
2530 }
2531 }
2532 impl ::windows::core::TypeKind for WHV_PROCESSOR_VENDOR {
2533 type TypeKind = ::windows::core::CopyType;
2534 }
2535 impl ::core::fmt::Debug for WHV_PROCESSOR_VENDOR {
2536 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2537 f.debug_tuple("WHV_PROCESSOR_VENDOR").field(&self.0).finish()
2538 }
2539 }
2540 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2541 #[repr(transparent)]
2542 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2543 pub struct WHV_REGISTER_NAME(pub i32);
2544 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2545 pub const WHvX64RegisterRax: WHV_REGISTER_NAME = WHV_REGISTER_NAME(0i32);
2546 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2547 pub const WHvX64RegisterRcx: WHV_REGISTER_NAME = WHV_REGISTER_NAME(1i32);
2548 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2549 pub const WHvX64RegisterRdx: WHV_REGISTER_NAME = WHV_REGISTER_NAME(2i32);
2550 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2551 pub const WHvX64RegisterRbx: WHV_REGISTER_NAME = WHV_REGISTER_NAME(3i32);
2552 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2553 pub const WHvX64RegisterRsp: WHV_REGISTER_NAME = WHV_REGISTER_NAME(4i32);
2554 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2555 pub const WHvX64RegisterRbp: WHV_REGISTER_NAME = WHV_REGISTER_NAME(5i32);
2556 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2557 pub const WHvX64RegisterRsi: WHV_REGISTER_NAME = WHV_REGISTER_NAME(6i32);
2558 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2559 pub const WHvX64RegisterRdi: WHV_REGISTER_NAME = WHV_REGISTER_NAME(7i32);
2560 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2561 pub const WHvX64RegisterR8: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8i32);
2562 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2563 pub const WHvX64RegisterR9: WHV_REGISTER_NAME = WHV_REGISTER_NAME(9i32);
2564 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2565 pub const WHvX64RegisterR10: WHV_REGISTER_NAME = WHV_REGISTER_NAME(10i32);
2566 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2567 pub const WHvX64RegisterR11: WHV_REGISTER_NAME = WHV_REGISTER_NAME(11i32);
2568 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2569 pub const WHvX64RegisterR12: WHV_REGISTER_NAME = WHV_REGISTER_NAME(12i32);
2570 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2571 pub const WHvX64RegisterR13: WHV_REGISTER_NAME = WHV_REGISTER_NAME(13i32);
2572 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2573 pub const WHvX64RegisterR14: WHV_REGISTER_NAME = WHV_REGISTER_NAME(14i32);
2574 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2575 pub const WHvX64RegisterR15: WHV_REGISTER_NAME = WHV_REGISTER_NAME(15i32);
2576 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2577 pub const WHvX64RegisterRip: WHV_REGISTER_NAME = WHV_REGISTER_NAME(16i32);
2578 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2579 pub const WHvX64RegisterRflags: WHV_REGISTER_NAME = WHV_REGISTER_NAME(17i32);
2580 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2581 pub const WHvX64RegisterEs: WHV_REGISTER_NAME = WHV_REGISTER_NAME(18i32);
2582 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2583 pub const WHvX64RegisterCs: WHV_REGISTER_NAME = WHV_REGISTER_NAME(19i32);
2584 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2585 pub const WHvX64RegisterSs: WHV_REGISTER_NAME = WHV_REGISTER_NAME(20i32);
2586 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2587 pub const WHvX64RegisterDs: WHV_REGISTER_NAME = WHV_REGISTER_NAME(21i32);
2588 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2589 pub const WHvX64RegisterFs: WHV_REGISTER_NAME = WHV_REGISTER_NAME(22i32);
2590 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2591 pub const WHvX64RegisterGs: WHV_REGISTER_NAME = WHV_REGISTER_NAME(23i32);
2592 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2593 pub const WHvX64RegisterLdtr: WHV_REGISTER_NAME = WHV_REGISTER_NAME(24i32);
2594 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2595 pub const WHvX64RegisterTr: WHV_REGISTER_NAME = WHV_REGISTER_NAME(25i32);
2596 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2597 pub const WHvX64RegisterIdtr: WHV_REGISTER_NAME = WHV_REGISTER_NAME(26i32);
2598 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2599 pub const WHvX64RegisterGdtr: WHV_REGISTER_NAME = WHV_REGISTER_NAME(27i32);
2600 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2601 pub const WHvX64RegisterCr0: WHV_REGISTER_NAME = WHV_REGISTER_NAME(28i32);
2602 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2603 pub const WHvX64RegisterCr2: WHV_REGISTER_NAME = WHV_REGISTER_NAME(29i32);
2604 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2605 pub const WHvX64RegisterCr3: WHV_REGISTER_NAME = WHV_REGISTER_NAME(30i32);
2606 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2607 pub const WHvX64RegisterCr4: WHV_REGISTER_NAME = WHV_REGISTER_NAME(31i32);
2608 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2609 pub const WHvX64RegisterCr8: WHV_REGISTER_NAME = WHV_REGISTER_NAME(32i32);
2610 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2611 pub const WHvX64RegisterDr0: WHV_REGISTER_NAME = WHV_REGISTER_NAME(33i32);
2612 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2613 pub const WHvX64RegisterDr1: WHV_REGISTER_NAME = WHV_REGISTER_NAME(34i32);
2614 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2615 pub const WHvX64RegisterDr2: WHV_REGISTER_NAME = WHV_REGISTER_NAME(35i32);
2616 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2617 pub const WHvX64RegisterDr3: WHV_REGISTER_NAME = WHV_REGISTER_NAME(36i32);
2618 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2619 pub const WHvX64RegisterDr6: WHV_REGISTER_NAME = WHV_REGISTER_NAME(37i32);
2620 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2621 pub const WHvX64RegisterDr7: WHV_REGISTER_NAME = WHV_REGISTER_NAME(38i32);
2622 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2623 pub const WHvX64RegisterXCr0: WHV_REGISTER_NAME = WHV_REGISTER_NAME(39i32);
2624 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2625 pub const WHvX64RegisterVirtualCr0: WHV_REGISTER_NAME = WHV_REGISTER_NAME(40i32);
2626 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2627 pub const WHvX64RegisterVirtualCr3: WHV_REGISTER_NAME = WHV_REGISTER_NAME(41i32);
2628 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2629 pub const WHvX64RegisterVirtualCr4: WHV_REGISTER_NAME = WHV_REGISTER_NAME(42i32);
2630 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2631 pub const WHvX64RegisterVirtualCr8: WHV_REGISTER_NAME = WHV_REGISTER_NAME(43i32);
2632 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2633 pub const WHvX64RegisterXmm0: WHV_REGISTER_NAME = WHV_REGISTER_NAME(4096i32);
2634 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2635 pub const WHvX64RegisterXmm1: WHV_REGISTER_NAME = WHV_REGISTER_NAME(4097i32);
2636 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2637 pub const WHvX64RegisterXmm2: WHV_REGISTER_NAME = WHV_REGISTER_NAME(4098i32);
2638 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2639 pub const WHvX64RegisterXmm3: WHV_REGISTER_NAME = WHV_REGISTER_NAME(4099i32);
2640 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2641 pub const WHvX64RegisterXmm4: WHV_REGISTER_NAME = WHV_REGISTER_NAME(4100i32);
2642 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2643 pub const WHvX64RegisterXmm5: WHV_REGISTER_NAME = WHV_REGISTER_NAME(4101i32);
2644 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2645 pub const WHvX64RegisterXmm6: WHV_REGISTER_NAME = WHV_REGISTER_NAME(4102i32);
2646 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2647 pub const WHvX64RegisterXmm7: WHV_REGISTER_NAME = WHV_REGISTER_NAME(4103i32);
2648 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2649 pub const WHvX64RegisterXmm8: WHV_REGISTER_NAME = WHV_REGISTER_NAME(4104i32);
2650 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2651 pub const WHvX64RegisterXmm9: WHV_REGISTER_NAME = WHV_REGISTER_NAME(4105i32);
2652 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2653 pub const WHvX64RegisterXmm10: WHV_REGISTER_NAME = WHV_REGISTER_NAME(4106i32);
2654 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2655 pub const WHvX64RegisterXmm11: WHV_REGISTER_NAME = WHV_REGISTER_NAME(4107i32);
2656 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2657 pub const WHvX64RegisterXmm12: WHV_REGISTER_NAME = WHV_REGISTER_NAME(4108i32);
2658 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2659 pub const WHvX64RegisterXmm13: WHV_REGISTER_NAME = WHV_REGISTER_NAME(4109i32);
2660 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2661 pub const WHvX64RegisterXmm14: WHV_REGISTER_NAME = WHV_REGISTER_NAME(4110i32);
2662 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2663 pub const WHvX64RegisterXmm15: WHV_REGISTER_NAME = WHV_REGISTER_NAME(4111i32);
2664 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2665 pub const WHvX64RegisterFpMmx0: WHV_REGISTER_NAME = WHV_REGISTER_NAME(4112i32);
2666 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2667 pub const WHvX64RegisterFpMmx1: WHV_REGISTER_NAME = WHV_REGISTER_NAME(4113i32);
2668 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2669 pub const WHvX64RegisterFpMmx2: WHV_REGISTER_NAME = WHV_REGISTER_NAME(4114i32);
2670 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2671 pub const WHvX64RegisterFpMmx3: WHV_REGISTER_NAME = WHV_REGISTER_NAME(4115i32);
2672 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2673 pub const WHvX64RegisterFpMmx4: WHV_REGISTER_NAME = WHV_REGISTER_NAME(4116i32);
2674 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2675 pub const WHvX64RegisterFpMmx5: WHV_REGISTER_NAME = WHV_REGISTER_NAME(4117i32);
2676 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2677 pub const WHvX64RegisterFpMmx6: WHV_REGISTER_NAME = WHV_REGISTER_NAME(4118i32);
2678 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2679 pub const WHvX64RegisterFpMmx7: WHV_REGISTER_NAME = WHV_REGISTER_NAME(4119i32);
2680 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2681 pub const WHvX64RegisterFpControlStatus: WHV_REGISTER_NAME = WHV_REGISTER_NAME(4120i32);
2682 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2683 pub const WHvX64RegisterXmmControlStatus: WHV_REGISTER_NAME = WHV_REGISTER_NAME(4121i32);
2684 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2685 pub const WHvX64RegisterTsc: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8192i32);
2686 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2687 pub const WHvX64RegisterEfer: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8193i32);
2688 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2689 pub const WHvX64RegisterKernelGsBase: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8194i32);
2690 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2691 pub const WHvX64RegisterApicBase: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8195i32);
2692 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2693 pub const WHvX64RegisterPat: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8196i32);
2694 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2695 pub const WHvX64RegisterSysenterCs: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8197i32);
2696 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2697 pub const WHvX64RegisterSysenterEip: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8198i32);
2698 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2699 pub const WHvX64RegisterSysenterEsp: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8199i32);
2700 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2701 pub const WHvX64RegisterStar: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8200i32);
2702 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2703 pub const WHvX64RegisterLstar: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8201i32);
2704 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2705 pub const WHvX64RegisterCstar: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8202i32);
2706 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2707 pub const WHvX64RegisterSfmask: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8203i32);
2708 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2709 pub const WHvX64RegisterInitialApicId: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8204i32);
2710 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2711 pub const WHvX64RegisterMsrMtrrCap: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8205i32);
2712 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2713 pub const WHvX64RegisterMsrMtrrDefType: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8206i32);
2714 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2715 pub const WHvX64RegisterMsrMtrrPhysBase0: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8208i32);
2716 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2717 pub const WHvX64RegisterMsrMtrrPhysBase1: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8209i32);
2718 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2719 pub const WHvX64RegisterMsrMtrrPhysBase2: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8210i32);
2720 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2721 pub const WHvX64RegisterMsrMtrrPhysBase3: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8211i32);
2722 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2723 pub const WHvX64RegisterMsrMtrrPhysBase4: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8212i32);
2724 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2725 pub const WHvX64RegisterMsrMtrrPhysBase5: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8213i32);
2726 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2727 pub const WHvX64RegisterMsrMtrrPhysBase6: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8214i32);
2728 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2729 pub const WHvX64RegisterMsrMtrrPhysBase7: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8215i32);
2730 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2731 pub const WHvX64RegisterMsrMtrrPhysBase8: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8216i32);
2732 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2733 pub const WHvX64RegisterMsrMtrrPhysBase9: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8217i32);
2734 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2735 pub const WHvX64RegisterMsrMtrrPhysBaseA: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8218i32);
2736 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2737 pub const WHvX64RegisterMsrMtrrPhysBaseB: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8219i32);
2738 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2739 pub const WHvX64RegisterMsrMtrrPhysBaseC: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8220i32);
2740 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2741 pub const WHvX64RegisterMsrMtrrPhysBaseD: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8221i32);
2742 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2743 pub const WHvX64RegisterMsrMtrrPhysBaseE: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8222i32);
2744 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2745 pub const WHvX64RegisterMsrMtrrPhysBaseF: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8223i32);
2746 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2747 pub const WHvX64RegisterMsrMtrrPhysMask0: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8256i32);
2748 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2749 pub const WHvX64RegisterMsrMtrrPhysMask1: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8257i32);
2750 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2751 pub const WHvX64RegisterMsrMtrrPhysMask2: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8258i32);
2752 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2753 pub const WHvX64RegisterMsrMtrrPhysMask3: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8259i32);
2754 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2755 pub const WHvX64RegisterMsrMtrrPhysMask4: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8260i32);
2756 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2757 pub const WHvX64RegisterMsrMtrrPhysMask5: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8261i32);
2758 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2759 pub const WHvX64RegisterMsrMtrrPhysMask6: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8262i32);
2760 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2761 pub const WHvX64RegisterMsrMtrrPhysMask7: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8263i32);
2762 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2763 pub const WHvX64RegisterMsrMtrrPhysMask8: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8264i32);
2764 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2765 pub const WHvX64RegisterMsrMtrrPhysMask9: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8265i32);
2766 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2767 pub const WHvX64RegisterMsrMtrrPhysMaskA: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8266i32);
2768 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2769 pub const WHvX64RegisterMsrMtrrPhysMaskB: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8267i32);
2770 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2771 pub const WHvX64RegisterMsrMtrrPhysMaskC: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8268i32);
2772 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2773 pub const WHvX64RegisterMsrMtrrPhysMaskD: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8269i32);
2774 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2775 pub const WHvX64RegisterMsrMtrrPhysMaskE: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8270i32);
2776 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2777 pub const WHvX64RegisterMsrMtrrPhysMaskF: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8271i32);
2778 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2779 pub const WHvX64RegisterMsrMtrrFix64k00000: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8304i32);
2780 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2781 pub const WHvX64RegisterMsrMtrrFix16k80000: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8305i32);
2782 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2783 pub const WHvX64RegisterMsrMtrrFix16kA0000: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8306i32);
2784 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2785 pub const WHvX64RegisterMsrMtrrFix4kC0000: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8307i32);
2786 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2787 pub const WHvX64RegisterMsrMtrrFix4kC8000: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8308i32);
2788 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2789 pub const WHvX64RegisterMsrMtrrFix4kD0000: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8309i32);
2790 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2791 pub const WHvX64RegisterMsrMtrrFix4kD8000: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8310i32);
2792 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2793 pub const WHvX64RegisterMsrMtrrFix4kE0000: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8311i32);
2794 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2795 pub const WHvX64RegisterMsrMtrrFix4kE8000: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8312i32);
2796 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2797 pub const WHvX64RegisterMsrMtrrFix4kF0000: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8313i32);
2798 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2799 pub const WHvX64RegisterMsrMtrrFix4kF8000: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8314i32);
2800 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2801 pub const WHvX64RegisterTscAux: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8315i32);
2802 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2803 pub const WHvX64RegisterBndcfgs: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8316i32);
2804 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2805 pub const WHvX64RegisterMCount: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8318i32);
2806 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2807 pub const WHvX64RegisterACount: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8319i32);
2808 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2809 pub const WHvX64RegisterSpecCtrl: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8324i32);
2810 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2811 pub const WHvX64RegisterPredCmd: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8325i32);
2812 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2813 pub const WHvX64RegisterTscVirtualOffset: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8327i32);
2814 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2815 pub const WHvX64RegisterTsxCtrl: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8328i32);
2816 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2817 pub const WHvX64RegisterXss: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8331i32);
2818 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2819 pub const WHvX64RegisterUCet: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8332i32);
2820 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2821 pub const WHvX64RegisterSCet: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8333i32);
2822 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2823 pub const WHvX64RegisterSsp: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8334i32);
2824 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2825 pub const WHvX64RegisterPl0Ssp: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8335i32);
2826 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2827 pub const WHvX64RegisterPl1Ssp: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8336i32);
2828 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2829 pub const WHvX64RegisterPl2Ssp: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8337i32);
2830 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2831 pub const WHvX64RegisterPl3Ssp: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8338i32);
2832 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2833 pub const WHvX64RegisterInterruptSspTableAddr: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8339i32);
2834 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2835 pub const WHvX64RegisterTscDeadline: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8341i32);
2836 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2837 pub const WHvX64RegisterTscAdjust: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8342i32);
2838 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2839 pub const WHvX64RegisterUmwaitControl: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8344i32);
2840 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2841 pub const WHvX64RegisterXfd: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8345i32);
2842 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2843 pub const WHvX64RegisterXfdErr: WHV_REGISTER_NAME = WHV_REGISTER_NAME(8346i32);
2844 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2845 pub const WHvX64RegisterApicId: WHV_REGISTER_NAME = WHV_REGISTER_NAME(12290i32);
2846 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2847 pub const WHvX64RegisterApicVersion: WHV_REGISTER_NAME = WHV_REGISTER_NAME(12291i32);
2848 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2849 pub const WHvX64RegisterApicTpr: WHV_REGISTER_NAME = WHV_REGISTER_NAME(12296i32);
2850 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2851 pub const WHvX64RegisterApicPpr: WHV_REGISTER_NAME = WHV_REGISTER_NAME(12298i32);
2852 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2853 pub const WHvX64RegisterApicEoi: WHV_REGISTER_NAME = WHV_REGISTER_NAME(12299i32);
2854 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2855 pub const WHvX64RegisterApicLdr: WHV_REGISTER_NAME = WHV_REGISTER_NAME(12301i32);
2856 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2857 pub const WHvX64RegisterApicSpurious: WHV_REGISTER_NAME = WHV_REGISTER_NAME(12303i32);
2858 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2859 pub const WHvX64RegisterApicIsr0: WHV_REGISTER_NAME = WHV_REGISTER_NAME(12304i32);
2860 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2861 pub const WHvX64RegisterApicIsr1: WHV_REGISTER_NAME = WHV_REGISTER_NAME(12305i32);
2862 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2863 pub const WHvX64RegisterApicIsr2: WHV_REGISTER_NAME = WHV_REGISTER_NAME(12306i32);
2864 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2865 pub const WHvX64RegisterApicIsr3: WHV_REGISTER_NAME = WHV_REGISTER_NAME(12307i32);
2866 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2867 pub const WHvX64RegisterApicIsr4: WHV_REGISTER_NAME = WHV_REGISTER_NAME(12308i32);
2868 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2869 pub const WHvX64RegisterApicIsr5: WHV_REGISTER_NAME = WHV_REGISTER_NAME(12309i32);
2870 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2871 pub const WHvX64RegisterApicIsr6: WHV_REGISTER_NAME = WHV_REGISTER_NAME(12310i32);
2872 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2873 pub const WHvX64RegisterApicIsr7: WHV_REGISTER_NAME = WHV_REGISTER_NAME(12311i32);
2874 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2875 pub const WHvX64RegisterApicTmr0: WHV_REGISTER_NAME = WHV_REGISTER_NAME(12312i32);
2876 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2877 pub const WHvX64RegisterApicTmr1: WHV_REGISTER_NAME = WHV_REGISTER_NAME(12313i32);
2878 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2879 pub const WHvX64RegisterApicTmr2: WHV_REGISTER_NAME = WHV_REGISTER_NAME(12314i32);
2880 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2881 pub const WHvX64RegisterApicTmr3: WHV_REGISTER_NAME = WHV_REGISTER_NAME(12315i32);
2882 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2883 pub const WHvX64RegisterApicTmr4: WHV_REGISTER_NAME = WHV_REGISTER_NAME(12316i32);
2884 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2885 pub const WHvX64RegisterApicTmr5: WHV_REGISTER_NAME = WHV_REGISTER_NAME(12317i32);
2886 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2887 pub const WHvX64RegisterApicTmr6: WHV_REGISTER_NAME = WHV_REGISTER_NAME(12318i32);
2888 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2889 pub const WHvX64RegisterApicTmr7: WHV_REGISTER_NAME = WHV_REGISTER_NAME(12319i32);
2890 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2891 pub const WHvX64RegisterApicIrr0: WHV_REGISTER_NAME = WHV_REGISTER_NAME(12320i32);
2892 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2893 pub const WHvX64RegisterApicIrr1: WHV_REGISTER_NAME = WHV_REGISTER_NAME(12321i32);
2894 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2895 pub const WHvX64RegisterApicIrr2: WHV_REGISTER_NAME = WHV_REGISTER_NAME(12322i32);
2896 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2897 pub const WHvX64RegisterApicIrr3: WHV_REGISTER_NAME = WHV_REGISTER_NAME(12323i32);
2898 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2899 pub const WHvX64RegisterApicIrr4: WHV_REGISTER_NAME = WHV_REGISTER_NAME(12324i32);
2900 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2901 pub const WHvX64RegisterApicIrr5: WHV_REGISTER_NAME = WHV_REGISTER_NAME(12325i32);
2902 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2903 pub const WHvX64RegisterApicIrr6: WHV_REGISTER_NAME = WHV_REGISTER_NAME(12326i32);
2904 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2905 pub const WHvX64RegisterApicIrr7: WHV_REGISTER_NAME = WHV_REGISTER_NAME(12327i32);
2906 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2907 pub const WHvX64RegisterApicEse: WHV_REGISTER_NAME = WHV_REGISTER_NAME(12328i32);
2908 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2909 pub const WHvX64RegisterApicIcr: WHV_REGISTER_NAME = WHV_REGISTER_NAME(12336i32);
2910 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2911 pub const WHvX64RegisterApicLvtTimer: WHV_REGISTER_NAME = WHV_REGISTER_NAME(12338i32);
2912 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2913 pub const WHvX64RegisterApicLvtThermal: WHV_REGISTER_NAME = WHV_REGISTER_NAME(12339i32);
2914 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2915 pub const WHvX64RegisterApicLvtPerfmon: WHV_REGISTER_NAME = WHV_REGISTER_NAME(12340i32);
2916 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2917 pub const WHvX64RegisterApicLvtLint0: WHV_REGISTER_NAME = WHV_REGISTER_NAME(12341i32);
2918 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2919 pub const WHvX64RegisterApicLvtLint1: WHV_REGISTER_NAME = WHV_REGISTER_NAME(12342i32);
2920 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2921 pub const WHvX64RegisterApicLvtError: WHV_REGISTER_NAME = WHV_REGISTER_NAME(12343i32);
2922 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2923 pub const WHvX64RegisterApicInitCount: WHV_REGISTER_NAME = WHV_REGISTER_NAME(12344i32);
2924 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2925 pub const WHvX64RegisterApicCurrentCount: WHV_REGISTER_NAME = WHV_REGISTER_NAME(12345i32);
2926 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2927 pub const WHvX64RegisterApicDivide: WHV_REGISTER_NAME = WHV_REGISTER_NAME(12350i32);
2928 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2929 pub const WHvX64RegisterApicSelfIpi: WHV_REGISTER_NAME = WHV_REGISTER_NAME(12351i32);
2930 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2931 pub const WHvRegisterSint0: WHV_REGISTER_NAME = WHV_REGISTER_NAME(16384i32);
2932 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2933 pub const WHvRegisterSint1: WHV_REGISTER_NAME = WHV_REGISTER_NAME(16385i32);
2934 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2935 pub const WHvRegisterSint2: WHV_REGISTER_NAME = WHV_REGISTER_NAME(16386i32);
2936 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2937 pub const WHvRegisterSint3: WHV_REGISTER_NAME = WHV_REGISTER_NAME(16387i32);
2938 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2939 pub const WHvRegisterSint4: WHV_REGISTER_NAME = WHV_REGISTER_NAME(16388i32);
2940 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2941 pub const WHvRegisterSint5: WHV_REGISTER_NAME = WHV_REGISTER_NAME(16389i32);
2942 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2943 pub const WHvRegisterSint6: WHV_REGISTER_NAME = WHV_REGISTER_NAME(16390i32);
2944 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2945 pub const WHvRegisterSint7: WHV_REGISTER_NAME = WHV_REGISTER_NAME(16391i32);
2946 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2947 pub const WHvRegisterSint8: WHV_REGISTER_NAME = WHV_REGISTER_NAME(16392i32);
2948 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2949 pub const WHvRegisterSint9: WHV_REGISTER_NAME = WHV_REGISTER_NAME(16393i32);
2950 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2951 pub const WHvRegisterSint10: WHV_REGISTER_NAME = WHV_REGISTER_NAME(16394i32);
2952 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2953 pub const WHvRegisterSint11: WHV_REGISTER_NAME = WHV_REGISTER_NAME(16395i32);
2954 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2955 pub const WHvRegisterSint12: WHV_REGISTER_NAME = WHV_REGISTER_NAME(16396i32);
2956 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2957 pub const WHvRegisterSint13: WHV_REGISTER_NAME = WHV_REGISTER_NAME(16397i32);
2958 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2959 pub const WHvRegisterSint14: WHV_REGISTER_NAME = WHV_REGISTER_NAME(16398i32);
2960 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2961 pub const WHvRegisterSint15: WHV_REGISTER_NAME = WHV_REGISTER_NAME(16399i32);
2962 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2963 pub const WHvRegisterScontrol: WHV_REGISTER_NAME = WHV_REGISTER_NAME(16400i32);
2964 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2965 pub const WHvRegisterSversion: WHV_REGISTER_NAME = WHV_REGISTER_NAME(16401i32);
2966 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2967 pub const WHvRegisterSiefp: WHV_REGISTER_NAME = WHV_REGISTER_NAME(16402i32);
2968 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2969 pub const WHvRegisterSimp: WHV_REGISTER_NAME = WHV_REGISTER_NAME(16403i32);
2970 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2971 pub const WHvRegisterEom: WHV_REGISTER_NAME = WHV_REGISTER_NAME(16404i32);
2972 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2973 pub const WHvRegisterVpRuntime: WHV_REGISTER_NAME = WHV_REGISTER_NAME(20480i32);
2974 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2975 pub const WHvX64RegisterHypercall: WHV_REGISTER_NAME = WHV_REGISTER_NAME(20481i32);
2976 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2977 pub const WHvRegisterGuestOsId: WHV_REGISTER_NAME = WHV_REGISTER_NAME(20482i32);
2978 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2979 pub const WHvRegisterVpAssistPage: WHV_REGISTER_NAME = WHV_REGISTER_NAME(20499i32);
2980 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2981 pub const WHvRegisterReferenceTsc: WHV_REGISTER_NAME = WHV_REGISTER_NAME(20503i32);
2982 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2983 pub const WHvRegisterReferenceTscSequence: WHV_REGISTER_NAME = WHV_REGISTER_NAME(20506i32);
2984 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2985 pub const WHvRegisterPendingInterruption: WHV_REGISTER_NAME = WHV_REGISTER_NAME(-2147483648i32);
2986 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2987 pub const WHvRegisterInterruptState: WHV_REGISTER_NAME = WHV_REGISTER_NAME(-2147483647i32);
2988 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2989 pub const WHvRegisterPendingEvent: WHV_REGISTER_NAME = WHV_REGISTER_NAME(-2147483646i32);
2990 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2991 pub const WHvX64RegisterDeliverabilityNotifications: WHV_REGISTER_NAME = WHV_REGISTER_NAME(-2147483644i32);
2992 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2993 pub const WHvRegisterInternalActivityState: WHV_REGISTER_NAME = WHV_REGISTER_NAME(-2147483643i32);
2994 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
2995 pub const WHvX64RegisterPendingDebugException: WHV_REGISTER_NAME = WHV_REGISTER_NAME(-2147483642i32);
2996 impl ::core::marker::Copy for WHV_REGISTER_NAME {}
2997 impl ::core::clone::Clone for WHV_REGISTER_NAME {
2998 fn clone(&self) -> Self {
2999 *self
3000 }
3001 }
3002 impl ::core::default::Default for WHV_REGISTER_NAME {
3003 fn default() -> Self {
3004 Self(0)
3005 }
3006 }
3007 impl ::windows::core::TypeKind for WHV_REGISTER_NAME {
3008 type TypeKind = ::windows::core::CopyType;
3009 }
3010 impl ::core::fmt::Debug for WHV_REGISTER_NAME {
3011 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3012 f.debug_tuple("WHV_REGISTER_NAME").field(&self.0).finish()
3013 }
3014 }
3015 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3016 #[repr(transparent)]
3017 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3018 pub struct WHV_RUN_VP_CANCEL_REASON(pub i32);
3019 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3020 pub const WHvRunVpCancelReasonUser: WHV_RUN_VP_CANCEL_REASON = WHV_RUN_VP_CANCEL_REASON(0i32);
3021 impl ::core::marker::Copy for WHV_RUN_VP_CANCEL_REASON {}
3022 impl ::core::clone::Clone for WHV_RUN_VP_CANCEL_REASON {
3023 fn clone(&self) -> Self {
3024 *self
3025 }
3026 }
3027 impl ::core::default::Default for WHV_RUN_VP_CANCEL_REASON {
3028 fn default() -> Self {
3029 Self(0)
3030 }
3031 }
3032 impl ::windows::core::TypeKind for WHV_RUN_VP_CANCEL_REASON {
3033 type TypeKind = ::windows::core::CopyType;
3034 }
3035 impl ::core::fmt::Debug for WHV_RUN_VP_CANCEL_REASON {
3036 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3037 f.debug_tuple("WHV_RUN_VP_CANCEL_REASON").field(&self.0).finish()
3038 }
3039 }
3040 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3041 #[repr(transparent)]
3042 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3043 pub struct WHV_RUN_VP_EXIT_REASON(pub i32);
3044 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3045 pub const WHvRunVpExitReasonNone: WHV_RUN_VP_EXIT_REASON = WHV_RUN_VP_EXIT_REASON(0i32);
3046 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3047 pub const WHvRunVpExitReasonMemoryAccess: WHV_RUN_VP_EXIT_REASON = WHV_RUN_VP_EXIT_REASON(1i32);
3048 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3049 pub const WHvRunVpExitReasonX64IoPortAccess: WHV_RUN_VP_EXIT_REASON = WHV_RUN_VP_EXIT_REASON(2i32);
3050 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3051 pub const WHvRunVpExitReasonUnrecoverableException: WHV_RUN_VP_EXIT_REASON = WHV_RUN_VP_EXIT_REASON(4i32);
3052 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3053 pub const WHvRunVpExitReasonInvalidVpRegisterValue: WHV_RUN_VP_EXIT_REASON = WHV_RUN_VP_EXIT_REASON(5i32);
3054 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3055 pub const WHvRunVpExitReasonUnsupportedFeature: WHV_RUN_VP_EXIT_REASON = WHV_RUN_VP_EXIT_REASON(6i32);
3056 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3057 pub const WHvRunVpExitReasonX64InterruptWindow: WHV_RUN_VP_EXIT_REASON = WHV_RUN_VP_EXIT_REASON(7i32);
3058 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3059 pub const WHvRunVpExitReasonX64Halt: WHV_RUN_VP_EXIT_REASON = WHV_RUN_VP_EXIT_REASON(8i32);
3060 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3061 pub const WHvRunVpExitReasonX64ApicEoi: WHV_RUN_VP_EXIT_REASON = WHV_RUN_VP_EXIT_REASON(9i32);
3062 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3063 pub const WHvRunVpExitReasonSynicSintDeliverable: WHV_RUN_VP_EXIT_REASON = WHV_RUN_VP_EXIT_REASON(10i32);
3064 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3065 pub const WHvRunVpExitReasonX64MsrAccess: WHV_RUN_VP_EXIT_REASON = WHV_RUN_VP_EXIT_REASON(4096i32);
3066 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3067 pub const WHvRunVpExitReasonX64Cpuid: WHV_RUN_VP_EXIT_REASON = WHV_RUN_VP_EXIT_REASON(4097i32);
3068 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3069 pub const WHvRunVpExitReasonException: WHV_RUN_VP_EXIT_REASON = WHV_RUN_VP_EXIT_REASON(4098i32);
3070 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3071 pub const WHvRunVpExitReasonX64Rdtsc: WHV_RUN_VP_EXIT_REASON = WHV_RUN_VP_EXIT_REASON(4099i32);
3072 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3073 pub const WHvRunVpExitReasonX64ApicSmiTrap: WHV_RUN_VP_EXIT_REASON = WHV_RUN_VP_EXIT_REASON(4100i32);
3074 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3075 pub const WHvRunVpExitReasonHypercall: WHV_RUN_VP_EXIT_REASON = WHV_RUN_VP_EXIT_REASON(4101i32);
3076 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3077 pub const WHvRunVpExitReasonX64ApicInitSipiTrap: WHV_RUN_VP_EXIT_REASON = WHV_RUN_VP_EXIT_REASON(4102i32);
3078 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3079 pub const WHvRunVpExitReasonX64ApicWriteTrap: WHV_RUN_VP_EXIT_REASON = WHV_RUN_VP_EXIT_REASON(4103i32);
3080 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3081 pub const WHvRunVpExitReasonCanceled: WHV_RUN_VP_EXIT_REASON = WHV_RUN_VP_EXIT_REASON(8193i32);
3082 impl ::core::marker::Copy for WHV_RUN_VP_EXIT_REASON {}
3083 impl ::core::clone::Clone for WHV_RUN_VP_EXIT_REASON {
3084 fn clone(&self) -> Self {
3085 *self
3086 }
3087 }
3088 impl ::core::default::Default for WHV_RUN_VP_EXIT_REASON {
3089 fn default() -> Self {
3090 Self(0)
3091 }
3092 }
3093 impl ::windows::core::TypeKind for WHV_RUN_VP_EXIT_REASON {
3094 type TypeKind = ::windows::core::CopyType;
3095 }
3096 impl ::core::fmt::Debug for WHV_RUN_VP_EXIT_REASON {
3097 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3098 f.debug_tuple("WHV_RUN_VP_EXIT_REASON").field(&self.0).finish()
3099 }
3100 }
3101 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3102 #[repr(transparent)]
3103 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3104 pub struct WHV_TRANSLATE_GVA_FLAGS(pub i32);
3105 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3106 pub const WHvTranslateGvaFlagNone: WHV_TRANSLATE_GVA_FLAGS = WHV_TRANSLATE_GVA_FLAGS(0i32);
3107 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3108 pub const WHvTranslateGvaFlagValidateRead: WHV_TRANSLATE_GVA_FLAGS = WHV_TRANSLATE_GVA_FLAGS(1i32);
3109 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3110 pub const WHvTranslateGvaFlagValidateWrite: WHV_TRANSLATE_GVA_FLAGS = WHV_TRANSLATE_GVA_FLAGS(2i32);
3111 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3112 pub const WHvTranslateGvaFlagValidateExecute: WHV_TRANSLATE_GVA_FLAGS = WHV_TRANSLATE_GVA_FLAGS(4i32);
3113 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3114 pub const WHvTranslateGvaFlagPrivilegeExempt: WHV_TRANSLATE_GVA_FLAGS = WHV_TRANSLATE_GVA_FLAGS(8i32);
3115 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3116 pub const WHvTranslateGvaFlagSetPageTableBits: WHV_TRANSLATE_GVA_FLAGS = WHV_TRANSLATE_GVA_FLAGS(16i32);
3117 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3118 pub const WHvTranslateGvaFlagEnforceSmap: WHV_TRANSLATE_GVA_FLAGS = WHV_TRANSLATE_GVA_FLAGS(256i32);
3119 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3120 pub const WHvTranslateGvaFlagOverrideSmap: WHV_TRANSLATE_GVA_FLAGS = WHV_TRANSLATE_GVA_FLAGS(512i32);
3121 impl ::core::marker::Copy for WHV_TRANSLATE_GVA_FLAGS {}
3122 impl ::core::clone::Clone for WHV_TRANSLATE_GVA_FLAGS {
3123 fn clone(&self) -> Self {
3124 *self
3125 }
3126 }
3127 impl ::core::default::Default for WHV_TRANSLATE_GVA_FLAGS {
3128 fn default() -> Self {
3129 Self(0)
3130 }
3131 }
3132 impl ::windows::core::TypeKind for WHV_TRANSLATE_GVA_FLAGS {
3133 type TypeKind = ::windows::core::CopyType;
3134 }
3135 impl ::core::fmt::Debug for WHV_TRANSLATE_GVA_FLAGS {
3136 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3137 f.debug_tuple("WHV_TRANSLATE_GVA_FLAGS").field(&self.0).finish()
3138 }
3139 }
3140 impl WHV_TRANSLATE_GVA_FLAGS {
3141 pub const fn contains(&self, other: Self) -> bool {
3142 self.0 & other.0 == other.0
3143 }
3144 }
3145 impl ::core::ops::BitOr for WHV_TRANSLATE_GVA_FLAGS {
3146 type Output = Self;
3147 fn bitor(self, other: Self) -> Self {
3148 Self(self.0 | other.0)
3149 }
3150 }
3151 impl ::core::ops::BitAnd for WHV_TRANSLATE_GVA_FLAGS {
3152 type Output = Self;
3153 fn bitand(self, other: Self) -> Self {
3154 Self(self.0 & other.0)
3155 }
3156 }
3157 impl ::core::ops::BitOrAssign for WHV_TRANSLATE_GVA_FLAGS {
3158 fn bitor_assign(&mut self, other: Self) {
3159 self.0.bitor_assign(other.0)
3160 }
3161 }
3162 impl ::core::ops::BitAndAssign for WHV_TRANSLATE_GVA_FLAGS {
3163 fn bitand_assign(&mut self, other: Self) {
3164 self.0.bitand_assign(other.0)
3165 }
3166 }
3167 impl ::core::ops::Not for WHV_TRANSLATE_GVA_FLAGS {
3168 type Output = Self;
3169 fn not(self) -> Self {
3170 Self(self.0.not())
3171 }
3172 }
3173 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3174 #[repr(transparent)]
3175 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3176 pub struct WHV_TRANSLATE_GVA_RESULT_CODE(pub i32);
3177 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3178 pub const WHvTranslateGvaResultSuccess: WHV_TRANSLATE_GVA_RESULT_CODE = WHV_TRANSLATE_GVA_RESULT_CODE(0i32);
3179 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3180 pub const WHvTranslateGvaResultPageNotPresent: WHV_TRANSLATE_GVA_RESULT_CODE = WHV_TRANSLATE_GVA_RESULT_CODE(1i32);
3181 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3182 pub const WHvTranslateGvaResultPrivilegeViolation: WHV_TRANSLATE_GVA_RESULT_CODE = WHV_TRANSLATE_GVA_RESULT_CODE(2i32);
3183 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3184 pub const WHvTranslateGvaResultInvalidPageTableFlags: WHV_TRANSLATE_GVA_RESULT_CODE = WHV_TRANSLATE_GVA_RESULT_CODE(3i32);
3185 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3186 pub const WHvTranslateGvaResultGpaUnmapped: WHV_TRANSLATE_GVA_RESULT_CODE = WHV_TRANSLATE_GVA_RESULT_CODE(4i32);
3187 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3188 pub const WHvTranslateGvaResultGpaNoReadAccess: WHV_TRANSLATE_GVA_RESULT_CODE = WHV_TRANSLATE_GVA_RESULT_CODE(5i32);
3189 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3190 pub const WHvTranslateGvaResultGpaNoWriteAccess: WHV_TRANSLATE_GVA_RESULT_CODE = WHV_TRANSLATE_GVA_RESULT_CODE(6i32);
3191 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3192 pub const WHvTranslateGvaResultGpaIllegalOverlayAccess: WHV_TRANSLATE_GVA_RESULT_CODE = WHV_TRANSLATE_GVA_RESULT_CODE(7i32);
3193 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3194 pub const WHvTranslateGvaResultIntercept: WHV_TRANSLATE_GVA_RESULT_CODE = WHV_TRANSLATE_GVA_RESULT_CODE(8i32);
3195 impl ::core::marker::Copy for WHV_TRANSLATE_GVA_RESULT_CODE {}
3196 impl ::core::clone::Clone for WHV_TRANSLATE_GVA_RESULT_CODE {
3197 fn clone(&self) -> Self {
3198 *self
3199 }
3200 }
3201 impl ::core::default::Default for WHV_TRANSLATE_GVA_RESULT_CODE {
3202 fn default() -> Self {
3203 Self(0)
3204 }
3205 }
3206 impl ::windows::core::TypeKind for WHV_TRANSLATE_GVA_RESULT_CODE {
3207 type TypeKind = ::windows::core::CopyType;
3208 }
3209 impl ::core::fmt::Debug for WHV_TRANSLATE_GVA_RESULT_CODE {
3210 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3211 f.debug_tuple("WHV_TRANSLATE_GVA_RESULT_CODE").field(&self.0).finish()
3212 }
3213 }
3214 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3215 #[repr(transparent)]
3216 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3217 pub struct WHV_TRIGGER_TYPE(pub i32);
3218 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3219 pub const WHvTriggerTypeInterrupt: WHV_TRIGGER_TYPE = WHV_TRIGGER_TYPE(0i32);
3220 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3221 pub const WHvTriggerTypeSynicEvent: WHV_TRIGGER_TYPE = WHV_TRIGGER_TYPE(1i32);
3222 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3223 pub const WHvTriggerTypeDeviceInterrupt: WHV_TRIGGER_TYPE = WHV_TRIGGER_TYPE(2i32);
3224 impl ::core::marker::Copy for WHV_TRIGGER_TYPE {}
3225 impl ::core::clone::Clone for WHV_TRIGGER_TYPE {
3226 fn clone(&self) -> Self {
3227 *self
3228 }
3229 }
3230 impl ::core::default::Default for WHV_TRIGGER_TYPE {
3231 fn default() -> Self {
3232 Self(0)
3233 }
3234 }
3235 impl ::windows::core::TypeKind for WHV_TRIGGER_TYPE {
3236 type TypeKind = ::windows::core::CopyType;
3237 }
3238 impl ::core::fmt::Debug for WHV_TRIGGER_TYPE {
3239 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3240 f.debug_tuple("WHV_TRIGGER_TYPE").field(&self.0).finish()
3241 }
3242 }
3243 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3244 #[repr(transparent)]
3245 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3246 pub struct WHV_VIRTUAL_PROCESSOR_PROPERTY_CODE(pub i32);
3247 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3248 pub const WHvVirtualProcessorPropertyCodeNumaNode: WHV_VIRTUAL_PROCESSOR_PROPERTY_CODE = WHV_VIRTUAL_PROCESSOR_PROPERTY_CODE(0i32);
3249 impl ::core::marker::Copy for WHV_VIRTUAL_PROCESSOR_PROPERTY_CODE {}
3250 impl ::core::clone::Clone for WHV_VIRTUAL_PROCESSOR_PROPERTY_CODE {
3251 fn clone(&self) -> Self {
3252 *self
3253 }
3254 }
3255 impl ::core::default::Default for WHV_VIRTUAL_PROCESSOR_PROPERTY_CODE {
3256 fn default() -> Self {
3257 Self(0)
3258 }
3259 }
3260 impl ::windows::core::TypeKind for WHV_VIRTUAL_PROCESSOR_PROPERTY_CODE {
3261 type TypeKind = ::windows::core::CopyType;
3262 }
3263 impl ::core::fmt::Debug for WHV_VIRTUAL_PROCESSOR_PROPERTY_CODE {
3264 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3265 f.debug_tuple("WHV_VIRTUAL_PROCESSOR_PROPERTY_CODE").field(&self.0).finish()
3266 }
3267 }
3268 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3269 #[repr(transparent)]
3270 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3271 pub struct WHV_VIRTUAL_PROCESSOR_STATE_TYPE(pub i32);
3272 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3273 pub const WHvVirtualProcessorStateTypeSynicMessagePage: WHV_VIRTUAL_PROCESSOR_STATE_TYPE = WHV_VIRTUAL_PROCESSOR_STATE_TYPE(0i32);
3274 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3275 pub const WHvVirtualProcessorStateTypeSynicEventFlagPage: WHV_VIRTUAL_PROCESSOR_STATE_TYPE = WHV_VIRTUAL_PROCESSOR_STATE_TYPE(1i32);
3276 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3277 pub const WHvVirtualProcessorStateTypeSynicTimerState: WHV_VIRTUAL_PROCESSOR_STATE_TYPE = WHV_VIRTUAL_PROCESSOR_STATE_TYPE(2i32);
3278 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3279 pub const WHvVirtualProcessorStateTypeInterruptControllerState2: WHV_VIRTUAL_PROCESSOR_STATE_TYPE = WHV_VIRTUAL_PROCESSOR_STATE_TYPE(4096i32);
3280 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3281 pub const WHvVirtualProcessorStateTypeXsaveState: WHV_VIRTUAL_PROCESSOR_STATE_TYPE = WHV_VIRTUAL_PROCESSOR_STATE_TYPE(4097i32);
3282 impl ::core::marker::Copy for WHV_VIRTUAL_PROCESSOR_STATE_TYPE {}
3283 impl ::core::clone::Clone for WHV_VIRTUAL_PROCESSOR_STATE_TYPE {
3284 fn clone(&self) -> Self {
3285 *self
3286 }
3287 }
3288 impl ::core::default::Default for WHV_VIRTUAL_PROCESSOR_STATE_TYPE {
3289 fn default() -> Self {
3290 Self(0)
3291 }
3292 }
3293 impl ::windows::core::TypeKind for WHV_VIRTUAL_PROCESSOR_STATE_TYPE {
3294 type TypeKind = ::windows::core::CopyType;
3295 }
3296 impl ::core::fmt::Debug for WHV_VIRTUAL_PROCESSOR_STATE_TYPE {
3297 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3298 f.debug_tuple("WHV_VIRTUAL_PROCESSOR_STATE_TYPE").field(&self.0).finish()
3299 }
3300 }
3301 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3302 #[repr(transparent)]
3303 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3304 pub struct WHV_VPCI_DEVICE_NOTIFICATION_TYPE(pub i32);
3305 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3306 pub const WHvVpciDeviceNotificationUndefined: WHV_VPCI_DEVICE_NOTIFICATION_TYPE = WHV_VPCI_DEVICE_NOTIFICATION_TYPE(0i32);
3307 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3308 pub const WHvVpciDeviceNotificationMmioRemapping: WHV_VPCI_DEVICE_NOTIFICATION_TYPE = WHV_VPCI_DEVICE_NOTIFICATION_TYPE(1i32);
3309 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3310 pub const WHvVpciDeviceNotificationSurpriseRemoval: WHV_VPCI_DEVICE_NOTIFICATION_TYPE = WHV_VPCI_DEVICE_NOTIFICATION_TYPE(2i32);
3311 impl ::core::marker::Copy for WHV_VPCI_DEVICE_NOTIFICATION_TYPE {}
3312 impl ::core::clone::Clone for WHV_VPCI_DEVICE_NOTIFICATION_TYPE {
3313 fn clone(&self) -> Self {
3314 *self
3315 }
3316 }
3317 impl ::core::default::Default for WHV_VPCI_DEVICE_NOTIFICATION_TYPE {
3318 fn default() -> Self {
3319 Self(0)
3320 }
3321 }
3322 impl ::windows::core::TypeKind for WHV_VPCI_DEVICE_NOTIFICATION_TYPE {
3323 type TypeKind = ::windows::core::CopyType;
3324 }
3325 impl ::core::fmt::Debug for WHV_VPCI_DEVICE_NOTIFICATION_TYPE {
3326 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3327 f.debug_tuple("WHV_VPCI_DEVICE_NOTIFICATION_TYPE").field(&self.0).finish()
3328 }
3329 }
3330 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3331 #[repr(transparent)]
3332 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3333 pub struct WHV_VPCI_DEVICE_PROPERTY_CODE(pub i32);
3334 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3335 pub const WHvVpciDevicePropertyCodeUndefined: WHV_VPCI_DEVICE_PROPERTY_CODE = WHV_VPCI_DEVICE_PROPERTY_CODE(0i32);
3336 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3337 pub const WHvVpciDevicePropertyCodeHardwareIDs: WHV_VPCI_DEVICE_PROPERTY_CODE = WHV_VPCI_DEVICE_PROPERTY_CODE(1i32);
3338 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3339 pub const WHvVpciDevicePropertyCodeProbedBARs: WHV_VPCI_DEVICE_PROPERTY_CODE = WHV_VPCI_DEVICE_PROPERTY_CODE(2i32);
3340 impl ::core::marker::Copy for WHV_VPCI_DEVICE_PROPERTY_CODE {}
3341 impl ::core::clone::Clone for WHV_VPCI_DEVICE_PROPERTY_CODE {
3342 fn clone(&self) -> Self {
3343 *self
3344 }
3345 }
3346 impl ::core::default::Default for WHV_VPCI_DEVICE_PROPERTY_CODE {
3347 fn default() -> Self {
3348 Self(0)
3349 }
3350 }
3351 impl ::windows::core::TypeKind for WHV_VPCI_DEVICE_PROPERTY_CODE {
3352 type TypeKind = ::windows::core::CopyType;
3353 }
3354 impl ::core::fmt::Debug for WHV_VPCI_DEVICE_PROPERTY_CODE {
3355 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3356 f.debug_tuple("WHV_VPCI_DEVICE_PROPERTY_CODE").field(&self.0).finish()
3357 }
3358 }
3359 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3360 #[repr(transparent)]
3361 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3362 pub struct WHV_VPCI_DEVICE_REGISTER_SPACE(pub i32);
3363 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3364 pub const WHvVpciConfigSpace: WHV_VPCI_DEVICE_REGISTER_SPACE = WHV_VPCI_DEVICE_REGISTER_SPACE(-1i32);
3365 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3366 pub const WHvVpciBar0: WHV_VPCI_DEVICE_REGISTER_SPACE = WHV_VPCI_DEVICE_REGISTER_SPACE(0i32);
3367 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3368 pub const WHvVpciBar1: WHV_VPCI_DEVICE_REGISTER_SPACE = WHV_VPCI_DEVICE_REGISTER_SPACE(1i32);
3369 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3370 pub const WHvVpciBar2: WHV_VPCI_DEVICE_REGISTER_SPACE = WHV_VPCI_DEVICE_REGISTER_SPACE(2i32);
3371 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3372 pub const WHvVpciBar3: WHV_VPCI_DEVICE_REGISTER_SPACE = WHV_VPCI_DEVICE_REGISTER_SPACE(3i32);
3373 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3374 pub const WHvVpciBar4: WHV_VPCI_DEVICE_REGISTER_SPACE = WHV_VPCI_DEVICE_REGISTER_SPACE(4i32);
3375 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3376 pub const WHvVpciBar5: WHV_VPCI_DEVICE_REGISTER_SPACE = WHV_VPCI_DEVICE_REGISTER_SPACE(5i32);
3377 impl ::core::marker::Copy for WHV_VPCI_DEVICE_REGISTER_SPACE {}
3378 impl ::core::clone::Clone for WHV_VPCI_DEVICE_REGISTER_SPACE {
3379 fn clone(&self) -> Self {
3380 *self
3381 }
3382 }
3383 impl ::core::default::Default for WHV_VPCI_DEVICE_REGISTER_SPACE {
3384 fn default() -> Self {
3385 Self(0)
3386 }
3387 }
3388 impl ::windows::core::TypeKind for WHV_VPCI_DEVICE_REGISTER_SPACE {
3389 type TypeKind = ::windows::core::CopyType;
3390 }
3391 impl ::core::fmt::Debug for WHV_VPCI_DEVICE_REGISTER_SPACE {
3392 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3393 f.debug_tuple("WHV_VPCI_DEVICE_REGISTER_SPACE").field(&self.0).finish()
3394 }
3395 }
3396 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3397 #[repr(transparent)]
3398 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3399 pub struct WHV_VPCI_INTERRUPT_TARGET_FLAGS(pub i32);
3400 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3401 pub const WHvVpciInterruptTargetFlagNone: WHV_VPCI_INTERRUPT_TARGET_FLAGS = WHV_VPCI_INTERRUPT_TARGET_FLAGS(0i32);
3402 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3403 pub const WHvVpciInterruptTargetFlagMulticast: WHV_VPCI_INTERRUPT_TARGET_FLAGS = WHV_VPCI_INTERRUPT_TARGET_FLAGS(1i32);
3404 impl ::core::marker::Copy for WHV_VPCI_INTERRUPT_TARGET_FLAGS {}
3405 impl ::core::clone::Clone for WHV_VPCI_INTERRUPT_TARGET_FLAGS {
3406 fn clone(&self) -> Self {
3407 *self
3408 }
3409 }
3410 impl ::core::default::Default for WHV_VPCI_INTERRUPT_TARGET_FLAGS {
3411 fn default() -> Self {
3412 Self(0)
3413 }
3414 }
3415 impl ::windows::core::TypeKind for WHV_VPCI_INTERRUPT_TARGET_FLAGS {
3416 type TypeKind = ::windows::core::CopyType;
3417 }
3418 impl ::core::fmt::Debug for WHV_VPCI_INTERRUPT_TARGET_FLAGS {
3419 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3420 f.debug_tuple("WHV_VPCI_INTERRUPT_TARGET_FLAGS").field(&self.0).finish()
3421 }
3422 }
3423 impl WHV_VPCI_INTERRUPT_TARGET_FLAGS {
3424 pub const fn contains(&self, other: Self) -> bool {
3425 self.0 & other.0 == other.0
3426 }
3427 }
3428 impl ::core::ops::BitOr for WHV_VPCI_INTERRUPT_TARGET_FLAGS {
3429 type Output = Self;
3430 fn bitor(self, other: Self) -> Self {
3431 Self(self.0 | other.0)
3432 }
3433 }
3434 impl ::core::ops::BitAnd for WHV_VPCI_INTERRUPT_TARGET_FLAGS {
3435 type Output = Self;
3436 fn bitand(self, other: Self) -> Self {
3437 Self(self.0 & other.0)
3438 }
3439 }
3440 impl ::core::ops::BitOrAssign for WHV_VPCI_INTERRUPT_TARGET_FLAGS {
3441 fn bitor_assign(&mut self, other: Self) {
3442 self.0.bitor_assign(other.0)
3443 }
3444 }
3445 impl ::core::ops::BitAndAssign for WHV_VPCI_INTERRUPT_TARGET_FLAGS {
3446 fn bitand_assign(&mut self, other: Self) {
3447 self.0.bitand_assign(other.0)
3448 }
3449 }
3450 impl ::core::ops::Not for WHV_VPCI_INTERRUPT_TARGET_FLAGS {
3451 type Output = Self;
3452 fn not(self) -> Self {
3453 Self(self.0.not())
3454 }
3455 }
3456 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3457 #[repr(transparent)]
3458 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3459 pub struct WHV_VPCI_MMIO_RANGE_FLAGS(pub i32);
3460 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3461 pub const WHvVpciMmioRangeFlagReadAccess: WHV_VPCI_MMIO_RANGE_FLAGS = WHV_VPCI_MMIO_RANGE_FLAGS(1i32);
3462 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3463 pub const WHvVpciMmioRangeFlagWriteAccess: WHV_VPCI_MMIO_RANGE_FLAGS = WHV_VPCI_MMIO_RANGE_FLAGS(2i32);
3464 impl ::core::marker::Copy for WHV_VPCI_MMIO_RANGE_FLAGS {}
3465 impl ::core::clone::Clone for WHV_VPCI_MMIO_RANGE_FLAGS {
3466 fn clone(&self) -> Self {
3467 *self
3468 }
3469 }
3470 impl ::core::default::Default for WHV_VPCI_MMIO_RANGE_FLAGS {
3471 fn default() -> Self {
3472 Self(0)
3473 }
3474 }
3475 impl ::windows::core::TypeKind for WHV_VPCI_MMIO_RANGE_FLAGS {
3476 type TypeKind = ::windows::core::CopyType;
3477 }
3478 impl ::core::fmt::Debug for WHV_VPCI_MMIO_RANGE_FLAGS {
3479 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3480 f.debug_tuple("WHV_VPCI_MMIO_RANGE_FLAGS").field(&self.0).finish()
3481 }
3482 }
3483 impl WHV_VPCI_MMIO_RANGE_FLAGS {
3484 pub const fn contains(&self, other: Self) -> bool {
3485 self.0 & other.0 == other.0
3486 }
3487 }
3488 impl ::core::ops::BitOr for WHV_VPCI_MMIO_RANGE_FLAGS {
3489 type Output = Self;
3490 fn bitor(self, other: Self) -> Self {
3491 Self(self.0 | other.0)
3492 }
3493 }
3494 impl ::core::ops::BitAnd for WHV_VPCI_MMIO_RANGE_FLAGS {
3495 type Output = Self;
3496 fn bitand(self, other: Self) -> Self {
3497 Self(self.0 & other.0)
3498 }
3499 }
3500 impl ::core::ops::BitOrAssign for WHV_VPCI_MMIO_RANGE_FLAGS {
3501 fn bitor_assign(&mut self, other: Self) {
3502 self.0.bitor_assign(other.0)
3503 }
3504 }
3505 impl ::core::ops::BitAndAssign for WHV_VPCI_MMIO_RANGE_FLAGS {
3506 fn bitand_assign(&mut self, other: Self) {
3507 self.0.bitand_assign(other.0)
3508 }
3509 }
3510 impl ::core::ops::Not for WHV_VPCI_MMIO_RANGE_FLAGS {
3511 type Output = Self;
3512 fn not(self) -> Self {
3513 Self(self.0.not())
3514 }
3515 }
3516 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3517 #[repr(transparent)]
3518 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3519 pub struct WHV_X64_APIC_WRITE_TYPE(pub i32);
3520 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3521 pub const WHvX64ApicWriteTypeLdr: WHV_X64_APIC_WRITE_TYPE = WHV_X64_APIC_WRITE_TYPE(208i32);
3522 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3523 pub const WHvX64ApicWriteTypeDfr: WHV_X64_APIC_WRITE_TYPE = WHV_X64_APIC_WRITE_TYPE(224i32);
3524 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3525 pub const WHvX64ApicWriteTypeSvr: WHV_X64_APIC_WRITE_TYPE = WHV_X64_APIC_WRITE_TYPE(240i32);
3526 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3527 pub const WHvX64ApicWriteTypeLint0: WHV_X64_APIC_WRITE_TYPE = WHV_X64_APIC_WRITE_TYPE(848i32);
3528 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3529 pub const WHvX64ApicWriteTypeLint1: WHV_X64_APIC_WRITE_TYPE = WHV_X64_APIC_WRITE_TYPE(864i32);
3530 impl ::core::marker::Copy for WHV_X64_APIC_WRITE_TYPE {}
3531 impl ::core::clone::Clone for WHV_X64_APIC_WRITE_TYPE {
3532 fn clone(&self) -> Self {
3533 *self
3534 }
3535 }
3536 impl ::core::default::Default for WHV_X64_APIC_WRITE_TYPE {
3537 fn default() -> Self {
3538 Self(0)
3539 }
3540 }
3541 impl ::windows::core::TypeKind for WHV_X64_APIC_WRITE_TYPE {
3542 type TypeKind = ::windows::core::CopyType;
3543 }
3544 impl ::core::fmt::Debug for WHV_X64_APIC_WRITE_TYPE {
3545 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3546 f.debug_tuple("WHV_X64_APIC_WRITE_TYPE").field(&self.0).finish()
3547 }
3548 }
3549 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3550 #[repr(transparent)]
3551 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3552 pub struct WHV_X64_CPUID_RESULT2_FLAGS(pub i32);
3553 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3554 pub const WHvX64CpuidResult2FlagSubleafSpecific: WHV_X64_CPUID_RESULT2_FLAGS = WHV_X64_CPUID_RESULT2_FLAGS(1i32);
3555 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3556 pub const WHvX64CpuidResult2FlagVpSpecific: WHV_X64_CPUID_RESULT2_FLAGS = WHV_X64_CPUID_RESULT2_FLAGS(2i32);
3557 impl ::core::marker::Copy for WHV_X64_CPUID_RESULT2_FLAGS {}
3558 impl ::core::clone::Clone for WHV_X64_CPUID_RESULT2_FLAGS {
3559 fn clone(&self) -> Self {
3560 *self
3561 }
3562 }
3563 impl ::core::default::Default for WHV_X64_CPUID_RESULT2_FLAGS {
3564 fn default() -> Self {
3565 Self(0)
3566 }
3567 }
3568 impl ::windows::core::TypeKind for WHV_X64_CPUID_RESULT2_FLAGS {
3569 type TypeKind = ::windows::core::CopyType;
3570 }
3571 impl ::core::fmt::Debug for WHV_X64_CPUID_RESULT2_FLAGS {
3572 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3573 f.debug_tuple("WHV_X64_CPUID_RESULT2_FLAGS").field(&self.0).finish()
3574 }
3575 }
3576 impl WHV_X64_CPUID_RESULT2_FLAGS {
3577 pub const fn contains(&self, other: Self) -> bool {
3578 self.0 & other.0 == other.0
3579 }
3580 }
3581 impl ::core::ops::BitOr for WHV_X64_CPUID_RESULT2_FLAGS {
3582 type Output = Self;
3583 fn bitor(self, other: Self) -> Self {
3584 Self(self.0 | other.0)
3585 }
3586 }
3587 impl ::core::ops::BitAnd for WHV_X64_CPUID_RESULT2_FLAGS {
3588 type Output = Self;
3589 fn bitand(self, other: Self) -> Self {
3590 Self(self.0 & other.0)
3591 }
3592 }
3593 impl ::core::ops::BitOrAssign for WHV_X64_CPUID_RESULT2_FLAGS {
3594 fn bitor_assign(&mut self, other: Self) {
3595 self.0.bitor_assign(other.0)
3596 }
3597 }
3598 impl ::core::ops::BitAndAssign for WHV_X64_CPUID_RESULT2_FLAGS {
3599 fn bitand_assign(&mut self, other: Self) {
3600 self.0.bitand_assign(other.0)
3601 }
3602 }
3603 impl ::core::ops::Not for WHV_X64_CPUID_RESULT2_FLAGS {
3604 type Output = Self;
3605 fn not(self) -> Self {
3606 Self(self.0.not())
3607 }
3608 }
3609 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3610 #[repr(transparent)]
3611 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3612 pub struct WHV_X64_LOCAL_APIC_EMULATION_MODE(pub i32);
3613 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3614 pub const WHvX64LocalApicEmulationModeNone: WHV_X64_LOCAL_APIC_EMULATION_MODE = WHV_X64_LOCAL_APIC_EMULATION_MODE(0i32);
3615 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3616 pub const WHvX64LocalApicEmulationModeXApic: WHV_X64_LOCAL_APIC_EMULATION_MODE = WHV_X64_LOCAL_APIC_EMULATION_MODE(1i32);
3617 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3618 pub const WHvX64LocalApicEmulationModeX2Apic: WHV_X64_LOCAL_APIC_EMULATION_MODE = WHV_X64_LOCAL_APIC_EMULATION_MODE(2i32);
3619 impl ::core::marker::Copy for WHV_X64_LOCAL_APIC_EMULATION_MODE {}
3620 impl ::core::clone::Clone for WHV_X64_LOCAL_APIC_EMULATION_MODE {
3621 fn clone(&self) -> Self {
3622 *self
3623 }
3624 }
3625 impl ::core::default::Default for WHV_X64_LOCAL_APIC_EMULATION_MODE {
3626 fn default() -> Self {
3627 Self(0)
3628 }
3629 }
3630 impl ::windows::core::TypeKind for WHV_X64_LOCAL_APIC_EMULATION_MODE {
3631 type TypeKind = ::windows::core::CopyType;
3632 }
3633 impl ::core::fmt::Debug for WHV_X64_LOCAL_APIC_EMULATION_MODE {
3634 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3635 f.debug_tuple("WHV_X64_LOCAL_APIC_EMULATION_MODE").field(&self.0).finish()
3636 }
3637 }
3638 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3639 #[repr(transparent)]
3640 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3641 pub struct WHV_X64_PENDING_EVENT_TYPE(pub i32);
3642 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3643 pub const WHvX64PendingEventException: WHV_X64_PENDING_EVENT_TYPE = WHV_X64_PENDING_EVENT_TYPE(0i32);
3644 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3645 pub const WHvX64PendingEventExtInt: WHV_X64_PENDING_EVENT_TYPE = WHV_X64_PENDING_EVENT_TYPE(5i32);
3646 impl ::core::marker::Copy for WHV_X64_PENDING_EVENT_TYPE {}
3647 impl ::core::clone::Clone for WHV_X64_PENDING_EVENT_TYPE {
3648 fn clone(&self) -> Self {
3649 *self
3650 }
3651 }
3652 impl ::core::default::Default for WHV_X64_PENDING_EVENT_TYPE {
3653 fn default() -> Self {
3654 Self(0)
3655 }
3656 }
3657 impl ::windows::core::TypeKind for WHV_X64_PENDING_EVENT_TYPE {
3658 type TypeKind = ::windows::core::CopyType;
3659 }
3660 impl ::core::fmt::Debug for WHV_X64_PENDING_EVENT_TYPE {
3661 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3662 f.debug_tuple("WHV_X64_PENDING_EVENT_TYPE").field(&self.0).finish()
3663 }
3664 }
3665 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3666 #[repr(transparent)]
3667 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3668 pub struct WHV_X64_PENDING_INTERRUPTION_TYPE(pub i32);
3669 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3670 pub const WHvX64PendingInterrupt: WHV_X64_PENDING_INTERRUPTION_TYPE = WHV_X64_PENDING_INTERRUPTION_TYPE(0i32);
3671 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3672 pub const WHvX64PendingNmi: WHV_X64_PENDING_INTERRUPTION_TYPE = WHV_X64_PENDING_INTERRUPTION_TYPE(2i32);
3673 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3674 pub const WHvX64PendingException: WHV_X64_PENDING_INTERRUPTION_TYPE = WHV_X64_PENDING_INTERRUPTION_TYPE(3i32);
3675 impl ::core::marker::Copy for WHV_X64_PENDING_INTERRUPTION_TYPE {}
3676 impl ::core::clone::Clone for WHV_X64_PENDING_INTERRUPTION_TYPE {
3677 fn clone(&self) -> Self {
3678 *self
3679 }
3680 }
3681 impl ::core::default::Default for WHV_X64_PENDING_INTERRUPTION_TYPE {
3682 fn default() -> Self {
3683 Self(0)
3684 }
3685 }
3686 impl ::windows::core::TypeKind for WHV_X64_PENDING_INTERRUPTION_TYPE {
3687 type TypeKind = ::windows::core::CopyType;
3688 }
3689 impl ::core::fmt::Debug for WHV_X64_PENDING_INTERRUPTION_TYPE {
3690 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3691 f.debug_tuple("WHV_X64_PENDING_INTERRUPTION_TYPE").field(&self.0).finish()
3692 }
3693 }
3694 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3695 #[repr(transparent)]
3696 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
3697 pub struct WHV_X64_UNSUPPORTED_FEATURE_CODE(pub i32);
3698 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3699 pub const WHvUnsupportedFeatureIntercept: WHV_X64_UNSUPPORTED_FEATURE_CODE = WHV_X64_UNSUPPORTED_FEATURE_CODE(1i32);
3700 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3701 pub const WHvUnsupportedFeatureTaskSwitchTss: WHV_X64_UNSUPPORTED_FEATURE_CODE = WHV_X64_UNSUPPORTED_FEATURE_CODE(2i32);
3702 impl ::core::marker::Copy for WHV_X64_UNSUPPORTED_FEATURE_CODE {}
3703 impl ::core::clone::Clone for WHV_X64_UNSUPPORTED_FEATURE_CODE {
3704 fn clone(&self) -> Self {
3705 *self
3706 }
3707 }
3708 impl ::core::default::Default for WHV_X64_UNSUPPORTED_FEATURE_CODE {
3709 fn default() -> Self {
3710 Self(0)
3711 }
3712 }
3713 impl ::windows::core::TypeKind for WHV_X64_UNSUPPORTED_FEATURE_CODE {
3714 type TypeKind = ::windows::core::CopyType;
3715 }
3716 impl ::core::fmt::Debug for WHV_X64_UNSUPPORTED_FEATURE_CODE {
3717 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3718 f.debug_tuple("WHV_X64_UNSUPPORTED_FEATURE_CODE").field(&self.0).finish()
3719 }
3720 }
3721 #[repr(C)]
3722 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3723 pub struct DOS_IMAGE_INFO {
3724 pub PdbName: ::windows::core::PCSTR,
3725 pub ImageBaseAddress: u64,
3726 pub ImageSize: u32,
3727 pub Timestamp: u32,
3728 }
3729 impl ::core::marker::Copy for DOS_IMAGE_INFO {}
3730 impl ::core::clone::Clone for DOS_IMAGE_INFO {
3731 fn clone(&self) -> Self {
3732 *self
3733 }
3734 }
3735 impl ::core::fmt::Debug for DOS_IMAGE_INFO {
3736 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3737 f.debug_struct("DOS_IMAGE_INFO").field("PdbName", &self.PdbName).field("ImageBaseAddress", &self.ImageBaseAddress).field("ImageSize", &self.ImageSize).field("Timestamp", &self.Timestamp).finish()
3738 }
3739 }
3740 impl ::windows::core::TypeKind for DOS_IMAGE_INFO {
3741 type TypeKind = ::windows::core::CopyType;
3742 }
3743 impl ::core::cmp::PartialEq for DOS_IMAGE_INFO {
3744 fn eq(&self, other: &Self) -> bool {
3745 self.PdbName == other.PdbName && self.ImageBaseAddress == other.ImageBaseAddress && self.ImageSize == other.ImageSize && self.Timestamp == other.Timestamp
3746 }
3747 }
3748 impl ::core::cmp::Eq for DOS_IMAGE_INFO {}
3749 impl ::core::default::Default for DOS_IMAGE_INFO {
3750 fn default() -> Self {
3751 unsafe { ::core::mem::zeroed() }
3752 }
3753 }
3754 #[repr(C)]
3755 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3756 pub struct GPA_MEMORY_CHUNK {
3757 pub GuestPhysicalStartPageIndex: u64,
3758 pub PageCount: u64,
3759 }
3760 impl ::core::marker::Copy for GPA_MEMORY_CHUNK {}
3761 impl ::core::clone::Clone for GPA_MEMORY_CHUNK {
3762 fn clone(&self) -> Self {
3763 *self
3764 }
3765 }
3766 impl ::core::fmt::Debug for GPA_MEMORY_CHUNK {
3767 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3768 f.debug_struct("GPA_MEMORY_CHUNK").field("GuestPhysicalStartPageIndex", &self.GuestPhysicalStartPageIndex).field("PageCount", &self.PageCount).finish()
3769 }
3770 }
3771 impl ::windows::core::TypeKind for GPA_MEMORY_CHUNK {
3772 type TypeKind = ::windows::core::CopyType;
3773 }
3774 impl ::core::cmp::PartialEq for GPA_MEMORY_CHUNK {
3775 fn eq(&self, other: &Self) -> bool {
3776 self.GuestPhysicalStartPageIndex == other.GuestPhysicalStartPageIndex && self.PageCount == other.PageCount
3777 }
3778 }
3779 impl ::core::cmp::Eq for GPA_MEMORY_CHUNK {}
3780 impl ::core::default::Default for GPA_MEMORY_CHUNK {
3781 fn default() -> Self {
3782 unsafe { ::core::mem::zeroed() }
3783 }
3784 }
3785 #[repr(C)]
3786 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3787 pub union GUEST_OS_INFO {
3788 pub AsUINT64: u64,
3789 pub ClosedSource: GUEST_OS_INFO_0,
3790 pub OpenSource: GUEST_OS_INFO_1,
3791 }
3792 impl ::core::marker::Copy for GUEST_OS_INFO {}
3793 impl ::core::clone::Clone for GUEST_OS_INFO {
3794 fn clone(&self) -> Self {
3795 *self
3796 }
3797 }
3798 impl ::windows::core::TypeKind for GUEST_OS_INFO {
3799 type TypeKind = ::windows::core::CopyType;
3800 }
3801 impl ::core::default::Default for GUEST_OS_INFO {
3802 fn default() -> Self {
3803 unsafe { ::core::mem::zeroed() }
3804 }
3805 }
3806 #[repr(C)]
3807 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3808 pub struct GUEST_OS_INFO_0 {
3809 pub _bitfield: u64,
3810 }
3811 impl ::core::marker::Copy for GUEST_OS_INFO_0 {}
3812 impl ::core::clone::Clone for GUEST_OS_INFO_0 {
3813 fn clone(&self) -> Self {
3814 *self
3815 }
3816 }
3817 impl ::core::fmt::Debug for GUEST_OS_INFO_0 {
3818 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3819 f.debug_struct("GUEST_OS_INFO_0").field("_bitfield", &self._bitfield).finish()
3820 }
3821 }
3822 impl ::windows::core::TypeKind for GUEST_OS_INFO_0 {
3823 type TypeKind = ::windows::core::CopyType;
3824 }
3825 impl ::core::cmp::PartialEq for GUEST_OS_INFO_0 {
3826 fn eq(&self, other: &Self) -> bool {
3827 self._bitfield == other._bitfield
3828 }
3829 }
3830 impl ::core::cmp::Eq for GUEST_OS_INFO_0 {}
3831 impl ::core::default::Default for GUEST_OS_INFO_0 {
3832 fn default() -> Self {
3833 unsafe { ::core::mem::zeroed() }
3834 }
3835 }
3836 #[repr(C)]
3837 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3838 pub struct GUEST_OS_INFO_1 {
3839 pub _bitfield: u64,
3840 }
3841 impl ::core::marker::Copy for GUEST_OS_INFO_1 {}
3842 impl ::core::clone::Clone for GUEST_OS_INFO_1 {
3843 fn clone(&self) -> Self {
3844 *self
3845 }
3846 }
3847 impl ::core::fmt::Debug for GUEST_OS_INFO_1 {
3848 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3849 f.debug_struct("GUEST_OS_INFO_1").field("_bitfield", &self._bitfield).finish()
3850 }
3851 }
3852 impl ::windows::core::TypeKind for GUEST_OS_INFO_1 {
3853 type TypeKind = ::windows::core::CopyType;
3854 }
3855 impl ::core::cmp::PartialEq for GUEST_OS_INFO_1 {
3856 fn eq(&self, other: &Self) -> bool {
3857 self._bitfield == other._bitfield
3858 }
3859 }
3860 impl ::core::cmp::Eq for GUEST_OS_INFO_1 {}
3861 impl ::core::default::Default for GUEST_OS_INFO_1 {
3862 fn default() -> Self {
3863 unsafe { ::core::mem::zeroed() }
3864 }
3865 }
3866 #[repr(C)]
3867 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3868 pub struct HDV_PCI_DEVICE_INTERFACE {
3869 pub Version: HDV_PCI_INTERFACE_VERSION,
3870 pub Initialize: HDV_PCI_DEVICE_INITIALIZE,
3871 pub Teardown: HDV_PCI_DEVICE_TEARDOWN,
3872 pub SetConfiguration: HDV_PCI_DEVICE_SET_CONFIGURATION,
3873 pub GetDetails: HDV_PCI_DEVICE_GET_DETAILS,
3874 pub Start: HDV_PCI_DEVICE_START,
3875 pub Stop: HDV_PCI_DEVICE_STOP,
3876 pub ReadConfigSpace: HDV_PCI_READ_CONFIG_SPACE,
3877 pub WriteConfigSpace: HDV_PCI_WRITE_CONFIG_SPACE,
3878 pub ReadInterceptedMemory: HDV_PCI_READ_INTERCEPTED_MEMORY,
3879 pub WriteInterceptedMemory: HDV_PCI_WRITE_INTERCEPTED_MEMORY,
3880 }
3881 impl ::core::marker::Copy for HDV_PCI_DEVICE_INTERFACE {}
3882 impl ::core::clone::Clone for HDV_PCI_DEVICE_INTERFACE {
3883 fn clone(&self) -> Self {
3884 *self
3885 }
3886 }
3887 impl ::core::fmt::Debug for HDV_PCI_DEVICE_INTERFACE {
3888 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3889 f.debug_struct("HDV_PCI_DEVICE_INTERFACE").field("Version", &self.Version).finish()
3890 }
3891 }
3892 impl ::windows::core::TypeKind for HDV_PCI_DEVICE_INTERFACE {
3893 type TypeKind = ::windows::core::CopyType;
3894 }
3895 impl ::core::default::Default for HDV_PCI_DEVICE_INTERFACE {
3896 fn default() -> Self {
3897 unsafe { ::core::mem::zeroed() }
3898 }
3899 }
3900 #[repr(C)]
3901 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3902 pub struct HDV_PCI_PNP_ID {
3903 pub VendorID: u16,
3904 pub DeviceID: u16,
3905 pub RevisionID: u8,
3906 pub ProgIf: u8,
3907 pub SubClass: u8,
3908 pub BaseClass: u8,
3909 pub SubVendorID: u16,
3910 pub SubSystemID: u16,
3911 }
3912 impl ::core::marker::Copy for HDV_PCI_PNP_ID {}
3913 impl ::core::clone::Clone for HDV_PCI_PNP_ID {
3914 fn clone(&self) -> Self {
3915 *self
3916 }
3917 }
3918 impl ::core::fmt::Debug for HDV_PCI_PNP_ID {
3919 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3920 f.debug_struct("HDV_PCI_PNP_ID").field("VendorID", &self.VendorID).field("DeviceID", &self.DeviceID).field("RevisionID", &self.RevisionID).field("ProgIf", &self.ProgIf).field("SubClass", &self.SubClass).field("BaseClass", &self.BaseClass).field("SubVendorID", &self.SubVendorID).field("SubSystemID", &self.SubSystemID).finish()
3921 }
3922 }
3923 impl ::windows::core::TypeKind for HDV_PCI_PNP_ID {
3924 type TypeKind = ::windows::core::CopyType;
3925 }
3926 impl ::core::cmp::PartialEq for HDV_PCI_PNP_ID {
3927 fn eq(&self, other: &Self) -> bool {
3928 self.VendorID == other.VendorID && self.DeviceID == other.DeviceID && self.RevisionID == other.RevisionID && self.ProgIf == other.ProgIf && self.SubClass == other.SubClass && self.BaseClass == other.BaseClass && self.SubVendorID == other.SubVendorID && self.SubSystemID == other.SubSystemID
3929 }
3930 }
3931 impl ::core::cmp::Eq for HDV_PCI_PNP_ID {}
3932 impl ::core::default::Default for HDV_PCI_PNP_ID {
3933 fn default() -> Self {
3934 unsafe { ::core::mem::zeroed() }
3935 }
3936 }
3937 #[repr(C)]
3938 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3939 pub struct HVSOCKET_ADDRESS_INFO {
3940 pub SystemId: ::windows::core::GUID,
3941 pub VirtualMachineId: ::windows::core::GUID,
3942 pub SiloId: ::windows::core::GUID,
3943 pub Flags: u32,
3944 }
3945 impl ::core::marker::Copy for HVSOCKET_ADDRESS_INFO {}
3946 impl ::core::clone::Clone for HVSOCKET_ADDRESS_INFO {
3947 fn clone(&self) -> Self {
3948 *self
3949 }
3950 }
3951 impl ::core::fmt::Debug for HVSOCKET_ADDRESS_INFO {
3952 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3953 f.debug_struct("HVSOCKET_ADDRESS_INFO").field("SystemId", &self.SystemId).field("VirtualMachineId", &self.VirtualMachineId).field("SiloId", &self.SiloId).field("Flags", &self.Flags).finish()
3954 }
3955 }
3956 impl ::windows::core::TypeKind for HVSOCKET_ADDRESS_INFO {
3957 type TypeKind = ::windows::core::CopyType;
3958 }
3959 impl ::core::cmp::PartialEq for HVSOCKET_ADDRESS_INFO {
3960 fn eq(&self, other: &Self) -> bool {
3961 self.SystemId == other.SystemId && self.VirtualMachineId == other.VirtualMachineId && self.SiloId == other.SiloId && self.Flags == other.Flags
3962 }
3963 }
3964 impl ::core::cmp::Eq for HVSOCKET_ADDRESS_INFO {}
3965 impl ::core::default::Default for HVSOCKET_ADDRESS_INFO {
3966 fn default() -> Self {
3967 unsafe { ::core::mem::zeroed() }
3968 }
3969 }
3970 #[repr(C)]
3971 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
3972 pub struct MODULE_INFO {
3973 pub ProcessImageName: ::windows::core::PCSTR,
3974 pub Image: DOS_IMAGE_INFO,
3975 }
3976 impl ::core::marker::Copy for MODULE_INFO {}
3977 impl ::core::clone::Clone for MODULE_INFO {
3978 fn clone(&self) -> Self {
3979 *self
3980 }
3981 }
3982 impl ::core::fmt::Debug for MODULE_INFO {
3983 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3984 f.debug_struct("MODULE_INFO").field("ProcessImageName", &self.ProcessImageName).field("Image", &self.Image).finish()
3985 }
3986 }
3987 impl ::windows::core::TypeKind for MODULE_INFO {
3988 type TypeKind = ::windows::core::CopyType;
3989 }
3990 impl ::core::cmp::PartialEq for MODULE_INFO {
3991 fn eq(&self, other: &Self) -> bool {
3992 self.ProcessImageName == other.ProcessImageName && self.Image == other.Image
3993 }
3994 }
3995 impl ::core::cmp::Eq for MODULE_INFO {}
3996 impl ::core::default::Default for MODULE_INFO {
3997 fn default() -> Self {
3998 unsafe { ::core::mem::zeroed() }
3999 }
4000 }
4001 #[repr(C)]
4002 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`, `\"Win32_Networking_WinSock\"`*"]
4003 #[cfg(feature = "Win32_Networking_WinSock")]
4004 pub struct SOCKADDR_HV {
4005 pub Family: super::super::Networking::WinSock::ADDRESS_FAMILY,
4006 pub Reserved: u16,
4007 pub VmId: ::windows::core::GUID,
4008 pub ServiceId: ::windows::core::GUID,
4009 }
4010 #[cfg(feature = "Win32_Networking_WinSock")]
4011 impl ::core::marker::Copy for SOCKADDR_HV {}
4012 #[cfg(feature = "Win32_Networking_WinSock")]
4013 impl ::core::clone::Clone for SOCKADDR_HV {
4014 fn clone(&self) -> Self {
4015 *self
4016 }
4017 }
4018 #[cfg(feature = "Win32_Networking_WinSock")]
4019 impl ::core::fmt::Debug for SOCKADDR_HV {
4020 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4021 f.debug_struct("SOCKADDR_HV").field("Family", &self.Family).field("Reserved", &self.Reserved).field("VmId", &self.VmId).field("ServiceId", &self.ServiceId).finish()
4022 }
4023 }
4024 #[cfg(feature = "Win32_Networking_WinSock")]
4025 impl ::windows::core::TypeKind for SOCKADDR_HV {
4026 type TypeKind = ::windows::core::CopyType;
4027 }
4028 #[cfg(feature = "Win32_Networking_WinSock")]
4029 impl ::core::cmp::PartialEq for SOCKADDR_HV {
4030 fn eq(&self, other: &Self) -> bool {
4031 self.Family == other.Family && self.Reserved == other.Reserved && self.VmId == other.VmId && self.ServiceId == other.ServiceId
4032 }
4033 }
4034 #[cfg(feature = "Win32_Networking_WinSock")]
4035 impl ::core::cmp::Eq for SOCKADDR_HV {}
4036 #[cfg(feature = "Win32_Networking_WinSock")]
4037 impl ::core::default::Default for SOCKADDR_HV {
4038 fn default() -> Self {
4039 unsafe { ::core::mem::zeroed() }
4040 }
4041 }
4042 #[repr(C)]
4043 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
4044 pub union VIRTUAL_PROCESSOR_REGISTER {
4045 pub Reg64: u64,
4046 pub Reg32: u32,
4047 pub Reg16: u16,
4048 pub Reg8: u8,
4049 pub Reg128: VIRTUAL_PROCESSOR_REGISTER_0,
4050 pub X64: VIRTUAL_PROCESSOR_REGISTER_1,
4051 }
4052 impl ::core::marker::Copy for VIRTUAL_PROCESSOR_REGISTER {}
4053 impl ::core::clone::Clone for VIRTUAL_PROCESSOR_REGISTER {
4054 fn clone(&self) -> Self {
4055 *self
4056 }
4057 }
4058 impl ::windows::core::TypeKind for VIRTUAL_PROCESSOR_REGISTER {
4059 type TypeKind = ::windows::core::CopyType;
4060 }
4061 impl ::core::default::Default for VIRTUAL_PROCESSOR_REGISTER {
4062 fn default() -> Self {
4063 unsafe { ::core::mem::zeroed() }
4064 }
4065 }
4066 #[repr(C)]
4067 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
4068 pub struct VIRTUAL_PROCESSOR_REGISTER_0 {
4069 pub Low64: u64,
4070 pub High64: u64,
4071 }
4072 impl ::core::marker::Copy for VIRTUAL_PROCESSOR_REGISTER_0 {}
4073 impl ::core::clone::Clone for VIRTUAL_PROCESSOR_REGISTER_0 {
4074 fn clone(&self) -> Self {
4075 *self
4076 }
4077 }
4078 impl ::core::fmt::Debug for VIRTUAL_PROCESSOR_REGISTER_0 {
4079 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4080 f.debug_struct("VIRTUAL_PROCESSOR_REGISTER_0").field("Low64", &self.Low64).field("High64", &self.High64).finish()
4081 }
4082 }
4083 impl ::windows::core::TypeKind for VIRTUAL_PROCESSOR_REGISTER_0 {
4084 type TypeKind = ::windows::core::CopyType;
4085 }
4086 impl ::core::cmp::PartialEq for VIRTUAL_PROCESSOR_REGISTER_0 {
4087 fn eq(&self, other: &Self) -> bool {
4088 self.Low64 == other.Low64 && self.High64 == other.High64
4089 }
4090 }
4091 impl ::core::cmp::Eq for VIRTUAL_PROCESSOR_REGISTER_0 {}
4092 impl ::core::default::Default for VIRTUAL_PROCESSOR_REGISTER_0 {
4093 fn default() -> Self {
4094 unsafe { ::core::mem::zeroed() }
4095 }
4096 }
4097 #[repr(C)]
4098 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
4099 pub union VIRTUAL_PROCESSOR_REGISTER_1 {
4100 pub Segment: VIRTUAL_PROCESSOR_REGISTER_1_1,
4101 pub Table: VIRTUAL_PROCESSOR_REGISTER_1_2,
4102 pub FpControlStatus: VIRTUAL_PROCESSOR_REGISTER_1_0,
4103 pub XmmControlStatus: VIRTUAL_PROCESSOR_REGISTER_1_3,
4104 }
4105 impl ::core::marker::Copy for VIRTUAL_PROCESSOR_REGISTER_1 {}
4106 impl ::core::clone::Clone for VIRTUAL_PROCESSOR_REGISTER_1 {
4107 fn clone(&self) -> Self {
4108 *self
4109 }
4110 }
4111 impl ::windows::core::TypeKind for VIRTUAL_PROCESSOR_REGISTER_1 {
4112 type TypeKind = ::windows::core::CopyType;
4113 }
4114 impl ::core::default::Default for VIRTUAL_PROCESSOR_REGISTER_1 {
4115 fn default() -> Self {
4116 unsafe { ::core::mem::zeroed() }
4117 }
4118 }
4119 #[repr(C)]
4120 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
4121 pub struct VIRTUAL_PROCESSOR_REGISTER_1_0 {
4122 pub FpControl: u16,
4123 pub FpStatus: u16,
4124 pub FpTag: u8,
4125 pub Reserved: u8,
4126 pub LastFpOp: u16,
4127 pub Anonymous: VIRTUAL_PROCESSOR_REGISTER_1_0_0,
4128 }
4129 impl ::core::marker::Copy for VIRTUAL_PROCESSOR_REGISTER_1_0 {}
4130 impl ::core::clone::Clone for VIRTUAL_PROCESSOR_REGISTER_1_0 {
4131 fn clone(&self) -> Self {
4132 *self
4133 }
4134 }
4135 impl ::windows::core::TypeKind for VIRTUAL_PROCESSOR_REGISTER_1_0 {
4136 type TypeKind = ::windows::core::CopyType;
4137 }
4138 impl ::core::default::Default for VIRTUAL_PROCESSOR_REGISTER_1_0 {
4139 fn default() -> Self {
4140 unsafe { ::core::mem::zeroed() }
4141 }
4142 }
4143 #[repr(C)]
4144 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
4145 pub union VIRTUAL_PROCESSOR_REGISTER_1_0_0 {
4146 pub LastFpRip: u64,
4147 pub Anonymous: VIRTUAL_PROCESSOR_REGISTER_1_0_0_0,
4148 }
4149 impl ::core::marker::Copy for VIRTUAL_PROCESSOR_REGISTER_1_0_0 {}
4150 impl ::core::clone::Clone for VIRTUAL_PROCESSOR_REGISTER_1_0_0 {
4151 fn clone(&self) -> Self {
4152 *self
4153 }
4154 }
4155 impl ::windows::core::TypeKind for VIRTUAL_PROCESSOR_REGISTER_1_0_0 {
4156 type TypeKind = ::windows::core::CopyType;
4157 }
4158 impl ::core::default::Default for VIRTUAL_PROCESSOR_REGISTER_1_0_0 {
4159 fn default() -> Self {
4160 unsafe { ::core::mem::zeroed() }
4161 }
4162 }
4163 #[repr(C)]
4164 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
4165 pub struct VIRTUAL_PROCESSOR_REGISTER_1_0_0_0 {
4166 pub LastFpEip: u32,
4167 pub LastFpCs: u16,
4168 }
4169 impl ::core::marker::Copy for VIRTUAL_PROCESSOR_REGISTER_1_0_0_0 {}
4170 impl ::core::clone::Clone for VIRTUAL_PROCESSOR_REGISTER_1_0_0_0 {
4171 fn clone(&self) -> Self {
4172 *self
4173 }
4174 }
4175 impl ::core::fmt::Debug for VIRTUAL_PROCESSOR_REGISTER_1_0_0_0 {
4176 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4177 f.debug_struct("VIRTUAL_PROCESSOR_REGISTER_1_0_0_0").field("LastFpEip", &self.LastFpEip).field("LastFpCs", &self.LastFpCs).finish()
4178 }
4179 }
4180 impl ::windows::core::TypeKind for VIRTUAL_PROCESSOR_REGISTER_1_0_0_0 {
4181 type TypeKind = ::windows::core::CopyType;
4182 }
4183 impl ::core::cmp::PartialEq for VIRTUAL_PROCESSOR_REGISTER_1_0_0_0 {
4184 fn eq(&self, other: &Self) -> bool {
4185 self.LastFpEip == other.LastFpEip && self.LastFpCs == other.LastFpCs
4186 }
4187 }
4188 impl ::core::cmp::Eq for VIRTUAL_PROCESSOR_REGISTER_1_0_0_0 {}
4189 impl ::core::default::Default for VIRTUAL_PROCESSOR_REGISTER_1_0_0_0 {
4190 fn default() -> Self {
4191 unsafe { ::core::mem::zeroed() }
4192 }
4193 }
4194 #[repr(C)]
4195 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
4196 pub struct VIRTUAL_PROCESSOR_REGISTER_1_1 {
4197 pub Base: u64,
4198 pub Limit: u32,
4199 pub Selector: u16,
4200 pub Anonymous: VIRTUAL_PROCESSOR_REGISTER_1_1_0,
4201 }
4202 impl ::core::marker::Copy for VIRTUAL_PROCESSOR_REGISTER_1_1 {}
4203 impl ::core::clone::Clone for VIRTUAL_PROCESSOR_REGISTER_1_1 {
4204 fn clone(&self) -> Self {
4205 *self
4206 }
4207 }
4208 impl ::windows::core::TypeKind for VIRTUAL_PROCESSOR_REGISTER_1_1 {
4209 type TypeKind = ::windows::core::CopyType;
4210 }
4211 impl ::core::default::Default for VIRTUAL_PROCESSOR_REGISTER_1_1 {
4212 fn default() -> Self {
4213 unsafe { ::core::mem::zeroed() }
4214 }
4215 }
4216 #[repr(C)]
4217 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
4218 pub union VIRTUAL_PROCESSOR_REGISTER_1_1_0 {
4219 pub Attributes: u16,
4220 pub Anonymous: VIRTUAL_PROCESSOR_REGISTER_1_1_0_0,
4221 }
4222 impl ::core::marker::Copy for VIRTUAL_PROCESSOR_REGISTER_1_1_0 {}
4223 impl ::core::clone::Clone for VIRTUAL_PROCESSOR_REGISTER_1_1_0 {
4224 fn clone(&self) -> Self {
4225 *self
4226 }
4227 }
4228 impl ::windows::core::TypeKind for VIRTUAL_PROCESSOR_REGISTER_1_1_0 {
4229 type TypeKind = ::windows::core::CopyType;
4230 }
4231 impl ::core::default::Default for VIRTUAL_PROCESSOR_REGISTER_1_1_0 {
4232 fn default() -> Self {
4233 unsafe { ::core::mem::zeroed() }
4234 }
4235 }
4236 #[repr(C)]
4237 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
4238 pub struct VIRTUAL_PROCESSOR_REGISTER_1_1_0_0 {
4239 pub _bitfield: u16,
4240 }
4241 impl ::core::marker::Copy for VIRTUAL_PROCESSOR_REGISTER_1_1_0_0 {}
4242 impl ::core::clone::Clone for VIRTUAL_PROCESSOR_REGISTER_1_1_0_0 {
4243 fn clone(&self) -> Self {
4244 *self
4245 }
4246 }
4247 impl ::core::fmt::Debug for VIRTUAL_PROCESSOR_REGISTER_1_1_0_0 {
4248 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4249 f.debug_struct("VIRTUAL_PROCESSOR_REGISTER_1_1_0_0").field("_bitfield", &self._bitfield).finish()
4250 }
4251 }
4252 impl ::windows::core::TypeKind for VIRTUAL_PROCESSOR_REGISTER_1_1_0_0 {
4253 type TypeKind = ::windows::core::CopyType;
4254 }
4255 impl ::core::cmp::PartialEq for VIRTUAL_PROCESSOR_REGISTER_1_1_0_0 {
4256 fn eq(&self, other: &Self) -> bool {
4257 self._bitfield == other._bitfield
4258 }
4259 }
4260 impl ::core::cmp::Eq for VIRTUAL_PROCESSOR_REGISTER_1_1_0_0 {}
4261 impl ::core::default::Default for VIRTUAL_PROCESSOR_REGISTER_1_1_0_0 {
4262 fn default() -> Self {
4263 unsafe { ::core::mem::zeroed() }
4264 }
4265 }
4266 #[repr(C)]
4267 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
4268 pub struct VIRTUAL_PROCESSOR_REGISTER_1_2 {
4269 pub Limit: u16,
4270 pub Base: u64,
4271 }
4272 impl ::core::marker::Copy for VIRTUAL_PROCESSOR_REGISTER_1_2 {}
4273 impl ::core::clone::Clone for VIRTUAL_PROCESSOR_REGISTER_1_2 {
4274 fn clone(&self) -> Self {
4275 *self
4276 }
4277 }
4278 impl ::core::fmt::Debug for VIRTUAL_PROCESSOR_REGISTER_1_2 {
4279 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4280 f.debug_struct("VIRTUAL_PROCESSOR_REGISTER_1_2").field("Limit", &self.Limit).field("Base", &self.Base).finish()
4281 }
4282 }
4283 impl ::windows::core::TypeKind for VIRTUAL_PROCESSOR_REGISTER_1_2 {
4284 type TypeKind = ::windows::core::CopyType;
4285 }
4286 impl ::core::cmp::PartialEq for VIRTUAL_PROCESSOR_REGISTER_1_2 {
4287 fn eq(&self, other: &Self) -> bool {
4288 self.Limit == other.Limit && self.Base == other.Base
4289 }
4290 }
4291 impl ::core::cmp::Eq for VIRTUAL_PROCESSOR_REGISTER_1_2 {}
4292 impl ::core::default::Default for VIRTUAL_PROCESSOR_REGISTER_1_2 {
4293 fn default() -> Self {
4294 unsafe { ::core::mem::zeroed() }
4295 }
4296 }
4297 #[repr(C)]
4298 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
4299 pub struct VIRTUAL_PROCESSOR_REGISTER_1_3 {
4300 pub Anonymous: VIRTUAL_PROCESSOR_REGISTER_1_3_0,
4301 pub XmmStatusControl: u32,
4302 pub XmmStatusControlMask: u32,
4303 }
4304 impl ::core::marker::Copy for VIRTUAL_PROCESSOR_REGISTER_1_3 {}
4305 impl ::core::clone::Clone for VIRTUAL_PROCESSOR_REGISTER_1_3 {
4306 fn clone(&self) -> Self {
4307 *self
4308 }
4309 }
4310 impl ::windows::core::TypeKind for VIRTUAL_PROCESSOR_REGISTER_1_3 {
4311 type TypeKind = ::windows::core::CopyType;
4312 }
4313 impl ::core::default::Default for VIRTUAL_PROCESSOR_REGISTER_1_3 {
4314 fn default() -> Self {
4315 unsafe { ::core::mem::zeroed() }
4316 }
4317 }
4318 #[repr(C)]
4319 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
4320 pub union VIRTUAL_PROCESSOR_REGISTER_1_3_0 {
4321 pub LastFpRdp: u64,
4322 pub Anonymous: VIRTUAL_PROCESSOR_REGISTER_1_3_0_0,
4323 }
4324 impl ::core::marker::Copy for VIRTUAL_PROCESSOR_REGISTER_1_3_0 {}
4325 impl ::core::clone::Clone for VIRTUAL_PROCESSOR_REGISTER_1_3_0 {
4326 fn clone(&self) -> Self {
4327 *self
4328 }
4329 }
4330 impl ::windows::core::TypeKind for VIRTUAL_PROCESSOR_REGISTER_1_3_0 {
4331 type TypeKind = ::windows::core::CopyType;
4332 }
4333 impl ::core::default::Default for VIRTUAL_PROCESSOR_REGISTER_1_3_0 {
4334 fn default() -> Self {
4335 unsafe { ::core::mem::zeroed() }
4336 }
4337 }
4338 #[repr(C)]
4339 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
4340 pub struct VIRTUAL_PROCESSOR_REGISTER_1_3_0_0 {
4341 pub LastFpDp: u32,
4342 pub LastFpDs: u16,
4343 }
4344 impl ::core::marker::Copy for VIRTUAL_PROCESSOR_REGISTER_1_3_0_0 {}
4345 impl ::core::clone::Clone for VIRTUAL_PROCESSOR_REGISTER_1_3_0_0 {
4346 fn clone(&self) -> Self {
4347 *self
4348 }
4349 }
4350 impl ::core::fmt::Debug for VIRTUAL_PROCESSOR_REGISTER_1_3_0_0 {
4351 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4352 f.debug_struct("VIRTUAL_PROCESSOR_REGISTER_1_3_0_0").field("LastFpDp", &self.LastFpDp).field("LastFpDs", &self.LastFpDs).finish()
4353 }
4354 }
4355 impl ::windows::core::TypeKind for VIRTUAL_PROCESSOR_REGISTER_1_3_0_0 {
4356 type TypeKind = ::windows::core::CopyType;
4357 }
4358 impl ::core::cmp::PartialEq for VIRTUAL_PROCESSOR_REGISTER_1_3_0_0 {
4359 fn eq(&self, other: &Self) -> bool {
4360 self.LastFpDp == other.LastFpDp && self.LastFpDs == other.LastFpDs
4361 }
4362 }
4363 impl ::core::cmp::Eq for VIRTUAL_PROCESSOR_REGISTER_1_3_0_0 {}
4364 impl ::core::default::Default for VIRTUAL_PROCESSOR_REGISTER_1_3_0_0 {
4365 fn default() -> Self {
4366 unsafe { ::core::mem::zeroed() }
4367 }
4368 }
4369 #[repr(C)]
4370 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
4371 pub struct VM_GENCOUNTER {
4372 pub GenerationCount: u64,
4373 pub GenerationCountHigh: u64,
4374 }
4375 impl ::core::marker::Copy for VM_GENCOUNTER {}
4376 impl ::core::clone::Clone for VM_GENCOUNTER {
4377 fn clone(&self) -> Self {
4378 *self
4379 }
4380 }
4381 impl ::core::fmt::Debug for VM_GENCOUNTER {
4382 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4383 f.debug_struct("VM_GENCOUNTER").field("GenerationCount", &self.GenerationCount).field("GenerationCountHigh", &self.GenerationCountHigh).finish()
4384 }
4385 }
4386 impl ::windows::core::TypeKind for VM_GENCOUNTER {
4387 type TypeKind = ::windows::core::CopyType;
4388 }
4389 impl ::core::cmp::PartialEq for VM_GENCOUNTER {
4390 fn eq(&self, other: &Self) -> bool {
4391 self.GenerationCount == other.GenerationCount && self.GenerationCountHigh == other.GenerationCountHigh
4392 }
4393 }
4394 impl ::core::cmp::Eq for VM_GENCOUNTER {}
4395 impl ::core::default::Default for VM_GENCOUNTER {
4396 fn default() -> Self {
4397 unsafe { ::core::mem::zeroed() }
4398 }
4399 }
4400 #[repr(C)]
4401 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
4402 pub union WHV_ACCESS_GPA_CONTROLS {
4403 pub AsUINT64: u64,
4404 pub Anonymous: WHV_ACCESS_GPA_CONTROLS_0,
4405 }
4406 impl ::core::marker::Copy for WHV_ACCESS_GPA_CONTROLS {}
4407 impl ::core::clone::Clone for WHV_ACCESS_GPA_CONTROLS {
4408 fn clone(&self) -> Self {
4409 *self
4410 }
4411 }
4412 impl ::windows::core::TypeKind for WHV_ACCESS_GPA_CONTROLS {
4413 type TypeKind = ::windows::core::CopyType;
4414 }
4415 impl ::core::default::Default for WHV_ACCESS_GPA_CONTROLS {
4416 fn default() -> Self {
4417 unsafe { ::core::mem::zeroed() }
4418 }
4419 }
4420 #[repr(C)]
4421 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
4422 pub struct WHV_ACCESS_GPA_CONTROLS_0 {
4423 pub CacheType: WHV_CACHE_TYPE,
4424 pub Reserved: u32,
4425 }
4426 impl ::core::marker::Copy for WHV_ACCESS_GPA_CONTROLS_0 {}
4427 impl ::core::clone::Clone for WHV_ACCESS_GPA_CONTROLS_0 {
4428 fn clone(&self) -> Self {
4429 *self
4430 }
4431 }
4432 impl ::core::fmt::Debug for WHV_ACCESS_GPA_CONTROLS_0 {
4433 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4434 f.debug_struct("WHV_ACCESS_GPA_CONTROLS_0").field("CacheType", &self.CacheType).field("Reserved", &self.Reserved).finish()
4435 }
4436 }
4437 impl ::windows::core::TypeKind for WHV_ACCESS_GPA_CONTROLS_0 {
4438 type TypeKind = ::windows::core::CopyType;
4439 }
4440 impl ::core::cmp::PartialEq for WHV_ACCESS_GPA_CONTROLS_0 {
4441 fn eq(&self, other: &Self) -> bool {
4442 self.CacheType == other.CacheType && self.Reserved == other.Reserved
4443 }
4444 }
4445 impl ::core::cmp::Eq for WHV_ACCESS_GPA_CONTROLS_0 {}
4446 impl ::core::default::Default for WHV_ACCESS_GPA_CONTROLS_0 {
4447 fn default() -> Self {
4448 unsafe { ::core::mem::zeroed() }
4449 }
4450 }
4451 #[repr(C)]
4452 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
4453 pub union WHV_ADVISE_GPA_RANGE {
4454 pub Populate: WHV_ADVISE_GPA_RANGE_POPULATE,
4455 }
4456 impl ::core::marker::Copy for WHV_ADVISE_GPA_RANGE {}
4457 impl ::core::clone::Clone for WHV_ADVISE_GPA_RANGE {
4458 fn clone(&self) -> Self {
4459 *self
4460 }
4461 }
4462 impl ::windows::core::TypeKind for WHV_ADVISE_GPA_RANGE {
4463 type TypeKind = ::windows::core::CopyType;
4464 }
4465 impl ::core::default::Default for WHV_ADVISE_GPA_RANGE {
4466 fn default() -> Self {
4467 unsafe { ::core::mem::zeroed() }
4468 }
4469 }
4470 #[repr(C)]
4471 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
4472 pub struct WHV_ADVISE_GPA_RANGE_POPULATE {
4473 pub Flags: WHV_ADVISE_GPA_RANGE_POPULATE_FLAGS,
4474 pub AccessType: WHV_MEMORY_ACCESS_TYPE,
4475 }
4476 impl ::core::marker::Copy for WHV_ADVISE_GPA_RANGE_POPULATE {}
4477 impl ::core::clone::Clone for WHV_ADVISE_GPA_RANGE_POPULATE {
4478 fn clone(&self) -> Self {
4479 *self
4480 }
4481 }
4482 impl ::windows::core::TypeKind for WHV_ADVISE_GPA_RANGE_POPULATE {
4483 type TypeKind = ::windows::core::CopyType;
4484 }
4485 impl ::core::default::Default for WHV_ADVISE_GPA_RANGE_POPULATE {
4486 fn default() -> Self {
4487 unsafe { ::core::mem::zeroed() }
4488 }
4489 }
4490 #[repr(C)]
4491 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
4492 pub union WHV_ADVISE_GPA_RANGE_POPULATE_FLAGS {
4493 pub AsUINT32: u32,
4494 pub Anonymous: WHV_ADVISE_GPA_RANGE_POPULATE_FLAGS_0,
4495 }
4496 impl ::core::marker::Copy for WHV_ADVISE_GPA_RANGE_POPULATE_FLAGS {}
4497 impl ::core::clone::Clone for WHV_ADVISE_GPA_RANGE_POPULATE_FLAGS {
4498 fn clone(&self) -> Self {
4499 *self
4500 }
4501 }
4502 impl ::windows::core::TypeKind for WHV_ADVISE_GPA_RANGE_POPULATE_FLAGS {
4503 type TypeKind = ::windows::core::CopyType;
4504 }
4505 impl ::core::default::Default for WHV_ADVISE_GPA_RANGE_POPULATE_FLAGS {
4506 fn default() -> Self {
4507 unsafe { ::core::mem::zeroed() }
4508 }
4509 }
4510 #[repr(C)]
4511 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
4512 pub struct WHV_ADVISE_GPA_RANGE_POPULATE_FLAGS_0 {
4513 pub _bitfield: u32,
4514 }
4515 impl ::core::marker::Copy for WHV_ADVISE_GPA_RANGE_POPULATE_FLAGS_0 {}
4516 impl ::core::clone::Clone for WHV_ADVISE_GPA_RANGE_POPULATE_FLAGS_0 {
4517 fn clone(&self) -> Self {
4518 *self
4519 }
4520 }
4521 impl ::core::fmt::Debug for WHV_ADVISE_GPA_RANGE_POPULATE_FLAGS_0 {
4522 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4523 f.debug_struct("WHV_ADVISE_GPA_RANGE_POPULATE_FLAGS_0").field("_bitfield", &self._bitfield).finish()
4524 }
4525 }
4526 impl ::windows::core::TypeKind for WHV_ADVISE_GPA_RANGE_POPULATE_FLAGS_0 {
4527 type TypeKind = ::windows::core::CopyType;
4528 }
4529 impl ::core::cmp::PartialEq for WHV_ADVISE_GPA_RANGE_POPULATE_FLAGS_0 {
4530 fn eq(&self, other: &Self) -> bool {
4531 self._bitfield == other._bitfield
4532 }
4533 }
4534 impl ::core::cmp::Eq for WHV_ADVISE_GPA_RANGE_POPULATE_FLAGS_0 {}
4535 impl ::core::default::Default for WHV_ADVISE_GPA_RANGE_POPULATE_FLAGS_0 {
4536 fn default() -> Self {
4537 unsafe { ::core::mem::zeroed() }
4538 }
4539 }
4540 #[repr(C)]
4541 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`, `\"Win32_Foundation\"`*"]
4542 #[cfg(feature = "Win32_Foundation")]
4543 pub union WHV_CAPABILITY {
4544 pub HypervisorPresent: super::super::Foundation::BOOL,
4545 pub Features: WHV_CAPABILITY_FEATURES,
4546 pub ExtendedVmExits: WHV_EXTENDED_VM_EXITS,
4547 pub ProcessorVendor: WHV_PROCESSOR_VENDOR,
4548 pub ProcessorFeatures: WHV_PROCESSOR_FEATURES,
4549 pub SyntheticProcessorFeaturesBanks: WHV_SYNTHETIC_PROCESSOR_FEATURES_BANKS,
4550 pub ProcessorXsaveFeatures: WHV_PROCESSOR_XSAVE_FEATURES,
4551 pub ProcessorClFlushSize: u8,
4552 pub ExceptionExitBitmap: u64,
4553 pub X64MsrExitBitmap: WHV_X64_MSR_EXIT_BITMAP,
4554 pub ProcessorClockFrequency: u64,
4555 pub InterruptClockFrequency: u64,
4556 pub ProcessorFeaturesBanks: WHV_PROCESSOR_FEATURES_BANKS,
4557 pub GpaRangePopulateFlags: WHV_ADVISE_GPA_RANGE_POPULATE_FLAGS,
4558 pub ProcessorFrequencyCap: WHV_CAPABILITY_PROCESSOR_FREQUENCY_CAP,
4559 pub ProcessorPerfmonFeatures: WHV_PROCESSOR_PERFMON_FEATURES,
4560 pub SchedulerFeatures: WHV_SCHEDULER_FEATURES,
4561 }
4562 #[cfg(feature = "Win32_Foundation")]
4563 impl ::core::marker::Copy for WHV_CAPABILITY {}
4564 #[cfg(feature = "Win32_Foundation")]
4565 impl ::core::clone::Clone for WHV_CAPABILITY {
4566 fn clone(&self) -> Self {
4567 *self
4568 }
4569 }
4570 #[cfg(feature = "Win32_Foundation")]
4571 impl ::windows::core::TypeKind for WHV_CAPABILITY {
4572 type TypeKind = ::windows::core::CopyType;
4573 }
4574 #[cfg(feature = "Win32_Foundation")]
4575 impl ::core::default::Default for WHV_CAPABILITY {
4576 fn default() -> Self {
4577 unsafe { ::core::mem::zeroed() }
4578 }
4579 }
4580 #[repr(C)]
4581 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
4582 pub union WHV_CAPABILITY_FEATURES {
4583 pub Anonymous: WHV_CAPABILITY_FEATURES_0,
4584 pub AsUINT64: u64,
4585 }
4586 impl ::core::marker::Copy for WHV_CAPABILITY_FEATURES {}
4587 impl ::core::clone::Clone for WHV_CAPABILITY_FEATURES {
4588 fn clone(&self) -> Self {
4589 *self
4590 }
4591 }
4592 impl ::windows::core::TypeKind for WHV_CAPABILITY_FEATURES {
4593 type TypeKind = ::windows::core::CopyType;
4594 }
4595 impl ::core::default::Default for WHV_CAPABILITY_FEATURES {
4596 fn default() -> Self {
4597 unsafe { ::core::mem::zeroed() }
4598 }
4599 }
4600 #[repr(C)]
4601 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
4602 pub struct WHV_CAPABILITY_FEATURES_0 {
4603 pub _bitfield: u64,
4604 }
4605 impl ::core::marker::Copy for WHV_CAPABILITY_FEATURES_0 {}
4606 impl ::core::clone::Clone for WHV_CAPABILITY_FEATURES_0 {
4607 fn clone(&self) -> Self {
4608 *self
4609 }
4610 }
4611 impl ::core::fmt::Debug for WHV_CAPABILITY_FEATURES_0 {
4612 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4613 f.debug_struct("WHV_CAPABILITY_FEATURES_0").field("_bitfield", &self._bitfield).finish()
4614 }
4615 }
4616 impl ::windows::core::TypeKind for WHV_CAPABILITY_FEATURES_0 {
4617 type TypeKind = ::windows::core::CopyType;
4618 }
4619 impl ::core::cmp::PartialEq for WHV_CAPABILITY_FEATURES_0 {
4620 fn eq(&self, other: &Self) -> bool {
4621 self._bitfield == other._bitfield
4622 }
4623 }
4624 impl ::core::cmp::Eq for WHV_CAPABILITY_FEATURES_0 {}
4625 impl ::core::default::Default for WHV_CAPABILITY_FEATURES_0 {
4626 fn default() -> Self {
4627 unsafe { ::core::mem::zeroed() }
4628 }
4629 }
4630 #[repr(C)]
4631 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
4632 pub struct WHV_CAPABILITY_PROCESSOR_FREQUENCY_CAP {
4633 pub _bitfield: u32,
4634 pub HighestFrequencyMhz: u32,
4635 pub NominalFrequencyMhz: u32,
4636 pub LowestFrequencyMhz: u32,
4637 pub FrequencyStepMhz: u32,
4638 }
4639 impl ::core::marker::Copy for WHV_CAPABILITY_PROCESSOR_FREQUENCY_CAP {}
4640 impl ::core::clone::Clone for WHV_CAPABILITY_PROCESSOR_FREQUENCY_CAP {
4641 fn clone(&self) -> Self {
4642 *self
4643 }
4644 }
4645 impl ::core::fmt::Debug for WHV_CAPABILITY_PROCESSOR_FREQUENCY_CAP {
4646 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4647 f.debug_struct("WHV_CAPABILITY_PROCESSOR_FREQUENCY_CAP").field("_bitfield", &self._bitfield).field("HighestFrequencyMhz", &self.HighestFrequencyMhz).field("NominalFrequencyMhz", &self.NominalFrequencyMhz).field("LowestFrequencyMhz", &self.LowestFrequencyMhz).field("FrequencyStepMhz", &self.FrequencyStepMhz).finish()
4648 }
4649 }
4650 impl ::windows::core::TypeKind for WHV_CAPABILITY_PROCESSOR_FREQUENCY_CAP {
4651 type TypeKind = ::windows::core::CopyType;
4652 }
4653 impl ::core::cmp::PartialEq for WHV_CAPABILITY_PROCESSOR_FREQUENCY_CAP {
4654 fn eq(&self, other: &Self) -> bool {
4655 self._bitfield == other._bitfield && self.HighestFrequencyMhz == other.HighestFrequencyMhz && self.NominalFrequencyMhz == other.NominalFrequencyMhz && self.LowestFrequencyMhz == other.LowestFrequencyMhz && self.FrequencyStepMhz == other.FrequencyStepMhz
4656 }
4657 }
4658 impl ::core::cmp::Eq for WHV_CAPABILITY_PROCESSOR_FREQUENCY_CAP {}
4659 impl ::core::default::Default for WHV_CAPABILITY_PROCESSOR_FREQUENCY_CAP {
4660 fn default() -> Self {
4661 unsafe { ::core::mem::zeroed() }
4662 }
4663 }
4664 #[repr(C)]
4665 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
4666 pub struct WHV_CPUID_OUTPUT {
4667 pub Eax: u32,
4668 pub Ebx: u32,
4669 pub Ecx: u32,
4670 pub Edx: u32,
4671 }
4672 impl ::core::marker::Copy for WHV_CPUID_OUTPUT {}
4673 impl ::core::clone::Clone for WHV_CPUID_OUTPUT {
4674 fn clone(&self) -> Self {
4675 *self
4676 }
4677 }
4678 impl ::core::fmt::Debug for WHV_CPUID_OUTPUT {
4679 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4680 f.debug_struct("WHV_CPUID_OUTPUT").field("Eax", &self.Eax).field("Ebx", &self.Ebx).field("Ecx", &self.Ecx).field("Edx", &self.Edx).finish()
4681 }
4682 }
4683 impl ::windows::core::TypeKind for WHV_CPUID_OUTPUT {
4684 type TypeKind = ::windows::core::CopyType;
4685 }
4686 impl ::core::cmp::PartialEq for WHV_CPUID_OUTPUT {
4687 fn eq(&self, other: &Self) -> bool {
4688 self.Eax == other.Eax && self.Ebx == other.Ebx && self.Ecx == other.Ecx && self.Edx == other.Edx
4689 }
4690 }
4691 impl ::core::cmp::Eq for WHV_CPUID_OUTPUT {}
4692 impl ::core::default::Default for WHV_CPUID_OUTPUT {
4693 fn default() -> Self {
4694 unsafe { ::core::mem::zeroed() }
4695 }
4696 }
4697 #[repr(C)]
4698 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
4699 pub struct WHV_DOORBELL_MATCH_DATA {
4700 pub GuestAddress: u64,
4701 pub Value: u64,
4702 pub Length: u32,
4703 pub _bitfield: u32,
4704 }
4705 impl ::core::marker::Copy for WHV_DOORBELL_MATCH_DATA {}
4706 impl ::core::clone::Clone for WHV_DOORBELL_MATCH_DATA {
4707 fn clone(&self) -> Self {
4708 *self
4709 }
4710 }
4711 impl ::core::fmt::Debug for WHV_DOORBELL_MATCH_DATA {
4712 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4713 f.debug_struct("WHV_DOORBELL_MATCH_DATA").field("GuestAddress", &self.GuestAddress).field("Value", &self.Value).field("Length", &self.Length).field("_bitfield", &self._bitfield).finish()
4714 }
4715 }
4716 impl ::windows::core::TypeKind for WHV_DOORBELL_MATCH_DATA {
4717 type TypeKind = ::windows::core::CopyType;
4718 }
4719 impl ::core::cmp::PartialEq for WHV_DOORBELL_MATCH_DATA {
4720 fn eq(&self, other: &Self) -> bool {
4721 self.GuestAddress == other.GuestAddress && self.Value == other.Value && self.Length == other.Length && self._bitfield == other._bitfield
4722 }
4723 }
4724 impl ::core::cmp::Eq for WHV_DOORBELL_MATCH_DATA {}
4725 impl ::core::default::Default for WHV_DOORBELL_MATCH_DATA {
4726 fn default() -> Self {
4727 unsafe { ::core::mem::zeroed() }
4728 }
4729 }
4730 #[repr(C)]
4731 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
4732 pub struct WHV_EMULATOR_CALLBACKS {
4733 pub Size: u32,
4734 pub Reserved: u32,
4735 pub WHvEmulatorIoPortCallback: WHV_EMULATOR_IO_PORT_CALLBACK,
4736 pub WHvEmulatorMemoryCallback: WHV_EMULATOR_MEMORY_CALLBACK,
4737 pub WHvEmulatorGetVirtualProcessorRegisters: WHV_EMULATOR_GET_VIRTUAL_PROCESSOR_REGISTERS_CALLBACK,
4738 pub WHvEmulatorSetVirtualProcessorRegisters: WHV_EMULATOR_SET_VIRTUAL_PROCESSOR_REGISTERS_CALLBACK,
4739 pub WHvEmulatorTranslateGvaPage: WHV_EMULATOR_TRANSLATE_GVA_PAGE_CALLBACK,
4740 }
4741 impl ::core::marker::Copy for WHV_EMULATOR_CALLBACKS {}
4742 impl ::core::clone::Clone for WHV_EMULATOR_CALLBACKS {
4743 fn clone(&self) -> Self {
4744 *self
4745 }
4746 }
4747 impl ::core::fmt::Debug for WHV_EMULATOR_CALLBACKS {
4748 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4749 f.debug_struct("WHV_EMULATOR_CALLBACKS").field("Size", &self.Size).field("Reserved", &self.Reserved).finish()
4750 }
4751 }
4752 impl ::windows::core::TypeKind for WHV_EMULATOR_CALLBACKS {
4753 type TypeKind = ::windows::core::CopyType;
4754 }
4755 impl ::core::default::Default for WHV_EMULATOR_CALLBACKS {
4756 fn default() -> Self {
4757 unsafe { ::core::mem::zeroed() }
4758 }
4759 }
4760 #[repr(C)]
4761 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
4762 pub struct WHV_EMULATOR_IO_ACCESS_INFO {
4763 pub Direction: u8,
4764 pub Port: u16,
4765 pub AccessSize: u16,
4766 pub Data: u32,
4767 }
4768 impl ::core::marker::Copy for WHV_EMULATOR_IO_ACCESS_INFO {}
4769 impl ::core::clone::Clone for WHV_EMULATOR_IO_ACCESS_INFO {
4770 fn clone(&self) -> Self {
4771 *self
4772 }
4773 }
4774 impl ::core::fmt::Debug for WHV_EMULATOR_IO_ACCESS_INFO {
4775 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4776 f.debug_struct("WHV_EMULATOR_IO_ACCESS_INFO").field("Direction", &self.Direction).field("Port", &self.Port).field("AccessSize", &self.AccessSize).field("Data", &self.Data).finish()
4777 }
4778 }
4779 impl ::windows::core::TypeKind for WHV_EMULATOR_IO_ACCESS_INFO {
4780 type TypeKind = ::windows::core::CopyType;
4781 }
4782 impl ::core::cmp::PartialEq for WHV_EMULATOR_IO_ACCESS_INFO {
4783 fn eq(&self, other: &Self) -> bool {
4784 self.Direction == other.Direction && self.Port == other.Port && self.AccessSize == other.AccessSize && self.Data == other.Data
4785 }
4786 }
4787 impl ::core::cmp::Eq for WHV_EMULATOR_IO_ACCESS_INFO {}
4788 impl ::core::default::Default for WHV_EMULATOR_IO_ACCESS_INFO {
4789 fn default() -> Self {
4790 unsafe { ::core::mem::zeroed() }
4791 }
4792 }
4793 #[repr(C)]
4794 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
4795 pub struct WHV_EMULATOR_MEMORY_ACCESS_INFO {
4796 pub GpaAddress: u64,
4797 pub Direction: u8,
4798 pub AccessSize: u8,
4799 pub Data: [u8; 8],
4800 }
4801 impl ::core::marker::Copy for WHV_EMULATOR_MEMORY_ACCESS_INFO {}
4802 impl ::core::clone::Clone for WHV_EMULATOR_MEMORY_ACCESS_INFO {
4803 fn clone(&self) -> Self {
4804 *self
4805 }
4806 }
4807 impl ::core::fmt::Debug for WHV_EMULATOR_MEMORY_ACCESS_INFO {
4808 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4809 f.debug_struct("WHV_EMULATOR_MEMORY_ACCESS_INFO").field("GpaAddress", &self.GpaAddress).field("Direction", &self.Direction).field("AccessSize", &self.AccessSize).field("Data", &self.Data).finish()
4810 }
4811 }
4812 impl ::windows::core::TypeKind for WHV_EMULATOR_MEMORY_ACCESS_INFO {
4813 type TypeKind = ::windows::core::CopyType;
4814 }
4815 impl ::core::cmp::PartialEq for WHV_EMULATOR_MEMORY_ACCESS_INFO {
4816 fn eq(&self, other: &Self) -> bool {
4817 self.GpaAddress == other.GpaAddress && self.Direction == other.Direction && self.AccessSize == other.AccessSize && self.Data == other.Data
4818 }
4819 }
4820 impl ::core::cmp::Eq for WHV_EMULATOR_MEMORY_ACCESS_INFO {}
4821 impl ::core::default::Default for WHV_EMULATOR_MEMORY_ACCESS_INFO {
4822 fn default() -> Self {
4823 unsafe { ::core::mem::zeroed() }
4824 }
4825 }
4826 #[repr(C)]
4827 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
4828 pub union WHV_EMULATOR_STATUS {
4829 pub Anonymous: WHV_EMULATOR_STATUS_0,
4830 pub AsUINT32: u32,
4831 }
4832 impl ::core::marker::Copy for WHV_EMULATOR_STATUS {}
4833 impl ::core::clone::Clone for WHV_EMULATOR_STATUS {
4834 fn clone(&self) -> Self {
4835 *self
4836 }
4837 }
4838 impl ::windows::core::TypeKind for WHV_EMULATOR_STATUS {
4839 type TypeKind = ::windows::core::CopyType;
4840 }
4841 impl ::core::default::Default for WHV_EMULATOR_STATUS {
4842 fn default() -> Self {
4843 unsafe { ::core::mem::zeroed() }
4844 }
4845 }
4846 #[repr(C)]
4847 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
4848 pub struct WHV_EMULATOR_STATUS_0 {
4849 pub _bitfield: u32,
4850 }
4851 impl ::core::marker::Copy for WHV_EMULATOR_STATUS_0 {}
4852 impl ::core::clone::Clone for WHV_EMULATOR_STATUS_0 {
4853 fn clone(&self) -> Self {
4854 *self
4855 }
4856 }
4857 impl ::core::fmt::Debug for WHV_EMULATOR_STATUS_0 {
4858 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4859 f.debug_struct("WHV_EMULATOR_STATUS_0").field("_bitfield", &self._bitfield).finish()
4860 }
4861 }
4862 impl ::windows::core::TypeKind for WHV_EMULATOR_STATUS_0 {
4863 type TypeKind = ::windows::core::CopyType;
4864 }
4865 impl ::core::cmp::PartialEq for WHV_EMULATOR_STATUS_0 {
4866 fn eq(&self, other: &Self) -> bool {
4867 self._bitfield == other._bitfield
4868 }
4869 }
4870 impl ::core::cmp::Eq for WHV_EMULATOR_STATUS_0 {}
4871 impl ::core::default::Default for WHV_EMULATOR_STATUS_0 {
4872 fn default() -> Self {
4873 unsafe { ::core::mem::zeroed() }
4874 }
4875 }
4876 #[repr(C)]
4877 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
4878 pub union WHV_EXTENDED_VM_EXITS {
4879 pub Anonymous: WHV_EXTENDED_VM_EXITS_0,
4880 pub AsUINT64: u64,
4881 }
4882 impl ::core::marker::Copy for WHV_EXTENDED_VM_EXITS {}
4883 impl ::core::clone::Clone for WHV_EXTENDED_VM_EXITS {
4884 fn clone(&self) -> Self {
4885 *self
4886 }
4887 }
4888 impl ::windows::core::TypeKind for WHV_EXTENDED_VM_EXITS {
4889 type TypeKind = ::windows::core::CopyType;
4890 }
4891 impl ::core::default::Default for WHV_EXTENDED_VM_EXITS {
4892 fn default() -> Self {
4893 unsafe { ::core::mem::zeroed() }
4894 }
4895 }
4896 #[repr(C)]
4897 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
4898 pub struct WHV_EXTENDED_VM_EXITS_0 {
4899 pub _bitfield: u64,
4900 }
4901 impl ::core::marker::Copy for WHV_EXTENDED_VM_EXITS_0 {}
4902 impl ::core::clone::Clone for WHV_EXTENDED_VM_EXITS_0 {
4903 fn clone(&self) -> Self {
4904 *self
4905 }
4906 }
4907 impl ::core::fmt::Debug for WHV_EXTENDED_VM_EXITS_0 {
4908 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4909 f.debug_struct("WHV_EXTENDED_VM_EXITS_0").field("_bitfield", &self._bitfield).finish()
4910 }
4911 }
4912 impl ::windows::core::TypeKind for WHV_EXTENDED_VM_EXITS_0 {
4913 type TypeKind = ::windows::core::CopyType;
4914 }
4915 impl ::core::cmp::PartialEq for WHV_EXTENDED_VM_EXITS_0 {
4916 fn eq(&self, other: &Self) -> bool {
4917 self._bitfield == other._bitfield
4918 }
4919 }
4920 impl ::core::cmp::Eq for WHV_EXTENDED_VM_EXITS_0 {}
4921 impl ::core::default::Default for WHV_EXTENDED_VM_EXITS_0 {
4922 fn default() -> Self {
4923 unsafe { ::core::mem::zeroed() }
4924 }
4925 }
4926 #[repr(C)]
4927 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
4928 pub struct WHV_HYPERCALL_CONTEXT {
4929 pub Rax: u64,
4930 pub Rbx: u64,
4931 pub Rcx: u64,
4932 pub Rdx: u64,
4933 pub R8: u64,
4934 pub Rsi: u64,
4935 pub Rdi: u64,
4936 pub Reserved0: u64,
4937 pub XmmRegisters: [WHV_UINT128; 6],
4938 pub Reserved1: [u64; 2],
4939 }
4940 impl ::core::marker::Copy for WHV_HYPERCALL_CONTEXT {}
4941 impl ::core::clone::Clone for WHV_HYPERCALL_CONTEXT {
4942 fn clone(&self) -> Self {
4943 *self
4944 }
4945 }
4946 impl ::windows::core::TypeKind for WHV_HYPERCALL_CONTEXT {
4947 type TypeKind = ::windows::core::CopyType;
4948 }
4949 impl ::core::default::Default for WHV_HYPERCALL_CONTEXT {
4950 fn default() -> Self {
4951 unsafe { ::core::mem::zeroed() }
4952 }
4953 }
4954 #[repr(C)]
4955 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
4956 pub union WHV_INTERNAL_ACTIVITY_REGISTER {
4957 pub Anonymous: WHV_INTERNAL_ACTIVITY_REGISTER_0,
4958 pub AsUINT64: u64,
4959 }
4960 impl ::core::marker::Copy for WHV_INTERNAL_ACTIVITY_REGISTER {}
4961 impl ::core::clone::Clone for WHV_INTERNAL_ACTIVITY_REGISTER {
4962 fn clone(&self) -> Self {
4963 *self
4964 }
4965 }
4966 impl ::windows::core::TypeKind for WHV_INTERNAL_ACTIVITY_REGISTER {
4967 type TypeKind = ::windows::core::CopyType;
4968 }
4969 impl ::core::default::Default for WHV_INTERNAL_ACTIVITY_REGISTER {
4970 fn default() -> Self {
4971 unsafe { ::core::mem::zeroed() }
4972 }
4973 }
4974 #[repr(C)]
4975 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
4976 pub struct WHV_INTERNAL_ACTIVITY_REGISTER_0 {
4977 pub _bitfield: u64,
4978 }
4979 impl ::core::marker::Copy for WHV_INTERNAL_ACTIVITY_REGISTER_0 {}
4980 impl ::core::clone::Clone for WHV_INTERNAL_ACTIVITY_REGISTER_0 {
4981 fn clone(&self) -> Self {
4982 *self
4983 }
4984 }
4985 impl ::core::fmt::Debug for WHV_INTERNAL_ACTIVITY_REGISTER_0 {
4986 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4987 f.debug_struct("WHV_INTERNAL_ACTIVITY_REGISTER_0").field("_bitfield", &self._bitfield).finish()
4988 }
4989 }
4990 impl ::windows::core::TypeKind for WHV_INTERNAL_ACTIVITY_REGISTER_0 {
4991 type TypeKind = ::windows::core::CopyType;
4992 }
4993 impl ::core::cmp::PartialEq for WHV_INTERNAL_ACTIVITY_REGISTER_0 {
4994 fn eq(&self, other: &Self) -> bool {
4995 self._bitfield == other._bitfield
4996 }
4997 }
4998 impl ::core::cmp::Eq for WHV_INTERNAL_ACTIVITY_REGISTER_0 {}
4999 impl ::core::default::Default for WHV_INTERNAL_ACTIVITY_REGISTER_0 {
5000 fn default() -> Self {
5001 unsafe { ::core::mem::zeroed() }
5002 }
5003 }
5004 #[repr(C)]
5005 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
5006 pub struct WHV_INTERRUPT_CONTROL {
5007 pub _bitfield: u64,
5008 pub Destination: u32,
5009 pub Vector: u32,
5010 }
5011 impl ::core::marker::Copy for WHV_INTERRUPT_CONTROL {}
5012 impl ::core::clone::Clone for WHV_INTERRUPT_CONTROL {
5013 fn clone(&self) -> Self {
5014 *self
5015 }
5016 }
5017 impl ::core::fmt::Debug for WHV_INTERRUPT_CONTROL {
5018 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5019 f.debug_struct("WHV_INTERRUPT_CONTROL").field("_bitfield", &self._bitfield).field("Destination", &self.Destination).field("Vector", &self.Vector).finish()
5020 }
5021 }
5022 impl ::windows::core::TypeKind for WHV_INTERRUPT_CONTROL {
5023 type TypeKind = ::windows::core::CopyType;
5024 }
5025 impl ::core::cmp::PartialEq for WHV_INTERRUPT_CONTROL {
5026 fn eq(&self, other: &Self) -> bool {
5027 self._bitfield == other._bitfield && self.Destination == other.Destination && self.Vector == other.Vector
5028 }
5029 }
5030 impl ::core::cmp::Eq for WHV_INTERRUPT_CONTROL {}
5031 impl ::core::default::Default for WHV_INTERRUPT_CONTROL {
5032 fn default() -> Self {
5033 unsafe { ::core::mem::zeroed() }
5034 }
5035 }
5036 #[repr(C)]
5037 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
5038 pub struct WHV_MEMORY_ACCESS_CONTEXT {
5039 pub InstructionByteCount: u8,
5040 pub Reserved: [u8; 3],
5041 pub InstructionBytes: [u8; 16],
5042 pub AccessInfo: WHV_MEMORY_ACCESS_INFO,
5043 pub Gpa: u64,
5044 pub Gva: u64,
5045 }
5046 impl ::core::marker::Copy for WHV_MEMORY_ACCESS_CONTEXT {}
5047 impl ::core::clone::Clone for WHV_MEMORY_ACCESS_CONTEXT {
5048 fn clone(&self) -> Self {
5049 *self
5050 }
5051 }
5052 impl ::windows::core::TypeKind for WHV_MEMORY_ACCESS_CONTEXT {
5053 type TypeKind = ::windows::core::CopyType;
5054 }
5055 impl ::core::default::Default for WHV_MEMORY_ACCESS_CONTEXT {
5056 fn default() -> Self {
5057 unsafe { ::core::mem::zeroed() }
5058 }
5059 }
5060 #[repr(C)]
5061 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
5062 pub union WHV_MEMORY_ACCESS_INFO {
5063 pub Anonymous: WHV_MEMORY_ACCESS_INFO_0,
5064 pub AsUINT32: u32,
5065 }
5066 impl ::core::marker::Copy for WHV_MEMORY_ACCESS_INFO {}
5067 impl ::core::clone::Clone for WHV_MEMORY_ACCESS_INFO {
5068 fn clone(&self) -> Self {
5069 *self
5070 }
5071 }
5072 impl ::windows::core::TypeKind for WHV_MEMORY_ACCESS_INFO {
5073 type TypeKind = ::windows::core::CopyType;
5074 }
5075 impl ::core::default::Default for WHV_MEMORY_ACCESS_INFO {
5076 fn default() -> Self {
5077 unsafe { ::core::mem::zeroed() }
5078 }
5079 }
5080 #[repr(C)]
5081 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
5082 pub struct WHV_MEMORY_ACCESS_INFO_0 {
5083 pub _bitfield: u32,
5084 }
5085 impl ::core::marker::Copy for WHV_MEMORY_ACCESS_INFO_0 {}
5086 impl ::core::clone::Clone for WHV_MEMORY_ACCESS_INFO_0 {
5087 fn clone(&self) -> Self {
5088 *self
5089 }
5090 }
5091 impl ::core::fmt::Debug for WHV_MEMORY_ACCESS_INFO_0 {
5092 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5093 f.debug_struct("WHV_MEMORY_ACCESS_INFO_0").field("_bitfield", &self._bitfield).finish()
5094 }
5095 }
5096 impl ::windows::core::TypeKind for WHV_MEMORY_ACCESS_INFO_0 {
5097 type TypeKind = ::windows::core::CopyType;
5098 }
5099 impl ::core::cmp::PartialEq for WHV_MEMORY_ACCESS_INFO_0 {
5100 fn eq(&self, other: &Self) -> bool {
5101 self._bitfield == other._bitfield
5102 }
5103 }
5104 impl ::core::cmp::Eq for WHV_MEMORY_ACCESS_INFO_0 {}
5105 impl ::core::default::Default for WHV_MEMORY_ACCESS_INFO_0 {
5106 fn default() -> Self {
5107 unsafe { ::core::mem::zeroed() }
5108 }
5109 }
5110 #[repr(C)]
5111 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
5112 pub struct WHV_MEMORY_RANGE_ENTRY {
5113 pub GuestAddress: u64,
5114 pub SizeInBytes: u64,
5115 }
5116 impl ::core::marker::Copy for WHV_MEMORY_RANGE_ENTRY {}
5117 impl ::core::clone::Clone for WHV_MEMORY_RANGE_ENTRY {
5118 fn clone(&self) -> Self {
5119 *self
5120 }
5121 }
5122 impl ::core::fmt::Debug for WHV_MEMORY_RANGE_ENTRY {
5123 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5124 f.debug_struct("WHV_MEMORY_RANGE_ENTRY").field("GuestAddress", &self.GuestAddress).field("SizeInBytes", &self.SizeInBytes).finish()
5125 }
5126 }
5127 impl ::windows::core::TypeKind for WHV_MEMORY_RANGE_ENTRY {
5128 type TypeKind = ::windows::core::CopyType;
5129 }
5130 impl ::core::cmp::PartialEq for WHV_MEMORY_RANGE_ENTRY {
5131 fn eq(&self, other: &Self) -> bool {
5132 self.GuestAddress == other.GuestAddress && self.SizeInBytes == other.SizeInBytes
5133 }
5134 }
5135 impl ::core::cmp::Eq for WHV_MEMORY_RANGE_ENTRY {}
5136 impl ::core::default::Default for WHV_MEMORY_RANGE_ENTRY {
5137 fn default() -> Self {
5138 unsafe { ::core::mem::zeroed() }
5139 }
5140 }
5141 #[repr(C)]
5142 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
5143 pub struct WHV_MSR_ACTION_ENTRY {
5144 pub Index: u32,
5145 pub ReadAction: u8,
5146 pub WriteAction: u8,
5147 pub Reserved: u16,
5148 }
5149 impl ::core::marker::Copy for WHV_MSR_ACTION_ENTRY {}
5150 impl ::core::clone::Clone for WHV_MSR_ACTION_ENTRY {
5151 fn clone(&self) -> Self {
5152 *self
5153 }
5154 }
5155 impl ::core::fmt::Debug for WHV_MSR_ACTION_ENTRY {
5156 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5157 f.debug_struct("WHV_MSR_ACTION_ENTRY").field("Index", &self.Index).field("ReadAction", &self.ReadAction).field("WriteAction", &self.WriteAction).field("Reserved", &self.Reserved).finish()
5158 }
5159 }
5160 impl ::windows::core::TypeKind for WHV_MSR_ACTION_ENTRY {
5161 type TypeKind = ::windows::core::CopyType;
5162 }
5163 impl ::core::cmp::PartialEq for WHV_MSR_ACTION_ENTRY {
5164 fn eq(&self, other: &Self) -> bool {
5165 self.Index == other.Index && self.ReadAction == other.ReadAction && self.WriteAction == other.WriteAction && self.Reserved == other.Reserved
5166 }
5167 }
5168 impl ::core::cmp::Eq for WHV_MSR_ACTION_ENTRY {}
5169 impl ::core::default::Default for WHV_MSR_ACTION_ENTRY {
5170 fn default() -> Self {
5171 unsafe { ::core::mem::zeroed() }
5172 }
5173 }
5174 #[repr(C)]
5175 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
5176 pub struct WHV_NOTIFICATION_PORT_PARAMETERS {
5177 pub NotificationPortType: WHV_NOTIFICATION_PORT_TYPE,
5178 pub Reserved: u32,
5179 pub Anonymous: WHV_NOTIFICATION_PORT_PARAMETERS_0,
5180 }
5181 impl ::core::marker::Copy for WHV_NOTIFICATION_PORT_PARAMETERS {}
5182 impl ::core::clone::Clone for WHV_NOTIFICATION_PORT_PARAMETERS {
5183 fn clone(&self) -> Self {
5184 *self
5185 }
5186 }
5187 impl ::windows::core::TypeKind for WHV_NOTIFICATION_PORT_PARAMETERS {
5188 type TypeKind = ::windows::core::CopyType;
5189 }
5190 impl ::core::default::Default for WHV_NOTIFICATION_PORT_PARAMETERS {
5191 fn default() -> Self {
5192 unsafe { ::core::mem::zeroed() }
5193 }
5194 }
5195 #[repr(C)]
5196 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
5197 pub union WHV_NOTIFICATION_PORT_PARAMETERS_0 {
5198 pub Doorbell: WHV_DOORBELL_MATCH_DATA,
5199 pub Event: WHV_NOTIFICATION_PORT_PARAMETERS_0_0,
5200 }
5201 impl ::core::marker::Copy for WHV_NOTIFICATION_PORT_PARAMETERS_0 {}
5202 impl ::core::clone::Clone for WHV_NOTIFICATION_PORT_PARAMETERS_0 {
5203 fn clone(&self) -> Self {
5204 *self
5205 }
5206 }
5207 impl ::windows::core::TypeKind for WHV_NOTIFICATION_PORT_PARAMETERS_0 {
5208 type TypeKind = ::windows::core::CopyType;
5209 }
5210 impl ::core::default::Default for WHV_NOTIFICATION_PORT_PARAMETERS_0 {
5211 fn default() -> Self {
5212 unsafe { ::core::mem::zeroed() }
5213 }
5214 }
5215 #[repr(C)]
5216 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
5217 pub struct WHV_NOTIFICATION_PORT_PARAMETERS_0_0 {
5218 pub ConnectionId: u32,
5219 }
5220 impl ::core::marker::Copy for WHV_NOTIFICATION_PORT_PARAMETERS_0_0 {}
5221 impl ::core::clone::Clone for WHV_NOTIFICATION_PORT_PARAMETERS_0_0 {
5222 fn clone(&self) -> Self {
5223 *self
5224 }
5225 }
5226 impl ::core::fmt::Debug for WHV_NOTIFICATION_PORT_PARAMETERS_0_0 {
5227 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5228 f.debug_struct("WHV_NOTIFICATION_PORT_PARAMETERS_0_0").field("ConnectionId", &self.ConnectionId).finish()
5229 }
5230 }
5231 impl ::windows::core::TypeKind for WHV_NOTIFICATION_PORT_PARAMETERS_0_0 {
5232 type TypeKind = ::windows::core::CopyType;
5233 }
5234 impl ::core::cmp::PartialEq for WHV_NOTIFICATION_PORT_PARAMETERS_0_0 {
5235 fn eq(&self, other: &Self) -> bool {
5236 self.ConnectionId == other.ConnectionId
5237 }
5238 }
5239 impl ::core::cmp::Eq for WHV_NOTIFICATION_PORT_PARAMETERS_0_0 {}
5240 impl ::core::default::Default for WHV_NOTIFICATION_PORT_PARAMETERS_0_0 {
5241 fn default() -> Self {
5242 unsafe { ::core::mem::zeroed() }
5243 }
5244 }
5245 #[repr(transparent)]
5246 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
5247 pub struct WHV_PARTITION_HANDLE(pub isize);
5248 impl WHV_PARTITION_HANDLE {
5249 pub fn is_invalid(&self) -> bool {
5250 self.0 == -1 || self.0 == 0
5251 }
5252 }
5253 impl ::core::default::Default for WHV_PARTITION_HANDLE {
5254 fn default() -> Self {
5255 unsafe { ::core::mem::zeroed() }
5256 }
5257 }
5258 impl ::core::clone::Clone for WHV_PARTITION_HANDLE {
5259 fn clone(&self) -> Self {
5260 *self
5261 }
5262 }
5263 impl ::core::marker::Copy for WHV_PARTITION_HANDLE {}
5264 impl ::core::fmt::Debug for WHV_PARTITION_HANDLE {
5265 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5266 f.debug_tuple("WHV_PARTITION_HANDLE").field(&self.0).finish()
5267 }
5268 }
5269 impl ::windows::core::TypeKind for WHV_PARTITION_HANDLE {
5270 type TypeKind = ::windows::core::CopyType;
5271 }
5272 #[repr(C)]
5273 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
5274 pub struct WHV_PARTITION_MEMORY_COUNTERS {
5275 pub Mapped4KPageCount: u64,
5276 pub Mapped2MPageCount: u64,
5277 pub Mapped1GPageCount: u64,
5278 }
5279 impl ::core::marker::Copy for WHV_PARTITION_MEMORY_COUNTERS {}
5280 impl ::core::clone::Clone for WHV_PARTITION_MEMORY_COUNTERS {
5281 fn clone(&self) -> Self {
5282 *self
5283 }
5284 }
5285 impl ::core::fmt::Debug for WHV_PARTITION_MEMORY_COUNTERS {
5286 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5287 f.debug_struct("WHV_PARTITION_MEMORY_COUNTERS").field("Mapped4KPageCount", &self.Mapped4KPageCount).field("Mapped2MPageCount", &self.Mapped2MPageCount).field("Mapped1GPageCount", &self.Mapped1GPageCount).finish()
5288 }
5289 }
5290 impl ::windows::core::TypeKind for WHV_PARTITION_MEMORY_COUNTERS {
5291 type TypeKind = ::windows::core::CopyType;
5292 }
5293 impl ::core::cmp::PartialEq for WHV_PARTITION_MEMORY_COUNTERS {
5294 fn eq(&self, other: &Self) -> bool {
5295 self.Mapped4KPageCount == other.Mapped4KPageCount && self.Mapped2MPageCount == other.Mapped2MPageCount && self.Mapped1GPageCount == other.Mapped1GPageCount
5296 }
5297 }
5298 impl ::core::cmp::Eq for WHV_PARTITION_MEMORY_COUNTERS {}
5299 impl ::core::default::Default for WHV_PARTITION_MEMORY_COUNTERS {
5300 fn default() -> Self {
5301 unsafe { ::core::mem::zeroed() }
5302 }
5303 }
5304 #[repr(C)]
5305 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`, `\"Win32_Foundation\"`*"]
5306 #[cfg(feature = "Win32_Foundation")]
5307 pub union WHV_PARTITION_PROPERTY {
5308 pub ExtendedVmExits: WHV_EXTENDED_VM_EXITS,
5309 pub ProcessorFeatures: WHV_PROCESSOR_FEATURES,
5310 pub SyntheticProcessorFeaturesBanks: WHV_SYNTHETIC_PROCESSOR_FEATURES_BANKS,
5311 pub ProcessorXsaveFeatures: WHV_PROCESSOR_XSAVE_FEATURES,
5312 pub ProcessorClFlushSize: u8,
5313 pub ProcessorCount: u32,
5314 pub CpuidExitList: [u32; 1],
5315 pub CpuidResultList: [WHV_X64_CPUID_RESULT; 1],
5316 pub CpuidResultList2: [WHV_X64_CPUID_RESULT2; 1],
5317 pub MsrActionList: [WHV_MSR_ACTION_ENTRY; 1],
5318 pub UnimplementedMsrAction: WHV_MSR_ACTION,
5319 pub ExceptionExitBitmap: u64,
5320 pub LocalApicEmulationMode: WHV_X64_LOCAL_APIC_EMULATION_MODE,
5321 pub SeparateSecurityDomain: super::super::Foundation::BOOL,
5322 pub NestedVirtualization: super::super::Foundation::BOOL,
5323 pub X64MsrExitBitmap: WHV_X64_MSR_EXIT_BITMAP,
5324 pub ProcessorClockFrequency: u64,
5325 pub InterruptClockFrequency: u64,
5326 pub ApicRemoteRead: super::super::Foundation::BOOL,
5327 pub ProcessorFeaturesBanks: WHV_PROCESSOR_FEATURES_BANKS,
5328 pub ReferenceTime: u64,
5329 pub PrimaryNumaNode: u16,
5330 pub CpuReserve: u32,
5331 pub CpuCap: u32,
5332 pub CpuWeight: u32,
5333 pub CpuGroupId: u64,
5334 pub ProcessorFrequencyCap: u32,
5335 pub AllowDeviceAssignment: super::super::Foundation::BOOL,
5336 pub ProcessorPerfmonFeatures: WHV_PROCESSOR_PERFMON_FEATURES,
5337 pub DisableSmt: super::super::Foundation::BOOL,
5338 }
5339 #[cfg(feature = "Win32_Foundation")]
5340 impl ::core::marker::Copy for WHV_PARTITION_PROPERTY {}
5341 #[cfg(feature = "Win32_Foundation")]
5342 impl ::core::clone::Clone for WHV_PARTITION_PROPERTY {
5343 fn clone(&self) -> Self {
5344 *self
5345 }
5346 }
5347 #[cfg(feature = "Win32_Foundation")]
5348 impl ::windows::core::TypeKind for WHV_PARTITION_PROPERTY {
5349 type TypeKind = ::windows::core::CopyType;
5350 }
5351 #[cfg(feature = "Win32_Foundation")]
5352 impl ::core::default::Default for WHV_PARTITION_PROPERTY {
5353 fn default() -> Self {
5354 unsafe { ::core::mem::zeroed() }
5355 }
5356 }
5357 #[repr(C)]
5358 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
5359 pub struct WHV_PROCESSOR_APIC_COUNTERS {
5360 pub MmioAccessCount: u64,
5361 pub EoiAccessCount: u64,
5362 pub TprAccessCount: u64,
5363 pub SentIpiCount: u64,
5364 pub SelfIpiCount: u64,
5365 }
5366 impl ::core::marker::Copy for WHV_PROCESSOR_APIC_COUNTERS {}
5367 impl ::core::clone::Clone for WHV_PROCESSOR_APIC_COUNTERS {
5368 fn clone(&self) -> Self {
5369 *self
5370 }
5371 }
5372 impl ::core::fmt::Debug for WHV_PROCESSOR_APIC_COUNTERS {
5373 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5374 f.debug_struct("WHV_PROCESSOR_APIC_COUNTERS").field("MmioAccessCount", &self.MmioAccessCount).field("EoiAccessCount", &self.EoiAccessCount).field("TprAccessCount", &self.TprAccessCount).field("SentIpiCount", &self.SentIpiCount).field("SelfIpiCount", &self.SelfIpiCount).finish()
5375 }
5376 }
5377 impl ::windows::core::TypeKind for WHV_PROCESSOR_APIC_COUNTERS {
5378 type TypeKind = ::windows::core::CopyType;
5379 }
5380 impl ::core::cmp::PartialEq for WHV_PROCESSOR_APIC_COUNTERS {
5381 fn eq(&self, other: &Self) -> bool {
5382 self.MmioAccessCount == other.MmioAccessCount && self.EoiAccessCount == other.EoiAccessCount && self.TprAccessCount == other.TprAccessCount && self.SentIpiCount == other.SentIpiCount && self.SelfIpiCount == other.SelfIpiCount
5383 }
5384 }
5385 impl ::core::cmp::Eq for WHV_PROCESSOR_APIC_COUNTERS {}
5386 impl ::core::default::Default for WHV_PROCESSOR_APIC_COUNTERS {
5387 fn default() -> Self {
5388 unsafe { ::core::mem::zeroed() }
5389 }
5390 }
5391 #[repr(C)]
5392 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
5393 pub struct WHV_PROCESSOR_EVENT_COUNTERS {
5394 pub PageFaultCount: u64,
5395 pub ExceptionCount: u64,
5396 pub InterruptCount: u64,
5397 }
5398 impl ::core::marker::Copy for WHV_PROCESSOR_EVENT_COUNTERS {}
5399 impl ::core::clone::Clone for WHV_PROCESSOR_EVENT_COUNTERS {
5400 fn clone(&self) -> Self {
5401 *self
5402 }
5403 }
5404 impl ::core::fmt::Debug for WHV_PROCESSOR_EVENT_COUNTERS {
5405 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5406 f.debug_struct("WHV_PROCESSOR_EVENT_COUNTERS").field("PageFaultCount", &self.PageFaultCount).field("ExceptionCount", &self.ExceptionCount).field("InterruptCount", &self.InterruptCount).finish()
5407 }
5408 }
5409 impl ::windows::core::TypeKind for WHV_PROCESSOR_EVENT_COUNTERS {
5410 type TypeKind = ::windows::core::CopyType;
5411 }
5412 impl ::core::cmp::PartialEq for WHV_PROCESSOR_EVENT_COUNTERS {
5413 fn eq(&self, other: &Self) -> bool {
5414 self.PageFaultCount == other.PageFaultCount && self.ExceptionCount == other.ExceptionCount && self.InterruptCount == other.InterruptCount
5415 }
5416 }
5417 impl ::core::cmp::Eq for WHV_PROCESSOR_EVENT_COUNTERS {}
5418 impl ::core::default::Default for WHV_PROCESSOR_EVENT_COUNTERS {
5419 fn default() -> Self {
5420 unsafe { ::core::mem::zeroed() }
5421 }
5422 }
5423 #[repr(C)]
5424 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
5425 pub union WHV_PROCESSOR_FEATURES {
5426 pub Anonymous: WHV_PROCESSOR_FEATURES_0,
5427 pub AsUINT64: u64,
5428 }
5429 impl ::core::marker::Copy for WHV_PROCESSOR_FEATURES {}
5430 impl ::core::clone::Clone for WHV_PROCESSOR_FEATURES {
5431 fn clone(&self) -> Self {
5432 *self
5433 }
5434 }
5435 impl ::windows::core::TypeKind for WHV_PROCESSOR_FEATURES {
5436 type TypeKind = ::windows::core::CopyType;
5437 }
5438 impl ::core::default::Default for WHV_PROCESSOR_FEATURES {
5439 fn default() -> Self {
5440 unsafe { ::core::mem::zeroed() }
5441 }
5442 }
5443 #[repr(C)]
5444 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
5445 pub struct WHV_PROCESSOR_FEATURES_0 {
5446 pub _bitfield: u64,
5447 }
5448 impl ::core::marker::Copy for WHV_PROCESSOR_FEATURES_0 {}
5449 impl ::core::clone::Clone for WHV_PROCESSOR_FEATURES_0 {
5450 fn clone(&self) -> Self {
5451 *self
5452 }
5453 }
5454 impl ::core::fmt::Debug for WHV_PROCESSOR_FEATURES_0 {
5455 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5456 f.debug_struct("WHV_PROCESSOR_FEATURES_0").field("_bitfield", &self._bitfield).finish()
5457 }
5458 }
5459 impl ::windows::core::TypeKind for WHV_PROCESSOR_FEATURES_0 {
5460 type TypeKind = ::windows::core::CopyType;
5461 }
5462 impl ::core::cmp::PartialEq for WHV_PROCESSOR_FEATURES_0 {
5463 fn eq(&self, other: &Self) -> bool {
5464 self._bitfield == other._bitfield
5465 }
5466 }
5467 impl ::core::cmp::Eq for WHV_PROCESSOR_FEATURES_0 {}
5468 impl ::core::default::Default for WHV_PROCESSOR_FEATURES_0 {
5469 fn default() -> Self {
5470 unsafe { ::core::mem::zeroed() }
5471 }
5472 }
5473 #[repr(C)]
5474 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
5475 pub union WHV_PROCESSOR_FEATURES1 {
5476 pub Anonymous: WHV_PROCESSOR_FEATURES1_0,
5477 pub AsUINT64: u64,
5478 }
5479 impl ::core::marker::Copy for WHV_PROCESSOR_FEATURES1 {}
5480 impl ::core::clone::Clone for WHV_PROCESSOR_FEATURES1 {
5481 fn clone(&self) -> Self {
5482 *self
5483 }
5484 }
5485 impl ::windows::core::TypeKind for WHV_PROCESSOR_FEATURES1 {
5486 type TypeKind = ::windows::core::CopyType;
5487 }
5488 impl ::core::default::Default for WHV_PROCESSOR_FEATURES1 {
5489 fn default() -> Self {
5490 unsafe { ::core::mem::zeroed() }
5491 }
5492 }
5493 #[repr(C)]
5494 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
5495 pub struct WHV_PROCESSOR_FEATURES1_0 {
5496 pub _bitfield: u64,
5497 }
5498 impl ::core::marker::Copy for WHV_PROCESSOR_FEATURES1_0 {}
5499 impl ::core::clone::Clone for WHV_PROCESSOR_FEATURES1_0 {
5500 fn clone(&self) -> Self {
5501 *self
5502 }
5503 }
5504 impl ::core::fmt::Debug for WHV_PROCESSOR_FEATURES1_0 {
5505 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5506 f.debug_struct("WHV_PROCESSOR_FEATURES1_0").field("_bitfield", &self._bitfield).finish()
5507 }
5508 }
5509 impl ::windows::core::TypeKind for WHV_PROCESSOR_FEATURES1_0 {
5510 type TypeKind = ::windows::core::CopyType;
5511 }
5512 impl ::core::cmp::PartialEq for WHV_PROCESSOR_FEATURES1_0 {
5513 fn eq(&self, other: &Self) -> bool {
5514 self._bitfield == other._bitfield
5515 }
5516 }
5517 impl ::core::cmp::Eq for WHV_PROCESSOR_FEATURES1_0 {}
5518 impl ::core::default::Default for WHV_PROCESSOR_FEATURES1_0 {
5519 fn default() -> Self {
5520 unsafe { ::core::mem::zeroed() }
5521 }
5522 }
5523 #[repr(C)]
5524 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
5525 pub struct WHV_PROCESSOR_FEATURES_BANKS {
5526 pub BanksCount: u32,
5527 pub Reserved0: u32,
5528 pub Anonymous: WHV_PROCESSOR_FEATURES_BANKS_0,
5529 }
5530 impl ::core::marker::Copy for WHV_PROCESSOR_FEATURES_BANKS {}
5531 impl ::core::clone::Clone for WHV_PROCESSOR_FEATURES_BANKS {
5532 fn clone(&self) -> Self {
5533 *self
5534 }
5535 }
5536 impl ::windows::core::TypeKind for WHV_PROCESSOR_FEATURES_BANKS {
5537 type TypeKind = ::windows::core::CopyType;
5538 }
5539 impl ::core::default::Default for WHV_PROCESSOR_FEATURES_BANKS {
5540 fn default() -> Self {
5541 unsafe { ::core::mem::zeroed() }
5542 }
5543 }
5544 #[repr(C)]
5545 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
5546 pub union WHV_PROCESSOR_FEATURES_BANKS_0 {
5547 pub Anonymous: WHV_PROCESSOR_FEATURES_BANKS_0_0,
5548 pub AsUINT64: [u64; 2],
5549 }
5550 impl ::core::marker::Copy for WHV_PROCESSOR_FEATURES_BANKS_0 {}
5551 impl ::core::clone::Clone for WHV_PROCESSOR_FEATURES_BANKS_0 {
5552 fn clone(&self) -> Self {
5553 *self
5554 }
5555 }
5556 impl ::windows::core::TypeKind for WHV_PROCESSOR_FEATURES_BANKS_0 {
5557 type TypeKind = ::windows::core::CopyType;
5558 }
5559 impl ::core::default::Default for WHV_PROCESSOR_FEATURES_BANKS_0 {
5560 fn default() -> Self {
5561 unsafe { ::core::mem::zeroed() }
5562 }
5563 }
5564 #[repr(C)]
5565 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
5566 pub struct WHV_PROCESSOR_FEATURES_BANKS_0_0 {
5567 pub Bank0: WHV_PROCESSOR_FEATURES,
5568 pub Bank1: WHV_PROCESSOR_FEATURES1,
5569 }
5570 impl ::core::marker::Copy for WHV_PROCESSOR_FEATURES_BANKS_0_0 {}
5571 impl ::core::clone::Clone for WHV_PROCESSOR_FEATURES_BANKS_0_0 {
5572 fn clone(&self) -> Self {
5573 *self
5574 }
5575 }
5576 impl ::windows::core::TypeKind for WHV_PROCESSOR_FEATURES_BANKS_0_0 {
5577 type TypeKind = ::windows::core::CopyType;
5578 }
5579 impl ::core::default::Default for WHV_PROCESSOR_FEATURES_BANKS_0_0 {
5580 fn default() -> Self {
5581 unsafe { ::core::mem::zeroed() }
5582 }
5583 }
5584 #[repr(C)]
5585 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
5586 pub struct WHV_PROCESSOR_INTERCEPT_COUNTER {
5587 pub Count: u64,
5588 pub Time100ns: u64,
5589 }
5590 impl ::core::marker::Copy for WHV_PROCESSOR_INTERCEPT_COUNTER {}
5591 impl ::core::clone::Clone for WHV_PROCESSOR_INTERCEPT_COUNTER {
5592 fn clone(&self) -> Self {
5593 *self
5594 }
5595 }
5596 impl ::core::fmt::Debug for WHV_PROCESSOR_INTERCEPT_COUNTER {
5597 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5598 f.debug_struct("WHV_PROCESSOR_INTERCEPT_COUNTER").field("Count", &self.Count).field("Time100ns", &self.Time100ns).finish()
5599 }
5600 }
5601 impl ::windows::core::TypeKind for WHV_PROCESSOR_INTERCEPT_COUNTER {
5602 type TypeKind = ::windows::core::CopyType;
5603 }
5604 impl ::core::cmp::PartialEq for WHV_PROCESSOR_INTERCEPT_COUNTER {
5605 fn eq(&self, other: &Self) -> bool {
5606 self.Count == other.Count && self.Time100ns == other.Time100ns
5607 }
5608 }
5609 impl ::core::cmp::Eq for WHV_PROCESSOR_INTERCEPT_COUNTER {}
5610 impl ::core::default::Default for WHV_PROCESSOR_INTERCEPT_COUNTER {
5611 fn default() -> Self {
5612 unsafe { ::core::mem::zeroed() }
5613 }
5614 }
5615 #[repr(C)]
5616 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
5617 pub struct WHV_PROCESSOR_INTERCEPT_COUNTERS {
5618 pub PageInvalidations: WHV_PROCESSOR_INTERCEPT_COUNTER,
5619 pub ControlRegisterAccesses: WHV_PROCESSOR_INTERCEPT_COUNTER,
5620 pub IoInstructions: WHV_PROCESSOR_INTERCEPT_COUNTER,
5621 pub HaltInstructions: WHV_PROCESSOR_INTERCEPT_COUNTER,
5622 pub CpuidInstructions: WHV_PROCESSOR_INTERCEPT_COUNTER,
5623 pub MsrAccesses: WHV_PROCESSOR_INTERCEPT_COUNTER,
5624 pub OtherIntercepts: WHV_PROCESSOR_INTERCEPT_COUNTER,
5625 pub PendingInterrupts: WHV_PROCESSOR_INTERCEPT_COUNTER,
5626 pub EmulatedInstructions: WHV_PROCESSOR_INTERCEPT_COUNTER,
5627 pub DebugRegisterAccesses: WHV_PROCESSOR_INTERCEPT_COUNTER,
5628 pub PageFaultIntercepts: WHV_PROCESSOR_INTERCEPT_COUNTER,
5629 pub NestedPageFaultIntercepts: WHV_PROCESSOR_INTERCEPT_COUNTER,
5630 pub Hypercalls: WHV_PROCESSOR_INTERCEPT_COUNTER,
5631 pub RdpmcInstructions: WHV_PROCESSOR_INTERCEPT_COUNTER,
5632 }
5633 impl ::core::marker::Copy for WHV_PROCESSOR_INTERCEPT_COUNTERS {}
5634 impl ::core::clone::Clone for WHV_PROCESSOR_INTERCEPT_COUNTERS {
5635 fn clone(&self) -> Self {
5636 *self
5637 }
5638 }
5639 impl ::core::fmt::Debug for WHV_PROCESSOR_INTERCEPT_COUNTERS {
5640 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5641 f.debug_struct("WHV_PROCESSOR_INTERCEPT_COUNTERS")
5642 .field("PageInvalidations", &self.PageInvalidations)
5643 .field("ControlRegisterAccesses", &self.ControlRegisterAccesses)
5644 .field("IoInstructions", &self.IoInstructions)
5645 .field("HaltInstructions", &self.HaltInstructions)
5646 .field("CpuidInstructions", &self.CpuidInstructions)
5647 .field("MsrAccesses", &self.MsrAccesses)
5648 .field("OtherIntercepts", &self.OtherIntercepts)
5649 .field("PendingInterrupts", &self.PendingInterrupts)
5650 .field("EmulatedInstructions", &self.EmulatedInstructions)
5651 .field("DebugRegisterAccesses", &self.DebugRegisterAccesses)
5652 .field("PageFaultIntercepts", &self.PageFaultIntercepts)
5653 .field("NestedPageFaultIntercepts", &self.NestedPageFaultIntercepts)
5654 .field("Hypercalls", &self.Hypercalls)
5655 .field("RdpmcInstructions", &self.RdpmcInstructions)
5656 .finish()
5657 }
5658 }
5659 impl ::windows::core::TypeKind for WHV_PROCESSOR_INTERCEPT_COUNTERS {
5660 type TypeKind = ::windows::core::CopyType;
5661 }
5662 impl ::core::cmp::PartialEq for WHV_PROCESSOR_INTERCEPT_COUNTERS {
5663 fn eq(&self, other: &Self) -> bool {
5664 self.PageInvalidations == other.PageInvalidations && self.ControlRegisterAccesses == other.ControlRegisterAccesses && self.IoInstructions == other.IoInstructions && self.HaltInstructions == other.HaltInstructions && self.CpuidInstructions == other.CpuidInstructions && self.MsrAccesses == other.MsrAccesses && self.OtherIntercepts == other.OtherIntercepts && self.PendingInterrupts == other.PendingInterrupts && self.EmulatedInstructions == other.EmulatedInstructions && self.DebugRegisterAccesses == other.DebugRegisterAccesses && self.PageFaultIntercepts == other.PageFaultIntercepts && self.NestedPageFaultIntercepts == other.NestedPageFaultIntercepts && self.Hypercalls == other.Hypercalls && self.RdpmcInstructions == other.RdpmcInstructions
5665 }
5666 }
5667 impl ::core::cmp::Eq for WHV_PROCESSOR_INTERCEPT_COUNTERS {}
5668 impl ::core::default::Default for WHV_PROCESSOR_INTERCEPT_COUNTERS {
5669 fn default() -> Self {
5670 unsafe { ::core::mem::zeroed() }
5671 }
5672 }
5673 #[repr(C)]
5674 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
5675 pub union WHV_PROCESSOR_PERFMON_FEATURES {
5676 pub Anonymous: WHV_PROCESSOR_PERFMON_FEATURES_0,
5677 pub AsUINT64: u64,
5678 }
5679 impl ::core::marker::Copy for WHV_PROCESSOR_PERFMON_FEATURES {}
5680 impl ::core::clone::Clone for WHV_PROCESSOR_PERFMON_FEATURES {
5681 fn clone(&self) -> Self {
5682 *self
5683 }
5684 }
5685 impl ::windows::core::TypeKind for WHV_PROCESSOR_PERFMON_FEATURES {
5686 type TypeKind = ::windows::core::CopyType;
5687 }
5688 impl ::core::default::Default for WHV_PROCESSOR_PERFMON_FEATURES {
5689 fn default() -> Self {
5690 unsafe { ::core::mem::zeroed() }
5691 }
5692 }
5693 #[repr(C)]
5694 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
5695 pub struct WHV_PROCESSOR_PERFMON_FEATURES_0 {
5696 pub _bitfield: u64,
5697 }
5698 impl ::core::marker::Copy for WHV_PROCESSOR_PERFMON_FEATURES_0 {}
5699 impl ::core::clone::Clone for WHV_PROCESSOR_PERFMON_FEATURES_0 {
5700 fn clone(&self) -> Self {
5701 *self
5702 }
5703 }
5704 impl ::core::fmt::Debug for WHV_PROCESSOR_PERFMON_FEATURES_0 {
5705 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5706 f.debug_struct("WHV_PROCESSOR_PERFMON_FEATURES_0").field("_bitfield", &self._bitfield).finish()
5707 }
5708 }
5709 impl ::windows::core::TypeKind for WHV_PROCESSOR_PERFMON_FEATURES_0 {
5710 type TypeKind = ::windows::core::CopyType;
5711 }
5712 impl ::core::cmp::PartialEq for WHV_PROCESSOR_PERFMON_FEATURES_0 {
5713 fn eq(&self, other: &Self) -> bool {
5714 self._bitfield == other._bitfield
5715 }
5716 }
5717 impl ::core::cmp::Eq for WHV_PROCESSOR_PERFMON_FEATURES_0 {}
5718 impl ::core::default::Default for WHV_PROCESSOR_PERFMON_FEATURES_0 {
5719 fn default() -> Self {
5720 unsafe { ::core::mem::zeroed() }
5721 }
5722 }
5723 #[repr(C)]
5724 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
5725 pub struct WHV_PROCESSOR_RUNTIME_COUNTERS {
5726 pub TotalRuntime100ns: u64,
5727 pub HypervisorRuntime100ns: u64,
5728 }
5729 impl ::core::marker::Copy for WHV_PROCESSOR_RUNTIME_COUNTERS {}
5730 impl ::core::clone::Clone for WHV_PROCESSOR_RUNTIME_COUNTERS {
5731 fn clone(&self) -> Self {
5732 *self
5733 }
5734 }
5735 impl ::core::fmt::Debug for WHV_PROCESSOR_RUNTIME_COUNTERS {
5736 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5737 f.debug_struct("WHV_PROCESSOR_RUNTIME_COUNTERS").field("TotalRuntime100ns", &self.TotalRuntime100ns).field("HypervisorRuntime100ns", &self.HypervisorRuntime100ns).finish()
5738 }
5739 }
5740 impl ::windows::core::TypeKind for WHV_PROCESSOR_RUNTIME_COUNTERS {
5741 type TypeKind = ::windows::core::CopyType;
5742 }
5743 impl ::core::cmp::PartialEq for WHV_PROCESSOR_RUNTIME_COUNTERS {
5744 fn eq(&self, other: &Self) -> bool {
5745 self.TotalRuntime100ns == other.TotalRuntime100ns && self.HypervisorRuntime100ns == other.HypervisorRuntime100ns
5746 }
5747 }
5748 impl ::core::cmp::Eq for WHV_PROCESSOR_RUNTIME_COUNTERS {}
5749 impl ::core::default::Default for WHV_PROCESSOR_RUNTIME_COUNTERS {
5750 fn default() -> Self {
5751 unsafe { ::core::mem::zeroed() }
5752 }
5753 }
5754 #[repr(C)]
5755 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
5756 pub struct WHV_PROCESSOR_SYNTHETIC_FEATURES_COUNTERS {
5757 pub SyntheticInterruptsCount: u64,
5758 pub LongSpinWaitHypercallsCount: u64,
5759 pub OtherHypercallsCount: u64,
5760 pub SyntheticInterruptHypercallsCount: u64,
5761 pub VirtualInterruptHypercallsCount: u64,
5762 pub VirtualMmuHypercallsCount: u64,
5763 }
5764 impl ::core::marker::Copy for WHV_PROCESSOR_SYNTHETIC_FEATURES_COUNTERS {}
5765 impl ::core::clone::Clone for WHV_PROCESSOR_SYNTHETIC_FEATURES_COUNTERS {
5766 fn clone(&self) -> Self {
5767 *self
5768 }
5769 }
5770 impl ::core::fmt::Debug for WHV_PROCESSOR_SYNTHETIC_FEATURES_COUNTERS {
5771 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5772 f.debug_struct("WHV_PROCESSOR_SYNTHETIC_FEATURES_COUNTERS")
5773 .field("SyntheticInterruptsCount", &self.SyntheticInterruptsCount)
5774 .field("LongSpinWaitHypercallsCount", &self.LongSpinWaitHypercallsCount)
5775 .field("OtherHypercallsCount", &self.OtherHypercallsCount)
5776 .field("SyntheticInterruptHypercallsCount", &self.SyntheticInterruptHypercallsCount)
5777 .field("VirtualInterruptHypercallsCount", &self.VirtualInterruptHypercallsCount)
5778 .field("VirtualMmuHypercallsCount", &self.VirtualMmuHypercallsCount)
5779 .finish()
5780 }
5781 }
5782 impl ::windows::core::TypeKind for WHV_PROCESSOR_SYNTHETIC_FEATURES_COUNTERS {
5783 type TypeKind = ::windows::core::CopyType;
5784 }
5785 impl ::core::cmp::PartialEq for WHV_PROCESSOR_SYNTHETIC_FEATURES_COUNTERS {
5786 fn eq(&self, other: &Self) -> bool {
5787 self.SyntheticInterruptsCount == other.SyntheticInterruptsCount && self.LongSpinWaitHypercallsCount == other.LongSpinWaitHypercallsCount && self.OtherHypercallsCount == other.OtherHypercallsCount && self.SyntheticInterruptHypercallsCount == other.SyntheticInterruptHypercallsCount && self.VirtualInterruptHypercallsCount == other.VirtualInterruptHypercallsCount && self.VirtualMmuHypercallsCount == other.VirtualMmuHypercallsCount
5788 }
5789 }
5790 impl ::core::cmp::Eq for WHV_PROCESSOR_SYNTHETIC_FEATURES_COUNTERS {}
5791 impl ::core::default::Default for WHV_PROCESSOR_SYNTHETIC_FEATURES_COUNTERS {
5792 fn default() -> Self {
5793 unsafe { ::core::mem::zeroed() }
5794 }
5795 }
5796 #[repr(C)]
5797 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
5798 pub union WHV_PROCESSOR_XSAVE_FEATURES {
5799 pub Anonymous: WHV_PROCESSOR_XSAVE_FEATURES_0,
5800 pub AsUINT64: u64,
5801 }
5802 impl ::core::marker::Copy for WHV_PROCESSOR_XSAVE_FEATURES {}
5803 impl ::core::clone::Clone for WHV_PROCESSOR_XSAVE_FEATURES {
5804 fn clone(&self) -> Self {
5805 *self
5806 }
5807 }
5808 impl ::windows::core::TypeKind for WHV_PROCESSOR_XSAVE_FEATURES {
5809 type TypeKind = ::windows::core::CopyType;
5810 }
5811 impl ::core::default::Default for WHV_PROCESSOR_XSAVE_FEATURES {
5812 fn default() -> Self {
5813 unsafe { ::core::mem::zeroed() }
5814 }
5815 }
5816 #[repr(C)]
5817 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
5818 pub struct WHV_PROCESSOR_XSAVE_FEATURES_0 {
5819 pub _bitfield: u64,
5820 }
5821 impl ::core::marker::Copy for WHV_PROCESSOR_XSAVE_FEATURES_0 {}
5822 impl ::core::clone::Clone for WHV_PROCESSOR_XSAVE_FEATURES_0 {
5823 fn clone(&self) -> Self {
5824 *self
5825 }
5826 }
5827 impl ::core::fmt::Debug for WHV_PROCESSOR_XSAVE_FEATURES_0 {
5828 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5829 f.debug_struct("WHV_PROCESSOR_XSAVE_FEATURES_0").field("_bitfield", &self._bitfield).finish()
5830 }
5831 }
5832 impl ::windows::core::TypeKind for WHV_PROCESSOR_XSAVE_FEATURES_0 {
5833 type TypeKind = ::windows::core::CopyType;
5834 }
5835 impl ::core::cmp::PartialEq for WHV_PROCESSOR_XSAVE_FEATURES_0 {
5836 fn eq(&self, other: &Self) -> bool {
5837 self._bitfield == other._bitfield
5838 }
5839 }
5840 impl ::core::cmp::Eq for WHV_PROCESSOR_XSAVE_FEATURES_0 {}
5841 impl ::core::default::Default for WHV_PROCESSOR_XSAVE_FEATURES_0 {
5842 fn default() -> Self {
5843 unsafe { ::core::mem::zeroed() }
5844 }
5845 }
5846 #[repr(C)]
5847 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
5848 pub union WHV_REGISTER_VALUE {
5849 pub Reg128: WHV_UINT128,
5850 pub Reg64: u64,
5851 pub Reg32: u32,
5852 pub Reg16: u16,
5853 pub Reg8: u8,
5854 pub Fp: WHV_X64_FP_REGISTER,
5855 pub FpControlStatus: WHV_X64_FP_CONTROL_STATUS_REGISTER,
5856 pub XmmControlStatus: WHV_X64_XMM_CONTROL_STATUS_REGISTER,
5857 pub Segment: WHV_X64_SEGMENT_REGISTER,
5858 pub Table: WHV_X64_TABLE_REGISTER,
5859 pub InterruptState: WHV_X64_INTERRUPT_STATE_REGISTER,
5860 pub PendingInterruption: WHV_X64_PENDING_INTERRUPTION_REGISTER,
5861 pub DeliverabilityNotifications: WHV_X64_DELIVERABILITY_NOTIFICATIONS_REGISTER,
5862 pub ExceptionEvent: WHV_X64_PENDING_EXCEPTION_EVENT,
5863 pub ExtIntEvent: WHV_X64_PENDING_EXT_INT_EVENT,
5864 pub InternalActivity: WHV_INTERNAL_ACTIVITY_REGISTER,
5865 pub PendingDebugException: WHV_X64_PENDING_DEBUG_EXCEPTION,
5866 }
5867 impl ::core::marker::Copy for WHV_REGISTER_VALUE {}
5868 impl ::core::clone::Clone for WHV_REGISTER_VALUE {
5869 fn clone(&self) -> Self {
5870 *self
5871 }
5872 }
5873 impl ::windows::core::TypeKind for WHV_REGISTER_VALUE {
5874 type TypeKind = ::windows::core::CopyType;
5875 }
5876 impl ::core::default::Default for WHV_REGISTER_VALUE {
5877 fn default() -> Self {
5878 unsafe { ::core::mem::zeroed() }
5879 }
5880 }
5881 #[repr(C)]
5882 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
5883 pub struct WHV_RUN_VP_CANCELED_CONTEXT {
5884 pub CancelReason: WHV_RUN_VP_CANCEL_REASON,
5885 }
5886 impl ::core::marker::Copy for WHV_RUN_VP_CANCELED_CONTEXT {}
5887 impl ::core::clone::Clone for WHV_RUN_VP_CANCELED_CONTEXT {
5888 fn clone(&self) -> Self {
5889 *self
5890 }
5891 }
5892 impl ::core::fmt::Debug for WHV_RUN_VP_CANCELED_CONTEXT {
5893 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5894 f.debug_struct("WHV_RUN_VP_CANCELED_CONTEXT").field("CancelReason", &self.CancelReason).finish()
5895 }
5896 }
5897 impl ::windows::core::TypeKind for WHV_RUN_VP_CANCELED_CONTEXT {
5898 type TypeKind = ::windows::core::CopyType;
5899 }
5900 impl ::core::cmp::PartialEq for WHV_RUN_VP_CANCELED_CONTEXT {
5901 fn eq(&self, other: &Self) -> bool {
5902 self.CancelReason == other.CancelReason
5903 }
5904 }
5905 impl ::core::cmp::Eq for WHV_RUN_VP_CANCELED_CONTEXT {}
5906 impl ::core::default::Default for WHV_RUN_VP_CANCELED_CONTEXT {
5907 fn default() -> Self {
5908 unsafe { ::core::mem::zeroed() }
5909 }
5910 }
5911 #[repr(C)]
5912 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
5913 pub struct WHV_RUN_VP_EXIT_CONTEXT {
5914 pub ExitReason: WHV_RUN_VP_EXIT_REASON,
5915 pub Reserved: u32,
5916 pub VpContext: WHV_VP_EXIT_CONTEXT,
5917 pub Anonymous: WHV_RUN_VP_EXIT_CONTEXT_0,
5918 }
5919 impl ::core::marker::Copy for WHV_RUN_VP_EXIT_CONTEXT {}
5920 impl ::core::clone::Clone for WHV_RUN_VP_EXIT_CONTEXT {
5921 fn clone(&self) -> Self {
5922 *self
5923 }
5924 }
5925 impl ::windows::core::TypeKind for WHV_RUN_VP_EXIT_CONTEXT {
5926 type TypeKind = ::windows::core::CopyType;
5927 }
5928 impl ::core::default::Default for WHV_RUN_VP_EXIT_CONTEXT {
5929 fn default() -> Self {
5930 unsafe { ::core::mem::zeroed() }
5931 }
5932 }
5933 #[repr(C)]
5934 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
5935 pub union WHV_RUN_VP_EXIT_CONTEXT_0 {
5936 pub MemoryAccess: WHV_MEMORY_ACCESS_CONTEXT,
5937 pub IoPortAccess: WHV_X64_IO_PORT_ACCESS_CONTEXT,
5938 pub MsrAccess: WHV_X64_MSR_ACCESS_CONTEXT,
5939 pub CpuidAccess: WHV_X64_CPUID_ACCESS_CONTEXT,
5940 pub VpException: WHV_VP_EXCEPTION_CONTEXT,
5941 pub InterruptWindow: WHV_X64_INTERRUPTION_DELIVERABLE_CONTEXT,
5942 pub UnsupportedFeature: WHV_X64_UNSUPPORTED_FEATURE_CONTEXT,
5943 pub CancelReason: WHV_RUN_VP_CANCELED_CONTEXT,
5944 pub ApicEoi: WHV_X64_APIC_EOI_CONTEXT,
5945 pub ReadTsc: WHV_X64_RDTSC_CONTEXT,
5946 pub ApicSmi: WHV_X64_APIC_SMI_CONTEXT,
5947 pub Hypercall: WHV_HYPERCALL_CONTEXT,
5948 pub ApicInitSipi: WHV_X64_APIC_INIT_SIPI_CONTEXT,
5949 pub ApicWrite: WHV_X64_APIC_WRITE_CONTEXT,
5950 pub SynicSintDeliverable: WHV_SYNIC_SINT_DELIVERABLE_CONTEXT,
5951 }
5952 impl ::core::marker::Copy for WHV_RUN_VP_EXIT_CONTEXT_0 {}
5953 impl ::core::clone::Clone for WHV_RUN_VP_EXIT_CONTEXT_0 {
5954 fn clone(&self) -> Self {
5955 *self
5956 }
5957 }
5958 impl ::windows::core::TypeKind for WHV_RUN_VP_EXIT_CONTEXT_0 {
5959 type TypeKind = ::windows::core::CopyType;
5960 }
5961 impl ::core::default::Default for WHV_RUN_VP_EXIT_CONTEXT_0 {
5962 fn default() -> Self {
5963 unsafe { ::core::mem::zeroed() }
5964 }
5965 }
5966 #[repr(C)]
5967 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
5968 pub union WHV_SCHEDULER_FEATURES {
5969 pub Anonymous: WHV_SCHEDULER_FEATURES_0,
5970 pub AsUINT64: u64,
5971 }
5972 impl ::core::marker::Copy for WHV_SCHEDULER_FEATURES {}
5973 impl ::core::clone::Clone for WHV_SCHEDULER_FEATURES {
5974 fn clone(&self) -> Self {
5975 *self
5976 }
5977 }
5978 impl ::windows::core::TypeKind for WHV_SCHEDULER_FEATURES {
5979 type TypeKind = ::windows::core::CopyType;
5980 }
5981 impl ::core::default::Default for WHV_SCHEDULER_FEATURES {
5982 fn default() -> Self {
5983 unsafe { ::core::mem::zeroed() }
5984 }
5985 }
5986 #[repr(C)]
5987 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
5988 pub struct WHV_SCHEDULER_FEATURES_0 {
5989 pub _bitfield: u64,
5990 }
5991 impl ::core::marker::Copy for WHV_SCHEDULER_FEATURES_0 {}
5992 impl ::core::clone::Clone for WHV_SCHEDULER_FEATURES_0 {
5993 fn clone(&self) -> Self {
5994 *self
5995 }
5996 }
5997 impl ::core::fmt::Debug for WHV_SCHEDULER_FEATURES_0 {
5998 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5999 f.debug_struct("WHV_SCHEDULER_FEATURES_0").field("_bitfield", &self._bitfield).finish()
6000 }
6001 }
6002 impl ::windows::core::TypeKind for WHV_SCHEDULER_FEATURES_0 {
6003 type TypeKind = ::windows::core::CopyType;
6004 }
6005 impl ::core::cmp::PartialEq for WHV_SCHEDULER_FEATURES_0 {
6006 fn eq(&self, other: &Self) -> bool {
6007 self._bitfield == other._bitfield
6008 }
6009 }
6010 impl ::core::cmp::Eq for WHV_SCHEDULER_FEATURES_0 {}
6011 impl ::core::default::Default for WHV_SCHEDULER_FEATURES_0 {
6012 fn default() -> Self {
6013 unsafe { ::core::mem::zeroed() }
6014 }
6015 }
6016 #[repr(C)]
6017 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`, `\"Win32_Foundation\"`*"]
6018 #[cfg(feature = "Win32_Foundation")]
6019 pub struct WHV_SRIOV_RESOURCE_DESCRIPTOR {
6020 pub PnpInstanceId: [u16; 200],
6021 pub VirtualFunctionId: super::super::Foundation::LUID,
6022 pub VirtualFunctionIndex: u16,
6023 pub Reserved: u16,
6024 }
6025 #[cfg(feature = "Win32_Foundation")]
6026 impl ::core::marker::Copy for WHV_SRIOV_RESOURCE_DESCRIPTOR {}
6027 #[cfg(feature = "Win32_Foundation")]
6028 impl ::core::clone::Clone for WHV_SRIOV_RESOURCE_DESCRIPTOR {
6029 fn clone(&self) -> Self {
6030 *self
6031 }
6032 }
6033 #[cfg(feature = "Win32_Foundation")]
6034 impl ::core::fmt::Debug for WHV_SRIOV_RESOURCE_DESCRIPTOR {
6035 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6036 f.debug_struct("WHV_SRIOV_RESOURCE_DESCRIPTOR").field("PnpInstanceId", &self.PnpInstanceId).field("VirtualFunctionId", &self.VirtualFunctionId).field("VirtualFunctionIndex", &self.VirtualFunctionIndex).field("Reserved", &self.Reserved).finish()
6037 }
6038 }
6039 #[cfg(feature = "Win32_Foundation")]
6040 impl ::windows::core::TypeKind for WHV_SRIOV_RESOURCE_DESCRIPTOR {
6041 type TypeKind = ::windows::core::CopyType;
6042 }
6043 #[cfg(feature = "Win32_Foundation")]
6044 impl ::core::cmp::PartialEq for WHV_SRIOV_RESOURCE_DESCRIPTOR {
6045 fn eq(&self, other: &Self) -> bool {
6046 self.PnpInstanceId == other.PnpInstanceId && self.VirtualFunctionId == other.VirtualFunctionId && self.VirtualFunctionIndex == other.VirtualFunctionIndex && self.Reserved == other.Reserved
6047 }
6048 }
6049 #[cfg(feature = "Win32_Foundation")]
6050 impl ::core::cmp::Eq for WHV_SRIOV_RESOURCE_DESCRIPTOR {}
6051 #[cfg(feature = "Win32_Foundation")]
6052 impl ::core::default::Default for WHV_SRIOV_RESOURCE_DESCRIPTOR {
6053 fn default() -> Self {
6054 unsafe { ::core::mem::zeroed() }
6055 }
6056 }
6057 #[repr(C)]
6058 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
6059 pub struct WHV_SYNIC_EVENT_PARAMETERS {
6060 pub VpIndex: u32,
6061 pub TargetSint: u8,
6062 pub Reserved: u8,
6063 pub FlagNumber: u16,
6064 }
6065 impl ::core::marker::Copy for WHV_SYNIC_EVENT_PARAMETERS {}
6066 impl ::core::clone::Clone for WHV_SYNIC_EVENT_PARAMETERS {
6067 fn clone(&self) -> Self {
6068 *self
6069 }
6070 }
6071 impl ::core::fmt::Debug for WHV_SYNIC_EVENT_PARAMETERS {
6072 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6073 f.debug_struct("WHV_SYNIC_EVENT_PARAMETERS").field("VpIndex", &self.VpIndex).field("TargetSint", &self.TargetSint).field("Reserved", &self.Reserved).field("FlagNumber", &self.FlagNumber).finish()
6074 }
6075 }
6076 impl ::windows::core::TypeKind for WHV_SYNIC_EVENT_PARAMETERS {
6077 type TypeKind = ::windows::core::CopyType;
6078 }
6079 impl ::core::cmp::PartialEq for WHV_SYNIC_EVENT_PARAMETERS {
6080 fn eq(&self, other: &Self) -> bool {
6081 self.VpIndex == other.VpIndex && self.TargetSint == other.TargetSint && self.Reserved == other.Reserved && self.FlagNumber == other.FlagNumber
6082 }
6083 }
6084 impl ::core::cmp::Eq for WHV_SYNIC_EVENT_PARAMETERS {}
6085 impl ::core::default::Default for WHV_SYNIC_EVENT_PARAMETERS {
6086 fn default() -> Self {
6087 unsafe { ::core::mem::zeroed() }
6088 }
6089 }
6090 #[repr(C)]
6091 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
6092 pub struct WHV_SYNIC_SINT_DELIVERABLE_CONTEXT {
6093 pub DeliverableSints: u16,
6094 pub Reserved1: u16,
6095 pub Reserved2: u32,
6096 }
6097 impl ::core::marker::Copy for WHV_SYNIC_SINT_DELIVERABLE_CONTEXT {}
6098 impl ::core::clone::Clone for WHV_SYNIC_SINT_DELIVERABLE_CONTEXT {
6099 fn clone(&self) -> Self {
6100 *self
6101 }
6102 }
6103 impl ::core::fmt::Debug for WHV_SYNIC_SINT_DELIVERABLE_CONTEXT {
6104 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6105 f.debug_struct("WHV_SYNIC_SINT_DELIVERABLE_CONTEXT").field("DeliverableSints", &self.DeliverableSints).field("Reserved1", &self.Reserved1).field("Reserved2", &self.Reserved2).finish()
6106 }
6107 }
6108 impl ::windows::core::TypeKind for WHV_SYNIC_SINT_DELIVERABLE_CONTEXT {
6109 type TypeKind = ::windows::core::CopyType;
6110 }
6111 impl ::core::cmp::PartialEq for WHV_SYNIC_SINT_DELIVERABLE_CONTEXT {
6112 fn eq(&self, other: &Self) -> bool {
6113 self.DeliverableSints == other.DeliverableSints && self.Reserved1 == other.Reserved1 && self.Reserved2 == other.Reserved2
6114 }
6115 }
6116 impl ::core::cmp::Eq for WHV_SYNIC_SINT_DELIVERABLE_CONTEXT {}
6117 impl ::core::default::Default for WHV_SYNIC_SINT_DELIVERABLE_CONTEXT {
6118 fn default() -> Self {
6119 unsafe { ::core::mem::zeroed() }
6120 }
6121 }
6122 #[repr(C)]
6123 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
6124 pub union WHV_SYNTHETIC_PROCESSOR_FEATURES {
6125 pub Anonymous: WHV_SYNTHETIC_PROCESSOR_FEATURES_0,
6126 pub AsUINT64: u64,
6127 }
6128 impl ::core::marker::Copy for WHV_SYNTHETIC_PROCESSOR_FEATURES {}
6129 impl ::core::clone::Clone for WHV_SYNTHETIC_PROCESSOR_FEATURES {
6130 fn clone(&self) -> Self {
6131 *self
6132 }
6133 }
6134 impl ::windows::core::TypeKind for WHV_SYNTHETIC_PROCESSOR_FEATURES {
6135 type TypeKind = ::windows::core::CopyType;
6136 }
6137 impl ::core::default::Default for WHV_SYNTHETIC_PROCESSOR_FEATURES {
6138 fn default() -> Self {
6139 unsafe { ::core::mem::zeroed() }
6140 }
6141 }
6142 #[repr(C)]
6143 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
6144 pub struct WHV_SYNTHETIC_PROCESSOR_FEATURES_0 {
6145 pub _bitfield: u64,
6146 }
6147 impl ::core::marker::Copy for WHV_SYNTHETIC_PROCESSOR_FEATURES_0 {}
6148 impl ::core::clone::Clone for WHV_SYNTHETIC_PROCESSOR_FEATURES_0 {
6149 fn clone(&self) -> Self {
6150 *self
6151 }
6152 }
6153 impl ::core::fmt::Debug for WHV_SYNTHETIC_PROCESSOR_FEATURES_0 {
6154 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6155 f.debug_struct("WHV_SYNTHETIC_PROCESSOR_FEATURES_0").field("_bitfield", &self._bitfield).finish()
6156 }
6157 }
6158 impl ::windows::core::TypeKind for WHV_SYNTHETIC_PROCESSOR_FEATURES_0 {
6159 type TypeKind = ::windows::core::CopyType;
6160 }
6161 impl ::core::cmp::PartialEq for WHV_SYNTHETIC_PROCESSOR_FEATURES_0 {
6162 fn eq(&self, other: &Self) -> bool {
6163 self._bitfield == other._bitfield
6164 }
6165 }
6166 impl ::core::cmp::Eq for WHV_SYNTHETIC_PROCESSOR_FEATURES_0 {}
6167 impl ::core::default::Default for WHV_SYNTHETIC_PROCESSOR_FEATURES_0 {
6168 fn default() -> Self {
6169 unsafe { ::core::mem::zeroed() }
6170 }
6171 }
6172 #[repr(C)]
6173 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
6174 pub struct WHV_SYNTHETIC_PROCESSOR_FEATURES_BANKS {
6175 pub BanksCount: u32,
6176 pub Reserved0: u32,
6177 pub Anonymous: WHV_SYNTHETIC_PROCESSOR_FEATURES_BANKS_0,
6178 }
6179 impl ::core::marker::Copy for WHV_SYNTHETIC_PROCESSOR_FEATURES_BANKS {}
6180 impl ::core::clone::Clone for WHV_SYNTHETIC_PROCESSOR_FEATURES_BANKS {
6181 fn clone(&self) -> Self {
6182 *self
6183 }
6184 }
6185 impl ::windows::core::TypeKind for WHV_SYNTHETIC_PROCESSOR_FEATURES_BANKS {
6186 type TypeKind = ::windows::core::CopyType;
6187 }
6188 impl ::core::default::Default for WHV_SYNTHETIC_PROCESSOR_FEATURES_BANKS {
6189 fn default() -> Self {
6190 unsafe { ::core::mem::zeroed() }
6191 }
6192 }
6193 #[repr(C)]
6194 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
6195 pub union WHV_SYNTHETIC_PROCESSOR_FEATURES_BANKS_0 {
6196 pub Anonymous: WHV_SYNTHETIC_PROCESSOR_FEATURES_BANKS_0_0,
6197 pub AsUINT64: [u64; 1],
6198 }
6199 impl ::core::marker::Copy for WHV_SYNTHETIC_PROCESSOR_FEATURES_BANKS_0 {}
6200 impl ::core::clone::Clone for WHV_SYNTHETIC_PROCESSOR_FEATURES_BANKS_0 {
6201 fn clone(&self) -> Self {
6202 *self
6203 }
6204 }
6205 impl ::windows::core::TypeKind for WHV_SYNTHETIC_PROCESSOR_FEATURES_BANKS_0 {
6206 type TypeKind = ::windows::core::CopyType;
6207 }
6208 impl ::core::default::Default for WHV_SYNTHETIC_PROCESSOR_FEATURES_BANKS_0 {
6209 fn default() -> Self {
6210 unsafe { ::core::mem::zeroed() }
6211 }
6212 }
6213 #[repr(C)]
6214 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
6215 pub struct WHV_SYNTHETIC_PROCESSOR_FEATURES_BANKS_0_0 {
6216 pub Bank0: WHV_SYNTHETIC_PROCESSOR_FEATURES,
6217 }
6218 impl ::core::marker::Copy for WHV_SYNTHETIC_PROCESSOR_FEATURES_BANKS_0_0 {}
6219 impl ::core::clone::Clone for WHV_SYNTHETIC_PROCESSOR_FEATURES_BANKS_0_0 {
6220 fn clone(&self) -> Self {
6221 *self
6222 }
6223 }
6224 impl ::windows::core::TypeKind for WHV_SYNTHETIC_PROCESSOR_FEATURES_BANKS_0_0 {
6225 type TypeKind = ::windows::core::CopyType;
6226 }
6227 impl ::core::default::Default for WHV_SYNTHETIC_PROCESSOR_FEATURES_BANKS_0_0 {
6228 fn default() -> Self {
6229 unsafe { ::core::mem::zeroed() }
6230 }
6231 }
6232 #[repr(C)]
6233 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
6234 pub struct WHV_TRANSLATE_GVA_RESULT {
6235 pub ResultCode: WHV_TRANSLATE_GVA_RESULT_CODE,
6236 pub Reserved: u32,
6237 }
6238 impl ::core::marker::Copy for WHV_TRANSLATE_GVA_RESULT {}
6239 impl ::core::clone::Clone for WHV_TRANSLATE_GVA_RESULT {
6240 fn clone(&self) -> Self {
6241 *self
6242 }
6243 }
6244 impl ::core::fmt::Debug for WHV_TRANSLATE_GVA_RESULT {
6245 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6246 f.debug_struct("WHV_TRANSLATE_GVA_RESULT").field("ResultCode", &self.ResultCode).field("Reserved", &self.Reserved).finish()
6247 }
6248 }
6249 impl ::windows::core::TypeKind for WHV_TRANSLATE_GVA_RESULT {
6250 type TypeKind = ::windows::core::CopyType;
6251 }
6252 impl ::core::cmp::PartialEq for WHV_TRANSLATE_GVA_RESULT {
6253 fn eq(&self, other: &Self) -> bool {
6254 self.ResultCode == other.ResultCode && self.Reserved == other.Reserved
6255 }
6256 }
6257 impl ::core::cmp::Eq for WHV_TRANSLATE_GVA_RESULT {}
6258 impl ::core::default::Default for WHV_TRANSLATE_GVA_RESULT {
6259 fn default() -> Self {
6260 unsafe { ::core::mem::zeroed() }
6261 }
6262 }
6263 #[repr(C)]
6264 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
6265 pub struct WHV_TRIGGER_PARAMETERS {
6266 pub TriggerType: WHV_TRIGGER_TYPE,
6267 pub Reserved: u32,
6268 pub Anonymous: WHV_TRIGGER_PARAMETERS_0,
6269 }
6270 impl ::core::marker::Copy for WHV_TRIGGER_PARAMETERS {}
6271 impl ::core::clone::Clone for WHV_TRIGGER_PARAMETERS {
6272 fn clone(&self) -> Self {
6273 *self
6274 }
6275 }
6276 impl ::windows::core::TypeKind for WHV_TRIGGER_PARAMETERS {
6277 type TypeKind = ::windows::core::CopyType;
6278 }
6279 impl ::core::default::Default for WHV_TRIGGER_PARAMETERS {
6280 fn default() -> Self {
6281 unsafe { ::core::mem::zeroed() }
6282 }
6283 }
6284 #[repr(C)]
6285 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
6286 pub union WHV_TRIGGER_PARAMETERS_0 {
6287 pub Interrupt: WHV_INTERRUPT_CONTROL,
6288 pub SynicEvent: WHV_SYNIC_EVENT_PARAMETERS,
6289 pub DeviceInterrupt: WHV_TRIGGER_PARAMETERS_0_0,
6290 }
6291 impl ::core::marker::Copy for WHV_TRIGGER_PARAMETERS_0 {}
6292 impl ::core::clone::Clone for WHV_TRIGGER_PARAMETERS_0 {
6293 fn clone(&self) -> Self {
6294 *self
6295 }
6296 }
6297 impl ::windows::core::TypeKind for WHV_TRIGGER_PARAMETERS_0 {
6298 type TypeKind = ::windows::core::CopyType;
6299 }
6300 impl ::core::default::Default for WHV_TRIGGER_PARAMETERS_0 {
6301 fn default() -> Self {
6302 unsafe { ::core::mem::zeroed() }
6303 }
6304 }
6305 #[repr(C)]
6306 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
6307 pub struct WHV_TRIGGER_PARAMETERS_0_0 {
6308 pub LogicalDeviceId: u64,
6309 pub MsiAddress: u64,
6310 pub MsiData: u32,
6311 pub Reserved: u32,
6312 }
6313 impl ::core::marker::Copy for WHV_TRIGGER_PARAMETERS_0_0 {}
6314 impl ::core::clone::Clone for WHV_TRIGGER_PARAMETERS_0_0 {
6315 fn clone(&self) -> Self {
6316 *self
6317 }
6318 }
6319 impl ::core::fmt::Debug for WHV_TRIGGER_PARAMETERS_0_0 {
6320 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6321 f.debug_struct("WHV_TRIGGER_PARAMETERS_0_0").field("LogicalDeviceId", &self.LogicalDeviceId).field("MsiAddress", &self.MsiAddress).field("MsiData", &self.MsiData).field("Reserved", &self.Reserved).finish()
6322 }
6323 }
6324 impl ::windows::core::TypeKind for WHV_TRIGGER_PARAMETERS_0_0 {
6325 type TypeKind = ::windows::core::CopyType;
6326 }
6327 impl ::core::cmp::PartialEq for WHV_TRIGGER_PARAMETERS_0_0 {
6328 fn eq(&self, other: &Self) -> bool {
6329 self.LogicalDeviceId == other.LogicalDeviceId && self.MsiAddress == other.MsiAddress && self.MsiData == other.MsiData && self.Reserved == other.Reserved
6330 }
6331 }
6332 impl ::core::cmp::Eq for WHV_TRIGGER_PARAMETERS_0_0 {}
6333 impl ::core::default::Default for WHV_TRIGGER_PARAMETERS_0_0 {
6334 fn default() -> Self {
6335 unsafe { ::core::mem::zeroed() }
6336 }
6337 }
6338 #[repr(C)]
6339 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
6340 pub union WHV_UINT128 {
6341 pub Anonymous: WHV_UINT128_0,
6342 pub Dword: [u32; 4],
6343 }
6344 impl ::core::marker::Copy for WHV_UINT128 {}
6345 impl ::core::clone::Clone for WHV_UINT128 {
6346 fn clone(&self) -> Self {
6347 *self
6348 }
6349 }
6350 impl ::windows::core::TypeKind for WHV_UINT128 {
6351 type TypeKind = ::windows::core::CopyType;
6352 }
6353 impl ::core::default::Default for WHV_UINT128 {
6354 fn default() -> Self {
6355 unsafe { ::core::mem::zeroed() }
6356 }
6357 }
6358 #[repr(C)]
6359 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
6360 pub struct WHV_UINT128_0 {
6361 pub Low64: u64,
6362 pub High64: u64,
6363 }
6364 impl ::core::marker::Copy for WHV_UINT128_0 {}
6365 impl ::core::clone::Clone for WHV_UINT128_0 {
6366 fn clone(&self) -> Self {
6367 *self
6368 }
6369 }
6370 impl ::core::fmt::Debug for WHV_UINT128_0 {
6371 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6372 f.debug_struct("WHV_UINT128_0").field("Low64", &self.Low64).field("High64", &self.High64).finish()
6373 }
6374 }
6375 impl ::windows::core::TypeKind for WHV_UINT128_0 {
6376 type TypeKind = ::windows::core::CopyType;
6377 }
6378 impl ::core::cmp::PartialEq for WHV_UINT128_0 {
6379 fn eq(&self, other: &Self) -> bool {
6380 self.Low64 == other.Low64 && self.High64 == other.High64
6381 }
6382 }
6383 impl ::core::cmp::Eq for WHV_UINT128_0 {}
6384 impl ::core::default::Default for WHV_UINT128_0 {
6385 fn default() -> Self {
6386 unsafe { ::core::mem::zeroed() }
6387 }
6388 }
6389 #[repr(C)]
6390 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
6391 pub struct WHV_VIRTUAL_PROCESSOR_PROPERTY {
6392 pub PropertyCode: WHV_VIRTUAL_PROCESSOR_PROPERTY_CODE,
6393 pub Reserved: u32,
6394 pub Anonymous: WHV_VIRTUAL_PROCESSOR_PROPERTY_0,
6395 }
6396 impl ::core::marker::Copy for WHV_VIRTUAL_PROCESSOR_PROPERTY {}
6397 impl ::core::clone::Clone for WHV_VIRTUAL_PROCESSOR_PROPERTY {
6398 fn clone(&self) -> Self {
6399 *self
6400 }
6401 }
6402 impl ::windows::core::TypeKind for WHV_VIRTUAL_PROCESSOR_PROPERTY {
6403 type TypeKind = ::windows::core::CopyType;
6404 }
6405 impl ::core::default::Default for WHV_VIRTUAL_PROCESSOR_PROPERTY {
6406 fn default() -> Self {
6407 unsafe { ::core::mem::zeroed() }
6408 }
6409 }
6410 #[repr(C)]
6411 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
6412 pub union WHV_VIRTUAL_PROCESSOR_PROPERTY_0 {
6413 pub NumaNode: u16,
6414 pub Padding: u64,
6415 }
6416 impl ::core::marker::Copy for WHV_VIRTUAL_PROCESSOR_PROPERTY_0 {}
6417 impl ::core::clone::Clone for WHV_VIRTUAL_PROCESSOR_PROPERTY_0 {
6418 fn clone(&self) -> Self {
6419 *self
6420 }
6421 }
6422 impl ::windows::core::TypeKind for WHV_VIRTUAL_PROCESSOR_PROPERTY_0 {
6423 type TypeKind = ::windows::core::CopyType;
6424 }
6425 impl ::core::default::Default for WHV_VIRTUAL_PROCESSOR_PROPERTY_0 {
6426 fn default() -> Self {
6427 unsafe { ::core::mem::zeroed() }
6428 }
6429 }
6430 #[repr(C)]
6431 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
6432 pub struct WHV_VPCI_DEVICE_NOTIFICATION {
6433 pub NotificationType: WHV_VPCI_DEVICE_NOTIFICATION_TYPE,
6434 pub Reserved1: u32,
6435 pub Anonymous: WHV_VPCI_DEVICE_NOTIFICATION_0,
6436 }
6437 impl ::core::marker::Copy for WHV_VPCI_DEVICE_NOTIFICATION {}
6438 impl ::core::clone::Clone for WHV_VPCI_DEVICE_NOTIFICATION {
6439 fn clone(&self) -> Self {
6440 *self
6441 }
6442 }
6443 impl ::windows::core::TypeKind for WHV_VPCI_DEVICE_NOTIFICATION {
6444 type TypeKind = ::windows::core::CopyType;
6445 }
6446 impl ::core::default::Default for WHV_VPCI_DEVICE_NOTIFICATION {
6447 fn default() -> Self {
6448 unsafe { ::core::mem::zeroed() }
6449 }
6450 }
6451 #[repr(C)]
6452 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
6453 pub union WHV_VPCI_DEVICE_NOTIFICATION_0 {
6454 pub Reserved2: u64,
6455 }
6456 impl ::core::marker::Copy for WHV_VPCI_DEVICE_NOTIFICATION_0 {}
6457 impl ::core::clone::Clone for WHV_VPCI_DEVICE_NOTIFICATION_0 {
6458 fn clone(&self) -> Self {
6459 *self
6460 }
6461 }
6462 impl ::windows::core::TypeKind for WHV_VPCI_DEVICE_NOTIFICATION_0 {
6463 type TypeKind = ::windows::core::CopyType;
6464 }
6465 impl ::core::default::Default for WHV_VPCI_DEVICE_NOTIFICATION_0 {
6466 fn default() -> Self {
6467 unsafe { ::core::mem::zeroed() }
6468 }
6469 }
6470 #[repr(C)]
6471 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
6472 pub struct WHV_VPCI_DEVICE_REGISTER {
6473 pub Location: WHV_VPCI_DEVICE_REGISTER_SPACE,
6474 pub SizeInBytes: u32,
6475 pub OffsetInBytes: u64,
6476 }
6477 impl ::core::marker::Copy for WHV_VPCI_DEVICE_REGISTER {}
6478 impl ::core::clone::Clone for WHV_VPCI_DEVICE_REGISTER {
6479 fn clone(&self) -> Self {
6480 *self
6481 }
6482 }
6483 impl ::core::fmt::Debug for WHV_VPCI_DEVICE_REGISTER {
6484 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6485 f.debug_struct("WHV_VPCI_DEVICE_REGISTER").field("Location", &self.Location).field("SizeInBytes", &self.SizeInBytes).field("OffsetInBytes", &self.OffsetInBytes).finish()
6486 }
6487 }
6488 impl ::windows::core::TypeKind for WHV_VPCI_DEVICE_REGISTER {
6489 type TypeKind = ::windows::core::CopyType;
6490 }
6491 impl ::core::cmp::PartialEq for WHV_VPCI_DEVICE_REGISTER {
6492 fn eq(&self, other: &Self) -> bool {
6493 self.Location == other.Location && self.SizeInBytes == other.SizeInBytes && self.OffsetInBytes == other.OffsetInBytes
6494 }
6495 }
6496 impl ::core::cmp::Eq for WHV_VPCI_DEVICE_REGISTER {}
6497 impl ::core::default::Default for WHV_VPCI_DEVICE_REGISTER {
6498 fn default() -> Self {
6499 unsafe { ::core::mem::zeroed() }
6500 }
6501 }
6502 #[repr(C)]
6503 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
6504 pub struct WHV_VPCI_HARDWARE_IDS {
6505 pub VendorID: u16,
6506 pub DeviceID: u16,
6507 pub RevisionID: u8,
6508 pub ProgIf: u8,
6509 pub SubClass: u8,
6510 pub BaseClass: u8,
6511 pub SubVendorID: u16,
6512 pub SubSystemID: u16,
6513 }
6514 impl ::core::marker::Copy for WHV_VPCI_HARDWARE_IDS {}
6515 impl ::core::clone::Clone for WHV_VPCI_HARDWARE_IDS {
6516 fn clone(&self) -> Self {
6517 *self
6518 }
6519 }
6520 impl ::core::fmt::Debug for WHV_VPCI_HARDWARE_IDS {
6521 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6522 f.debug_struct("WHV_VPCI_HARDWARE_IDS").field("VendorID", &self.VendorID).field("DeviceID", &self.DeviceID).field("RevisionID", &self.RevisionID).field("ProgIf", &self.ProgIf).field("SubClass", &self.SubClass).field("BaseClass", &self.BaseClass).field("SubVendorID", &self.SubVendorID).field("SubSystemID", &self.SubSystemID).finish()
6523 }
6524 }
6525 impl ::windows::core::TypeKind for WHV_VPCI_HARDWARE_IDS {
6526 type TypeKind = ::windows::core::CopyType;
6527 }
6528 impl ::core::cmp::PartialEq for WHV_VPCI_HARDWARE_IDS {
6529 fn eq(&self, other: &Self) -> bool {
6530 self.VendorID == other.VendorID && self.DeviceID == other.DeviceID && self.RevisionID == other.RevisionID && self.ProgIf == other.ProgIf && self.SubClass == other.SubClass && self.BaseClass == other.BaseClass && self.SubVendorID == other.SubVendorID && self.SubSystemID == other.SubSystemID
6531 }
6532 }
6533 impl ::core::cmp::Eq for WHV_VPCI_HARDWARE_IDS {}
6534 impl ::core::default::Default for WHV_VPCI_HARDWARE_IDS {
6535 fn default() -> Self {
6536 unsafe { ::core::mem::zeroed() }
6537 }
6538 }
6539 #[repr(C)]
6540 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
6541 pub struct WHV_VPCI_INTERRUPT_TARGET {
6542 pub Vector: u32,
6543 pub Flags: WHV_VPCI_INTERRUPT_TARGET_FLAGS,
6544 pub ProcessorCount: u32,
6545 pub Processors: [u32; 1],
6546 }
6547 impl ::core::marker::Copy for WHV_VPCI_INTERRUPT_TARGET {}
6548 impl ::core::clone::Clone for WHV_VPCI_INTERRUPT_TARGET {
6549 fn clone(&self) -> Self {
6550 *self
6551 }
6552 }
6553 impl ::core::fmt::Debug for WHV_VPCI_INTERRUPT_TARGET {
6554 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6555 f.debug_struct("WHV_VPCI_INTERRUPT_TARGET").field("Vector", &self.Vector).field("Flags", &self.Flags).field("ProcessorCount", &self.ProcessorCount).field("Processors", &self.Processors).finish()
6556 }
6557 }
6558 impl ::windows::core::TypeKind for WHV_VPCI_INTERRUPT_TARGET {
6559 type TypeKind = ::windows::core::CopyType;
6560 }
6561 impl ::core::cmp::PartialEq for WHV_VPCI_INTERRUPT_TARGET {
6562 fn eq(&self, other: &Self) -> bool {
6563 self.Vector == other.Vector && self.Flags == other.Flags && self.ProcessorCount == other.ProcessorCount && self.Processors == other.Processors
6564 }
6565 }
6566 impl ::core::cmp::Eq for WHV_VPCI_INTERRUPT_TARGET {}
6567 impl ::core::default::Default for WHV_VPCI_INTERRUPT_TARGET {
6568 fn default() -> Self {
6569 unsafe { ::core::mem::zeroed() }
6570 }
6571 }
6572 #[repr(C)]
6573 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
6574 pub struct WHV_VPCI_MMIO_MAPPING {
6575 pub Location: WHV_VPCI_DEVICE_REGISTER_SPACE,
6576 pub Flags: WHV_VPCI_MMIO_RANGE_FLAGS,
6577 pub SizeInBytes: u64,
6578 pub OffsetInBytes: u64,
6579 pub VirtualAddress: *mut ::core::ffi::c_void,
6580 }
6581 impl ::core::marker::Copy for WHV_VPCI_MMIO_MAPPING {}
6582 impl ::core::clone::Clone for WHV_VPCI_MMIO_MAPPING {
6583 fn clone(&self) -> Self {
6584 *self
6585 }
6586 }
6587 impl ::core::fmt::Debug for WHV_VPCI_MMIO_MAPPING {
6588 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6589 f.debug_struct("WHV_VPCI_MMIO_MAPPING").field("Location", &self.Location).field("Flags", &self.Flags).field("SizeInBytes", &self.SizeInBytes).field("OffsetInBytes", &self.OffsetInBytes).field("VirtualAddress", &self.VirtualAddress).finish()
6590 }
6591 }
6592 impl ::windows::core::TypeKind for WHV_VPCI_MMIO_MAPPING {
6593 type TypeKind = ::windows::core::CopyType;
6594 }
6595 impl ::core::cmp::PartialEq for WHV_VPCI_MMIO_MAPPING {
6596 fn eq(&self, other: &Self) -> bool {
6597 self.Location == other.Location && self.Flags == other.Flags && self.SizeInBytes == other.SizeInBytes && self.OffsetInBytes == other.OffsetInBytes && self.VirtualAddress == other.VirtualAddress
6598 }
6599 }
6600 impl ::core::cmp::Eq for WHV_VPCI_MMIO_MAPPING {}
6601 impl ::core::default::Default for WHV_VPCI_MMIO_MAPPING {
6602 fn default() -> Self {
6603 unsafe { ::core::mem::zeroed() }
6604 }
6605 }
6606 #[repr(C)]
6607 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
6608 pub struct WHV_VPCI_PROBED_BARS {
6609 pub Value: [u32; 6],
6610 }
6611 impl ::core::marker::Copy for WHV_VPCI_PROBED_BARS {}
6612 impl ::core::clone::Clone for WHV_VPCI_PROBED_BARS {
6613 fn clone(&self) -> Self {
6614 *self
6615 }
6616 }
6617 impl ::core::fmt::Debug for WHV_VPCI_PROBED_BARS {
6618 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6619 f.debug_struct("WHV_VPCI_PROBED_BARS").field("Value", &self.Value).finish()
6620 }
6621 }
6622 impl ::windows::core::TypeKind for WHV_VPCI_PROBED_BARS {
6623 type TypeKind = ::windows::core::CopyType;
6624 }
6625 impl ::core::cmp::PartialEq for WHV_VPCI_PROBED_BARS {
6626 fn eq(&self, other: &Self) -> bool {
6627 self.Value == other.Value
6628 }
6629 }
6630 impl ::core::cmp::Eq for WHV_VPCI_PROBED_BARS {}
6631 impl ::core::default::Default for WHV_VPCI_PROBED_BARS {
6632 fn default() -> Self {
6633 unsafe { ::core::mem::zeroed() }
6634 }
6635 }
6636 #[repr(C)]
6637 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
6638 pub struct WHV_VP_EXCEPTION_CONTEXT {
6639 pub InstructionByteCount: u8,
6640 pub Reserved: [u8; 3],
6641 pub InstructionBytes: [u8; 16],
6642 pub ExceptionInfo: WHV_VP_EXCEPTION_INFO,
6643 pub ExceptionType: u8,
6644 pub Reserved2: [u8; 3],
6645 pub ErrorCode: u32,
6646 pub ExceptionParameter: u64,
6647 }
6648 impl ::core::marker::Copy for WHV_VP_EXCEPTION_CONTEXT {}
6649 impl ::core::clone::Clone for WHV_VP_EXCEPTION_CONTEXT {
6650 fn clone(&self) -> Self {
6651 *self
6652 }
6653 }
6654 impl ::windows::core::TypeKind for WHV_VP_EXCEPTION_CONTEXT {
6655 type TypeKind = ::windows::core::CopyType;
6656 }
6657 impl ::core::default::Default for WHV_VP_EXCEPTION_CONTEXT {
6658 fn default() -> Self {
6659 unsafe { ::core::mem::zeroed() }
6660 }
6661 }
6662 #[repr(C)]
6663 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
6664 pub union WHV_VP_EXCEPTION_INFO {
6665 pub Anonymous: WHV_VP_EXCEPTION_INFO_0,
6666 pub AsUINT32: u32,
6667 }
6668 impl ::core::marker::Copy for WHV_VP_EXCEPTION_INFO {}
6669 impl ::core::clone::Clone for WHV_VP_EXCEPTION_INFO {
6670 fn clone(&self) -> Self {
6671 *self
6672 }
6673 }
6674 impl ::windows::core::TypeKind for WHV_VP_EXCEPTION_INFO {
6675 type TypeKind = ::windows::core::CopyType;
6676 }
6677 impl ::core::default::Default for WHV_VP_EXCEPTION_INFO {
6678 fn default() -> Self {
6679 unsafe { ::core::mem::zeroed() }
6680 }
6681 }
6682 #[repr(C)]
6683 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
6684 pub struct WHV_VP_EXCEPTION_INFO_0 {
6685 pub _bitfield: u32,
6686 }
6687 impl ::core::marker::Copy for WHV_VP_EXCEPTION_INFO_0 {}
6688 impl ::core::clone::Clone for WHV_VP_EXCEPTION_INFO_0 {
6689 fn clone(&self) -> Self {
6690 *self
6691 }
6692 }
6693 impl ::core::fmt::Debug for WHV_VP_EXCEPTION_INFO_0 {
6694 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6695 f.debug_struct("WHV_VP_EXCEPTION_INFO_0").field("_bitfield", &self._bitfield).finish()
6696 }
6697 }
6698 impl ::windows::core::TypeKind for WHV_VP_EXCEPTION_INFO_0 {
6699 type TypeKind = ::windows::core::CopyType;
6700 }
6701 impl ::core::cmp::PartialEq for WHV_VP_EXCEPTION_INFO_0 {
6702 fn eq(&self, other: &Self) -> bool {
6703 self._bitfield == other._bitfield
6704 }
6705 }
6706 impl ::core::cmp::Eq for WHV_VP_EXCEPTION_INFO_0 {}
6707 impl ::core::default::Default for WHV_VP_EXCEPTION_INFO_0 {
6708 fn default() -> Self {
6709 unsafe { ::core::mem::zeroed() }
6710 }
6711 }
6712 #[repr(C)]
6713 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
6714 pub struct WHV_VP_EXIT_CONTEXT {
6715 pub ExecutionState: WHV_X64_VP_EXECUTION_STATE,
6716 pub _bitfield: u8,
6717 pub Reserved: u8,
6718 pub Reserved2: u32,
6719 pub Cs: WHV_X64_SEGMENT_REGISTER,
6720 pub Rip: u64,
6721 pub Rflags: u64,
6722 }
6723 impl ::core::marker::Copy for WHV_VP_EXIT_CONTEXT {}
6724 impl ::core::clone::Clone for WHV_VP_EXIT_CONTEXT {
6725 fn clone(&self) -> Self {
6726 *self
6727 }
6728 }
6729 impl ::windows::core::TypeKind for WHV_VP_EXIT_CONTEXT {
6730 type TypeKind = ::windows::core::CopyType;
6731 }
6732 impl ::core::default::Default for WHV_VP_EXIT_CONTEXT {
6733 fn default() -> Self {
6734 unsafe { ::core::mem::zeroed() }
6735 }
6736 }
6737 #[repr(C)]
6738 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
6739 pub struct WHV_X64_APIC_EOI_CONTEXT {
6740 pub InterruptVector: u32,
6741 }
6742 impl ::core::marker::Copy for WHV_X64_APIC_EOI_CONTEXT {}
6743 impl ::core::clone::Clone for WHV_X64_APIC_EOI_CONTEXT {
6744 fn clone(&self) -> Self {
6745 *self
6746 }
6747 }
6748 impl ::core::fmt::Debug for WHV_X64_APIC_EOI_CONTEXT {
6749 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6750 f.debug_struct("WHV_X64_APIC_EOI_CONTEXT").field("InterruptVector", &self.InterruptVector).finish()
6751 }
6752 }
6753 impl ::windows::core::TypeKind for WHV_X64_APIC_EOI_CONTEXT {
6754 type TypeKind = ::windows::core::CopyType;
6755 }
6756 impl ::core::cmp::PartialEq for WHV_X64_APIC_EOI_CONTEXT {
6757 fn eq(&self, other: &Self) -> bool {
6758 self.InterruptVector == other.InterruptVector
6759 }
6760 }
6761 impl ::core::cmp::Eq for WHV_X64_APIC_EOI_CONTEXT {}
6762 impl ::core::default::Default for WHV_X64_APIC_EOI_CONTEXT {
6763 fn default() -> Self {
6764 unsafe { ::core::mem::zeroed() }
6765 }
6766 }
6767 #[repr(C)]
6768 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
6769 pub struct WHV_X64_APIC_INIT_SIPI_CONTEXT {
6770 pub ApicIcr: u64,
6771 }
6772 impl ::core::marker::Copy for WHV_X64_APIC_INIT_SIPI_CONTEXT {}
6773 impl ::core::clone::Clone for WHV_X64_APIC_INIT_SIPI_CONTEXT {
6774 fn clone(&self) -> Self {
6775 *self
6776 }
6777 }
6778 impl ::core::fmt::Debug for WHV_X64_APIC_INIT_SIPI_CONTEXT {
6779 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6780 f.debug_struct("WHV_X64_APIC_INIT_SIPI_CONTEXT").field("ApicIcr", &self.ApicIcr).finish()
6781 }
6782 }
6783 impl ::windows::core::TypeKind for WHV_X64_APIC_INIT_SIPI_CONTEXT {
6784 type TypeKind = ::windows::core::CopyType;
6785 }
6786 impl ::core::cmp::PartialEq for WHV_X64_APIC_INIT_SIPI_CONTEXT {
6787 fn eq(&self, other: &Self) -> bool {
6788 self.ApicIcr == other.ApicIcr
6789 }
6790 }
6791 impl ::core::cmp::Eq for WHV_X64_APIC_INIT_SIPI_CONTEXT {}
6792 impl ::core::default::Default for WHV_X64_APIC_INIT_SIPI_CONTEXT {
6793 fn default() -> Self {
6794 unsafe { ::core::mem::zeroed() }
6795 }
6796 }
6797 #[repr(C)]
6798 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
6799 pub struct WHV_X64_APIC_SMI_CONTEXT {
6800 pub ApicIcr: u64,
6801 }
6802 impl ::core::marker::Copy for WHV_X64_APIC_SMI_CONTEXT {}
6803 impl ::core::clone::Clone for WHV_X64_APIC_SMI_CONTEXT {
6804 fn clone(&self) -> Self {
6805 *self
6806 }
6807 }
6808 impl ::core::fmt::Debug for WHV_X64_APIC_SMI_CONTEXT {
6809 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6810 f.debug_struct("WHV_X64_APIC_SMI_CONTEXT").field("ApicIcr", &self.ApicIcr).finish()
6811 }
6812 }
6813 impl ::windows::core::TypeKind for WHV_X64_APIC_SMI_CONTEXT {
6814 type TypeKind = ::windows::core::CopyType;
6815 }
6816 impl ::core::cmp::PartialEq for WHV_X64_APIC_SMI_CONTEXT {
6817 fn eq(&self, other: &Self) -> bool {
6818 self.ApicIcr == other.ApicIcr
6819 }
6820 }
6821 impl ::core::cmp::Eq for WHV_X64_APIC_SMI_CONTEXT {}
6822 impl ::core::default::Default for WHV_X64_APIC_SMI_CONTEXT {
6823 fn default() -> Self {
6824 unsafe { ::core::mem::zeroed() }
6825 }
6826 }
6827 #[repr(C)]
6828 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
6829 pub struct WHV_X64_APIC_WRITE_CONTEXT {
6830 pub Type: WHV_X64_APIC_WRITE_TYPE,
6831 pub Reserved: u32,
6832 pub WriteValue: u64,
6833 }
6834 impl ::core::marker::Copy for WHV_X64_APIC_WRITE_CONTEXT {}
6835 impl ::core::clone::Clone for WHV_X64_APIC_WRITE_CONTEXT {
6836 fn clone(&self) -> Self {
6837 *self
6838 }
6839 }
6840 impl ::core::fmt::Debug for WHV_X64_APIC_WRITE_CONTEXT {
6841 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6842 f.debug_struct("WHV_X64_APIC_WRITE_CONTEXT").field("Type", &self.Type).field("Reserved", &self.Reserved).field("WriteValue", &self.WriteValue).finish()
6843 }
6844 }
6845 impl ::windows::core::TypeKind for WHV_X64_APIC_WRITE_CONTEXT {
6846 type TypeKind = ::windows::core::CopyType;
6847 }
6848 impl ::core::cmp::PartialEq for WHV_X64_APIC_WRITE_CONTEXT {
6849 fn eq(&self, other: &Self) -> bool {
6850 self.Type == other.Type && self.Reserved == other.Reserved && self.WriteValue == other.WriteValue
6851 }
6852 }
6853 impl ::core::cmp::Eq for WHV_X64_APIC_WRITE_CONTEXT {}
6854 impl ::core::default::Default for WHV_X64_APIC_WRITE_CONTEXT {
6855 fn default() -> Self {
6856 unsafe { ::core::mem::zeroed() }
6857 }
6858 }
6859 #[repr(C)]
6860 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
6861 pub struct WHV_X64_CPUID_ACCESS_CONTEXT {
6862 pub Rax: u64,
6863 pub Rcx: u64,
6864 pub Rdx: u64,
6865 pub Rbx: u64,
6866 pub DefaultResultRax: u64,
6867 pub DefaultResultRcx: u64,
6868 pub DefaultResultRdx: u64,
6869 pub DefaultResultRbx: u64,
6870 }
6871 impl ::core::marker::Copy for WHV_X64_CPUID_ACCESS_CONTEXT {}
6872 impl ::core::clone::Clone for WHV_X64_CPUID_ACCESS_CONTEXT {
6873 fn clone(&self) -> Self {
6874 *self
6875 }
6876 }
6877 impl ::core::fmt::Debug for WHV_X64_CPUID_ACCESS_CONTEXT {
6878 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6879 f.debug_struct("WHV_X64_CPUID_ACCESS_CONTEXT").field("Rax", &self.Rax).field("Rcx", &self.Rcx).field("Rdx", &self.Rdx).field("Rbx", &self.Rbx).field("DefaultResultRax", &self.DefaultResultRax).field("DefaultResultRcx", &self.DefaultResultRcx).field("DefaultResultRdx", &self.DefaultResultRdx).field("DefaultResultRbx", &self.DefaultResultRbx).finish()
6880 }
6881 }
6882 impl ::windows::core::TypeKind for WHV_X64_CPUID_ACCESS_CONTEXT {
6883 type TypeKind = ::windows::core::CopyType;
6884 }
6885 impl ::core::cmp::PartialEq for WHV_X64_CPUID_ACCESS_CONTEXT {
6886 fn eq(&self, other: &Self) -> bool {
6887 self.Rax == other.Rax && self.Rcx == other.Rcx && self.Rdx == other.Rdx && self.Rbx == other.Rbx && self.DefaultResultRax == other.DefaultResultRax && self.DefaultResultRcx == other.DefaultResultRcx && self.DefaultResultRdx == other.DefaultResultRdx && self.DefaultResultRbx == other.DefaultResultRbx
6888 }
6889 }
6890 impl ::core::cmp::Eq for WHV_X64_CPUID_ACCESS_CONTEXT {}
6891 impl ::core::default::Default for WHV_X64_CPUID_ACCESS_CONTEXT {
6892 fn default() -> Self {
6893 unsafe { ::core::mem::zeroed() }
6894 }
6895 }
6896 #[repr(C)]
6897 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
6898 pub struct WHV_X64_CPUID_RESULT {
6899 pub Function: u32,
6900 pub Reserved: [u32; 3],
6901 pub Eax: u32,
6902 pub Ebx: u32,
6903 pub Ecx: u32,
6904 pub Edx: u32,
6905 }
6906 impl ::core::marker::Copy for WHV_X64_CPUID_RESULT {}
6907 impl ::core::clone::Clone for WHV_X64_CPUID_RESULT {
6908 fn clone(&self) -> Self {
6909 *self
6910 }
6911 }
6912 impl ::core::fmt::Debug for WHV_X64_CPUID_RESULT {
6913 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6914 f.debug_struct("WHV_X64_CPUID_RESULT").field("Function", &self.Function).field("Reserved", &self.Reserved).field("Eax", &self.Eax).field("Ebx", &self.Ebx).field("Ecx", &self.Ecx).field("Edx", &self.Edx).finish()
6915 }
6916 }
6917 impl ::windows::core::TypeKind for WHV_X64_CPUID_RESULT {
6918 type TypeKind = ::windows::core::CopyType;
6919 }
6920 impl ::core::cmp::PartialEq for WHV_X64_CPUID_RESULT {
6921 fn eq(&self, other: &Self) -> bool {
6922 self.Function == other.Function && self.Reserved == other.Reserved && self.Eax == other.Eax && self.Ebx == other.Ebx && self.Ecx == other.Ecx && self.Edx == other.Edx
6923 }
6924 }
6925 impl ::core::cmp::Eq for WHV_X64_CPUID_RESULT {}
6926 impl ::core::default::Default for WHV_X64_CPUID_RESULT {
6927 fn default() -> Self {
6928 unsafe { ::core::mem::zeroed() }
6929 }
6930 }
6931 #[repr(C)]
6932 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
6933 pub struct WHV_X64_CPUID_RESULT2 {
6934 pub Function: u32,
6935 pub Index: u32,
6936 pub VpIndex: u32,
6937 pub Flags: WHV_X64_CPUID_RESULT2_FLAGS,
6938 pub Output: WHV_CPUID_OUTPUT,
6939 pub Mask: WHV_CPUID_OUTPUT,
6940 }
6941 impl ::core::marker::Copy for WHV_X64_CPUID_RESULT2 {}
6942 impl ::core::clone::Clone for WHV_X64_CPUID_RESULT2 {
6943 fn clone(&self) -> Self {
6944 *self
6945 }
6946 }
6947 impl ::core::fmt::Debug for WHV_X64_CPUID_RESULT2 {
6948 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6949 f.debug_struct("WHV_X64_CPUID_RESULT2").field("Function", &self.Function).field("Index", &self.Index).field("VpIndex", &self.VpIndex).field("Flags", &self.Flags).field("Output", &self.Output).field("Mask", &self.Mask).finish()
6950 }
6951 }
6952 impl ::windows::core::TypeKind for WHV_X64_CPUID_RESULT2 {
6953 type TypeKind = ::windows::core::CopyType;
6954 }
6955 impl ::core::cmp::PartialEq for WHV_X64_CPUID_RESULT2 {
6956 fn eq(&self, other: &Self) -> bool {
6957 self.Function == other.Function && self.Index == other.Index && self.VpIndex == other.VpIndex && self.Flags == other.Flags && self.Output == other.Output && self.Mask == other.Mask
6958 }
6959 }
6960 impl ::core::cmp::Eq for WHV_X64_CPUID_RESULT2 {}
6961 impl ::core::default::Default for WHV_X64_CPUID_RESULT2 {
6962 fn default() -> Self {
6963 unsafe { ::core::mem::zeroed() }
6964 }
6965 }
6966 #[repr(C)]
6967 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
6968 pub union WHV_X64_DELIVERABILITY_NOTIFICATIONS_REGISTER {
6969 pub Anonymous: WHV_X64_DELIVERABILITY_NOTIFICATIONS_REGISTER_0,
6970 pub AsUINT64: u64,
6971 }
6972 impl ::core::marker::Copy for WHV_X64_DELIVERABILITY_NOTIFICATIONS_REGISTER {}
6973 impl ::core::clone::Clone for WHV_X64_DELIVERABILITY_NOTIFICATIONS_REGISTER {
6974 fn clone(&self) -> Self {
6975 *self
6976 }
6977 }
6978 impl ::windows::core::TypeKind for WHV_X64_DELIVERABILITY_NOTIFICATIONS_REGISTER {
6979 type TypeKind = ::windows::core::CopyType;
6980 }
6981 impl ::core::default::Default for WHV_X64_DELIVERABILITY_NOTIFICATIONS_REGISTER {
6982 fn default() -> Self {
6983 unsafe { ::core::mem::zeroed() }
6984 }
6985 }
6986 #[repr(C)]
6987 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
6988 pub struct WHV_X64_DELIVERABILITY_NOTIFICATIONS_REGISTER_0 {
6989 pub _bitfield: u64,
6990 }
6991 impl ::core::marker::Copy for WHV_X64_DELIVERABILITY_NOTIFICATIONS_REGISTER_0 {}
6992 impl ::core::clone::Clone for WHV_X64_DELIVERABILITY_NOTIFICATIONS_REGISTER_0 {
6993 fn clone(&self) -> Self {
6994 *self
6995 }
6996 }
6997 impl ::core::fmt::Debug for WHV_X64_DELIVERABILITY_NOTIFICATIONS_REGISTER_0 {
6998 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6999 f.debug_struct("WHV_X64_DELIVERABILITY_NOTIFICATIONS_REGISTER_0").field("_bitfield", &self._bitfield).finish()
7000 }
7001 }
7002 impl ::windows::core::TypeKind for WHV_X64_DELIVERABILITY_NOTIFICATIONS_REGISTER_0 {
7003 type TypeKind = ::windows::core::CopyType;
7004 }
7005 impl ::core::cmp::PartialEq for WHV_X64_DELIVERABILITY_NOTIFICATIONS_REGISTER_0 {
7006 fn eq(&self, other: &Self) -> bool {
7007 self._bitfield == other._bitfield
7008 }
7009 }
7010 impl ::core::cmp::Eq for WHV_X64_DELIVERABILITY_NOTIFICATIONS_REGISTER_0 {}
7011 impl ::core::default::Default for WHV_X64_DELIVERABILITY_NOTIFICATIONS_REGISTER_0 {
7012 fn default() -> Self {
7013 unsafe { ::core::mem::zeroed() }
7014 }
7015 }
7016 #[repr(C)]
7017 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
7018 pub union WHV_X64_FP_CONTROL_STATUS_REGISTER {
7019 pub Anonymous: WHV_X64_FP_CONTROL_STATUS_REGISTER_0,
7020 pub AsUINT128: WHV_UINT128,
7021 }
7022 impl ::core::marker::Copy for WHV_X64_FP_CONTROL_STATUS_REGISTER {}
7023 impl ::core::clone::Clone for WHV_X64_FP_CONTROL_STATUS_REGISTER {
7024 fn clone(&self) -> Self {
7025 *self
7026 }
7027 }
7028 impl ::windows::core::TypeKind for WHV_X64_FP_CONTROL_STATUS_REGISTER {
7029 type TypeKind = ::windows::core::CopyType;
7030 }
7031 impl ::core::default::Default for WHV_X64_FP_CONTROL_STATUS_REGISTER {
7032 fn default() -> Self {
7033 unsafe { ::core::mem::zeroed() }
7034 }
7035 }
7036 #[repr(C)]
7037 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
7038 pub struct WHV_X64_FP_CONTROL_STATUS_REGISTER_0 {
7039 pub FpControl: u16,
7040 pub FpStatus: u16,
7041 pub FpTag: u8,
7042 pub Reserved: u8,
7043 pub LastFpOp: u16,
7044 pub Anonymous: WHV_X64_FP_CONTROL_STATUS_REGISTER_0_0,
7045 }
7046 impl ::core::marker::Copy for WHV_X64_FP_CONTROL_STATUS_REGISTER_0 {}
7047 impl ::core::clone::Clone for WHV_X64_FP_CONTROL_STATUS_REGISTER_0 {
7048 fn clone(&self) -> Self {
7049 *self
7050 }
7051 }
7052 impl ::windows::core::TypeKind for WHV_X64_FP_CONTROL_STATUS_REGISTER_0 {
7053 type TypeKind = ::windows::core::CopyType;
7054 }
7055 impl ::core::default::Default for WHV_X64_FP_CONTROL_STATUS_REGISTER_0 {
7056 fn default() -> Self {
7057 unsafe { ::core::mem::zeroed() }
7058 }
7059 }
7060 #[repr(C)]
7061 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
7062 pub union WHV_X64_FP_CONTROL_STATUS_REGISTER_0_0 {
7063 pub LastFpRip: u64,
7064 pub Anonymous: WHV_X64_FP_CONTROL_STATUS_REGISTER_0_0_0,
7065 }
7066 impl ::core::marker::Copy for WHV_X64_FP_CONTROL_STATUS_REGISTER_0_0 {}
7067 impl ::core::clone::Clone for WHV_X64_FP_CONTROL_STATUS_REGISTER_0_0 {
7068 fn clone(&self) -> Self {
7069 *self
7070 }
7071 }
7072 impl ::windows::core::TypeKind for WHV_X64_FP_CONTROL_STATUS_REGISTER_0_0 {
7073 type TypeKind = ::windows::core::CopyType;
7074 }
7075 impl ::core::default::Default for WHV_X64_FP_CONTROL_STATUS_REGISTER_0_0 {
7076 fn default() -> Self {
7077 unsafe { ::core::mem::zeroed() }
7078 }
7079 }
7080 #[repr(C)]
7081 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
7082 pub struct WHV_X64_FP_CONTROL_STATUS_REGISTER_0_0_0 {
7083 pub LastFpEip: u32,
7084 pub LastFpCs: u16,
7085 pub Reserved2: u16,
7086 }
7087 impl ::core::marker::Copy for WHV_X64_FP_CONTROL_STATUS_REGISTER_0_0_0 {}
7088 impl ::core::clone::Clone for WHV_X64_FP_CONTROL_STATUS_REGISTER_0_0_0 {
7089 fn clone(&self) -> Self {
7090 *self
7091 }
7092 }
7093 impl ::core::fmt::Debug for WHV_X64_FP_CONTROL_STATUS_REGISTER_0_0_0 {
7094 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7095 f.debug_struct("WHV_X64_FP_CONTROL_STATUS_REGISTER_0_0_0").field("LastFpEip", &self.LastFpEip).field("LastFpCs", &self.LastFpCs).field("Reserved2", &self.Reserved2).finish()
7096 }
7097 }
7098 impl ::windows::core::TypeKind for WHV_X64_FP_CONTROL_STATUS_REGISTER_0_0_0 {
7099 type TypeKind = ::windows::core::CopyType;
7100 }
7101 impl ::core::cmp::PartialEq for WHV_X64_FP_CONTROL_STATUS_REGISTER_0_0_0 {
7102 fn eq(&self, other: &Self) -> bool {
7103 self.LastFpEip == other.LastFpEip && self.LastFpCs == other.LastFpCs && self.Reserved2 == other.Reserved2
7104 }
7105 }
7106 impl ::core::cmp::Eq for WHV_X64_FP_CONTROL_STATUS_REGISTER_0_0_0 {}
7107 impl ::core::default::Default for WHV_X64_FP_CONTROL_STATUS_REGISTER_0_0_0 {
7108 fn default() -> Self {
7109 unsafe { ::core::mem::zeroed() }
7110 }
7111 }
7112 #[repr(C)]
7113 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
7114 pub union WHV_X64_FP_REGISTER {
7115 pub Anonymous: WHV_X64_FP_REGISTER_0,
7116 pub AsUINT128: WHV_UINT128,
7117 }
7118 impl ::core::marker::Copy for WHV_X64_FP_REGISTER {}
7119 impl ::core::clone::Clone for WHV_X64_FP_REGISTER {
7120 fn clone(&self) -> Self {
7121 *self
7122 }
7123 }
7124 impl ::windows::core::TypeKind for WHV_X64_FP_REGISTER {
7125 type TypeKind = ::windows::core::CopyType;
7126 }
7127 impl ::core::default::Default for WHV_X64_FP_REGISTER {
7128 fn default() -> Self {
7129 unsafe { ::core::mem::zeroed() }
7130 }
7131 }
7132 #[repr(C)]
7133 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
7134 pub struct WHV_X64_FP_REGISTER_0 {
7135 pub Mantissa: u64,
7136 pub _bitfield: u64,
7137 }
7138 impl ::core::marker::Copy for WHV_X64_FP_REGISTER_0 {}
7139 impl ::core::clone::Clone for WHV_X64_FP_REGISTER_0 {
7140 fn clone(&self) -> Self {
7141 *self
7142 }
7143 }
7144 impl ::core::fmt::Debug for WHV_X64_FP_REGISTER_0 {
7145 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7146 f.debug_struct("WHV_X64_FP_REGISTER_0").field("Mantissa", &self.Mantissa).field("_bitfield", &self._bitfield).finish()
7147 }
7148 }
7149 impl ::windows::core::TypeKind for WHV_X64_FP_REGISTER_0 {
7150 type TypeKind = ::windows::core::CopyType;
7151 }
7152 impl ::core::cmp::PartialEq for WHV_X64_FP_REGISTER_0 {
7153 fn eq(&self, other: &Self) -> bool {
7154 self.Mantissa == other.Mantissa && self._bitfield == other._bitfield
7155 }
7156 }
7157 impl ::core::cmp::Eq for WHV_X64_FP_REGISTER_0 {}
7158 impl ::core::default::Default for WHV_X64_FP_REGISTER_0 {
7159 fn default() -> Self {
7160 unsafe { ::core::mem::zeroed() }
7161 }
7162 }
7163 #[repr(C)]
7164 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
7165 pub struct WHV_X64_INTERRUPTION_DELIVERABLE_CONTEXT {
7166 pub DeliverableType: WHV_X64_PENDING_INTERRUPTION_TYPE,
7167 }
7168 impl ::core::marker::Copy for WHV_X64_INTERRUPTION_DELIVERABLE_CONTEXT {}
7169 impl ::core::clone::Clone for WHV_X64_INTERRUPTION_DELIVERABLE_CONTEXT {
7170 fn clone(&self) -> Self {
7171 *self
7172 }
7173 }
7174 impl ::core::fmt::Debug for WHV_X64_INTERRUPTION_DELIVERABLE_CONTEXT {
7175 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7176 f.debug_struct("WHV_X64_INTERRUPTION_DELIVERABLE_CONTEXT").field("DeliverableType", &self.DeliverableType).finish()
7177 }
7178 }
7179 impl ::windows::core::TypeKind for WHV_X64_INTERRUPTION_DELIVERABLE_CONTEXT {
7180 type TypeKind = ::windows::core::CopyType;
7181 }
7182 impl ::core::cmp::PartialEq for WHV_X64_INTERRUPTION_DELIVERABLE_CONTEXT {
7183 fn eq(&self, other: &Self) -> bool {
7184 self.DeliverableType == other.DeliverableType
7185 }
7186 }
7187 impl ::core::cmp::Eq for WHV_X64_INTERRUPTION_DELIVERABLE_CONTEXT {}
7188 impl ::core::default::Default for WHV_X64_INTERRUPTION_DELIVERABLE_CONTEXT {
7189 fn default() -> Self {
7190 unsafe { ::core::mem::zeroed() }
7191 }
7192 }
7193 #[repr(C)]
7194 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
7195 pub union WHV_X64_INTERRUPT_STATE_REGISTER {
7196 pub Anonymous: WHV_X64_INTERRUPT_STATE_REGISTER_0,
7197 pub AsUINT64: u64,
7198 }
7199 impl ::core::marker::Copy for WHV_X64_INTERRUPT_STATE_REGISTER {}
7200 impl ::core::clone::Clone for WHV_X64_INTERRUPT_STATE_REGISTER {
7201 fn clone(&self) -> Self {
7202 *self
7203 }
7204 }
7205 impl ::windows::core::TypeKind for WHV_X64_INTERRUPT_STATE_REGISTER {
7206 type TypeKind = ::windows::core::CopyType;
7207 }
7208 impl ::core::default::Default for WHV_X64_INTERRUPT_STATE_REGISTER {
7209 fn default() -> Self {
7210 unsafe { ::core::mem::zeroed() }
7211 }
7212 }
7213 #[repr(C)]
7214 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
7215 pub struct WHV_X64_INTERRUPT_STATE_REGISTER_0 {
7216 pub _bitfield: u64,
7217 }
7218 impl ::core::marker::Copy for WHV_X64_INTERRUPT_STATE_REGISTER_0 {}
7219 impl ::core::clone::Clone for WHV_X64_INTERRUPT_STATE_REGISTER_0 {
7220 fn clone(&self) -> Self {
7221 *self
7222 }
7223 }
7224 impl ::core::fmt::Debug for WHV_X64_INTERRUPT_STATE_REGISTER_0 {
7225 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7226 f.debug_struct("WHV_X64_INTERRUPT_STATE_REGISTER_0").field("_bitfield", &self._bitfield).finish()
7227 }
7228 }
7229 impl ::windows::core::TypeKind for WHV_X64_INTERRUPT_STATE_REGISTER_0 {
7230 type TypeKind = ::windows::core::CopyType;
7231 }
7232 impl ::core::cmp::PartialEq for WHV_X64_INTERRUPT_STATE_REGISTER_0 {
7233 fn eq(&self, other: &Self) -> bool {
7234 self._bitfield == other._bitfield
7235 }
7236 }
7237 impl ::core::cmp::Eq for WHV_X64_INTERRUPT_STATE_REGISTER_0 {}
7238 impl ::core::default::Default for WHV_X64_INTERRUPT_STATE_REGISTER_0 {
7239 fn default() -> Self {
7240 unsafe { ::core::mem::zeroed() }
7241 }
7242 }
7243 #[repr(C)]
7244 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
7245 pub struct WHV_X64_IO_PORT_ACCESS_CONTEXT {
7246 pub InstructionByteCount: u8,
7247 pub Reserved: [u8; 3],
7248 pub InstructionBytes: [u8; 16],
7249 pub AccessInfo: WHV_X64_IO_PORT_ACCESS_INFO,
7250 pub PortNumber: u16,
7251 pub Reserved2: [u16; 3],
7252 pub Rax: u64,
7253 pub Rcx: u64,
7254 pub Rsi: u64,
7255 pub Rdi: u64,
7256 pub Ds: WHV_X64_SEGMENT_REGISTER,
7257 pub Es: WHV_X64_SEGMENT_REGISTER,
7258 }
7259 impl ::core::marker::Copy for WHV_X64_IO_PORT_ACCESS_CONTEXT {}
7260 impl ::core::clone::Clone for WHV_X64_IO_PORT_ACCESS_CONTEXT {
7261 fn clone(&self) -> Self {
7262 *self
7263 }
7264 }
7265 impl ::windows::core::TypeKind for WHV_X64_IO_PORT_ACCESS_CONTEXT {
7266 type TypeKind = ::windows::core::CopyType;
7267 }
7268 impl ::core::default::Default for WHV_X64_IO_PORT_ACCESS_CONTEXT {
7269 fn default() -> Self {
7270 unsafe { ::core::mem::zeroed() }
7271 }
7272 }
7273 #[repr(C)]
7274 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
7275 pub union WHV_X64_IO_PORT_ACCESS_INFO {
7276 pub Anonymous: WHV_X64_IO_PORT_ACCESS_INFO_0,
7277 pub AsUINT32: u32,
7278 }
7279 impl ::core::marker::Copy for WHV_X64_IO_PORT_ACCESS_INFO {}
7280 impl ::core::clone::Clone for WHV_X64_IO_PORT_ACCESS_INFO {
7281 fn clone(&self) -> Self {
7282 *self
7283 }
7284 }
7285 impl ::windows::core::TypeKind for WHV_X64_IO_PORT_ACCESS_INFO {
7286 type TypeKind = ::windows::core::CopyType;
7287 }
7288 impl ::core::default::Default for WHV_X64_IO_PORT_ACCESS_INFO {
7289 fn default() -> Self {
7290 unsafe { ::core::mem::zeroed() }
7291 }
7292 }
7293 #[repr(C)]
7294 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
7295 pub struct WHV_X64_IO_PORT_ACCESS_INFO_0 {
7296 pub _bitfield: u32,
7297 }
7298 impl ::core::marker::Copy for WHV_X64_IO_PORT_ACCESS_INFO_0 {}
7299 impl ::core::clone::Clone for WHV_X64_IO_PORT_ACCESS_INFO_0 {
7300 fn clone(&self) -> Self {
7301 *self
7302 }
7303 }
7304 impl ::core::fmt::Debug for WHV_X64_IO_PORT_ACCESS_INFO_0 {
7305 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7306 f.debug_struct("WHV_X64_IO_PORT_ACCESS_INFO_0").field("_bitfield", &self._bitfield).finish()
7307 }
7308 }
7309 impl ::windows::core::TypeKind for WHV_X64_IO_PORT_ACCESS_INFO_0 {
7310 type TypeKind = ::windows::core::CopyType;
7311 }
7312 impl ::core::cmp::PartialEq for WHV_X64_IO_PORT_ACCESS_INFO_0 {
7313 fn eq(&self, other: &Self) -> bool {
7314 self._bitfield == other._bitfield
7315 }
7316 }
7317 impl ::core::cmp::Eq for WHV_X64_IO_PORT_ACCESS_INFO_0 {}
7318 impl ::core::default::Default for WHV_X64_IO_PORT_ACCESS_INFO_0 {
7319 fn default() -> Self {
7320 unsafe { ::core::mem::zeroed() }
7321 }
7322 }
7323 #[repr(C)]
7324 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
7325 pub struct WHV_X64_MSR_ACCESS_CONTEXT {
7326 pub AccessInfo: WHV_X64_MSR_ACCESS_INFO,
7327 pub MsrNumber: u32,
7328 pub Rax: u64,
7329 pub Rdx: u64,
7330 }
7331 impl ::core::marker::Copy for WHV_X64_MSR_ACCESS_CONTEXT {}
7332 impl ::core::clone::Clone for WHV_X64_MSR_ACCESS_CONTEXT {
7333 fn clone(&self) -> Self {
7334 *self
7335 }
7336 }
7337 impl ::windows::core::TypeKind for WHV_X64_MSR_ACCESS_CONTEXT {
7338 type TypeKind = ::windows::core::CopyType;
7339 }
7340 impl ::core::default::Default for WHV_X64_MSR_ACCESS_CONTEXT {
7341 fn default() -> Self {
7342 unsafe { ::core::mem::zeroed() }
7343 }
7344 }
7345 #[repr(C)]
7346 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
7347 pub union WHV_X64_MSR_ACCESS_INFO {
7348 pub Anonymous: WHV_X64_MSR_ACCESS_INFO_0,
7349 pub AsUINT32: u32,
7350 }
7351 impl ::core::marker::Copy for WHV_X64_MSR_ACCESS_INFO {}
7352 impl ::core::clone::Clone for WHV_X64_MSR_ACCESS_INFO {
7353 fn clone(&self) -> Self {
7354 *self
7355 }
7356 }
7357 impl ::windows::core::TypeKind for WHV_X64_MSR_ACCESS_INFO {
7358 type TypeKind = ::windows::core::CopyType;
7359 }
7360 impl ::core::default::Default for WHV_X64_MSR_ACCESS_INFO {
7361 fn default() -> Self {
7362 unsafe { ::core::mem::zeroed() }
7363 }
7364 }
7365 #[repr(C)]
7366 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
7367 pub struct WHV_X64_MSR_ACCESS_INFO_0 {
7368 pub _bitfield: u32,
7369 }
7370 impl ::core::marker::Copy for WHV_X64_MSR_ACCESS_INFO_0 {}
7371 impl ::core::clone::Clone for WHV_X64_MSR_ACCESS_INFO_0 {
7372 fn clone(&self) -> Self {
7373 *self
7374 }
7375 }
7376 impl ::core::fmt::Debug for WHV_X64_MSR_ACCESS_INFO_0 {
7377 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7378 f.debug_struct("WHV_X64_MSR_ACCESS_INFO_0").field("_bitfield", &self._bitfield).finish()
7379 }
7380 }
7381 impl ::windows::core::TypeKind for WHV_X64_MSR_ACCESS_INFO_0 {
7382 type TypeKind = ::windows::core::CopyType;
7383 }
7384 impl ::core::cmp::PartialEq for WHV_X64_MSR_ACCESS_INFO_0 {
7385 fn eq(&self, other: &Self) -> bool {
7386 self._bitfield == other._bitfield
7387 }
7388 }
7389 impl ::core::cmp::Eq for WHV_X64_MSR_ACCESS_INFO_0 {}
7390 impl ::core::default::Default for WHV_X64_MSR_ACCESS_INFO_0 {
7391 fn default() -> Self {
7392 unsafe { ::core::mem::zeroed() }
7393 }
7394 }
7395 #[repr(C)]
7396 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
7397 pub union WHV_X64_MSR_EXIT_BITMAP {
7398 pub AsUINT64: u64,
7399 pub Anonymous: WHV_X64_MSR_EXIT_BITMAP_0,
7400 }
7401 impl ::core::marker::Copy for WHV_X64_MSR_EXIT_BITMAP {}
7402 impl ::core::clone::Clone for WHV_X64_MSR_EXIT_BITMAP {
7403 fn clone(&self) -> Self {
7404 *self
7405 }
7406 }
7407 impl ::windows::core::TypeKind for WHV_X64_MSR_EXIT_BITMAP {
7408 type TypeKind = ::windows::core::CopyType;
7409 }
7410 impl ::core::default::Default for WHV_X64_MSR_EXIT_BITMAP {
7411 fn default() -> Self {
7412 unsafe { ::core::mem::zeroed() }
7413 }
7414 }
7415 #[repr(C)]
7416 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
7417 pub struct WHV_X64_MSR_EXIT_BITMAP_0 {
7418 pub _bitfield: u64,
7419 }
7420 impl ::core::marker::Copy for WHV_X64_MSR_EXIT_BITMAP_0 {}
7421 impl ::core::clone::Clone for WHV_X64_MSR_EXIT_BITMAP_0 {
7422 fn clone(&self) -> Self {
7423 *self
7424 }
7425 }
7426 impl ::core::fmt::Debug for WHV_X64_MSR_EXIT_BITMAP_0 {
7427 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7428 f.debug_struct("WHV_X64_MSR_EXIT_BITMAP_0").field("_bitfield", &self._bitfield).finish()
7429 }
7430 }
7431 impl ::windows::core::TypeKind for WHV_X64_MSR_EXIT_BITMAP_0 {
7432 type TypeKind = ::windows::core::CopyType;
7433 }
7434 impl ::core::cmp::PartialEq for WHV_X64_MSR_EXIT_BITMAP_0 {
7435 fn eq(&self, other: &Self) -> bool {
7436 self._bitfield == other._bitfield
7437 }
7438 }
7439 impl ::core::cmp::Eq for WHV_X64_MSR_EXIT_BITMAP_0 {}
7440 impl ::core::default::Default for WHV_X64_MSR_EXIT_BITMAP_0 {
7441 fn default() -> Self {
7442 unsafe { ::core::mem::zeroed() }
7443 }
7444 }
7445 #[repr(C)]
7446 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
7447 pub union WHV_X64_PENDING_DEBUG_EXCEPTION {
7448 pub AsUINT64: u64,
7449 pub Anonymous: WHV_X64_PENDING_DEBUG_EXCEPTION_0,
7450 }
7451 impl ::core::marker::Copy for WHV_X64_PENDING_DEBUG_EXCEPTION {}
7452 impl ::core::clone::Clone for WHV_X64_PENDING_DEBUG_EXCEPTION {
7453 fn clone(&self) -> Self {
7454 *self
7455 }
7456 }
7457 impl ::windows::core::TypeKind for WHV_X64_PENDING_DEBUG_EXCEPTION {
7458 type TypeKind = ::windows::core::CopyType;
7459 }
7460 impl ::core::default::Default for WHV_X64_PENDING_DEBUG_EXCEPTION {
7461 fn default() -> Self {
7462 unsafe { ::core::mem::zeroed() }
7463 }
7464 }
7465 #[repr(C)]
7466 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
7467 pub struct WHV_X64_PENDING_DEBUG_EXCEPTION_0 {
7468 pub _bitfield: u64,
7469 }
7470 impl ::core::marker::Copy for WHV_X64_PENDING_DEBUG_EXCEPTION_0 {}
7471 impl ::core::clone::Clone for WHV_X64_PENDING_DEBUG_EXCEPTION_0 {
7472 fn clone(&self) -> Self {
7473 *self
7474 }
7475 }
7476 impl ::core::fmt::Debug for WHV_X64_PENDING_DEBUG_EXCEPTION_0 {
7477 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7478 f.debug_struct("WHV_X64_PENDING_DEBUG_EXCEPTION_0").field("_bitfield", &self._bitfield).finish()
7479 }
7480 }
7481 impl ::windows::core::TypeKind for WHV_X64_PENDING_DEBUG_EXCEPTION_0 {
7482 type TypeKind = ::windows::core::CopyType;
7483 }
7484 impl ::core::cmp::PartialEq for WHV_X64_PENDING_DEBUG_EXCEPTION_0 {
7485 fn eq(&self, other: &Self) -> bool {
7486 self._bitfield == other._bitfield
7487 }
7488 }
7489 impl ::core::cmp::Eq for WHV_X64_PENDING_DEBUG_EXCEPTION_0 {}
7490 impl ::core::default::Default for WHV_X64_PENDING_DEBUG_EXCEPTION_0 {
7491 fn default() -> Self {
7492 unsafe { ::core::mem::zeroed() }
7493 }
7494 }
7495 #[repr(C)]
7496 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
7497 pub union WHV_X64_PENDING_EXCEPTION_EVENT {
7498 pub Anonymous: WHV_X64_PENDING_EXCEPTION_EVENT_0,
7499 pub AsUINT128: WHV_UINT128,
7500 }
7501 impl ::core::marker::Copy for WHV_X64_PENDING_EXCEPTION_EVENT {}
7502 impl ::core::clone::Clone for WHV_X64_PENDING_EXCEPTION_EVENT {
7503 fn clone(&self) -> Self {
7504 *self
7505 }
7506 }
7507 impl ::windows::core::TypeKind for WHV_X64_PENDING_EXCEPTION_EVENT {
7508 type TypeKind = ::windows::core::CopyType;
7509 }
7510 impl ::core::default::Default for WHV_X64_PENDING_EXCEPTION_EVENT {
7511 fn default() -> Self {
7512 unsafe { ::core::mem::zeroed() }
7513 }
7514 }
7515 #[repr(C)]
7516 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
7517 pub struct WHV_X64_PENDING_EXCEPTION_EVENT_0 {
7518 pub _bitfield: u32,
7519 pub ErrorCode: u32,
7520 pub ExceptionParameter: u64,
7521 }
7522 impl ::core::marker::Copy for WHV_X64_PENDING_EXCEPTION_EVENT_0 {}
7523 impl ::core::clone::Clone for WHV_X64_PENDING_EXCEPTION_EVENT_0 {
7524 fn clone(&self) -> Self {
7525 *self
7526 }
7527 }
7528 impl ::core::fmt::Debug for WHV_X64_PENDING_EXCEPTION_EVENT_0 {
7529 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7530 f.debug_struct("WHV_X64_PENDING_EXCEPTION_EVENT_0").field("_bitfield", &self._bitfield).field("ErrorCode", &self.ErrorCode).field("ExceptionParameter", &self.ExceptionParameter).finish()
7531 }
7532 }
7533 impl ::windows::core::TypeKind for WHV_X64_PENDING_EXCEPTION_EVENT_0 {
7534 type TypeKind = ::windows::core::CopyType;
7535 }
7536 impl ::core::cmp::PartialEq for WHV_X64_PENDING_EXCEPTION_EVENT_0 {
7537 fn eq(&self, other: &Self) -> bool {
7538 self._bitfield == other._bitfield && self.ErrorCode == other.ErrorCode && self.ExceptionParameter == other.ExceptionParameter
7539 }
7540 }
7541 impl ::core::cmp::Eq for WHV_X64_PENDING_EXCEPTION_EVENT_0 {}
7542 impl ::core::default::Default for WHV_X64_PENDING_EXCEPTION_EVENT_0 {
7543 fn default() -> Self {
7544 unsafe { ::core::mem::zeroed() }
7545 }
7546 }
7547 #[repr(C)]
7548 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
7549 pub union WHV_X64_PENDING_EXT_INT_EVENT {
7550 pub Anonymous: WHV_X64_PENDING_EXT_INT_EVENT_0,
7551 pub AsUINT128: WHV_UINT128,
7552 }
7553 impl ::core::marker::Copy for WHV_X64_PENDING_EXT_INT_EVENT {}
7554 impl ::core::clone::Clone for WHV_X64_PENDING_EXT_INT_EVENT {
7555 fn clone(&self) -> Self {
7556 *self
7557 }
7558 }
7559 impl ::windows::core::TypeKind for WHV_X64_PENDING_EXT_INT_EVENT {
7560 type TypeKind = ::windows::core::CopyType;
7561 }
7562 impl ::core::default::Default for WHV_X64_PENDING_EXT_INT_EVENT {
7563 fn default() -> Self {
7564 unsafe { ::core::mem::zeroed() }
7565 }
7566 }
7567 #[repr(C)]
7568 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
7569 pub struct WHV_X64_PENDING_EXT_INT_EVENT_0 {
7570 pub _bitfield: u64,
7571 pub Reserved2: u64,
7572 }
7573 impl ::core::marker::Copy for WHV_X64_PENDING_EXT_INT_EVENT_0 {}
7574 impl ::core::clone::Clone for WHV_X64_PENDING_EXT_INT_EVENT_0 {
7575 fn clone(&self) -> Self {
7576 *self
7577 }
7578 }
7579 impl ::core::fmt::Debug for WHV_X64_PENDING_EXT_INT_EVENT_0 {
7580 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7581 f.debug_struct("WHV_X64_PENDING_EXT_INT_EVENT_0").field("_bitfield", &self._bitfield).field("Reserved2", &self.Reserved2).finish()
7582 }
7583 }
7584 impl ::windows::core::TypeKind for WHV_X64_PENDING_EXT_INT_EVENT_0 {
7585 type TypeKind = ::windows::core::CopyType;
7586 }
7587 impl ::core::cmp::PartialEq for WHV_X64_PENDING_EXT_INT_EVENT_0 {
7588 fn eq(&self, other: &Self) -> bool {
7589 self._bitfield == other._bitfield && self.Reserved2 == other.Reserved2
7590 }
7591 }
7592 impl ::core::cmp::Eq for WHV_X64_PENDING_EXT_INT_EVENT_0 {}
7593 impl ::core::default::Default for WHV_X64_PENDING_EXT_INT_EVENT_0 {
7594 fn default() -> Self {
7595 unsafe { ::core::mem::zeroed() }
7596 }
7597 }
7598 #[repr(C)]
7599 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
7600 pub union WHV_X64_PENDING_INTERRUPTION_REGISTER {
7601 pub Anonymous: WHV_X64_PENDING_INTERRUPTION_REGISTER_0,
7602 pub AsUINT64: u64,
7603 }
7604 impl ::core::marker::Copy for WHV_X64_PENDING_INTERRUPTION_REGISTER {}
7605 impl ::core::clone::Clone for WHV_X64_PENDING_INTERRUPTION_REGISTER {
7606 fn clone(&self) -> Self {
7607 *self
7608 }
7609 }
7610 impl ::windows::core::TypeKind for WHV_X64_PENDING_INTERRUPTION_REGISTER {
7611 type TypeKind = ::windows::core::CopyType;
7612 }
7613 impl ::core::default::Default for WHV_X64_PENDING_INTERRUPTION_REGISTER {
7614 fn default() -> Self {
7615 unsafe { ::core::mem::zeroed() }
7616 }
7617 }
7618 #[repr(C)]
7619 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
7620 pub struct WHV_X64_PENDING_INTERRUPTION_REGISTER_0 {
7621 pub _bitfield: u32,
7622 pub ErrorCode: u32,
7623 }
7624 impl ::core::marker::Copy for WHV_X64_PENDING_INTERRUPTION_REGISTER_0 {}
7625 impl ::core::clone::Clone for WHV_X64_PENDING_INTERRUPTION_REGISTER_0 {
7626 fn clone(&self) -> Self {
7627 *self
7628 }
7629 }
7630 impl ::core::fmt::Debug for WHV_X64_PENDING_INTERRUPTION_REGISTER_0 {
7631 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7632 f.debug_struct("WHV_X64_PENDING_INTERRUPTION_REGISTER_0").field("_bitfield", &self._bitfield).field("ErrorCode", &self.ErrorCode).finish()
7633 }
7634 }
7635 impl ::windows::core::TypeKind for WHV_X64_PENDING_INTERRUPTION_REGISTER_0 {
7636 type TypeKind = ::windows::core::CopyType;
7637 }
7638 impl ::core::cmp::PartialEq for WHV_X64_PENDING_INTERRUPTION_REGISTER_0 {
7639 fn eq(&self, other: &Self) -> bool {
7640 self._bitfield == other._bitfield && self.ErrorCode == other.ErrorCode
7641 }
7642 }
7643 impl ::core::cmp::Eq for WHV_X64_PENDING_INTERRUPTION_REGISTER_0 {}
7644 impl ::core::default::Default for WHV_X64_PENDING_INTERRUPTION_REGISTER_0 {
7645 fn default() -> Self {
7646 unsafe { ::core::mem::zeroed() }
7647 }
7648 }
7649 #[repr(C)]
7650 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
7651 pub struct WHV_X64_RDTSC_CONTEXT {
7652 pub TscAux: u64,
7653 pub VirtualOffset: u64,
7654 pub Tsc: u64,
7655 pub ReferenceTime: u64,
7656 pub RdtscInfo: WHV_X64_RDTSC_INFO,
7657 }
7658 impl ::core::marker::Copy for WHV_X64_RDTSC_CONTEXT {}
7659 impl ::core::clone::Clone for WHV_X64_RDTSC_CONTEXT {
7660 fn clone(&self) -> Self {
7661 *self
7662 }
7663 }
7664 impl ::windows::core::TypeKind for WHV_X64_RDTSC_CONTEXT {
7665 type TypeKind = ::windows::core::CopyType;
7666 }
7667 impl ::core::default::Default for WHV_X64_RDTSC_CONTEXT {
7668 fn default() -> Self {
7669 unsafe { ::core::mem::zeroed() }
7670 }
7671 }
7672 #[repr(C)]
7673 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
7674 pub union WHV_X64_RDTSC_INFO {
7675 pub Anonymous: WHV_X64_RDTSC_INFO_0,
7676 pub AsUINT64: u64,
7677 }
7678 impl ::core::marker::Copy for WHV_X64_RDTSC_INFO {}
7679 impl ::core::clone::Clone for WHV_X64_RDTSC_INFO {
7680 fn clone(&self) -> Self {
7681 *self
7682 }
7683 }
7684 impl ::windows::core::TypeKind for WHV_X64_RDTSC_INFO {
7685 type TypeKind = ::windows::core::CopyType;
7686 }
7687 impl ::core::default::Default for WHV_X64_RDTSC_INFO {
7688 fn default() -> Self {
7689 unsafe { ::core::mem::zeroed() }
7690 }
7691 }
7692 #[repr(C)]
7693 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
7694 pub struct WHV_X64_RDTSC_INFO_0 {
7695 pub _bitfield: u64,
7696 }
7697 impl ::core::marker::Copy for WHV_X64_RDTSC_INFO_0 {}
7698 impl ::core::clone::Clone for WHV_X64_RDTSC_INFO_0 {
7699 fn clone(&self) -> Self {
7700 *self
7701 }
7702 }
7703 impl ::core::fmt::Debug for WHV_X64_RDTSC_INFO_0 {
7704 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7705 f.debug_struct("WHV_X64_RDTSC_INFO_0").field("_bitfield", &self._bitfield).finish()
7706 }
7707 }
7708 impl ::windows::core::TypeKind for WHV_X64_RDTSC_INFO_0 {
7709 type TypeKind = ::windows::core::CopyType;
7710 }
7711 impl ::core::cmp::PartialEq for WHV_X64_RDTSC_INFO_0 {
7712 fn eq(&self, other: &Self) -> bool {
7713 self._bitfield == other._bitfield
7714 }
7715 }
7716 impl ::core::cmp::Eq for WHV_X64_RDTSC_INFO_0 {}
7717 impl ::core::default::Default for WHV_X64_RDTSC_INFO_0 {
7718 fn default() -> Self {
7719 unsafe { ::core::mem::zeroed() }
7720 }
7721 }
7722 #[repr(C)]
7723 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
7724 pub struct WHV_X64_SEGMENT_REGISTER {
7725 pub Base: u64,
7726 pub Limit: u32,
7727 pub Selector: u16,
7728 pub Anonymous: WHV_X64_SEGMENT_REGISTER_0,
7729 }
7730 impl ::core::marker::Copy for WHV_X64_SEGMENT_REGISTER {}
7731 impl ::core::clone::Clone for WHV_X64_SEGMENT_REGISTER {
7732 fn clone(&self) -> Self {
7733 *self
7734 }
7735 }
7736 impl ::windows::core::TypeKind for WHV_X64_SEGMENT_REGISTER {
7737 type TypeKind = ::windows::core::CopyType;
7738 }
7739 impl ::core::default::Default for WHV_X64_SEGMENT_REGISTER {
7740 fn default() -> Self {
7741 unsafe { ::core::mem::zeroed() }
7742 }
7743 }
7744 #[repr(C)]
7745 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
7746 pub union WHV_X64_SEGMENT_REGISTER_0 {
7747 pub Anonymous: WHV_X64_SEGMENT_REGISTER_0_0,
7748 pub Attributes: u16,
7749 }
7750 impl ::core::marker::Copy for WHV_X64_SEGMENT_REGISTER_0 {}
7751 impl ::core::clone::Clone for WHV_X64_SEGMENT_REGISTER_0 {
7752 fn clone(&self) -> Self {
7753 *self
7754 }
7755 }
7756 impl ::windows::core::TypeKind for WHV_X64_SEGMENT_REGISTER_0 {
7757 type TypeKind = ::windows::core::CopyType;
7758 }
7759 impl ::core::default::Default for WHV_X64_SEGMENT_REGISTER_0 {
7760 fn default() -> Self {
7761 unsafe { ::core::mem::zeroed() }
7762 }
7763 }
7764 #[repr(C)]
7765 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
7766 pub struct WHV_X64_SEGMENT_REGISTER_0_0 {
7767 pub _bitfield: u16,
7768 }
7769 impl ::core::marker::Copy for WHV_X64_SEGMENT_REGISTER_0_0 {}
7770 impl ::core::clone::Clone for WHV_X64_SEGMENT_REGISTER_0_0 {
7771 fn clone(&self) -> Self {
7772 *self
7773 }
7774 }
7775 impl ::core::fmt::Debug for WHV_X64_SEGMENT_REGISTER_0_0 {
7776 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7777 f.debug_struct("WHV_X64_SEGMENT_REGISTER_0_0").field("_bitfield", &self._bitfield).finish()
7778 }
7779 }
7780 impl ::windows::core::TypeKind for WHV_X64_SEGMENT_REGISTER_0_0 {
7781 type TypeKind = ::windows::core::CopyType;
7782 }
7783 impl ::core::cmp::PartialEq for WHV_X64_SEGMENT_REGISTER_0_0 {
7784 fn eq(&self, other: &Self) -> bool {
7785 self._bitfield == other._bitfield
7786 }
7787 }
7788 impl ::core::cmp::Eq for WHV_X64_SEGMENT_REGISTER_0_0 {}
7789 impl ::core::default::Default for WHV_X64_SEGMENT_REGISTER_0_0 {
7790 fn default() -> Self {
7791 unsafe { ::core::mem::zeroed() }
7792 }
7793 }
7794 #[repr(C)]
7795 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
7796 pub struct WHV_X64_TABLE_REGISTER {
7797 pub Pad: [u16; 3],
7798 pub Limit: u16,
7799 pub Base: u64,
7800 }
7801 impl ::core::marker::Copy for WHV_X64_TABLE_REGISTER {}
7802 impl ::core::clone::Clone for WHV_X64_TABLE_REGISTER {
7803 fn clone(&self) -> Self {
7804 *self
7805 }
7806 }
7807 impl ::core::fmt::Debug for WHV_X64_TABLE_REGISTER {
7808 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7809 f.debug_struct("WHV_X64_TABLE_REGISTER").field("Pad", &self.Pad).field("Limit", &self.Limit).field("Base", &self.Base).finish()
7810 }
7811 }
7812 impl ::windows::core::TypeKind for WHV_X64_TABLE_REGISTER {
7813 type TypeKind = ::windows::core::CopyType;
7814 }
7815 impl ::core::cmp::PartialEq for WHV_X64_TABLE_REGISTER {
7816 fn eq(&self, other: &Self) -> bool {
7817 self.Pad == other.Pad && self.Limit == other.Limit && self.Base == other.Base
7818 }
7819 }
7820 impl ::core::cmp::Eq for WHV_X64_TABLE_REGISTER {}
7821 impl ::core::default::Default for WHV_X64_TABLE_REGISTER {
7822 fn default() -> Self {
7823 unsafe { ::core::mem::zeroed() }
7824 }
7825 }
7826 #[repr(C)]
7827 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
7828 pub struct WHV_X64_UNSUPPORTED_FEATURE_CONTEXT {
7829 pub FeatureCode: WHV_X64_UNSUPPORTED_FEATURE_CODE,
7830 pub Reserved: u32,
7831 pub FeatureParameter: u64,
7832 }
7833 impl ::core::marker::Copy for WHV_X64_UNSUPPORTED_FEATURE_CONTEXT {}
7834 impl ::core::clone::Clone for WHV_X64_UNSUPPORTED_FEATURE_CONTEXT {
7835 fn clone(&self) -> Self {
7836 *self
7837 }
7838 }
7839 impl ::core::fmt::Debug for WHV_X64_UNSUPPORTED_FEATURE_CONTEXT {
7840 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7841 f.debug_struct("WHV_X64_UNSUPPORTED_FEATURE_CONTEXT").field("FeatureCode", &self.FeatureCode).field("Reserved", &self.Reserved).field("FeatureParameter", &self.FeatureParameter).finish()
7842 }
7843 }
7844 impl ::windows::core::TypeKind for WHV_X64_UNSUPPORTED_FEATURE_CONTEXT {
7845 type TypeKind = ::windows::core::CopyType;
7846 }
7847 impl ::core::cmp::PartialEq for WHV_X64_UNSUPPORTED_FEATURE_CONTEXT {
7848 fn eq(&self, other: &Self) -> bool {
7849 self.FeatureCode == other.FeatureCode && self.Reserved == other.Reserved && self.FeatureParameter == other.FeatureParameter
7850 }
7851 }
7852 impl ::core::cmp::Eq for WHV_X64_UNSUPPORTED_FEATURE_CONTEXT {}
7853 impl ::core::default::Default for WHV_X64_UNSUPPORTED_FEATURE_CONTEXT {
7854 fn default() -> Self {
7855 unsafe { ::core::mem::zeroed() }
7856 }
7857 }
7858 #[repr(C)]
7859 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
7860 pub union WHV_X64_VP_EXECUTION_STATE {
7861 pub Anonymous: WHV_X64_VP_EXECUTION_STATE_0,
7862 pub AsUINT16: u16,
7863 }
7864 impl ::core::marker::Copy for WHV_X64_VP_EXECUTION_STATE {}
7865 impl ::core::clone::Clone for WHV_X64_VP_EXECUTION_STATE {
7866 fn clone(&self) -> Self {
7867 *self
7868 }
7869 }
7870 impl ::windows::core::TypeKind for WHV_X64_VP_EXECUTION_STATE {
7871 type TypeKind = ::windows::core::CopyType;
7872 }
7873 impl ::core::default::Default for WHV_X64_VP_EXECUTION_STATE {
7874 fn default() -> Self {
7875 unsafe { ::core::mem::zeroed() }
7876 }
7877 }
7878 #[repr(C)]
7879 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
7880 pub struct WHV_X64_VP_EXECUTION_STATE_0 {
7881 pub _bitfield: u16,
7882 }
7883 impl ::core::marker::Copy for WHV_X64_VP_EXECUTION_STATE_0 {}
7884 impl ::core::clone::Clone for WHV_X64_VP_EXECUTION_STATE_0 {
7885 fn clone(&self) -> Self {
7886 *self
7887 }
7888 }
7889 impl ::core::fmt::Debug for WHV_X64_VP_EXECUTION_STATE_0 {
7890 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7891 f.debug_struct("WHV_X64_VP_EXECUTION_STATE_0").field("_bitfield", &self._bitfield).finish()
7892 }
7893 }
7894 impl ::windows::core::TypeKind for WHV_X64_VP_EXECUTION_STATE_0 {
7895 type TypeKind = ::windows::core::CopyType;
7896 }
7897 impl ::core::cmp::PartialEq for WHV_X64_VP_EXECUTION_STATE_0 {
7898 fn eq(&self, other: &Self) -> bool {
7899 self._bitfield == other._bitfield
7900 }
7901 }
7902 impl ::core::cmp::Eq for WHV_X64_VP_EXECUTION_STATE_0 {}
7903 impl ::core::default::Default for WHV_X64_VP_EXECUTION_STATE_0 {
7904 fn default() -> Self {
7905 unsafe { ::core::mem::zeroed() }
7906 }
7907 }
7908 #[repr(C)]
7909 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
7910 pub union WHV_X64_XMM_CONTROL_STATUS_REGISTER {
7911 pub Anonymous: WHV_X64_XMM_CONTROL_STATUS_REGISTER_0,
7912 pub AsUINT128: WHV_UINT128,
7913 }
7914 impl ::core::marker::Copy for WHV_X64_XMM_CONTROL_STATUS_REGISTER {}
7915 impl ::core::clone::Clone for WHV_X64_XMM_CONTROL_STATUS_REGISTER {
7916 fn clone(&self) -> Self {
7917 *self
7918 }
7919 }
7920 impl ::windows::core::TypeKind for WHV_X64_XMM_CONTROL_STATUS_REGISTER {
7921 type TypeKind = ::windows::core::CopyType;
7922 }
7923 impl ::core::default::Default for WHV_X64_XMM_CONTROL_STATUS_REGISTER {
7924 fn default() -> Self {
7925 unsafe { ::core::mem::zeroed() }
7926 }
7927 }
7928 #[repr(C)]
7929 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
7930 pub struct WHV_X64_XMM_CONTROL_STATUS_REGISTER_0 {
7931 pub Anonymous: WHV_X64_XMM_CONTROL_STATUS_REGISTER_0_0,
7932 pub XmmStatusControl: u32,
7933 pub XmmStatusControlMask: u32,
7934 }
7935 impl ::core::marker::Copy for WHV_X64_XMM_CONTROL_STATUS_REGISTER_0 {}
7936 impl ::core::clone::Clone for WHV_X64_XMM_CONTROL_STATUS_REGISTER_0 {
7937 fn clone(&self) -> Self {
7938 *self
7939 }
7940 }
7941 impl ::windows::core::TypeKind for WHV_X64_XMM_CONTROL_STATUS_REGISTER_0 {
7942 type TypeKind = ::windows::core::CopyType;
7943 }
7944 impl ::core::default::Default for WHV_X64_XMM_CONTROL_STATUS_REGISTER_0 {
7945 fn default() -> Self {
7946 unsafe { ::core::mem::zeroed() }
7947 }
7948 }
7949 #[repr(C)]
7950 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
7951 pub union WHV_X64_XMM_CONTROL_STATUS_REGISTER_0_0 {
7952 pub LastFpRdp: u64,
7953 pub Anonymous: WHV_X64_XMM_CONTROL_STATUS_REGISTER_0_0_0,
7954 }
7955 impl ::core::marker::Copy for WHV_X64_XMM_CONTROL_STATUS_REGISTER_0_0 {}
7956 impl ::core::clone::Clone for WHV_X64_XMM_CONTROL_STATUS_REGISTER_0_0 {
7957 fn clone(&self) -> Self {
7958 *self
7959 }
7960 }
7961 impl ::windows::core::TypeKind for WHV_X64_XMM_CONTROL_STATUS_REGISTER_0_0 {
7962 type TypeKind = ::windows::core::CopyType;
7963 }
7964 impl ::core::default::Default for WHV_X64_XMM_CONTROL_STATUS_REGISTER_0_0 {
7965 fn default() -> Self {
7966 unsafe { ::core::mem::zeroed() }
7967 }
7968 }
7969 #[repr(C)]
7970 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
7971 pub struct WHV_X64_XMM_CONTROL_STATUS_REGISTER_0_0_0 {
7972 pub LastFpDp: u32,
7973 pub LastFpDs: u16,
7974 pub Reserved: u16,
7975 }
7976 impl ::core::marker::Copy for WHV_X64_XMM_CONTROL_STATUS_REGISTER_0_0_0 {}
7977 impl ::core::clone::Clone for WHV_X64_XMM_CONTROL_STATUS_REGISTER_0_0_0 {
7978 fn clone(&self) -> Self {
7979 *self
7980 }
7981 }
7982 impl ::core::fmt::Debug for WHV_X64_XMM_CONTROL_STATUS_REGISTER_0_0_0 {
7983 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7984 f.debug_struct("WHV_X64_XMM_CONTROL_STATUS_REGISTER_0_0_0").field("LastFpDp", &self.LastFpDp).field("LastFpDs", &self.LastFpDs).field("Reserved", &self.Reserved).finish()
7985 }
7986 }
7987 impl ::windows::core::TypeKind for WHV_X64_XMM_CONTROL_STATUS_REGISTER_0_0_0 {
7988 type TypeKind = ::windows::core::CopyType;
7989 }
7990 impl ::core::cmp::PartialEq for WHV_X64_XMM_CONTROL_STATUS_REGISTER_0_0_0 {
7991 fn eq(&self, other: &Self) -> bool {
7992 self.LastFpDp == other.LastFpDp && self.LastFpDs == other.LastFpDs && self.Reserved == other.Reserved
7993 }
7994 }
7995 impl ::core::cmp::Eq for WHV_X64_XMM_CONTROL_STATUS_REGISTER_0_0_0 {}
7996 impl ::core::default::Default for WHV_X64_XMM_CONTROL_STATUS_REGISTER_0_0_0 {
7997 fn default() -> Self {
7998 unsafe { ::core::mem::zeroed() }
7999 }
8000 }
8001 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`, `\"Win32_Foundation\"`*"]
8002 #[cfg(feature = "Win32_Foundation")]
8003 pub type FOUND_IMAGE_CALLBACK = ::core::option::Option<unsafe extern "system" fn(context: *const ::core::ffi::c_void, imageinfo: *const DOS_IMAGE_INFO) -> super::super::Foundation::BOOL>;
8004 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
8005 pub type GUEST_SYMBOLS_PROVIDER_DEBUG_INFO_CALLBACK = ::core::option::Option<unsafe extern "system" fn(infomessage: ::windows::core::PCSTR) -> ()>;
8006 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
8007 pub type HDV_PCI_DEVICE_GET_DETAILS = ::core::option::Option<unsafe extern "system" fn(devicecontext: *const ::core::ffi::c_void, pnpid: *mut HDV_PCI_PNP_ID, probedbarscount: u32, probedbars: *mut u32) -> ::windows::core::HRESULT>;
8008 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
8009 pub type HDV_PCI_DEVICE_INITIALIZE = ::core::option::Option<unsafe extern "system" fn(devicecontext: *const ::core::ffi::c_void) -> ::windows::core::HRESULT>;
8010 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
8011 pub type HDV_PCI_DEVICE_SET_CONFIGURATION = ::core::option::Option<unsafe extern "system" fn(devicecontext: *const ::core::ffi::c_void, configurationvaluecount: u32, configurationvalues: *const ::windows::core::PCWSTR) -> ::windows::core::HRESULT>;
8012 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
8013 pub type HDV_PCI_DEVICE_START = ::core::option::Option<unsafe extern "system" fn(devicecontext: *const ::core::ffi::c_void) -> ::windows::core::HRESULT>;
8014 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
8015 pub type HDV_PCI_DEVICE_STOP = ::core::option::Option<unsafe extern "system" fn(devicecontext: *const ::core::ffi::c_void) -> ()>;
8016 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
8017 pub type HDV_PCI_DEVICE_TEARDOWN = ::core::option::Option<unsafe extern "system" fn(devicecontext: *const ::core::ffi::c_void) -> ()>;
8018 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
8019 pub type HDV_PCI_READ_CONFIG_SPACE = ::core::option::Option<unsafe extern "system" fn(devicecontext: *const ::core::ffi::c_void, offset: u32, value: *mut u32) -> ::windows::core::HRESULT>;
8020 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
8021 pub type HDV_PCI_READ_INTERCEPTED_MEMORY = ::core::option::Option<unsafe extern "system" fn(devicecontext: *const ::core::ffi::c_void, barindex: HDV_PCI_BAR_SELECTOR, offset: u64, length: u64, value: *mut u8) -> ::windows::core::HRESULT>;
8022 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
8023 pub type HDV_PCI_WRITE_CONFIG_SPACE = ::core::option::Option<unsafe extern "system" fn(devicecontext: *const ::core::ffi::c_void, offset: u32, value: u32) -> ::windows::core::HRESULT>;
8024 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
8025 pub type HDV_PCI_WRITE_INTERCEPTED_MEMORY = ::core::option::Option<unsafe extern "system" fn(devicecontext: *const ::core::ffi::c_void, barindex: HDV_PCI_BAR_SELECTOR, offset: u64, length: u64, value: *const u8) -> ::windows::core::HRESULT>;
8026 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
8027 pub type WHV_EMULATOR_GET_VIRTUAL_PROCESSOR_REGISTERS_CALLBACK = ::core::option::Option<unsafe extern "system" fn(context: *const ::core::ffi::c_void, registernames: *const WHV_REGISTER_NAME, registercount: u32, registervalues: *mut WHV_REGISTER_VALUE) -> ::windows::core::HRESULT>;
8028 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
8029 pub type WHV_EMULATOR_IO_PORT_CALLBACK = ::core::option::Option<unsafe extern "system" fn(context: *const ::core::ffi::c_void, ioaccess: *mut WHV_EMULATOR_IO_ACCESS_INFO) -> ::windows::core::HRESULT>;
8030 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
8031 pub type WHV_EMULATOR_MEMORY_CALLBACK = ::core::option::Option<unsafe extern "system" fn(context: *const ::core::ffi::c_void, memoryaccess: *mut WHV_EMULATOR_MEMORY_ACCESS_INFO) -> ::windows::core::HRESULT>;
8032 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
8033 pub type WHV_EMULATOR_SET_VIRTUAL_PROCESSOR_REGISTERS_CALLBACK = ::core::option::Option<unsafe extern "system" fn(context: *const ::core::ffi::c_void, registernames: *const WHV_REGISTER_NAME, registercount: u32, registervalues: *const WHV_REGISTER_VALUE) -> ::windows::core::HRESULT>;
8034 #[doc = "*Required features: `\"Win32_System_Hypervisor\"`*"]
8035 pub type WHV_EMULATOR_TRANSLATE_GVA_PAGE_CALLBACK = ::core::option::Option<unsafe extern "system" fn(context: *const ::core::ffi::c_void, gva: u64, translateflags: WHV_TRANSLATE_GVA_FLAGS, translationresult: *mut WHV_TRANSLATE_GVA_RESULT_CODE, gpa: *mut u64) -> ::windows::core::HRESULT>;
8036 #[cfg(feature = "implement")]
8037 ::core::include!("impl.rs");