1 #[cfg(feature = "Win32_Foundation")]
2 ::windows_sys
::core
::link
! ( "vertdll.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`, `\"Win32_Foundation\"`*"] fn CallEnclave ( lproutine : isize , lpparameter : *const ::core::ffi::c_void , fwaitforthread : super::super::Foundation:: BOOL , lpreturnvalue : *mut *mut ::core::ffi::c_void ) -> super::super::Foundation:: BOOL );
3 #[cfg(feature = "Win32_Foundation")]
4 ::windows_sys
::core
::link
! ( "kernel32.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`, `\"Win32_Foundation\"`*"] fn CreateEnclave ( hprocess : super::super::Foundation:: HANDLE , lpaddress : *const ::core::ffi::c_void , dwsize : usize , dwinitialcommitment : usize , flenclavetype : u32 , lpenclaveinformation : *const ::core::ffi::c_void , dwinfolength : u32 , lpenclaveerror : *mut u32 ) -> *mut ::core::ffi::c_void );
5 #[cfg(feature = "Win32_Foundation")]
6 ::windows_sys
::core
::link
! ( "userenv.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`, `\"Win32_Foundation\"`*"] fn CreateEnvironmentBlock ( lpenvironment : *mut *mut ::core::ffi::c_void , htoken : super::super::Foundation:: HANDLE , binherit : super::super::Foundation:: BOOL ) -> super::super::Foundation:: BOOL );
7 #[cfg(feature = "Win32_Foundation")]
8 ::windows_sys
::core
::link
! ( "api-ms-win-core-enclave-l1-1-1.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`, `\"Win32_Foundation\"`*"] fn DeleteEnclave ( lpaddress : *const ::core::ffi::c_void ) -> super::super::Foundation:: BOOL );
9 #[cfg(feature = "Win32_Foundation")]
10 ::windows_sys
::core
::link
! ( "userenv.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`, `\"Win32_Foundation\"`*"] fn DestroyEnvironmentBlock ( lpenvironment : *const ::core::ffi::c_void ) -> super::super::Foundation:: BOOL );
11 ::windows_sys
::core
::link
! ( "vertdll.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`*"] fn EnclaveGetAttestationReport ( enclavedata : *const u8 , report : *mut ::core::ffi::c_void , buffersize : u32 , outputsize : *mut u32 ) -> :: windows_sys::core::HRESULT );
12 ::windows_sys
::core
::link
! ( "vertdll.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`*"] fn EnclaveGetEnclaveInformation ( informationsize : u32 , enclaveinformation : *mut ENCLAVE_INFORMATION ) -> :: windows_sys::core::HRESULT );
13 ::windows_sys
::core
::link
! ( "vertdll.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`*"] fn EnclaveSealData ( datatoencrypt : *const ::core::ffi::c_void , datatoencryptsize : u32 , identitypolicy : ENCLAVE_SEALING_IDENTITY_POLICY , runtimepolicy : u32 , protectedblob : *mut ::core::ffi::c_void , buffersize : u32 , protectedblobsize : *mut u32 ) -> :: windows_sys::core::HRESULT );
14 ::windows_sys
::core
::link
! ( "vertdll.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`*"] fn EnclaveUnsealData ( protectedblob : *const ::core::ffi::c_void , protectedblobsize : u32 , decrypteddata : *mut ::core::ffi::c_void , buffersize : u32 , decrypteddatasize : *mut u32 , sealingidentity : *mut ENCLAVE_IDENTITY , unsealingflags : *mut u32 ) -> :: windows_sys::core::HRESULT );
15 ::windows_sys
::core
::link
! ( "vertdll.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`*"] fn EnclaveVerifyAttestationReport ( enclavetype : u32 , report : *const ::core::ffi::c_void , reportsize : u32 ) -> :: windows_sys::core::HRESULT );
16 ::windows_sys
::core
::link
! ( "kernel32.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`*"] fn ExpandEnvironmentStringsA ( lpsrc : :: windows_sys::core::PCSTR , lpdst : :: windows_sys::core::PSTR , nsize : u32 ) -> u32 );
17 #[cfg(feature = "Win32_Foundation")]
18 ::windows_sys
::core
::link
! ( "userenv.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`, `\"Win32_Foundation\"`*"] fn ExpandEnvironmentStringsForUserA ( htoken : super::super::Foundation:: HANDLE , lpsrc : :: windows_sys::core::PCSTR , lpdest : :: windows_sys::core::PSTR , dwsize : u32 ) -> super::super::Foundation:: BOOL );
19 #[cfg(feature = "Win32_Foundation")]
20 ::windows_sys
::core
::link
! ( "userenv.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`, `\"Win32_Foundation\"`*"] fn ExpandEnvironmentStringsForUserW ( htoken : super::super::Foundation:: HANDLE , lpsrc : :: windows_sys::core::PCWSTR , lpdest : :: windows_sys::core::PWSTR , dwsize : u32 ) -> super::super::Foundation:: BOOL );
21 ::windows_sys
::core
::link
! ( "kernel32.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`*"] fn ExpandEnvironmentStringsW ( lpsrc : :: windows_sys::core::PCWSTR , lpdst : :: windows_sys::core::PWSTR , nsize : u32 ) -> u32 );
22 #[cfg(feature = "Win32_Foundation")]
23 ::windows_sys
::core
::link
! ( "kernel32.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`, `\"Win32_Foundation\"`*"] fn FreeEnvironmentStringsA ( penv : :: windows_sys::core::PCSTR ) -> super::super::Foundation:: BOOL );
24 #[cfg(feature = "Win32_Foundation")]
25 ::windows_sys
::core
::link
! ( "kernel32.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`, `\"Win32_Foundation\"`*"] fn FreeEnvironmentStringsW ( penv : :: windows_sys::core::PCWSTR ) -> super::super::Foundation:: BOOL );
26 ::windows_sys
::core
::link
! ( "kernel32.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`*"] fn GetCommandLineA ( ) -> :: windows_sys::core::PSTR );
27 ::windows_sys
::core
::link
! ( "kernel32.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`*"] fn GetCommandLineW ( ) -> :: windows_sys::core::PWSTR );
28 ::windows_sys
::core
::link
! ( "kernel32.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`*"] fn GetCurrentDirectoryA ( nbufferlength : u32 , lpbuffer : :: windows_sys::core::PSTR ) -> u32 );
29 ::windows_sys
::core
::link
! ( "kernel32.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`*"] fn GetCurrentDirectoryW ( nbufferlength : u32 , lpbuffer : :: windows_sys::core::PWSTR ) -> u32 );
30 ::windows_sys
::core
::link
! ( "kernel32.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`*"] fn GetEnvironmentStrings ( ) -> :: windows_sys::core::PSTR );
31 ::windows_sys
::core
::link
! ( "kernel32.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`*"] fn GetEnvironmentStringsW ( ) -> :: windows_sys::core::PWSTR );
32 ::windows_sys
::core
::link
! ( "kernel32.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`*"] fn GetEnvironmentVariableA ( lpname : :: windows_sys::core::PCSTR , lpbuffer : :: windows_sys::core::PSTR , nsize : u32 ) -> u32 );
33 ::windows_sys
::core
::link
! ( "kernel32.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`*"] fn GetEnvironmentVariableW ( lpname : :: windows_sys::core::PCWSTR , lpbuffer : :: windows_sys::core::PWSTR , nsize : u32 ) -> u32 );
34 #[cfg(feature = "Win32_Foundation")]
35 ::windows_sys
::core
::link
! ( "kernel32.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`, `\"Win32_Foundation\"`*"] fn InitializeEnclave ( hprocess : super::super::Foundation:: HANDLE , lpaddress : *const ::core::ffi::c_void , lpenclaveinformation : *const ::core::ffi::c_void , dwinfolength : u32 , lpenclaveerror : *mut u32 ) -> super::super::Foundation:: BOOL );
36 #[cfg(feature = "Win32_Foundation")]
37 ::windows_sys
::core
::link
! ( "kernel32.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`, `\"Win32_Foundation\"`*"] fn IsEnclaveTypeSupported ( flenclavetype : u32 ) -> super::super::Foundation:: BOOL );
38 #[cfg(feature = "Win32_Foundation")]
39 ::windows_sys
::core
::link
! ( "kernel32.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`, `\"Win32_Foundation\"`*"] fn LoadEnclaveData ( hprocess : super::super::Foundation:: HANDLE , lpaddress : *const ::core::ffi::c_void , lpbuffer : *const ::core::ffi::c_void , nsize : usize , flprotect : u32 , lppageinformation : *const ::core::ffi::c_void , dwinfolength : u32 , lpnumberofbyteswritten : *mut usize , lpenclaveerror : *mut u32 ) -> super::super::Foundation:: BOOL );
40 #[cfg(feature = "Win32_Foundation")]
41 ::windows_sys
::core
::link
! ( "api-ms-win-core-enclave-l1-1-1.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`, `\"Win32_Foundation\"`*"] fn LoadEnclaveImageA ( lpenclaveaddress : *const ::core::ffi::c_void , lpimagename : :: windows_sys::core::PCSTR ) -> super::super::Foundation:: BOOL );
42 #[cfg(feature = "Win32_Foundation")]
43 ::windows_sys
::core
::link
! ( "api-ms-win-core-enclave-l1-1-1.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`, `\"Win32_Foundation\"`*"] fn LoadEnclaveImageW ( lpenclaveaddress : *const ::core::ffi::c_void , lpimagename : :: windows_sys::core::PCWSTR ) -> super::super::Foundation:: BOOL );
44 #[cfg(feature = "Win32_Foundation")]
45 ::windows_sys
::core
::link
! ( "kernel32.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`, `\"Win32_Foundation\"`*"] fn NeedCurrentDirectoryForExePathA ( exename : :: windows_sys::core::PCSTR ) -> super::super::Foundation:: BOOL );
46 #[cfg(feature = "Win32_Foundation")]
47 ::windows_sys
::core
::link
! ( "kernel32.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`, `\"Win32_Foundation\"`*"] fn NeedCurrentDirectoryForExePathW ( exename : :: windows_sys::core::PCWSTR ) -> super::super::Foundation:: BOOL );
48 #[cfg(feature = "Win32_Foundation")]
49 ::windows_sys
::core
::link
! ( "kernel32.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`, `\"Win32_Foundation\"`*"] fn SetCurrentDirectoryA ( lppathname : :: windows_sys::core::PCSTR ) -> super::super::Foundation:: BOOL );
50 #[cfg(feature = "Win32_Foundation")]
51 ::windows_sys
::core
::link
! ( "kernel32.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`, `\"Win32_Foundation\"`*"] fn SetCurrentDirectoryW ( lppathname : :: windows_sys::core::PCWSTR ) -> super::super::Foundation:: BOOL );
52 #[cfg(feature = "Win32_Foundation")]
53 ::windows_sys
::core
::link
! ( "kernel32.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`, `\"Win32_Foundation\"`*"] fn SetEnvironmentStringsW ( newenvironment : :: windows_sys::core::PCWSTR ) -> super::super::Foundation:: BOOL );
54 #[cfg(feature = "Win32_Foundation")]
55 ::windows_sys
::core
::link
! ( "kernel32.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`, `\"Win32_Foundation\"`*"] fn SetEnvironmentVariableA ( lpname : :: windows_sys::core::PCSTR , lpvalue : :: windows_sys::core::PCSTR ) -> super::super::Foundation:: BOOL );
56 #[cfg(feature = "Win32_Foundation")]
57 ::windows_sys
::core
::link
! ( "kernel32.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`, `\"Win32_Foundation\"`*"] fn SetEnvironmentVariableW ( lpname : :: windows_sys::core::PCWSTR , lpvalue : :: windows_sys::core::PCWSTR ) -> super::super::Foundation:: BOOL );
58 #[cfg(feature = "Win32_Foundation")]
59 ::windows_sys
::core
::link
! ( "vertdll.dll""system" #[doc = "*Required features: `\"Win32_System_Environment\"`, `\"Win32_Foundation\"`*"] fn TerminateEnclave ( lpaddress : *const ::core::ffi::c_void , fwait : super::super::Foundation:: BOOL ) -> super::super::Foundation:: BOOL );
60 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
61 pub const ENCLAVE_FLAG_DYNAMIC_DEBUG_ACTIVE
: u32 = 4u32;
62 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
63 pub const ENCLAVE_FLAG_DYNAMIC_DEBUG_ENABLED
: u32 = 2u32;
64 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
65 pub const ENCLAVE_FLAG_FULL_DEBUG_ENABLED
: u32 = 1u32;
66 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
67 pub const ENCLAVE_REPORT_DATA_LENGTH
: u32 = 64u32;
68 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
69 pub const ENCLAVE_RUNTIME_POLICY_ALLOW_DYNAMIC_DEBUG
: u32 = 2u32;
70 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
71 pub const ENCLAVE_RUNTIME_POLICY_ALLOW_FULL_DEBUG
: u32 = 1u32;
72 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
73 pub const ENCLAVE_UNSEAL_FLAG_STALE_KEY
: u32 = 1u32;
74 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
75 pub const ENCLAVE_VBS_BASIC_KEY_FLAG_DEBUG_KEY
: u32 = 8u32;
76 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
77 pub const ENCLAVE_VBS_BASIC_KEY_FLAG_FAMILY_ID
: u32 = 2u32;
78 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
79 pub const ENCLAVE_VBS_BASIC_KEY_FLAG_IMAGE_ID
: u32 = 4u32;
80 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
81 pub const ENCLAVE_VBS_BASIC_KEY_FLAG_MEASUREMENT
: u32 = 1u32;
82 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
83 pub const VBS_ENCLAVE_REPORT_PKG_HEADER_VERSION_CURRENT
: u32 = 1u32;
84 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
85 pub const VBS_ENCLAVE_REPORT_SIGNATURE_SCHEME_SHA256_RSA_PSS_SHA256
: u32 = 1u32;
86 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
87 pub const VBS_ENCLAVE_REPORT_VERSION_CURRENT
: u32 = 1u32;
88 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
89 pub const VBS_ENCLAVE_VARDATA_INVALID
: u32 = 0u32;
90 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
91 pub const VBS_ENCLAVE_VARDATA_MODULE
: u32 = 1u32;
92 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
93 pub type ENCLAVE_SEALING_IDENTITY_POLICY
= i32;
94 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
95 pub const ENCLAVE_IDENTITY_POLICY_SEAL_INVALID
: ENCLAVE_SEALING_IDENTITY_POLICY
= 0i32;
96 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
97 pub const ENCLAVE_IDENTITY_POLICY_SEAL_EXACT_CODE
: ENCLAVE_SEALING_IDENTITY_POLICY
= 1i32;
98 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
99 pub const ENCLAVE_IDENTITY_POLICY_SEAL_SAME_PRIMARY_CODE
: ENCLAVE_SEALING_IDENTITY_POLICY
= 2i32;
100 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
101 pub const ENCLAVE_IDENTITY_POLICY_SEAL_SAME_IMAGE
: ENCLAVE_SEALING_IDENTITY_POLICY
= 3i32;
102 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
103 pub const ENCLAVE_IDENTITY_POLICY_SEAL_SAME_FAMILY
: ENCLAVE_SEALING_IDENTITY_POLICY
= 4i32;
104 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
105 pub const ENCLAVE_IDENTITY_POLICY_SEAL_SAME_AUTHOR
: ENCLAVE_SEALING_IDENTITY_POLICY
= 5i32;
106 #[repr(C, packed(1))]
107 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
108 pub struct ENCLAVE_IDENTITY
{
109 pub OwnerId
: [u8; 32],
110 pub UniqueId
: [u8; 32],
111 pub AuthorId
: [u8; 32],
112 pub FamilyId
: [u8; 16],
113 pub ImageId
: [u8; 16],
115 pub SecureKernelSvn
: u32,
116 pub PlatformSvn
: u32,
118 pub SigningLevel
: u32,
119 pub EnclaveType
: u32,
121 impl ::core
::marker
::Copy
for ENCLAVE_IDENTITY {}
122 impl ::core
::clone
::Clone
for ENCLAVE_IDENTITY
{
123 fn clone(&self) -> Self {
128 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
129 pub struct ENCLAVE_INFORMATION
{
130 pub EnclaveType
: u32,
132 pub BaseAddress
: *mut ::core
::ffi
::c_void
,
134 pub Identity
: ENCLAVE_IDENTITY
,
136 impl ::core
::marker
::Copy
for ENCLAVE_INFORMATION {}
137 impl ::core
::clone
::Clone
for ENCLAVE_INFORMATION
{
138 fn clone(&self) -> Self {
143 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
144 pub struct ENCLAVE_VBS_BASIC_KEY_REQUEST
{
145 pub RequestSize
: u32,
148 pub SystemKeyID
: u32,
149 pub CurrentSystemKeyID
: u32,
151 impl ::core
::marker
::Copy
for ENCLAVE_VBS_BASIC_KEY_REQUEST {}
152 impl ::core
::clone
::Clone
for ENCLAVE_VBS_BASIC_KEY_REQUEST
{
153 fn clone(&self) -> Self {
158 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
159 pub struct VBS_BASIC_ENCLAVE_EXCEPTION_AMD64
{
160 pub ExceptionCode
: u32,
161 pub NumberParameters
: u32,
162 pub ExceptionInformation
: [usize; 3],
163 pub ExceptionRAX
: usize,
164 pub ExceptionRCX
: usize,
165 pub ExceptionRIP
: usize,
166 pub ExceptionRFLAGS
: usize,
167 pub ExceptionRSP
: usize,
169 impl ::core
::marker
::Copy
for VBS_BASIC_ENCLAVE_EXCEPTION_AMD64 {}
170 impl ::core
::clone
::Clone
for VBS_BASIC_ENCLAVE_EXCEPTION_AMD64
{
171 fn clone(&self) -> Self {
176 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
177 pub struct VBS_BASIC_ENCLAVE_SYSCALL_PAGE
{
178 pub ReturnFromEnclave
: VBS_BASIC_ENCLAVE_BASIC_CALL_RETURN_FROM_ENCLAVE
,
179 pub ReturnFromException
: VBS_BASIC_ENCLAVE_BASIC_CALL_RETURN_FROM_EXCEPTION
,
180 pub TerminateThread
: VBS_BASIC_ENCLAVE_BASIC_CALL_TERMINATE_THREAD
,
181 pub InterruptThread
: VBS_BASIC_ENCLAVE_BASIC_CALL_INTERRUPT_THREAD
,
182 pub CommitPages
: VBS_BASIC_ENCLAVE_BASIC_CALL_COMMIT_PAGES
,
183 pub DecommitPages
: VBS_BASIC_ENCLAVE_BASIC_CALL_DECOMMIT_PAGES
,
184 pub ProtectPages
: VBS_BASIC_ENCLAVE_BASIC_CALL_PROTECT_PAGES
,
185 pub CreateThread
: VBS_BASIC_ENCLAVE_BASIC_CALL_CREATE_THREAD
,
186 pub GetEnclaveInformation
: VBS_BASIC_ENCLAVE_BASIC_CALL_GET_ENCLAVE_INFORMATION
,
187 pub GenerateKey
: VBS_BASIC_ENCLAVE_BASIC_CALL_GENERATE_KEY
,
188 pub GenerateReport
: VBS_BASIC_ENCLAVE_BASIC_CALL_GENERATE_REPORT
,
189 pub VerifyReport
: VBS_BASIC_ENCLAVE_BASIC_CALL_VERIFY_REPORT
,
190 pub GenerateRandomData
: VBS_BASIC_ENCLAVE_BASIC_CALL_GENERATE_RANDOM_DATA
,
192 impl ::core
::marker
::Copy
for VBS_BASIC_ENCLAVE_SYSCALL_PAGE {}
193 impl ::core
::clone
::Clone
for VBS_BASIC_ENCLAVE_SYSCALL_PAGE
{
194 fn clone(&self) -> Self {
199 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
200 pub struct VBS_BASIC_ENCLAVE_THREAD_DESCRIPTOR32
{
201 pub ThreadContext
: [u32; 4],
203 pub StackPointer
: u32,
204 pub ExceptionEntryPoint
: u32,
205 pub ExceptionStack
: u32,
206 pub ExceptionActive
: u32,
208 impl ::core
::marker
::Copy
for VBS_BASIC_ENCLAVE_THREAD_DESCRIPTOR32 {}
209 impl ::core
::clone
::Clone
for VBS_BASIC_ENCLAVE_THREAD_DESCRIPTOR32
{
210 fn clone(&self) -> Self {
215 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
216 pub struct VBS_BASIC_ENCLAVE_THREAD_DESCRIPTOR64
{
217 pub ThreadContext
: [u64; 4],
219 pub StackPointer
: u64,
220 pub ExceptionEntryPoint
: u64,
221 pub ExceptionStack
: u64,
222 pub ExceptionActive
: u32,
224 impl ::core
::marker
::Copy
for VBS_BASIC_ENCLAVE_THREAD_DESCRIPTOR64 {}
225 impl ::core
::clone
::Clone
for VBS_BASIC_ENCLAVE_THREAD_DESCRIPTOR64
{
226 fn clone(&self) -> Self {
230 #[repr(C, packed(1))]
231 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
232 pub struct VBS_ENCLAVE_REPORT
{
234 pub ReportVersion
: u32,
235 pub EnclaveData
: [u8; 64],
236 pub EnclaveIdentity
: ENCLAVE_IDENTITY
,
238 impl ::core
::marker
::Copy
for VBS_ENCLAVE_REPORT {}
239 impl ::core
::clone
::Clone
for VBS_ENCLAVE_REPORT
{
240 fn clone(&self) -> Self {
244 #[repr(C, packed(1))]
245 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
246 pub struct VBS_ENCLAVE_REPORT_MODULE
{
247 pub Header
: VBS_ENCLAVE_REPORT_VARDATA_HEADER
,
248 pub UniqueId
: [u8; 32],
249 pub AuthorId
: [u8; 32],
250 pub FamilyId
: [u8; 16],
251 pub ImageId
: [u8; 16],
253 pub ModuleName
: [u16; 1],
255 impl ::core
::marker
::Copy
for VBS_ENCLAVE_REPORT_MODULE {}
256 impl ::core
::clone
::Clone
for VBS_ENCLAVE_REPORT_MODULE
{
257 fn clone(&self) -> Self {
261 #[repr(C, packed(1))]
262 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
263 pub struct VBS_ENCLAVE_REPORT_PKG_HEADER
{
264 pub PackageSize
: u32,
266 pub SignatureScheme
: u32,
267 pub SignedStatementSize
: u32,
268 pub SignatureSize
: u32,
271 impl ::core
::marker
::Copy
for VBS_ENCLAVE_REPORT_PKG_HEADER {}
272 impl ::core
::clone
::Clone
for VBS_ENCLAVE_REPORT_PKG_HEADER
{
273 fn clone(&self) -> Self {
277 #[repr(C, packed(1))]
278 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
279 pub struct VBS_ENCLAVE_REPORT_VARDATA_HEADER
{
283 impl ::core
::marker
::Copy
for VBS_ENCLAVE_REPORT_VARDATA_HEADER {}
284 impl ::core
::clone
::Clone
for VBS_ENCLAVE_REPORT_VARDATA_HEADER
{
285 fn clone(&self) -> Self {
289 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
290 pub type VBS_BASIC_ENCLAVE_BASIC_CALL_COMMIT_PAGES
= ::core
::option
::Option
<unsafe extern "system" fn(enclaveaddress
: *const ::core
::ffi
::c_void
, numberofbytes
: usize, sourceaddress
: *const ::core
::ffi
::c_void
, pageprotection
: u32) -> i32>;
291 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
292 #[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
293 pub type VBS_BASIC_ENCLAVE_BASIC_CALL_CREATE_THREAD
= ::core
::option
::Option
<unsafe extern "system" fn(threaddescriptor
: *const VBS_BASIC_ENCLAVE_THREAD_DESCRIPTOR64
) -> i32>;
294 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
295 #[cfg(target_arch = "x86")]
296 pub type VBS_BASIC_ENCLAVE_BASIC_CALL_CREATE_THREAD
= ::core
::option
::Option
<unsafe extern "system" fn(threaddescriptor
: *const VBS_BASIC_ENCLAVE_THREAD_DESCRIPTOR32
) -> i32>;
297 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
298 pub type VBS_BASIC_ENCLAVE_BASIC_CALL_DECOMMIT_PAGES
= ::core
::option
::Option
<unsafe extern "system" fn(enclaveaddress
: *const ::core
::ffi
::c_void
, numberofbytes
: usize) -> i32>;
299 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
300 pub type VBS_BASIC_ENCLAVE_BASIC_CALL_GENERATE_KEY
= ::core
::option
::Option
<unsafe extern "system" fn(keyrequest
: *mut ENCLAVE_VBS_BASIC_KEY_REQUEST
, requestedkeysize
: u32, returnedkey
: *mut u8) -> i32>;
301 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
302 pub type VBS_BASIC_ENCLAVE_BASIC_CALL_GENERATE_RANDOM_DATA
= ::core
::option
::Option
<unsafe extern "system" fn(buffer
: *mut u8, numberofbytes
: u32, generation
: *mut u64) -> i32>;
303 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
304 pub type VBS_BASIC_ENCLAVE_BASIC_CALL_GENERATE_REPORT
= ::core
::option
::Option
<unsafe extern "system" fn(enclavedata
: *const u8, report
: *mut ::core
::ffi
::c_void
, buffersize
: u32, outputsize
: *mut u32) -> i32>;
305 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
306 pub type VBS_BASIC_ENCLAVE_BASIC_CALL_GET_ENCLAVE_INFORMATION
= ::core
::option
::Option
<unsafe extern "system" fn(enclaveinfo
: *mut ENCLAVE_INFORMATION
) -> i32>;
307 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
308 #[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
309 pub type VBS_BASIC_ENCLAVE_BASIC_CALL_INTERRUPT_THREAD
= ::core
::option
::Option
<unsafe extern "system" fn(threaddescriptor
: *const VBS_BASIC_ENCLAVE_THREAD_DESCRIPTOR64
) -> i32>;
310 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
311 #[cfg(target_arch = "x86")]
312 pub type VBS_BASIC_ENCLAVE_BASIC_CALL_INTERRUPT_THREAD
= ::core
::option
::Option
<unsafe extern "system" fn(threaddescriptor
: *const VBS_BASIC_ENCLAVE_THREAD_DESCRIPTOR32
) -> i32>;
313 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
314 pub type VBS_BASIC_ENCLAVE_BASIC_CALL_PROTECT_PAGES
= ::core
::option
::Option
<unsafe extern "system" fn(enclaveaddress
: *const ::core
::ffi
::c_void
, numberofytes
: usize, pageprotection
: u32) -> i32>;
315 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
316 pub type VBS_BASIC_ENCLAVE_BASIC_CALL_RETURN_FROM_ENCLAVE
= ::core
::option
::Option
<unsafe extern "system" fn(returnvalue
: usize) -> ()>;
317 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
318 #[cfg(target_arch = "x86_64")]
319 pub type VBS_BASIC_ENCLAVE_BASIC_CALL_RETURN_FROM_EXCEPTION
= ::core
::option
::Option
<unsafe extern "system" fn(exceptionrecord
: *const VBS_BASIC_ENCLAVE_EXCEPTION_AMD64
) -> i32>;
320 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
321 #[cfg(any(target_arch = "aarch64", target_arch = "x86"))]
322 pub type VBS_BASIC_ENCLAVE_BASIC_CALL_RETURN_FROM_EXCEPTION
= ::core
::option
::Option
<unsafe extern "system" fn(exceptionrecord
: *const ::core
::ffi
::c_void
) -> i32>;
323 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
324 #[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
325 pub type VBS_BASIC_ENCLAVE_BASIC_CALL_TERMINATE_THREAD
= ::core
::option
::Option
<unsafe extern "system" fn(threaddescriptor
: *const VBS_BASIC_ENCLAVE_THREAD_DESCRIPTOR64
) -> i32>;
326 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
327 #[cfg(target_arch = "x86")]
328 pub type VBS_BASIC_ENCLAVE_BASIC_CALL_TERMINATE_THREAD
= ::core
::option
::Option
<unsafe extern "system" fn(threaddescriptor
: *const VBS_BASIC_ENCLAVE_THREAD_DESCRIPTOR32
) -> i32>;
329 #[doc = "*Required features: `\"Win32_System_Environment\"`*"]
330 pub type VBS_BASIC_ENCLAVE_BASIC_CALL_VERIFY_REPORT
= ::core
::option
::Option
<unsafe extern "system" fn(report
: *const ::core
::ffi
::c_void
, reportsize
: u32) -> i32>;