| // This file is autogenerated. |
| // |
| // To add bindings, edit windows_sys.lst then run: |
| // |
| // ``` |
| // cd generate-windows-sys/ |
| // cargo run |
| // ``` |
| // Bindings generated by `windows-bindgen` 0.53.0 |
| |
| #![allow( |
| non_snake_case, |
| non_upper_case_globals, |
| non_camel_case_types, |
| dead_code, |
| clippy::all |
| )] |
| #[link(name = "advapi32")] |
| extern "system" { |
| pub fn RegCloseKey(hkey: HKEY) -> WIN32_ERROR; |
| } |
| #[link(name = "advapi32")] |
| extern "system" { |
| pub fn RegEnumKeyExW( |
| hkey: HKEY, |
| dwindex: u32, |
| lpname: PWSTR, |
| lpcchname: *mut u32, |
| lpreserved: *const u32, |
| lpclass: PWSTR, |
| lpcchclass: *mut u32, |
| lpftlastwritetime: *mut FILETIME, |
| ) -> WIN32_ERROR; |
| } |
| #[link(name = "advapi32")] |
| extern "system" { |
| pub fn RegOpenKeyExW( |
| hkey: HKEY, |
| lpsubkey: PCWSTR, |
| uloptions: u32, |
| samdesired: REG_SAM_FLAGS, |
| phkresult: *mut HKEY, |
| ) -> WIN32_ERROR; |
| } |
| #[link(name = "advapi32")] |
| extern "system" { |
| pub fn RegQueryValueExW( |
| hkey: HKEY, |
| lpvaluename: PCWSTR, |
| lpreserved: *const u32, |
| lptype: *mut REG_VALUE_TYPE, |
| lpdata: *mut u8, |
| lpcbdata: *mut u32, |
| ) -> WIN32_ERROR; |
| } |
| #[link(name = "kernel32")] |
| extern "system" { |
| pub fn FreeLibrary(hlibmodule: HMODULE) -> BOOL; |
| } |
| #[link(name = "kernel32")] |
| extern "system" { |
| pub fn GetMachineTypeAttributes( |
| machine: u16, |
| machinetypeattributes: *mut MACHINE_ATTRIBUTES, |
| ) -> HRESULT; |
| } |
| #[link(name = "kernel32")] |
| extern "system" { |
| pub fn GetProcAddress(hmodule: HMODULE, lpprocname: PCSTR) -> FARPROC; |
| } |
| #[link(name = "kernel32")] |
| extern "system" { |
| pub fn LoadLibraryA(lplibfilename: PCSTR) -> HMODULE; |
| } |
| #[link(name = "kernel32")] |
| extern "system" { |
| pub fn OpenSemaphoreA(dwdesiredaccess: u32, binherithandle: BOOL, lpname: PCSTR) -> HANDLE; |
| } |
| #[link(name = "kernel32")] |
| extern "system" { |
| pub fn PeekNamedPipe( |
| hnamedpipe: HANDLE, |
| lpbuffer: *mut ::core::ffi::c_void, |
| nbuffersize: u32, |
| lpbytesread: *mut u32, |
| lptotalbytesavail: *mut u32, |
| lpbytesleftthismessage: *mut u32, |
| ) -> BOOL; |
| } |
| #[link(name = "kernel32")] |
| extern "system" { |
| pub fn ReleaseSemaphore( |
| hsemaphore: HANDLE, |
| lreleasecount: i32, |
| lppreviouscount: *mut i32, |
| ) -> BOOL; |
| } |
| #[link(name = "kernel32")] |
| extern "system" { |
| pub fn WaitForSingleObject(hhandle: HANDLE, dwmilliseconds: u32) -> WAIT_EVENT; |
| } |
| #[link(name = "ole32")] |
| extern "system" { |
| pub fn CoCreateInstance( |
| rclsid: *const GUID, |
| punkouter: *mut ::core::ffi::c_void, |
| dwclscontext: CLSCTX, |
| riid: *const GUID, |
| ppv: *mut *mut ::core::ffi::c_void, |
| ) -> HRESULT; |
| } |
| #[link(name = "ole32")] |
| extern "system" { |
| pub fn CoInitializeEx(pvreserved: *const ::core::ffi::c_void, dwcoinit: u32) -> HRESULT; |
| } |
| #[link(name = "oleaut32")] |
| extern "system" { |
| pub fn SysFreeString(bstrstring: BSTR); |
| } |
| #[link(name = "oleaut32")] |
| extern "system" { |
| pub fn SysStringLen(pbstr: BSTR) -> u32; |
| } |
| pub type ADVANCED_FEATURE_FLAGS = u16; |
| pub type BOOL = i32; |
| pub type BSTR = *const u16; |
| pub type CLSCTX = u32; |
| pub const CLSCTX_ALL: CLSCTX = 23u32; |
| pub type COINIT = i32; |
| pub const COINIT_MULTITHREADED: COINIT = 0i32; |
| pub const ERROR_NO_MORE_ITEMS: WIN32_ERROR = 259u32; |
| pub const ERROR_SUCCESS: WIN32_ERROR = 0u32; |
| pub const FALSE: BOOL = 0i32; |
| pub type FARPROC = ::core::option::Option<unsafe extern "system" fn() -> isize>; |
| #[repr(C)] |
| pub struct FILETIME { |
| pub dwLowDateTime: u32, |
| pub dwHighDateTime: u32, |
| } |
| impl ::core::marker::Copy for FILETIME {} |
| impl ::core::clone::Clone for FILETIME { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| #[repr(C)] |
| pub struct GUID { |
| pub data1: u32, |
| pub data2: u16, |
| pub data3: u16, |
| pub data4: [u8; 8], |
| } |
| impl ::core::marker::Copy for GUID {} |
| impl ::core::clone::Clone for GUID { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| impl GUID { |
| pub const fn from_u128(uuid: u128) -> Self { |
| Self { |
| data1: (uuid >> 96) as u32, |
| data2: (uuid >> 80 & 0xffff) as u16, |
| data3: (uuid >> 64 & 0xffff) as u16, |
| data4: (uuid as u64).to_be_bytes(), |
| } |
| } |
| } |
| pub type HANDLE = *mut ::core::ffi::c_void; |
| pub type HKEY = *mut ::core::ffi::c_void; |
| pub const HKEY_LOCAL_MACHINE: HKEY = -2147483646i32 as _; |
| pub type HMODULE = *mut ::core::ffi::c_void; |
| pub type HRESULT = i32; |
| pub type IMAGE_FILE_MACHINE = u16; |
| pub const IMAGE_FILE_MACHINE_AMD64: IMAGE_FILE_MACHINE = 34404u16; |
| pub const KEY_READ: REG_SAM_FLAGS = 131097u32; |
| pub const KEY_WOW64_32KEY: REG_SAM_FLAGS = 512u32; |
| pub type MACHINE_ATTRIBUTES = i32; |
| pub type PCSTR = *const u8; |
| pub type PCWSTR = *const u16; |
| pub type PWSTR = *mut u16; |
| pub type REG_SAM_FLAGS = u32; |
| pub const REG_SZ: REG_VALUE_TYPE = 1u32; |
| pub type REG_VALUE_TYPE = u32; |
| #[repr(C)] |
| pub struct SAFEARRAY { |
| pub cDims: u16, |
| pub fFeatures: ADVANCED_FEATURE_FLAGS, |
| pub cbElements: u32, |
| pub cLocks: u32, |
| pub pvData: *mut ::core::ffi::c_void, |
| pub rgsabound: [SAFEARRAYBOUND; 1], |
| } |
| impl ::core::marker::Copy for SAFEARRAY {} |
| impl ::core::clone::Clone for SAFEARRAY { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| #[repr(C)] |
| pub struct SAFEARRAYBOUND { |
| pub cElements: u32, |
| pub lLbound: i32, |
| } |
| impl ::core::marker::Copy for SAFEARRAYBOUND {} |
| impl ::core::clone::Clone for SAFEARRAYBOUND { |
| fn clone(&self) -> Self { |
| *self |
| } |
| } |
| pub const SEMAPHORE_MODIFY_STATE: SYNCHRONIZATION_ACCESS_RIGHTS = 2u32; |
| pub type SYNCHRONIZATION_ACCESS_RIGHTS = u32; |
| pub const S_FALSE: HRESULT = 0x1_u32 as _; |
| pub const S_OK: HRESULT = 0x0_u32 as _; |
| pub type THREAD_ACCESS_RIGHTS = u32; |
| pub const THREAD_SYNCHRONIZE: THREAD_ACCESS_RIGHTS = 1048576u32; |
| pub const UserEnabled: MACHINE_ATTRIBUTES = 1i32; |
| pub const WAIT_ABANDONED: WAIT_EVENT = 128u32; |
| pub type WAIT_EVENT = u32; |
| pub const WAIT_FAILED: WAIT_EVENT = 4294967295u32; |
| pub const WAIT_OBJECT_0: WAIT_EVENT = 0u32; |
| pub const WAIT_TIMEOUT: WAIT_EVENT = 258u32; |
| pub type WIN32_ERROR = u32; |