| // Copyright © 2015, Peter Atashian |
| // Licensed under the MIT License <LICENSE.md> |
| // Flags used by the various UIs |
| pub const SHTDN_REASON_FLAG_COMMENT_REQUIRED: ::DWORD = 0x01000000; |
| pub const SHTDN_REASON_FLAG_DIRTY_PROBLEM_ID_REQUIRED: ::DWORD = 0x02000000; |
| pub const SHTDN_REASON_FLAG_CLEAN_UI: ::DWORD = 0x04000000; |
| pub const SHTDN_REASON_FLAG_DIRTY_UI: ::DWORD = 0x08000000; |
| // Flags that end up in the event log code. |
| pub const SHTDN_REASON_FLAG_USER_DEFINED: ::DWORD = 0x40000000; |
| pub const SHTDN_REASON_FLAG_PLANNED: ::DWORD = 0x80000000; |
| // Microsoft major reasons. |
| pub const SHTDN_REASON_MAJOR_OTHER: ::DWORD = 0x00000000; |
| pub const SHTDN_REASON_MAJOR_NONE: ::DWORD = 0x00000000; |
| pub const SHTDN_REASON_MAJOR_HARDWARE: ::DWORD = 0x00010000; |
| pub const SHTDN_REASON_MAJOR_OPERATINGSYSTEM: ::DWORD = 0x00020000; |
| pub const SHTDN_REASON_MAJOR_SOFTWARE: ::DWORD = 0x00030000; |
| pub const SHTDN_REASON_MAJOR_APPLICATION: ::DWORD = 0x00040000; |
| pub const SHTDN_REASON_MAJOR_SYSTEM: ::DWORD = 0x00050000; |
| pub const SHTDN_REASON_MAJOR_POWER: ::DWORD = 0x00060000; |
| pub const SHTDN_REASON_MAJOR_LEGACY_API: ::DWORD = 0x00070000; |
| // Microsoft minor reasons. |
| pub const SHTDN_REASON_MINOR_OTHER: ::DWORD = 0x00000000; |
| pub const SHTDN_REASON_MINOR_NONE: ::DWORD = 0x000000ff; |
| pub const SHTDN_REASON_MINOR_MAINTENANCE: ::DWORD = 0x00000001; |
| pub const SHTDN_REASON_MINOR_INSTALLATION: ::DWORD = 0x00000002; |
| pub const SHTDN_REASON_MINOR_UPGRADE: ::DWORD = 0x00000003; |
| pub const SHTDN_REASON_MINOR_RECONFIG: ::DWORD = 0x00000004; |
| pub const SHTDN_REASON_MINOR_HUNG: ::DWORD = 0x00000005; |
| pub const SHTDN_REASON_MINOR_UNSTABLE: ::DWORD = 0x00000006; |
| pub const SHTDN_REASON_MINOR_DISK: ::DWORD = 0x00000007; |
| pub const SHTDN_REASON_MINOR_PROCESSOR: ::DWORD = 0x00000008; |
| pub const SHTDN_REASON_MINOR_NETWORKCARD: ::DWORD = 0x00000009; |
| pub const SHTDN_REASON_MINOR_POWER_SUPPLY: ::DWORD = 0x0000000a; |
| pub const SHTDN_REASON_MINOR_CORDUNPLUGGED: ::DWORD = 0x0000000b; |
| pub const SHTDN_REASON_MINOR_ENVIRONMENT: ::DWORD = 0x0000000c; |
| pub const SHTDN_REASON_MINOR_HARDWARE_DRIVER: ::DWORD = 0x0000000d; |
| pub const SHTDN_REASON_MINOR_OTHERDRIVER: ::DWORD = 0x0000000e; |
| pub const SHTDN_REASON_MINOR_BLUESCREEN: ::DWORD = 0x0000000F; |
| pub const SHTDN_REASON_MINOR_SERVICEPACK: ::DWORD = 0x00000010; |
| pub const SHTDN_REASON_MINOR_HOTFIX: ::DWORD = 0x00000011; |
| pub const SHTDN_REASON_MINOR_SECURITYFIX: ::DWORD = 0x00000012; |
| pub const SHTDN_REASON_MINOR_SECURITY: ::DWORD = 0x00000013; |
| pub const SHTDN_REASON_MINOR_NETWORK_CONNECTIVITY: ::DWORD = 0x00000014; |
| pub const SHTDN_REASON_MINOR_WMI: ::DWORD = 0x00000015; |
| pub const SHTDN_REASON_MINOR_SERVICEPACK_UNINSTALL: ::DWORD = 0x00000016; |
| pub const SHTDN_REASON_MINOR_HOTFIX_UNINSTALL: ::DWORD = 0x00000017; |
| pub const SHTDN_REASON_MINOR_SECURITYFIX_UNINSTALL: ::DWORD = 0x00000018; |
| pub const SHTDN_REASON_MINOR_MMC: ::DWORD = 0x00000019; |
| pub const SHTDN_REASON_MINOR_SYSTEMRESTORE: ::DWORD = 0x0000001a; |
| pub const SHTDN_REASON_MINOR_TERMSRV: ::DWORD = 0x00000020; |
| pub const SHTDN_REASON_MINOR_DC_PROMOTION: ::DWORD = 0x00000021; |
| pub const SHTDN_REASON_MINOR_DC_DEMOTION: ::DWORD = 0x00000022; |
| pub const SHTDN_REASON_UNKNOWN: ::DWORD = SHTDN_REASON_MINOR_NONE; |
| pub const SHTDN_REASON_LEGACY_API: ::DWORD = |
| (SHTDN_REASON_MAJOR_LEGACY_API | SHTDN_REASON_FLAG_PLANNED); |
| // This mask cuts out UI flags. |
| pub const SHTDN_REASON_VALID_BIT_MASK: ::DWORD = 0xc0ffffff; |
| // Convenience flags. |
| pub const PCLEANUI: ::DWORD = (SHTDN_REASON_FLAG_PLANNED | SHTDN_REASON_FLAG_CLEAN_UI); |
| pub const UCLEANUI: ::DWORD = (SHTDN_REASON_FLAG_CLEAN_UI); |
| pub const PDIRTYUI: ::DWORD = (SHTDN_REASON_FLAG_PLANNED | SHTDN_REASON_FLAG_DIRTY_UI); |
| pub const UDIRTYUI: ::DWORD = (SHTDN_REASON_FLAG_DIRTY_UI); |
| //89 |