1 /**
2  * Windows API header module
3  *
4  * Translated from MinGW Windows headers
5  *
6  * Authors: Stewart Gordon
7  * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
8  * Source: $(DRUNTIMESRC core/sys/windows/_reason.d)
9  */
10 module core.sys.windows.reason;
11 version (Windows):
12 
13 import core.sys.windows.w32api, core.sys.windows.windef;
14 
15 static assert (_WIN32_WINNT >= 0x501,
16   "core.sys.windows.reason is only available on WindowsXP and later");
17 
18 
19 enum : DWORD {
20     SHTDN_REASON_MAJOR_OTHER           = 0x00000000,
21     SHTDN_REASON_MAJOR_HARDWARE        = 0x00010000,
22     SHTDN_REASON_MAJOR_OPERATINGSYSTEM = 0x00020000,
23     SHTDN_REASON_MAJOR_SOFTWARE        = 0x00030000,
24     SHTDN_REASON_MAJOR_APPLICATION     = 0x00040000,
25     SHTDN_REASON_MAJOR_SYSTEM          = 0x00050000,
26     SHTDN_REASON_MAJOR_POWER           = 0x00060000,
27     SHTDN_REASON_MAJOR_LEGACY_API      = 0x00070000
28 }
29 
30 enum : DWORD {
31     SHTDN_REASON_MINOR_OTHER,
32     SHTDN_REASON_MINOR_MAINTENANCE,
33     SHTDN_REASON_MINOR_INSTALLATION,
34     SHTDN_REASON_MINOR_UPGRADE,
35     SHTDN_REASON_MINOR_RECONFIG,
36     SHTDN_REASON_MINOR_HUNG,
37     SHTDN_REASON_MINOR_UNSTABLE,
38     SHTDN_REASON_MINOR_DISK,
39     SHTDN_REASON_MINOR_PROCESSOR,
40     SHTDN_REASON_MINOR_NETWORKCARD,
41     SHTDN_REASON_MINOR_POWER_SUPPLY,
42     SHTDN_REASON_MINOR_CORDUNPLUGGED,
43     SHTDN_REASON_MINOR_ENVIRONMENT,
44     SHTDN_REASON_MINOR_HARDWARE_DRIVER,
45     SHTDN_REASON_MINOR_OTHERDRIVER,
46     SHTDN_REASON_MINOR_BLUESCREEN,
47     SHTDN_REASON_MINOR_SERVICEPACK,
48     SHTDN_REASON_MINOR_HOTFIX,
49     SHTDN_REASON_MINOR_SECURITYFIX,
50     SHTDN_REASON_MINOR_SECURITY,
51     SHTDN_REASON_MINOR_NETWORK_CONNECTIVITY,
52     SHTDN_REASON_MINOR_WMI,
53     SHTDN_REASON_MINOR_SERVICEPACK_UNINSTALL,
54     SHTDN_REASON_MINOR_HOTFIX_UNINSTALL,
55     SHTDN_REASON_MINOR_SECURITYFIX_UNINSTALL,
56     SHTDN_REASON_MINOR_MMC,         // = 0x00000019
57     SHTDN_REASON_MINOR_TERMSRV         = 0x00000020
58 }
59 
60 enum : DWORD {
61     SHTDN_REASON_FLAG_USER_DEFINED     = 0x40000000,
62     SHTDN_REASON_FLAG_PLANNED          = 0x80000000
63 }