1 | /**
|
---|
2 | * This file has no copyright assigned and is placed in the Public Domain.
|
---|
3 | * This file is part of the mingw-w64 runtime package.
|
---|
4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
---|
5 | */
|
---|
6 | #ifndef _CFG_INCLUDED_
|
---|
7 | #define _CFG_INCLUDED_
|
---|
8 |
|
---|
9 | #include <winapifamily.h>
|
---|
10 |
|
---|
11 | #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
|
---|
12 |
|
---|
13 | typedef enum _PNP_VETO_TYPE {
|
---|
14 | PNP_VetoTypeUnknown,
|
---|
15 | PNP_VetoLegacyDevice,
|
---|
16 | PNP_VetoPendingClose,
|
---|
17 | PNP_VetoWindowsApp,
|
---|
18 | PNP_VetoWindowsService,
|
---|
19 | PNP_VetoOutstandingOpen,
|
---|
20 | PNP_VetoDevice,
|
---|
21 | PNP_VetoDriver,
|
---|
22 | PNP_VetoIllegalDeviceRequest,
|
---|
23 | PNP_VetoInsufficientPower,
|
---|
24 | PNP_VetoNonDisableable,
|
---|
25 | PNP_VetoLegacyDriver,
|
---|
26 | PNP_VetoInsufficientRights,
|
---|
27 | PNP_VetoAlreadyRemoved
|
---|
28 | } PNP_VETO_TYPE, *PPNP_VETO_TYPE;
|
---|
29 |
|
---|
30 | #define CM_PROB_NOT_CONFIGURED (0x00000001)
|
---|
31 | #define CM_PROB_DEVLOADER_FAILED (0x00000002)
|
---|
32 | #define CM_PROB_OUT_OF_MEMORY (0x00000003)
|
---|
33 | #define CM_PROB_ENTRY_IS_WRONG_TYPE (0x00000004)
|
---|
34 | #define CM_PROB_LACKED_ARBITRATOR (0x00000005)
|
---|
35 | #define CM_PROB_BOOT_CONFIG_CONFLICT (0x00000006)
|
---|
36 | #define CM_PROB_FAILED_FILTER (0x00000007)
|
---|
37 | #define CM_PROB_DEVLOADER_NOT_FOUND (0x00000008)
|
---|
38 | #define CM_PROB_INVALID_DATA (0x00000009)
|
---|
39 | #define CM_PROB_FAILED_START (0x0000000A)
|
---|
40 | #define CM_PROB_LIAR (0x0000000B)
|
---|
41 | #define CM_PROB_NORMAL_CONFLICT (0x0000000C)
|
---|
42 | #define CM_PROB_NOT_VERIFIED (0x0000000D)
|
---|
43 | #define CM_PROB_NEED_RESTART (0x0000000E)
|
---|
44 | #define CM_PROB_REENUMERATION (0x0000000F)
|
---|
45 | #define CM_PROB_PARTIAL_LOG_CONF (0x00000010)
|
---|
46 | #define CM_PROB_UNKNOWN_RESOURCE (0x00000011)
|
---|
47 | #define CM_PROB_REINSTALL (0x00000012)
|
---|
48 | #define CM_PROB_REGISTRY (0x00000013)
|
---|
49 | #define CM_PROB_VXDLDR (0x00000014)
|
---|
50 | #define CM_PROB_WILL_BE_REMOVED (0x00000015)
|
---|
51 | #define CM_PROB_DISABLED (0x00000016)
|
---|
52 | #define CM_PROB_DEVLOADER_NOT_READY (0x00000017)
|
---|
53 | #define CM_PROB_DEVICE_NOT_THERE (0x00000018)
|
---|
54 | #define CM_PROB_MOVED (0x00000019)
|
---|
55 | #define CM_PROB_TOO_EARLY (0x0000001A)
|
---|
56 | #define CM_PROB_NO_VALID_LOG_CONF (0x0000001B)
|
---|
57 | #define CM_PROB_FAILED_INSTALL (0x0000001C)
|
---|
58 | #define CM_PROB_HARDWARE_DISABLED (0x0000001D)
|
---|
59 | #define CM_PROB_CANT_SHARE_IRQ (0x0000001E)
|
---|
60 | #define CM_PROB_FAILED_ADD (0x0000001F)
|
---|
61 | #define CM_PROB_DISABLED_SERVICE (0x00000020)
|
---|
62 | #define CM_PROB_TRANSLATION_FAILED (0x00000021)
|
---|
63 | #define CM_PROB_NO_SOFTCONFIG (0x00000022)
|
---|
64 | #define CM_PROB_BIOS_TABLE (0x00000023)
|
---|
65 | #define CM_PROB_IRQ_TRANSLATION_FAILED (0x00000024)
|
---|
66 | #define CM_PROB_FAILED_DRIVER_ENTRY (0x00000025)
|
---|
67 | #define CM_PROB_DRIVER_FAILED_PRIOR_UNLOAD (0x00000026)
|
---|
68 | #define CM_PROB_DRIVER_FAILED_LOAD (0x00000027)
|
---|
69 | #define CM_PROB_DRIVER_SERVICE_KEY_INVALID (0x00000028)
|
---|
70 | #define CM_PROB_LEGACY_SERVICE_NO_DEVICES (0x00000029)
|
---|
71 | #define CM_PROB_DUPLICATE_DEVICE (0x0000002A)
|
---|
72 | #define CM_PROB_FAILED_POST_START (0x0000002B)
|
---|
73 | #define CM_PROB_HALTED (0x0000002C)
|
---|
74 | #define CM_PROB_PHANTOM (0x0000002D)
|
---|
75 | #define CM_PROB_SYSTEM_SHUTDOWN (0x0000002E)
|
---|
76 | #define CM_PROB_HELD_FOR_EJECT (0x0000002F)
|
---|
77 | #define CM_PROB_DRIVER_BLOCKED (0x00000030)
|
---|
78 | #define CM_PROB_REGISTRY_TOO_LARGE (0x00000031)
|
---|
79 | #define CM_PROB_SETPROPERTIES_FAILED (0x00000032)
|
---|
80 | #define CM_PROB_WAITING_ON_DEPENDENCY (0x00000033)
|
---|
81 | #define CM_PROB_UNSIGNED_DRIVER (0x00000034)
|
---|
82 | #define CM_PROB_USED_BY_DEBUGGER (0x00000035)
|
---|
83 | #define CM_PROB_DEVICE_RESET (0x00000036)
|
---|
84 | #define CM_PROB_CONSOLE_LOCKED (0x00000037)
|
---|
85 | #define CM_PROB_NEED_CLASS_CONFIG (0x00000038)
|
---|
86 | #define CM_PROB_GUEST_ASSIGNMENT_FAILED (0x00000039)
|
---|
87 |
|
---|
88 | #define CM_GLOBAL_STATE_CAN_DO_UI (0x00000001)
|
---|
89 | #define CM_GLOBAL_STATE_ON_BIG_STACK (0x00000002)
|
---|
90 | #define CM_GLOBAL_STATE_SERVICES_AVAILABLE (0x00000004)
|
---|
91 | #define CM_GLOBAL_STATE_SHUTTING_DOWN (0x00000008)
|
---|
92 | #define CM_GLOBAL_STATE_DETECTION_PENDING (0x00000010)
|
---|
93 | #if WINVER >= _WIN32_WINNT_WIN7
|
---|
94 | #define CM_GLOBAL_STATE_REBOOT_REQUIRED (0x00000020)
|
---|
95 | #endif
|
---|
96 |
|
---|
97 | #define NUM_CM_PROB_V1 (0x00000025)
|
---|
98 | #define NUM_CM_PROB_V2 (0x00000032)
|
---|
99 | #define NUM_CM_PROB_V3 (0x00000033)
|
---|
100 | #define NUM_CM_PROB_V4 (0x00000034)
|
---|
101 | #define NUM_CM_PROB_V5 (0x00000035)
|
---|
102 | #define NUM_CM_PROB_V6 (0x00000036)
|
---|
103 | #define NUM_CM_PROB_V7 (0x00000037)
|
---|
104 | #define NUM_CM_PROB_V8 (0x00000039)
|
---|
105 | #define NUM_CM_PROB_V9 (0x0000003A)
|
---|
106 |
|
---|
107 | #if NTDDI_VERSION >= NTDDI_WIN10_VB
|
---|
108 | #define NUM_CM_PROB NUM_CM_PROB_V9
|
---|
109 | #elif NTDDI_VERSION >= NTDDI_WIN10_RS3
|
---|
110 | #define NUM_CM_PROB NUM_CM_PROB_V8
|
---|
111 | #elif NTDDI_VERSION >= NTDDI_WINTHRESHOLD
|
---|
112 | #define NUM_CM_PROB NUM_CM_PROB_V7
|
---|
113 | #elif NTDDI_VERSION >= NTDDI_WINBLUE
|
---|
114 | #define NUM_CM_PROB NUM_CM_PROB_V6
|
---|
115 | #elif NTDDI_VERSION >= NTDDI_WIN7
|
---|
116 | #define NUM_CM_PROB NUM_CM_PROB_V5
|
---|
117 | #elif NTDDI_VERSION >= NTDDI_WS08
|
---|
118 | #define NUM_CM_PROB NUM_CM_PROB_V4
|
---|
119 | #elif NTDDI_VERSION >= NTDDI_WS03
|
---|
120 | #define NUM_CM_PROB NUM_CM_PROB_V3
|
---|
121 | #elif NTDDI_VERSION >= NTDDI_WINXP
|
---|
122 | #define NUM_CM_PROB NUM_CM_PROB_V2
|
---|
123 | #elif NTDDI_VERSION >= NTDDI_WIN2K
|
---|
124 | #define NUM_CM_PROB NUM_CM_PROB_V1
|
---|
125 | #endif
|
---|
126 |
|
---|
127 | #define DN_ROOT_ENUMERATED (0x00000001)
|
---|
128 | #define DN_DRIVER_LOADED (0x00000002)
|
---|
129 | #define DN_ENUM_LOADED (0x00000004)
|
---|
130 | #define DN_STARTED (0x00000008)
|
---|
131 | #define DN_MANUAL (0x00000010)
|
---|
132 | #define DN_NEED_TO_ENUM (0x00000020)
|
---|
133 | #define DN_NOT_FIRST_TIME (0x00000040)
|
---|
134 | #define DN_HARDWARE_ENUM (0x00000080)
|
---|
135 | #define DN_LIAR (0x00000100)
|
---|
136 | #define DN_HAS_MARK (0x00000200)
|
---|
137 | #define DN_HAS_PROBLEM (0x00000400)
|
---|
138 | #define DN_FILTERED (0x00000800)
|
---|
139 | #define DN_MOVED (0x00001000)
|
---|
140 | #define DN_DISABLEABLE (0x00002000)
|
---|
141 | #define DN_REMOVABLE (0x00004000)
|
---|
142 | #define DN_PRIVATE_PROBLEM (0x00008000)
|
---|
143 | #define DN_MF_PARENT (0x00010000)
|
---|
144 | #define DN_MF_CHILD (0x00020000)
|
---|
145 | #define DN_WILL_BE_REMOVED (0x00040000)
|
---|
146 |
|
---|
147 | #define DN_NOT_FIRST_TIMEE 0x00080000
|
---|
148 | #define DN_STOP_FREE_RES 0x00100000
|
---|
149 | #define DN_REBAL_CANDIDATE 0x00200000
|
---|
150 | #define DN_BAD_PARTIAL 0x00400000
|
---|
151 | #define DN_NT_ENUMERATOR 0x00800000
|
---|
152 | #define DN_NT_DRIVER 0x01000000
|
---|
153 |
|
---|
154 | #define DN_NEEDS_LOCKING 0x02000000
|
---|
155 | #define DN_ARM_WAKEUP 0x04000000
|
---|
156 | #define DN_APM_ENUMERATOR 0x08000000
|
---|
157 | #define DN_APM_DRIVER 0x10000000
|
---|
158 | #define DN_SILENT_INSTALL 0x20000000
|
---|
159 | #define DN_NO_SHOW_IN_DM 0x40000000
|
---|
160 | #define DN_BOOT_LOG_PROB 0x80000000
|
---|
161 |
|
---|
162 | #if NTDDI_VERSION >= NTDDI_WIN2K
|
---|
163 | #define DN_NEED_RESTART DN_LIAR
|
---|
164 | #endif
|
---|
165 |
|
---|
166 | #if NTDDI_VERSION >= NTDDI_WINXP
|
---|
167 | #define DN_DRIVER_BLOCKED DN_NOT_FIRST_TIME
|
---|
168 | #define DN_LEGACY_DRIVER DN_MOVED
|
---|
169 | #define DN_CHILD_WITH_INVALID_ID DN_HAS_MARK
|
---|
170 | #endif
|
---|
171 |
|
---|
172 | #if NTDDI_VERSION >= NTDDI_WIN8
|
---|
173 | #define DN_DEVICE_DISCONNECTED DN_NEEDS_LOCKING
|
---|
174 | #endif
|
---|
175 |
|
---|
176 | #if NTDDI_VERSION >= NTDDI_WIN10
|
---|
177 | #define DN_QUERY_REMOVE_PENDING DN_MF_PARENT
|
---|
178 | #define DN_QUERY_REMOVE_ACTIVE DN_MF_CHILD
|
---|
179 | #endif
|
---|
180 |
|
---|
181 | #define DN_CHANGEABLE_FLAGS (DN_NOT_FIRST_TIME+ DN_HARDWARE_ENUM+ DN_HAS_MARK+ DN_DISABLEABLE+ DN_REMOVABLE+ DN_MF_CHILD+ DN_MF_PARENT+ DN_NOT_FIRST_TIMEE+ DN_STOP_FREE_RES+ DN_REBAL_CANDIDATE+ DN_NT_ENUMERATOR+ DN_NT_DRIVER+ DN_SILENT_INSTALL+ DN_NO_SHOW_IN_DM)
|
---|
182 |
|
---|
183 | #define LCPRI_FORCECONFIG (0x00000000)
|
---|
184 | #define LCPRI_BOOTCONFIG (0x00000001)
|
---|
185 | #define LCPRI_DESIRED (0x00002000)
|
---|
186 | #define LCPRI_NORMAL (0x00003000)
|
---|
187 | #define LCPRI_LASTBESTCONFIG (0x00003FFF)
|
---|
188 | #define LCPRI_SUBOPTIMAL (0x00005000)
|
---|
189 | #define LCPRI_LASTSOFTCONFIG (0x00007FFF)
|
---|
190 | #define LCPRI_RESTART (0x00008000)
|
---|
191 | #define LCPRI_REBOOT (0x00009000)
|
---|
192 | #define LCPRI_POWEROFF (0x0000A000)
|
---|
193 | #define LCPRI_HARDRECONFIG (0x0000C000)
|
---|
194 | #define LCPRI_HARDWIRED (0x0000E000)
|
---|
195 | #define LCPRI_IMPOSSIBLE (0x0000F000)
|
---|
196 | #define LCPRI_DISABLED (0x0000FFFF)
|
---|
197 | #define MAX_LCPRI (0x0000FFFF)
|
---|
198 |
|
---|
199 | #define CM_DEVICE_PANEL_SIDE_UNKNOWN (0x00000000)
|
---|
200 | #define CM_DEVICE_PANEL_SIDE_TOP (0x00000001)
|
---|
201 | #define CM_DEVICE_PANEL_SIDE_BOTTOM (0x00000002)
|
---|
202 | #define CM_DEVICE_PANEL_SIDE_LEFT (0x00000003)
|
---|
203 | #define CM_DEVICE_PANEL_SIDE_RIGHT (0x00000004)
|
---|
204 | #define CM_DEVICE_PANEL_SIDE_FRONT (0x00000005)
|
---|
205 | #define CM_DEVICE_PANEL_SIDE_BACK (0x00000006)
|
---|
206 |
|
---|
207 | #define CM_DEVICE_PANEL_EDGE_UNKNOWN (0x00000000)
|
---|
208 | #define CM_DEVICE_PANEL_EDGE_TOP (0x00000001)
|
---|
209 | #define CM_DEVICE_PANEL_EDGE_BOTTOM (0x00000002)
|
---|
210 | #define CM_DEVICE_PANEL_EDGE_LEFT (0x00000003)
|
---|
211 | #define CM_DEVICE_PANEL_EDGE_RIGHT (0x00000004)
|
---|
212 |
|
---|
213 | #define CM_DEVICE_PANEL_SHAPE_UNKNOWN (0x00000000)
|
---|
214 | #define CM_DEVICE_PANEL_SHAPE_RECTANGLE (0x00000001)
|
---|
215 | #define CM_DEVICE_PANEL_SHAPE_OVAL (0x00000002)
|
---|
216 |
|
---|
217 | #define CM_DEVICE_PANEL_ORIENTATION_HORIZONTAL (0x00000000)
|
---|
218 | #define CM_DEVICE_PANEL_ORIENTATION_VERTICAL (0x00000001)
|
---|
219 |
|
---|
220 | #define CM_DEVICE_PANEL_JOINT_TYPE_UNKNOWN (0x00000000)
|
---|
221 | #define CM_DEVICE_PANEL_JOINT_TYPE_PLANAR (0x00000001)
|
---|
222 | #define CM_DEVICE_PANEL_JOINT_TYPE_HINGE (0x00000002)
|
---|
223 | #define CM_DEVICE_PANEL_JOINT_TYPE_PIVOT (0x00000003)
|
---|
224 | #define CM_DEVICE_PANEL_JOINT_TYPE_SWIVEL (0x00000004)
|
---|
225 |
|
---|
226 | #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
|
---|
227 |
|
---|
228 | #endif /* _CFG_INCLUDED_ */
|
---|