1 /***********************************************************************\
2 *                                reason.d                               *
3 *                                                                       *
4 *                       Windows API header module                       *
5 *                                                                       *
6 *                 Translated from MinGW Windows headers                 *
7 *                           by Stewart Gordon                           *
8 *                                                                       *
9 *                       Placed into public domain                       *
10 \***********************************************************************/
11 module win32.reason;
12 
13 private import win32.w32api, win32.windef;
14 
15 static assert (_WIN32_WINNT >= 0x501,
16   "win32.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 }