aboutsummaryrefslogtreecommitdiff
path: root/vendor/winapi/src/um/winreg.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/winapi/src/um/winreg.rs')
-rw-r--r--vendor/winapi/src/um/winreg.rs684
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;
-}