diff options
Diffstat (limited to 'vendor/winapi/src/um/winreg.rs')
-rw-r--r-- | vendor/winapi/src/um/winreg.rs | 684 |
1 files changed, 0 insertions, 684 deletions
diff --git a/vendor/winapi/src/um/winreg.rs b/vendor/winapi/src/um/winreg.rs deleted file mode 100644 index 68c2ae2..0000000 --- a/vendor/winapi/src/um/winreg.rs +++ /dev/null @@ -1,684 +0,0 @@ -// Licensed under the Apache License, Version 2.0 -// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license -// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option. -// All files in the project carrying such notice may not be copied, modified, or distributed -// except according to those terms. -use shared::basetsd::DWORD_PTR; -use shared::minwindef::{ - BOOL, BYTE, DWORD, HKEY, LPBYTE, LPCVOID, LPDWORD, PFILETIME, PHKEY, ULONG -}; -use um::minwinbase::LPSECURITY_ATTRIBUTES; -use um::reason::{ - SHTDN_REASON_FLAG_PLANNED, SHTDN_REASON_LEGACY_API, SHTDN_REASON_MAJOR_HARDWARE, - SHTDN_REASON_MAJOR_OTHER, SHTDN_REASON_MAJOR_SOFTWARE, SHTDN_REASON_MAJOR_SYSTEM, - SHTDN_REASON_MINOR_HUNG, SHTDN_REASON_MINOR_INSTALLATION, SHTDN_REASON_MINOR_OTHER, - SHTDN_REASON_MINOR_RECONFIG, SHTDN_REASON_MINOR_UNSTABLE, SHTDN_REASON_UNKNOWN, -}; -use um::winnt::{ - ACCESS_MASK, BOOLEAN, HANDLE, LONG, LPCSTR, LPCWSTR, LPSTR, LPWSTR, PBOOLEAN, PLONG, - PSECURITY_DESCRIPTOR, PVOID, SECURITY_INFORMATION, -}; -pub type LSTATUS = LONG; -pub const RRF_RT_REG_NONE: DWORD = 0x00000001; -pub const RRF_RT_REG_SZ: DWORD = 0x00000002; -pub const RRF_RT_REG_EXPAND_SZ: DWORD = 0x00000004; -pub const RRF_RT_REG_BINARY: DWORD = 0x00000008; -pub const RRF_RT_REG_DWORD: DWORD = 0x00000010; -pub const RRF_RT_REG_MULTI_SZ: DWORD = 0x00000020; -pub const RRF_RT_REG_QWORD: DWORD = 0x00000040; -pub const RRF_RT_DWORD: DWORD = RRF_RT_REG_BINARY | RRF_RT_REG_DWORD; -pub const RRF_RT_QWORD: DWORD = RRF_RT_REG_BINARY | RRF_RT_REG_QWORD; -pub const RRF_RT_ANY: DWORD = 0x0000ffff; -pub const RRF_SUBKEY_WOW6464KEY: DWORD = 0x00010000; -pub const RRF_SUBKEY_WOW6432KEY: DWORD = 0x00020000; -pub const RRF_WOW64_MASK: DWORD = 0x00030000; -pub const RRF_NOEXPAND: DWORD = 0x10000000; -pub const RRF_ZEROONFAILURE: DWORD = 0x20000000; -pub const REG_PROCESS_APPKEY: DWORD = 0x00000001; -pub type REGSAM = ACCESS_MASK; -pub const HKEY_CLASSES_ROOT: HKEY = 0x80000000i32 as usize as HKEY; -pub const HKEY_CURRENT_USER: HKEY = 0x80000001i32 as usize as HKEY; -pub const HKEY_LOCAL_MACHINE: HKEY = 0x80000002i32 as usize as HKEY; -pub const HKEY_USERS: HKEY = 0x80000003i32 as usize as HKEY; -pub const HKEY_PERFORMANCE_DATA: HKEY = 0x80000004i32 as usize as HKEY; -pub const HKEY_PERFORMANCE_TEXT: HKEY = 0x80000050i32 as usize as HKEY; -pub const HKEY_PERFORMANCE_NLSTEXT: HKEY = 0x80000060i32 as usize as HKEY; -pub const HKEY_CURRENT_CONFIG: HKEY = 0x80000005i32 as usize as HKEY; -pub const HKEY_DYN_DATA: HKEY = 0x80000006i32 as usize as HKEY; -pub const HKEY_CURRENT_USER_LOCAL_SETTINGS: HKEY = 0x80000007i32 as usize as HKEY; -// PROVIDER_KEEPS_VALUE_LENGTH -// val_context -// PVALUEA -// PVALUEW -// QUERYHANDLER -// REG_PROVIDER -STRUCT!{struct VALENTA { - ve_valuename: LPSTR, - ve_valuelen: DWORD, - ve_valueptr: DWORD_PTR, - ve_type: DWORD, -}} -pub type PVALENTA = *mut VALENTA; -STRUCT!{struct VALENTW { - ve_valuename: LPWSTR, - ve_valuelen: DWORD, - ve_valueptr: DWORD_PTR, - ve_type: DWORD, -}} -pub type PVALENTW = *mut VALENTW; -// WIN31_CLASS -pub const REG_MUI_STRING_TRUNCATE: DWORD = 0x00000001; -pub const REG_SECURE_CONNECTION: DWORD = 1; -extern "system" { - pub fn RegCloseKey( - hKey: HKEY, - ) -> LSTATUS; - pub fn RegOverridePredefKey( - hKey: HKEY, - hNewHKey: HKEY, - ) -> LSTATUS; - pub fn RegOpenUserClassesRoot( - hToken: HANDLE, - dwOptions: DWORD, - samDesired: REGSAM, - phkResult: PHKEY, - ) -> LSTATUS; - pub fn RegOpenCurrentUser( - samDesired: REGSAM, - phkResult: PHKEY, - ) -> LSTATUS; - pub fn RegDisablePredefinedCache() -> LSTATUS; - pub fn RegDisablePredefinedCacheEx() -> LSTATUS; - pub fn RegConnectRegistryA( - lpMachineName: LPCSTR, - hKey: HKEY, - phkResult: PHKEY, - ) -> LSTATUS; - pub fn RegConnectRegistryW( - lpMachineName: LPCWSTR, - hKey: HKEY, - phkResult: PHKEY, - ) -> LSTATUS; - pub fn RegConnectRegistryExA( - lpMachineName: LPCSTR, - hKey: HKEY, - flags: ULONG, - phkResult: PHKEY, - ) -> LSTATUS; - pub fn RegConnectRegistryExW( - lpMachineName: LPCWSTR, - hKey: HKEY, - flags: ULONG, - phkResult: PHKEY, - ) -> LSTATUS; - pub fn RegCreateKeyA( - hKey: HKEY, - lpSubKey: LPCSTR, - phkResult: PHKEY, - ) -> LSTATUS; - pub fn RegCreateKeyW( - hKey: HKEY, - lpSubKey: LPCWSTR, - phkResult: PHKEY, - ) -> LSTATUS; - pub fn RegCreateKeyExA( - hKey: HKEY, - lpSubKey: LPCSTR, - Reserved: DWORD, - lpClass: LPSTR, - dwOptions: DWORD, - samDesired: REGSAM, - lpSecurityAttributes: LPSECURITY_ATTRIBUTES, - phkResult: PHKEY, - lpdwDisposition: LPDWORD, - ) -> LSTATUS; - pub fn RegCreateKeyExW( - hKey: HKEY, - lpSubKey: LPCWSTR, - Reserved: DWORD, - lpClass: LPWSTR, - dwOptions: DWORD, - samDesired: REGSAM, - lpSecurityAttributes: LPSECURITY_ATTRIBUTES, - phkResult: PHKEY, - lpdwDisposition: LPDWORD, - ) -> LSTATUS; - pub fn RegCreateKeyTransactedA( - hKey: HKEY, - lpSubKey: LPCSTR, - Reserved: DWORD, - lpClass: LPSTR, - dwOptions: DWORD, - samDesired: REGSAM, - lpSecurityAttributes: LPSECURITY_ATTRIBUTES, - phkResult: PHKEY, - lpdwDisposition: LPDWORD, - hTransaction: HANDLE, - pExtendedParemeter: PVOID, - ) -> LSTATUS; - pub fn RegCreateKeyTransactedW( - hKey: HKEY, - lpSubKey: LPCWSTR, - Reserved: DWORD, - lpClass: LPWSTR, - dwOptions: DWORD, - samDesired: REGSAM, - lpSecurityAttributes: LPSECURITY_ATTRIBUTES, - phkResult: PHKEY, - lpdwDisposition: LPDWORD, - hTransaction: HANDLE, - pExtendedParemeter: PVOID, - ) -> LSTATUS; - pub fn RegDeleteKeyA( - hKey: HKEY, - lpSubKey: LPCSTR, - ) -> LSTATUS; - pub fn RegDeleteKeyW( - hKey: HKEY, - lpSubKey: LPCWSTR, - ) -> LSTATUS; - pub fn RegDeleteKeyExA( - hKey: HKEY, - lpSubKey: LPCSTR, - samDesired: REGSAM, - Reserved: DWORD, - ) -> LSTATUS; - pub fn RegDeleteKeyExW( - hKey: HKEY, - lpSubKey: LPCWSTR, - samDesired: REGSAM, - Reserved: DWORD, - ) -> LSTATUS; - pub fn RegDeleteKeyTransactedA( - hKey: HKEY, - lpSubKey: LPCSTR, - samDesired: REGSAM, - Reserved: DWORD, - hTransaction: HANDLE, - pExtendedParemeter: PVOID, - ) -> LSTATUS; - pub fn RegDeleteKeyTransactedW( - hKey: HKEY, - lpSubKey: LPCWSTR, - samDesired: REGSAM, - Reserved: DWORD, - hTransaction: HANDLE, - pExtendedParemeter: PVOID, - ) -> LSTATUS; - pub fn RegDisableReflectionKey( - hBase: HKEY, - ) -> LONG; - pub fn RegEnableReflectionKey( - hBase: HKEY, - ) -> LONG; - pub fn RegQueryReflectionKey( - hBase: HKEY, - bIsReflectionDisabled: *mut BOOL, - ) -> LONG; - pub fn RegDeleteValueA( - hKey: HKEY, - lpValueName: LPCSTR, - ) -> LSTATUS; - pub fn RegDeleteValueW( - hKey: HKEY, - lpValueName: LPCWSTR, - ) -> LSTATUS; - pub fn RegEnumKeyA( - hKey: HKEY, - dwIndex: DWORD, - lpName: LPSTR, - cchName: DWORD, - ) -> LSTATUS; - pub fn RegEnumKeyW( - hKey: HKEY, - dwIndex: DWORD, - lpName: LPWSTR, - cchName: DWORD, - ) -> LSTATUS; - pub fn RegEnumKeyExA( - hKey: HKEY, - dwIndex: DWORD, - lpName: LPSTR, - lpcName: LPDWORD, - lpReserved: LPDWORD, - lpClass: LPSTR, - lpcClass: LPDWORD, - lpftLastWriteTime: PFILETIME, - ) -> LSTATUS; - pub fn RegEnumKeyExW( - hKey: HKEY, - dwIndex: DWORD, - lpName: LPWSTR, - lpcName: LPDWORD, - lpReserved: LPDWORD, - lpClass: LPWSTR, - lpcClass: LPDWORD, - lpftLastWriteTime: PFILETIME, - ) -> LSTATUS; - pub fn RegEnumValueA( - hKey: HKEY, - dwIndex: DWORD, - lpValueName: LPSTR, - lpcchValueName: LPDWORD, - lpReserved: LPDWORD, - lpType: LPDWORD, - lpData: LPBYTE, - lpcbData: LPDWORD, - ) -> LSTATUS; - pub fn RegEnumValueW( - hKey: HKEY, - dwIndex: DWORD, - lpValueName: LPWSTR, - lpcchValueName: LPDWORD, - lpReserved: LPDWORD, - lpType: LPDWORD, - lpData: LPBYTE, - lpcbData: LPDWORD, - ) -> LSTATUS; - pub fn RegFlushKey( - hKey: HKEY, - ) -> LSTATUS; - pub fn RegGetKeySecurity( - hKey: HKEY, - SecurityInformation: SECURITY_INFORMATION, - pSecurityDescriptor: PSECURITY_DESCRIPTOR, - lpcbSecurityDescriptor: LPDWORD, - ) -> LSTATUS; - pub fn RegLoadKeyA( - hKey: HKEY, - lpSubKey: LPCSTR, - lpFile: LPCSTR, - ) -> LSTATUS; - pub fn RegLoadKeyW( - hKey: HKEY, - lpSubKey: LPCWSTR, - lpFile: LPCWSTR, - ) -> LSTATUS; - pub fn RegNotifyChangeKeyValue( - hKey: HKEY, - bWatchSubtree: BOOL, - dwNotifyFilter: DWORD, - hEvent: HANDLE, - fAsynchronous: BOOL, - ) -> LSTATUS; - pub fn RegOpenKeyA( - hKey: HKEY, - lpSubKey: LPCSTR, - phkResult: PHKEY, - ) -> LSTATUS; - pub fn RegOpenKeyW( - hKey: HKEY, - lpSubKey: LPCWSTR, - phkResult: PHKEY, - ) -> LSTATUS; - pub fn RegOpenKeyExA( - hKey: HKEY, - lpSubKey: LPCSTR, - ulOptions: DWORD, - samDesired: REGSAM, - phkResult: PHKEY, - ) -> LSTATUS; - pub fn RegOpenKeyExW( - hKey: HKEY, - lpSubKey: LPCWSTR, - ulOptions: DWORD, - samDesired: REGSAM, - phkResult: PHKEY, - ) -> LSTATUS; - pub fn RegOpenKeyTransactedA( - hKey: HKEY, - lpSubKey: LPCSTR, - ulOptions: DWORD, - samDesired: REGSAM, - phkResult: PHKEY, - hTransaction: HANDLE, - pExtendedParemeter: PVOID, - ) -> LSTATUS; - pub fn RegOpenKeyTransactedW( - hKey: HKEY, - lpSubKey: LPCWSTR, - ulOptions: DWORD, - samDesired: REGSAM, - phkResult: PHKEY, - hTransaction: HANDLE, - pExtendedParemeter: PVOID, - ) -> LSTATUS; - pub fn RegQueryInfoKeyA( - hKey: HKEY, - lpClass: LPSTR, - lpcClass: LPDWORD, - lpReserved: LPDWORD, - lpcSubKeys: LPDWORD, - lpcMaxSubKeyLen: LPDWORD, - lpcMaxClassLen: LPDWORD, - lpcValues: LPDWORD, - lpcMaxValueNameLen: LPDWORD, - lpcMaxValueLen: LPDWORD, - lpcbSecurityDescriptor: LPDWORD, - lpftLastWriteTime: PFILETIME, - ) -> LSTATUS; - pub fn RegQueryInfoKeyW( - hKey: HKEY, - lpClass: LPWSTR, - lpcClass: LPDWORD, - lpReserved: LPDWORD, - lpcSubKeys: LPDWORD, - lpcMaxSubKeyLen: LPDWORD, - lpcMaxClassLen: LPDWORD, - lpcValues: LPDWORD, - lpcMaxValueNameLen: LPDWORD, - lpcMaxValueLen: LPDWORD, - lpcbSecurityDescriptor: LPDWORD, - lpftLastWriteTime: PFILETIME, - ) -> LSTATUS; - pub fn RegQueryValueA( - hKey: HKEY, - lpSubKey: LPCSTR, - lpData: LPSTR, - lpcbData: PLONG, - ) -> LSTATUS; - pub fn RegQueryValueW( - hKey: HKEY, - lpSubKey: LPCWSTR, - lpData: LPWSTR, - lpcbData: PLONG, - ) -> LSTATUS; - pub fn RegQueryMultipleValuesA( - hKey: HKEY, - val_list: PVALENTA, - num_vals: DWORD, - lpValueBuf: LPSTR, - ldwTotsize: LPDWORD, - ) -> LSTATUS; - pub fn RegQueryMultipleValuesW( - hKey: HKEY, - val_list: PVALENTW, - num_vals: DWORD, - lpValueBuf: LPWSTR, - ldwTotsize: LPDWORD, - ) -> LSTATUS; - pub fn RegQueryValueExA( - hKey: HKEY, - lpValueName: LPCSTR, - lpReserved: LPDWORD, - lpType: LPDWORD, - lpData: LPBYTE, - lpcbData: LPDWORD, - ) -> LSTATUS; - pub fn RegQueryValueExW( - hKey: HKEY, - lpValueName: LPCWSTR, - lpReserved: LPDWORD, - lpType: LPDWORD, - lpData: LPBYTE, - lpcbData: LPDWORD, - ) -> LSTATUS; - pub fn RegReplaceKeyA( - hKey: HKEY, - lpSubKey: LPCSTR, - lpNewFile: LPCSTR, - lpOldFile: LPCSTR, - ) -> LSTATUS; - pub fn RegReplaceKeyW( - hKey: HKEY, - lpSubKey: LPCWSTR, - lpNewFile: LPCWSTR, - lpOldFile: LPCWSTR, - ) -> LSTATUS; - pub fn RegRestoreKeyA( - hKey: HKEY, - lpFile: LPCSTR, - dwFlags: DWORD, - ) -> LSTATUS; - pub fn RegRestoreKeyW( - hKey: HKEY, - lpFile: LPCWSTR, - dwFlags: DWORD, - ) -> LSTATUS; - pub fn RegRenameKey( - hKey: HKEY, - lpSubKeyName: LPCWSTR, - lpNewKeyName: LPCWSTR, - ) -> LSTATUS; - pub fn RegSaveKeyA( - hKey: HKEY, - lpFile: LPCSTR, - lpSecurityAttributes: LPSECURITY_ATTRIBUTES, - ) -> LSTATUS; - pub fn RegSaveKeyW( - hKey: HKEY, - lpFile: LPCWSTR, - lpSecurityAttributes: LPSECURITY_ATTRIBUTES, - ) -> LSTATUS; - pub fn RegSetKeySecurity( - hKey: HKEY, - SecurityInformation: SECURITY_INFORMATION, - pSecurityDescriptor: PSECURITY_DESCRIPTOR, - ) -> LSTATUS; - pub fn RegSetValueA( - hKey: HKEY, - lpSubKey: LPCSTR, - dwType: DWORD, - lpData: LPCSTR, - cbData: DWORD, - ) -> LSTATUS; - pub fn RegSetValueW( - hKey: HKEY, - lpSubKey: LPCWSTR, - dwType: DWORD, - lpData: LPCWSTR, - cbData: DWORD, - ) -> LSTATUS; - pub fn RegSetValueExA( - hKey: HKEY, - lpValueName: LPCSTR, - Reserved: DWORD, - dwType: DWORD, - lpData: *const BYTE, - cbData: DWORD, - ) -> LSTATUS; - pub fn RegSetValueExW( - hKey: HKEY, - lpValueName: LPCWSTR, - Reserved: DWORD, - dwType: DWORD, - lpData: *const BYTE, - cbData: DWORD, - ) -> LSTATUS; - pub fn RegUnLoadKeyA( - hKey: HKEY, - lpSubKey: LPCSTR, - ) -> LSTATUS; - pub fn RegUnLoadKeyW( - hKey: HKEY, - lpSubKey: LPCWSTR, - ) -> LSTATUS; - pub fn RegDeleteKeyValueA( - hKey: HKEY, - lpSubKey: LPCSTR, - lpValueName: LPCSTR, - ) -> LSTATUS; - pub fn RegDeleteKeyValueW( - hKey: HKEY, - lpSubKey: LPCWSTR, - lpValueName: LPCWSTR, - ) -> LSTATUS; - pub fn RegSetKeyValueA( - hKey: HKEY, - lpSubKey: LPCSTR, - lpValueName: LPCSTR, - dwType: DWORD, - lpData: LPCVOID, - cbData: DWORD, - ) -> LSTATUS; - pub fn RegSetKeyValueW( - hKey: HKEY, - lpSubKey: LPCWSTR, - lpValueName: LPCWSTR, - dwType: DWORD, - lpData: LPCVOID, - cbData: DWORD, - ) -> LSTATUS; - pub fn RegDeleteTreeA( - hKey: HKEY, - lpSubKey: LPCSTR, - ) -> LSTATUS; - pub fn RegDeleteTreeW( - hKey: HKEY, - lpSubKey: LPCWSTR, - ) -> LSTATUS; - pub fn RegCopyTreeA( - hKeySrc: HKEY, - lpSubKey: LPCSTR, - hKeyDest: HKEY, - ) -> LSTATUS; - pub fn RegGetValueA( - hkey: HKEY, - lpSubKey: LPCSTR, - lpValue: LPCSTR, - dwFlags: DWORD, - pdwType: LPDWORD, - pvData: PVOID, - pcbData: LPDWORD, - ) -> LSTATUS; - pub fn RegGetValueW( - hkey: HKEY, - lpSubKey: LPCWSTR, - lpValue: LPCWSTR, - dwFlags: DWORD, - pdwType: LPDWORD, - pvData: PVOID, - pcbData: LPDWORD, - ) -> LSTATUS; - pub fn RegCopyTreeW( - hKeySrc: HKEY, - lpSubKey: LPCWSTR, - hKeyDest: HKEY, - ) -> LSTATUS; - pub fn RegLoadMUIStringA( - hKey: HKEY, - pszValue: LPCSTR, - pszOutBuf: LPSTR, - cbOutBuf: DWORD, - pcbData: LPDWORD, - Flags: DWORD, - pszDirectory: LPCSTR, - ) -> LSTATUS; - pub fn RegLoadMUIStringW( - hKey: HKEY, - pszValue: LPCWSTR, - pszOutBuf: LPWSTR, - cbOutBuf: DWORD, - pcbData: LPDWORD, - Flags: DWORD, - pszDirectory: LPCWSTR, - ) -> LSTATUS; - pub fn RegLoadAppKeyA( - lpFile: LPCSTR, - phkResult: PHKEY, - samDesired: REGSAM, - dwOptions: DWORD, - Reserved: DWORD, - ) -> LSTATUS; - pub fn RegLoadAppKeyW( - lpFile: LPCWSTR, - phkResult: PHKEY, - samDesired: REGSAM, - dwOptions: DWORD, - Reserved: DWORD, - ) -> LSTATUS; - pub fn InitiateSystemShutdownA( - lpMachineName: LPSTR, - lpMessage: LPSTR, - dwTimeout: DWORD, - bForceAppsClosed: BOOL, - bRebootAfterShutdown: BOOL, - ) -> BOOL; - pub fn InitiateSystemShutdownW( - lpMachineName: LPWSTR, - lpMessage: LPWSTR, - dwTimeout: DWORD, - bForceAppsClosed: BOOL, - bRebootAfterShutdown: BOOL, - ) -> BOOL; - pub fn AbortSystemShutdownA( - lpMachineName: LPSTR, - ) -> BOOL; - pub fn AbortSystemShutdownW( - lpMachineName: LPWSTR, - ) -> BOOL; -} -pub const REASON_SWINSTALL: DWORD = SHTDN_REASON_MAJOR_SOFTWARE | SHTDN_REASON_MINOR_INSTALLATION; -pub const REASON_HWINSTALL: DWORD = SHTDN_REASON_MAJOR_HARDWARE | SHTDN_REASON_MINOR_INSTALLATION; -pub const REASON_SERVICEHANG: DWORD = SHTDN_REASON_MAJOR_SOFTWARE | SHTDN_REASON_MINOR_HUNG; -pub const REASON_UNSTABLE: DWORD = SHTDN_REASON_MAJOR_SYSTEM | SHTDN_REASON_MINOR_UNSTABLE; -pub const REASON_SWHWRECONF: DWORD = SHTDN_REASON_MAJOR_SOFTWARE | SHTDN_REASON_MINOR_RECONFIG; -pub const REASON_OTHER: DWORD = SHTDN_REASON_MAJOR_OTHER | SHTDN_REASON_MINOR_OTHER; -pub const REASON_UNKNOWN: DWORD = SHTDN_REASON_UNKNOWN; -pub const REASON_LEGACY_API: DWORD = SHTDN_REASON_LEGACY_API; -pub const REASON_PLANNED_FLAG: DWORD = SHTDN_REASON_FLAG_PLANNED; -pub const MAX_SHUTDOWN_TIMEOUT: DWORD = 10 * 365 * 24 * 60 * 60; -extern "system" { - pub fn InitiateSystemShutdownExA( - lpMachineName: LPSTR, - lpMessage: LPSTR, - dwTimeout: DWORD, - bForceAppsClosed: BOOL, - bRebootAfterShutdown: BOOL, - dwReason: DWORD, - ) -> BOOL; - pub fn InitiateSystemShutdownExW( - lpMachineName: LPWSTR, - lpMessage: LPWSTR, - dwTimeout: DWORD, - bForceAppsClosed: BOOL, - bRebootAfterShutdown: BOOL, - dwReason: DWORD, - ) -> BOOL; -} -pub const SHUTDOWN_FORCE_OTHERS: DWORD = 0x00000001; -pub const SHUTDOWN_FORCE_SELF: DWORD = 0x00000002; -pub const SHUTDOWN_RESTART: DWORD = 0x00000004; -pub const SHUTDOWN_POWEROFF: DWORD = 0x00000008; -pub const SHUTDOWN_NOREBOOT: DWORD = 0x00000010; -pub const SHUTDOWN_GRACE_OVERRIDE: DWORD = 0x00000020; -pub const SHUTDOWN_INSTALL_UPDATES: DWORD = 0x00000040; -pub const SHUTDOWN_RESTARTAPPS: DWORD = 0x00000080; -pub const SHUTDOWN_SKIP_SVC_PRESHUTDOWN: DWORD = 0x00000100; -pub const SHUTDOWN_HYBRID: DWORD = 0x00000200; -pub const SHUTDOWN_RESTART_BOOTOPTIONS: DWORD = 0x00000400; -pub const SHUTDOWN_SOFT_REBOOT: DWORD = 0x00000800; -pub const SHUTDOWN_MOBILE_UI: DWORD = 0x00001000; -pub const SHUTDOWN_ARSO: DWORD = 0x00002000; -extern "system" { - pub fn InitiateShutdownA( - lpMachineName: LPSTR, - lpMessage: LPSTR, - dwGracePeriod: DWORD, - dwShutdownFlags: DWORD, - dwReason: DWORD, - ) -> DWORD; - pub fn InitiateShutdownW( - lpMachineName: LPWSTR, - lpMessage: LPWSTR, - dwGracePeriod: DWORD, - dwShutdownFlags: DWORD, - dwReason: DWORD, - ) -> DWORD; - pub fn CheckForHiberboot( - pHiberboot: PBOOLEAN, - bClearFlag: BOOLEAN, - ) -> DWORD; - pub fn RegSaveKeyExA( - hKey: HKEY, - lpFile: LPCSTR, - lpSecurityAttributes: LPSECURITY_ATTRIBUTES, - Flags: DWORD, - ) -> LSTATUS; - pub fn RegSaveKeyExW( - hKey: HKEY, - lpFile: LPCWSTR, - lpSecurityAttributes: LPSECURITY_ATTRIBUTES, - Flags: DWORD, - ) -> LSTATUS; -} |