1 // Licensed under the Apache License, Version 2.0
2 // <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
3 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
4 // All files in the project carrying such notice may not be copied, modified, or distributed
5 // except according to those terms.
6 //! user APIs for the Configuration Manager
7 use shared::basetsd::{DWORD_PTR, ULONG32, ULONG64, ULONG_PTR};
8 use shared::cfg::PPNP_VETO_TYPE;
9 use shared::devpropdef::{DEVPROPKEY, DEVPROPTYPE};
10 use shared::guiddef::{GUID, LPGUID};
11 use shared::minwindef::{BOOL, BYTE, DWORD, MAX_PATH, PBOOL, PBYTE, PHKEY, PULONG, ULONG, WORD};
12 use um::winnt::{
13     ANYSIZE_ARRAY, CHAR, DWORDLONG, HANDLE, LARGE_INTEGER, LONG, LPCSTR, LPCWSTR, LPSTR, LPWSTR,
14     PCHAR, PCSTR, PCWSTR, PDWORDLONG, PSTR, PVOID, PWCHAR, PWSTR, ULONGLONG, VOID, WCHAR
15 };
16 use um::winreg::REGSAM;
17 pub type PCVOID = *const VOID;
18 pub const MAX_DEVICE_ID_LEN: usize = 200;
19 pub const MAX_DEVNODE_ID_LEN: usize = MAX_DEVICE_ID_LEN;
20 pub const MAX_GUID_STRING_LEN: usize = 39;
21 pub const MAX_CLASS_NAME_LEN: usize = 32;
22 pub const MAX_PROFILE_LEN: usize = 80;
23 pub const MAX_CONFIG_VALUE: DWORD = 9999;
24 pub const MAX_INSTANCE_VALUE: DWORD = 9999;
25 pub const MAX_MEM_REGISTERS: DWORD = 9;
26 pub const MAX_IO_PORTS: DWORD = 20;
27 pub const MAX_IRQS: DWORD = 7;
28 pub const MAX_DMA_CHANNELS: DWORD = 7;
29 pub const DWORD_MAX: DWORD = 0xffffffff;
30 pub const DWORDLONG_MAX: DWORDLONG = 0xffffffffffffffff;
31 pub const CONFIGMG_VERSION: DWORD = 0x0400;
32 pub type RETURN_TYPE = DWORD;
33 pub type CONFIGRET = RETURN_TYPE;
34 pub type DEVNODE = DWORD;
35 pub type DEVINST = DWORD;
36 pub type PDEVNODE = *mut DEVNODE;
37 pub type PDEVINST = *mut DEVNODE;
38 pub type DEVNODEID_A = *mut CHAR;
39 pub type DEVINSTID_A = *mut CHAR;
40 pub type DEVNODEID_W = *mut WCHAR;
41 pub type DEVINSTID_W = *mut WCHAR;
42 pub type LOG_CONF = DWORD_PTR;
43 pub type PLOG_CONF = *mut LOG_CONF;
44 pub type RES_DES = DWORD_PTR;
45 pub type PRES_DES = *mut RES_DES;
46 pub type RESOURCEID = ULONG;
47 pub type PRESOURCEID = *mut RESOURCEID;
48 pub type PRIORITY = ULONG;
49 pub type PPRIORITY = *mut PRIORITY;
50 pub type RANGE_LIST = DWORD_PTR;
51 pub type PRANGE_LIST = *mut RANGE_LIST;
52 pub type RANGE_ELEMENT = DWORD_PTR;
53 pub type PRANGE_ELEMENT = *mut RANGE_ELEMENT;
54 pub type HMACHINE = HANDLE;
55 pub type PHMACHINE = *mut HMACHINE;
56 pub type CONFLICT_LIST = ULONG_PTR;
57 pub type PCONFLICT_LIST = *mut CONFLICT_LIST;
58 STRUCT!{struct CONFLICT_DETAILS_A {
59     CD_ulSize: ULONG,
60     CD_ulMask: ULONG,
61     CD_dnDevInst: DEVINST,
62     CD_rdResDes: RES_DES,
63     CD_ulFlags: ULONG,
64     CD_szDescription: [CHAR; MAX_PATH],
65 }}
66 pub type PCONFLICT_DETAILS_A = *mut CONFLICT_DETAILS_A;
67 STRUCT!{struct CONFLICT_DETAILS_W {
68     CD_ulSize: ULONG,
69     CD_ulMask: ULONG,
70     CD_dnDevInst: DEVINST,
71     CD_rdResDes: RES_DES,
72     CD_ulFlags: ULONG,
73     CD_szDescription: [WCHAR; MAX_PATH],
74 }}
75 pub type PCONFLICT_DETAILS_W = *mut CONFLICT_DETAILS_W;
76 pub const CM_CDMASK_DEVINST: ULONG = 0x00000001;
77 pub const CM_CDMASK_RESDES: ULONG = 0x00000002;
78 pub const CM_CDMASK_FLAGS: ULONG = 0x00000004;
79 pub const CM_CDMASK_DESCRIPTION: ULONG = 0x00000008;
80 pub const CM_CDMASK_VALID: ULONG = 0x0000000F;
81 pub const CM_CDFLAGS_DRIVER: ULONG = 0x00000001;
82 pub const CM_CDFLAGS_ROOT_OWNED: ULONG = 0x00000002;
83 pub const CM_CDFLAGS_RESERVED: ULONG = 0x00000004;
84 pub type REGDISPOSITION = ULONG;
85 pub const mMD_MemoryType: DWORD = 0x1;
86 pub const fMD_MemoryType: DWORD = mMD_MemoryType;
87 pub const fMD_ROM: DWORD = 0x0;
88 pub const fMD_RAM: DWORD = 0x1;
89 pub const mMD_32_24: DWORD = 0x2;
90 pub const fMD_32_24: DWORD = mMD_32_24;
91 pub const fMD_24: DWORD = 0x0;
92 pub const fMD_32: DWORD = 0x2;
93 pub const mMD_Prefetchable: DWORD = 0x4;
94 pub const fMD_Prefetchable: DWORD = mMD_Prefetchable;
95 pub const fMD_Pref: DWORD = mMD_Prefetchable;
96 pub const fMD_PrefetchDisallowed: DWORD = 0x0;
97 pub const fMD_PrefetchAllowed: DWORD = 0x4;
98 pub const mMD_Readable: DWORD = 0x8;
99 pub const fMD_Readable: DWORD = mMD_Readable;
100 pub const fMD_ReadAllowed: DWORD = 0x0;
101 pub const fMD_ReadDisallowed: DWORD = 0x8;
102 pub const mMD_CombinedWrite: DWORD = 0x10;
103 pub const fMD_CombinedWrite: DWORD = mMD_CombinedWrite;
104 pub const fMD_CombinedWriteDisallowed: DWORD = 0x0;
105 pub const fMD_CombinedWriteAllowed: DWORD = 0x10;
106 pub const mMD_Cacheable: DWORD = 0x20;
107 pub const fMD_NonCacheable: DWORD = 0x0;
108 pub const fMD_Cacheable: DWORD = 0x20;
109 pub const fMD_WINDOW_DECODE: DWORD = 0x40;
110 pub const fMD_MEMORY_BAR: DWORD = 0x80;
111 STRUCT!{#[repr(packed)] struct MEM_RANGE {
112     MR_Align: DWORDLONG,
113     MR_nBytes: ULONG,
114     MR_Min: DWORDLONG,
115     MR_Max: DWORDLONG,
116     MR_Flags: DWORD,
117     MR_Reserved: DWORD,
118 }}
119 pub type PMEM_RANGE = *mut MEM_RANGE;
120 STRUCT!{#[repr(packed)] struct MEM_DES {
121     MD_Count: DWORD,
122     MD_Type: DWORD,
123     MD_Alloc_Base: DWORDLONG,
124     MD_Alloc_End: DWORDLONG,
125     MD_Flags: DWORD,
126     MD_Reserved: DWORD,
127 }}
128 pub type PMEM_DES = *mut MEM_DES;
129 STRUCT!{#[repr(packed)] struct MEM_RESOURCE {
130     MEM_Header: MEM_DES,
131     MEM_Data: [MEM_RANGE; ANYSIZE_ARRAY],
132 }}
133 pub type PMEM_RESOURCE = *mut MEM_RESOURCE;
134 STRUCT!{#[repr(packed)] struct MEM_LARGE_RANGE {
135     MLR_Align: DWORDLONG,
136     MLR_nBytes: ULONGLONG,
137     MLR_Min: DWORDLONG,
138     MLR_Max: DWORDLONG,
139     MLR_Flags: DWORD,
140     MLR_Reserved: DWORD,
141 }}
142 pub type PMEM_LARGE_RANGE = *mut MEM_LARGE_RANGE;
143 STRUCT!{#[repr(packed)] struct MEM_LARGE_DES {
144     MLD_Count: DWORD,
145     MLD_Type: DWORD,
146     MLD_Alloc_Base: DWORDLONG,
147     MLD_Alloc_End: DWORDLONG,
148     MLD_Flags: DWORD,
149     MLD_Reserved: DWORD,
150 }}
151 pub type PMEM_LARGE_DES = *mut MEM_LARGE_DES;
152 STRUCT!{#[repr(packed)] struct MEM_LARGE_RESOURCE {
153     MEM_LARGE_Header: MEM_LARGE_DES,
154     MEM_LARGE_Data: [MEM_LARGE_RANGE; ANYSIZE_ARRAY],
155 }}
156 pub type PMEM_LARGE_RESOURCE = *mut MEM_LARGE_RESOURCE;
157 pub const fIOD_PortType: DWORD = 0x1;
158 pub const fIOD_Memory: DWORD = 0x0;
159 pub const fIOD_IO: DWORD = 0x1;
160 pub const fIOD_DECODE: DWORD = 0x00fc;
161 pub const fIOD_10_BIT_DECODE: DWORD = 0x0004;
162 pub const fIOD_12_BIT_DECODE: DWORD = 0x0008;
163 pub const fIOD_16_BIT_DECODE: DWORD = 0x0010;
164 pub const fIOD_POSITIVE_DECODE: DWORD = 0x0020;
165 pub const fIOD_PASSIVE_DECODE: DWORD = 0x0040;
166 pub const fIOD_WINDOW_DECODE: DWORD = 0x0080;
167 pub const fIOD_PORT_BAR: DWORD = 0x0100;
168 pub const IO_ALIAS_10_BIT_DECODE: DWORDLONG = 0x00000004;
169 pub const IO_ALIAS_12_BIT_DECODE: DWORDLONG = 0x00000010;
170 pub const IO_ALIAS_16_BIT_DECODE: DWORDLONG = 0x00000000;
171 pub const IO_ALIAS_POSITIVE_DECODE: DWORDLONG = 0x000000FF;
172 STRUCT!{#[repr(packed)] struct IO_RANGE {
173     IOR_Align: DWORDLONG,
174     IOR_nPorts: DWORD,
175     IOR_Min: DWORDLONG,
176     IOR_Max: DWORDLONG,
177     IOR_RangeFlags: DWORD,
178     IOR_Alias: DWORDLONG,
179 }}
180 pub type PIO_RANGE = *mut IO_RANGE;
181 STRUCT!{#[repr(packed)] struct IO_DES {
182     IOD_Count: DWORD,
183     IOD_Type: DWORD,
184     IOD_Alloc_Base: DWORDLONG,
185     IOD_Alloc_End: DWORDLONG,
186     IOD_DesFlags: DWORD,
187 }}
188 pub type PIO_DES = *mut IO_DES;
189 STRUCT!{#[repr(packed)] struct IO_RESOURCE {
190     IO_Header: IO_DES,
191     IO_Data: [IO_RANGE; ANYSIZE_ARRAY],
192 }}
193 pub type PIO_RESOURCE = *mut IO_RESOURCE;
194 pub const mDD_Width: ULONG = 0x3;
195 pub const fDD_BYTE: ULONG = 0x0;
196 pub const fDD_WORD: ULONG = 0x1;
197 pub const fDD_DWORD: ULONG = 0x2;
198 pub const fDD_BYTE_AND_WORD: ULONG = 0x3;
199 pub const mDD_BusMaster: ULONG = 0x4;
200 pub const fDD_NoBusMaster: ULONG = 0x0;
201 pub const fDD_BusMaster: ULONG = 0x4;
202 pub const mDD_Type: ULONG = 0x18;
203 pub const fDD_TypeStandard: ULONG = 0x00;
204 pub const fDD_TypeA: ULONG = 0x08;
205 pub const fDD_TypeB: ULONG = 0x10;
206 pub const fDD_TypeF: ULONG = 0x18;
207 STRUCT!{#[repr(packed)] struct DMA_RANGE {
208     DR_Min: ULONG,
209     DR_Max: ULONG,
210     DR_Flags: ULONG,
211 }}
212 pub type PDMA_RANGE = *mut DMA_RANGE;
213 STRUCT!{#[repr(packed)] struct DMA_DES {
214     DD_Count: DWORD,
215     DD_Type: DWORD,
216     DD_Flags: DWORD,
217     DD_Alloc_Chan: ULONG,
218 }}
219 pub type PDMA_DES = *mut DMA_DES;
220 STRUCT!{#[repr(packed)] struct DMA_RESOURCE {
221     DMA_Header: DMA_DES,
222     DMA_Data: [DMA_RANGE; ANYSIZE_ARRAY],
223 }}
224 pub type PDMA_RESOURCE = *mut DMA_RESOURCE;
225 pub const mIRQD_Share: ULONG = 0x1;
226 pub const fIRQD_Exclusive: ULONG = 0x0;
227 pub const fIRQD_Share: ULONG = 0x1;
228 pub const fIRQD_Share_Bit: ULONG = 0;
229 pub const fIRQD_Level_Bit: ULONG = 1;
230 pub const mIRQD_Edge_Level: ULONG = 0x2;
231 pub const fIRQD_Level: ULONG = 0x0;
232 pub const fIRQD_Edge: ULONG = 0x2;
233 STRUCT!{#[repr(packed)] struct IRQ_RANGE {
234     IRQR_Min: ULONG,
235     IRQR_Max: ULONG,
236     IRQR_Flags: ULONG,
237 }}
238 pub type PIRQ_RANGE = *mut IRQ_RANGE;
239 STRUCT!{#[repr(packed)] struct IRQ_DES_32 {
240     IRQD_Count: DWORD,
241     IRQD_Type: DWORD,
242     IRQD_Flags: DWORD,
243     IRQD_Alloc_Num: ULONG,
244     IRQD_Affinity: ULONG32,
245 }}
246 pub type PIRQ_DES_32 = *mut IRQ_DES_32;
247 STRUCT!{#[repr(packed)] struct IRQ_DES_64 {
248     IRQD_Count: DWORD,
249     IRQD_Type: DWORD,
250     IRQD_Flags: DWORD,
251     IRQD_Alloc_Num: ULONG,
252     IRQD_Affinity: ULONG64,
253 }}
254 pub type PIRQ_DES_64 = *mut IRQ_DES_64;
255 STRUCT!{#[repr(packed)] struct IRQ_RESOURCE_32 {
256     IRQ_Header: IRQ_DES_32,
257     IRQ_Data: [IRQ_RANGE; ANYSIZE_ARRAY],
258 }}
259 pub type PIRQ_RESOURCE_32 = *mut IRQ_RESOURCE_32;
260 STRUCT!{#[repr(packed)] struct IRQ_RESOURCE_64 {
261     IRQ_Header: IRQ_DES_64,
262     IRQ_Data: [IRQ_RANGE; ANYSIZE_ARRAY],
263 }}
264 pub type PIRQ_RESOURCE_64 = *mut IRQ_RESOURCE_64;
265 STRUCT!{#[repr(packed)] struct DEVPRIVATE_RANGE {
266     PR_Data1: DWORD,
267     PR_Data2: DWORD,
268     PR_Data3: DWORD,
269 }}
270 pub type PDEVPRIVATE_RANGE = *mut DEVPRIVATE_RANGE;
271 STRUCT!{#[repr(packed)] struct DEVPRIVATE_DES {
272     PD_Count: DWORD,
273     PD_Type: DWORD,
274     PD_Data1: DWORD,
275     PD_Data2: DWORD,
276     PD_Data3: DWORD,
277     PD_Flags: DWORD,
278 }}
279 pub type PDEVPRIVATE_DES = *mut DEVPRIVATE_DES;
280 STRUCT!{#[repr(packed)] struct DEVPRIVATE_RESOURCE {
281     PRV_Header: DEVPRIVATE_DES,
282     PRV_Data: [DEVPRIVATE_RANGE; ANYSIZE_ARRAY],
283 }}
284 pub type PDEVPRIVATE_RESOURCE = *mut DEVPRIVATE_RESOURCE;
285 STRUCT!{#[repr(packed)] struct CS_DES {
286     CSD_SignatureLength: DWORD,
287     CSD_LegacyDataOffset: DWORD,
288     CSD_LegacyDataSize: DWORD,
289     CSD_Flags: DWORD,
290     CSD_ClassGuid: GUID,
291     CSD_Signature: [BYTE; ANYSIZE_ARRAY],
292 }}
293 pub type PCS_DES = *mut CS_DES;
294 STRUCT!{#[repr(packed)] struct CS_RESOURCE {
295     CS_Header: CS_DES,
296 }}
297 pub type PCS_RESOURCE = *mut CS_RESOURCE;
298 pub const mPCD_IO_8_16: DWORD = 0x1;
299 pub const fPCD_IO_8: DWORD = 0x0;
300 pub const fPCD_IO_16: DWORD = 0x1;
301 pub const mPCD_MEM_8_16: DWORD = 0x2;
302 pub const fPCD_MEM_8: DWORD = 0x0;
303 pub const fPCD_MEM_16: DWORD = 0x2;
304 pub const mPCD_MEM_A_C: DWORD = 0xC;
305 pub const fPCD_MEM1_A: DWORD = 0x4;
306 pub const fPCD_MEM2_A: DWORD = 0x8;
307 pub const fPCD_IO_ZW_8: DWORD = 0x10;
308 pub const fPCD_IO_SRC_16: DWORD = 0x20;
309 pub const fPCD_IO_WS_16: DWORD = 0x40;
310 pub const mPCD_MEM_WS: DWORD = 0x300;
311 pub const fPCD_MEM_WS_ONE: DWORD = 0x100;
312 pub const fPCD_MEM_WS_TWO: DWORD = 0x200;
313 pub const fPCD_MEM_WS_THREE: DWORD = 0x300;
314 pub const fPCD_MEM_A: DWORD = 0x4;
315 pub const fPCD_ATTRIBUTES_PER_WINDOW: DWORD = 0x8000;
316 pub const fPCD_IO1_16: DWORD = 0x00010000;
317 pub const fPCD_IO1_ZW_8: DWORD = 0x00020000;
318 pub const fPCD_IO1_SRC_16: DWORD = 0x00040000;
319 pub const fPCD_IO1_WS_16: DWORD = 0x00080000;
320 pub const fPCD_IO2_16: DWORD = 0x00100000;
321 pub const fPCD_IO2_ZW_8: DWORD = 0x00200000;
322 pub const fPCD_IO2_SRC_16: DWORD = 0x00400000;
323 pub const fPCD_IO2_WS_16: DWORD = 0x00800000;
324 pub const mPCD_MEM1_WS: DWORD = 0x03000000;
325 pub const fPCD_MEM1_WS_TWO: DWORD = 0x02000000;
326 pub const fPCD_MEM1_WS_THREE: DWORD = 0x03000000;
327 pub const fPCD_MEM1_16: DWORD = 0x04000000;
328 pub const mPCD_MEM2_WS: DWORD = 0x30000000;
329 pub const fPCD_MEM2_WS_ONE: DWORD = 0x10000000;
330 pub const fPCD_MEM2_WS_TWO: DWORD = 0x20000000;
331 pub const fPCD_MEM2_WS_THREE: DWORD = 0x30000000;
332 pub const fPCD_MEM2_16: DWORD = 0x40000000;
333 pub const PCD_MAX_MEMORY: usize = 2;
334 pub const PCD_MAX_IO: usize = 2;
335 STRUCT!{#[repr(packed)] struct PCCARD_DES {
336     PCD_Count: DWORD,
337     PCD_Type: DWORD,
338     PCD_Flags: DWORD,
339     PCD_ConfigIndex: BYTE,
340     PCD_Reserved: [BYTE; 3],
341     PCD_MemoryCardBase1: DWORD,
342     PCD_MemoryCardBase2: DWORD,
343     PCD_MemoryCardBase: [DWORD; PCD_MAX_MEMORY],
344     PCD_MemoryFlags: [WORD; PCD_MAX_MEMORY],
345     PCD_IoFlags: [BYTE; PCD_MAX_IO],
346 }}
347 pub type PPCCARD_DES = *mut PCCARD_DES;
348 STRUCT!{#[repr(packed)] struct PCCARD_RESOURCE {
349     PcCard_Header: PCCARD_DES,
350 }}
351 pub type PPCCARD_RESOURCE = *mut PCCARD_RESOURCE;
352 pub const mPMF_AUDIO_ENABLE: DWORD = 0x8;
353 pub const fPMF_AUDIO_ENABLE: DWORD = 0x8;
354 STRUCT!{#[repr(packed)] struct MFCARD_DES {
355     PMF_Count: DWORD,
356     PMF_Type: DWORD,
357     PMF_Flags: DWORD,
358     PMF_ConfigOptions: BYTE,
359     PMF_IoResourceIndex: BYTE,
360     PMF_Reserved: [BYTE; 2],
361     PMF_ConfigRegisterBase: DWORD,
362 }}
363 pub type PMFCARD_DES = *mut MFCARD_DES;
364 STRUCT!{#[repr(packed)] struct MFCARD_RESOURCE {
365     MfCard_Header: MFCARD_DES,
366 }}
367 pub type PMFCARD_RESOURCE = *mut MFCARD_RESOURCE;
368 STRUCT!{#[repr(packed)] struct BUSNUMBER_RANGE {
369     BUSR_Min: ULONG,
370     BUSR_Max: ULONG,
371     BUSR_nBusNumbers: ULONG,
372     BUSR_Flags: ULONG,
373 }}
374 pub type PBUSNUMBER_RANGE = *mut BUSNUMBER_RANGE;
375 STRUCT!{#[repr(packed)] struct BUSNUMBER_DES {
376     BUSD_Count: DWORD,
377     BUSD_Type: DWORD,
378     BUSD_Flags: DWORD,
379     BUSD_Alloc_Base: ULONG,
380     BUSD_Alloc_End: ULONG,
381 }}
382 pub type PBUSNUMBER_DES = *mut BUSNUMBER_DES;
383 STRUCT!{#[repr(packed)] struct BUSNUMBER_RESOURCE {
384     BusNumber_Header: BUSNUMBER_DES,
385     BusNumber_Data: [BUSNUMBER_RANGE; ANYSIZE_ARRAY],
386 }}
387 pub type PBUSNUMBER_RESOURCE = *mut BUSNUMBER_RESOURCE;
388 STRUCT!{#[repr(packed)] struct CONNECTION_DES {
389     COND_Type: DWORD,
390     COND_Flags: DWORD,
391     COND_Class: BYTE,
392     COND_ClassType: BYTE,
393     COND_Reserved1: BYTE,
394     COND_Reserved2: BYTE,
395     COND_Id: LARGE_INTEGER,
396 }}
397 pub type PCONNECTION_DES = *mut CONNECTION_DES;
398 STRUCT!{#[repr(packed)] struct CONNECTION_RESOURCE {
399     Connection_Header: CONNECTION_DES,
400 }}
401 pub type PCONNECTION_RESOURCE = *mut CONNECTION_RESOURCE;
402 pub const CM_HWPI_NOT_DOCKABLE: DWORD = 0x00000000;
403 pub const CM_HWPI_UNDOCKED: DWORD = 0x00000001;
404 pub const CM_HWPI_DOCKED: DWORD = 0x00000002;
405 STRUCT!{#[repr(packed)] struct HWPROFILEINFO_A {
406     HWPI_ulHWProfile: ULONG,
407     HWPI_szFriendlyName: [CHAR; MAX_PROFILE_LEN],
408     HWPI_dwFlags: DWORD,
409 }}
410 pub type PHWPROFILEINFO_A = *mut HWPROFILEINFO_A;
411 STRUCT!{#[repr(packed)] struct HWPROFILEINFO_W {
412     HWPI_ulHWProfile: ULONG,
413     HWPI_szFriendlyName: [WCHAR; MAX_PROFILE_LEN],
414     HWPI_dwFlags: DWORD,
415 }}
416 pub type PHWPROFILEINFO_W = *mut HWPROFILEINFO_W;
417 pub const ResType_All: RESOURCEID = 0x00000000;
418 pub const ResType_None: RESOURCEID = 0x00000000;
419 pub const ResType_Mem: RESOURCEID = 0x00000001;
420 pub const ResType_IO: RESOURCEID = 0x00000002;
421 pub const ResType_DMA: RESOURCEID = 0x00000003;
422 pub const ResType_IRQ: RESOURCEID = 0x00000004;
423 pub const ResType_DoNotUse: RESOURCEID = 0x00000005;
424 pub const ResType_BusNumber: RESOURCEID = 0x00000006;
425 pub const ResType_MemLarge: RESOURCEID = 0x00000007;
426 pub const ResType_MAX: RESOURCEID = 0x00000007;
427 pub const ResType_Ignored_Bit: RESOURCEID = 0x00008000;
428 pub const ResType_ClassSpecific: RESOURCEID = 0x0000FFFF;
429 pub const ResType_Reserved: RESOURCEID = 0x00008000;
430 pub const ResType_DevicePrivate: RESOURCEID = 0x00008001;
431 pub const ResType_PcCardConfig: RESOURCEID = 0x00008002;
432 pub const ResType_MfCardConfig: RESOURCEID = 0x00008003;
433 pub const ResType_Connection: RESOURCEID = 0x00008004;
434 pub const CM_ADD_RANGE_ADDIFCONFLICT: ULONG = 0x00000000;
435 pub const CM_ADD_RANGE_DONOTADDIFCONFLICT: ULONG = 0x00000001;
436 pub const CM_ADD_RANGE_BITS: ULONG = 0x00000001;
437 pub const BASIC_LOG_CONF: ULONG = 0x00000000;
438 pub const FILTERED_LOG_CONF: ULONG = 0x00000001;
439 pub const ALLOC_LOG_CONF: ULONG = 0x00000002;
440 pub const BOOT_LOG_CONF: ULONG = 0x00000003;
441 pub const FORCED_LOG_CONF: ULONG = 0x00000004;
442 pub const OVERRIDE_LOG_CONF: ULONG = 0x00000005;
443 pub const NUM_LOG_CONF: ULONG = 0x00000006;
444 pub const LOG_CONF_BITS: ULONG = 0x00000007;
445 pub const PRIORITY_EQUAL_FIRST: ULONG = 0x00000008;
446 pub const PRIORITY_EQUAL_LAST: ULONG = 0x00000000;
447 pub const PRIORITY_BIT: ULONG = 0x00000008;
448 pub const RegDisposition_OpenAlways: REGDISPOSITION = 0x00000000;
449 pub const RegDisposition_OpenExisting: REGDISPOSITION = 0x00000001;
450 pub const RegDisposition_Bits: REGDISPOSITION = 0x00000001;
451 pub const CM_ADD_ID_HARDWARE: ULONG = 0x00000000;
452 pub const CM_ADD_ID_COMPATIBLE: ULONG = 0x00000001;
453 pub const CM_ADD_ID_BITS: ULONG = 0x00000001;
454 pub const CM_CREATE_DEVNODE_NORMAL: ULONG = 0x00000000;
455 pub const CM_CREATE_DEVNODE_NO_WAIT_INSTALL: ULONG = 0x00000001;
456 pub const CM_CREATE_DEVNODE_PHANTOM: ULONG = 0x00000002;
457 pub const CM_CREATE_DEVNODE_GENERATE_ID: ULONG = 0x00000004;
458 pub const CM_CREATE_DEVNODE_DO_NOT_INSTALL: ULONG = 0x00000008;
459 pub const CM_CREATE_DEVNODE_BITS: ULONG = 0x0000000F;
460 pub const CM_CREATE_DEVINST_NORMAL: ULONG = CM_CREATE_DEVNODE_NORMAL;
461 pub const CM_CREATE_DEVINST_NO_WAIT_INSTALL: ULONG = CM_CREATE_DEVNODE_NO_WAIT_INSTALL;
462 pub const CM_CREATE_DEVINST_PHANTOM: ULONG = CM_CREATE_DEVNODE_PHANTOM;
463 pub const CM_CREATE_DEVINST_GENERATE_ID: ULONG = CM_CREATE_DEVNODE_GENERATE_ID;
464 pub const CM_CREATE_DEVINST_DO_NOT_INSTALL: ULONG = CM_CREATE_DEVNODE_DO_NOT_INSTALL;
465 pub const CM_CREATE_DEVINST_BITS: ULONG = CM_CREATE_DEVNODE_BITS;
466 pub const CM_DELETE_CLASS_ONLY: ULONG = 0x00000000;
467 pub const CM_DELETE_CLASS_SUBKEYS: ULONG = 0x00000001;
468 pub const CM_DELETE_CLASS_INTERFACE: ULONG = 0x00000002;
469 pub const CM_DELETE_CLASS_BITS: ULONG = 0x00000003;
470 pub const CM_ENUMERATE_CLASSES_INSTALLER: ULONG = 0x00000000;
471 pub const CM_ENUMERATE_CLASSES_INTERFACE: ULONG = 0x00000001;
472 pub const CM_ENUMERATE_CLASSES_BITS: ULONG = 0x00000001;
473 pub const CM_DETECT_NEW_PROFILE: ULONG = 0x00000001;
474 pub const CM_DETECT_CRASHED: ULONG = 0x00000002;
475 pub const CM_DETECT_HWPROF_FIRST_BOOT: ULONG = 0x00000004;
476 pub const CM_DETECT_RUN: ULONG = 0x80000000;
477 pub const CM_DETECT_BITS: ULONG = 0x80000007;
478 pub const CM_DISABLE_POLITE: ULONG = 0x00000000;
479 pub const CM_DISABLE_ABSOLUTE: ULONG = 0x00000001;
480 pub const CM_DISABLE_HARDWARE: ULONG = 0x00000002;
481 pub const CM_DISABLE_UI_NOT_OK: ULONG = 0x00000004;
482 pub const CM_DISABLE_BITS: ULONG = 0x00000007;
483 pub const CM_GETIDLIST_FILTER_NONE: ULONG = 0x00000000;
484 pub const CM_GETIDLIST_FILTER_ENUMERATOR: ULONG = 0x00000001;
485 pub const CM_GETIDLIST_FILTER_SERVICE: ULONG = 0x00000002;
486 pub const CM_GETIDLIST_FILTER_EJECTRELATIONS: ULONG = 0x00000004;
487 pub const CM_GETIDLIST_FILTER_REMOVALRELATIONS: ULONG = 0x00000008;
488 pub const CM_GETIDLIST_FILTER_POWERRELATIONS: ULONG = 0x00000010;
489 pub const CM_GETIDLIST_FILTER_BUSRELATIONS: ULONG = 0x00000020;
490 pub const CM_GETIDLIST_DONOTGENERATE: ULONG = 0x10000040;
491 pub const CM_GETIDLIST_FILTER_TRANSPORTRELATIONS: ULONG = 0x00000080;
492 pub const CM_GETIDLIST_FILTER_PRESENT: ULONG = 0x00000100;
493 pub const CM_GETIDLIST_FILTER_CLASS: ULONG = 0x00000200;
494 pub const CM_GETIDLIST_FILTER_BITS: ULONG = 0x100003FF;
495 pub const CM_GET_DEVICE_INTERFACE_LIST_PRESENT: ULONG = 0x00000000;
496 pub const CM_GET_DEVICE_INTERFACE_LIST_ALL_DEVICES: ULONG = 0x00000001;
497 pub const CM_GET_DEVICE_INTERFACE_LIST_BITS: ULONG = 0x00000001;
498 pub const CM_DRP_DEVICEDESC: ULONG = 0x00000001;
499 pub const CM_DRP_HARDWAREID: ULONG = 0x00000002;
500 pub const CM_DRP_COMPATIBLEIDS: ULONG = 0x00000003;
501 pub const CM_DRP_UNUSED0: ULONG = 0x00000004;
502 pub const CM_DRP_SERVICE: ULONG = 0x00000005;
503 pub const CM_DRP_UNUSED1: ULONG = 0x00000006;
504 pub const CM_DRP_UNUSED2: ULONG = 0x00000007;
505 pub const CM_DRP_CLASS: ULONG = 0x00000008;
506 pub const CM_DRP_CLASSGUID: ULONG = 0x00000009;
507 pub const CM_DRP_DRIVER: ULONG = 0x0000000A;
508 pub const CM_DRP_CONFIGFLAGS: ULONG = 0x0000000B;
509 pub const CM_DRP_MFG: ULONG = 0x0000000C;
510 pub const CM_DRP_FRIENDLYNAME: ULONG = 0x0000000D;
511 pub const CM_DRP_LOCATION_INFORMATION: ULONG = 0x0000000E;
512 pub const CM_DRP_PHYSICAL_DEVICE_OBJECT_NAME: ULONG = 0x0000000F;
513 pub const CM_DRP_CAPABILITIES: ULONG = 0x00000010;
514 pub const CM_DRP_UI_NUMBER: ULONG = 0x00000011;
515 pub const CM_DRP_UPPERFILTERS: ULONG = 0x00000012;
516 pub const CM_CRP_UPPERFILTERS: ULONG = CM_DRP_UPPERFILTERS;
517 pub const CM_DRP_LOWERFILTERS: ULONG = 0x00000013;
518 pub const CM_CRP_LOWERFILTERS: ULONG = CM_DRP_LOWERFILTERS;
519 pub const CM_DRP_BUSTYPEGUID: ULONG = 0x00000014;
520 pub const CM_DRP_LEGACYBUSTYPE: ULONG = 0x00000015;
521 pub const CM_DRP_BUSNUMBER: ULONG = 0x00000016;
522 pub const CM_DRP_ENUMERATOR_NAME: ULONG = 0x00000017;
523 pub const CM_DRP_SECURITY: ULONG = 0x00000018;
524 pub const CM_CRP_SECURITY: ULONG = CM_DRP_SECURITY;
525 pub const CM_DRP_SECURITY_SDS: ULONG = 0x00000019;
526 pub const CM_CRP_SECURITY_SDS: ULONG = CM_DRP_SECURITY_SDS;
527 pub const CM_DRP_DEVTYPE: ULONG = 0x0000001A;
528 pub const CM_CRP_DEVTYPE: ULONG = CM_DRP_DEVTYPE;
529 pub const CM_DRP_EXCLUSIVE: ULONG = 0x0000001B;
530 pub const CM_CRP_EXCLUSIVE: ULONG = CM_DRP_EXCLUSIVE;
531 pub const CM_DRP_CHARACTERISTICS: ULONG = 0x0000001C;
532 pub const CM_CRP_CHARACTERISTICS: ULONG = CM_DRP_CHARACTERISTICS;
533 pub const CM_DRP_ADDRESS: ULONG = 0x0000001D;
534 pub const CM_DRP_UI_NUMBER_DESC_FORMAT: ULONG = 0x0000001E;
535 pub const CM_DRP_DEVICE_POWER_DATA: ULONG = 0x0000001F;
536 pub const CM_DRP_REMOVAL_POLICY: ULONG = 0x00000020;
537 pub const CM_DRP_REMOVAL_POLICY_HW_DEFAULT: ULONG = 0x00000021;
538 pub const CM_DRP_REMOVAL_POLICY_OVERRIDE: ULONG = 0x00000022;
539 pub const CM_DRP_INSTALL_STATE: ULONG = 0x00000023;
540 pub const CM_DRP_LOCATION_PATHS: ULONG = 0x00000024;
541 pub const CM_DRP_BASE_CONTAINERID: ULONG = 0x00000025;
542 pub const CM_DRP_MIN: ULONG = 0x00000001;
543 pub const CM_CRP_MIN: ULONG = CM_DRP_MIN;
544 pub const CM_DRP_MAX: ULONG = 0x00000025;
545 pub const CM_CRP_MAX: ULONG = CM_DRP_MAX;
546 pub const CM_DEVCAP_LOCKSUPPORTED: ULONG = 0x00000001;
547 pub const CM_DEVCAP_EJECTSUPPORTED: ULONG = 0x00000002;
548 pub const CM_DEVCAP_REMOVABLE: ULONG = 0x00000004;
549 pub const CM_DEVCAP_DOCKDEVICE: ULONG = 0x00000008;
550 pub const CM_DEVCAP_UNIQUEID: ULONG = 0x00000010;
551 pub const CM_DEVCAP_SILENTINSTALL: ULONG = 0x00000020;
552 pub const CM_DEVCAP_RAWDEVICEOK: ULONG = 0x00000040;
553 pub const CM_DEVCAP_SURPRISEREMOVALOK: ULONG = 0x00000080;
554 pub const CM_DEVCAP_HARDWAREDISABLED: ULONG = 0x00000100;
555 pub const CM_DEVCAP_NONDYNAMIC: ULONG = 0x00000200;
556 pub const CM_REMOVAL_POLICY_EXPECT_NO_REMOVAL: ULONG = 1;
557 pub const CM_REMOVAL_POLICY_EXPECT_ORDERLY_REMOVAL: ULONG = 2;
558 pub const CM_REMOVAL_POLICY_EXPECT_SURPRISE_REMOVAL: ULONG = 3;
559 pub const CM_INSTALL_STATE_INSTALLED: ULONG = 0;
560 pub const CM_INSTALL_STATE_NEEDS_REINSTALL: ULONG = 1;
561 pub const CM_INSTALL_STATE_FAILED_INSTALL: ULONG = 2;
562 pub const CM_INSTALL_STATE_FINISH_INSTALL: ULONG = 3;
563 pub const CM_LOCATE_DEVNODE_NORMAL: ULONG = 0x00000000;
564 pub const CM_LOCATE_DEVNODE_PHANTOM: ULONG = 0x00000001;
565 pub const CM_LOCATE_DEVNODE_CANCELREMOVE: ULONG = 0x00000002;
566 pub const CM_LOCATE_DEVNODE_NOVALIDATION: ULONG = 0x00000004;
567 pub const CM_LOCATE_DEVNODE_BITS: ULONG = 0x00000007;
568 pub const CM_LOCATE_DEVINST_NORMAL: ULONG = CM_LOCATE_DEVNODE_NORMAL;
569 pub const CM_LOCATE_DEVINST_PHANTOM: ULONG = CM_LOCATE_DEVNODE_PHANTOM;
570 pub const CM_LOCATE_DEVINST_CANCELREMOVE: ULONG = CM_LOCATE_DEVNODE_CANCELREMOVE;
571 pub const CM_LOCATE_DEVINST_NOVALIDATION: ULONG = CM_LOCATE_DEVNODE_NOVALIDATION;
572 pub const CM_LOCATE_DEVINST_BITS: ULONG = CM_LOCATE_DEVNODE_BITS;
573 pub const CM_OPEN_CLASS_KEY_INSTALLER: ULONG = 0x00000000;
574 pub const CM_OPEN_CLASS_KEY_INTERFACE: ULONG = 0x00000001;
575 pub const CM_OPEN_CLASS_KEY_BITS: ULONG = 0x00000001;
576 pub const CM_REMOVE_UI_OK: ULONG = 0x00000000;
577 pub const CM_REMOVE_UI_NOT_OK: ULONG = 0x00000001;
578 pub const CM_REMOVE_NO_RESTART: ULONG = 0x00000002;
579 pub const CM_REMOVE_BITS: ULONG = 0x00000003;
580 pub const CM_QUERY_REMOVE_UI_OK: ULONG = CM_REMOVE_UI_OK;
581 pub const CM_QUERY_REMOVE_UI_NOT_OK: ULONG = CM_REMOVE_UI_NOT_OK;
582 pub const CM_QUERY_REMOVE_BITS: ULONG = CM_QUERY_REMOVE_UI_OK | CM_QUERY_REMOVE_UI_NOT_OK;
583 pub const CM_REENUMERATE_NORMAL: ULONG = 0x00000000;
584 pub const CM_REENUMERATE_SYNCHRONOUS: ULONG = 0x00000001;
585 pub const CM_REENUMERATE_RETRY_INSTALLATION: ULONG = 0x00000002;
586 pub const CM_REENUMERATE_ASYNCHRONOUS: ULONG = 0x00000004;
587 pub const CM_REENUMERATE_BITS: ULONG = 0x00000007;
588 pub const CM_REGISTER_DEVICE_DRIVER_STATIC: ULONG = 0x00000000;
589 pub const CM_REGISTER_DEVICE_DRIVER_DISABLEABLE: ULONG = 0x00000001;
590 pub const CM_REGISTER_DEVICE_DRIVER_REMOVABLE: ULONG = 0x00000002;
591 pub const CM_REGISTER_DEVICE_DRIVER_BITS: ULONG = 0x00000003;
592 pub const CM_REGISTRY_HARDWARE: ULONG = 0x00000000;
593 pub const CM_REGISTRY_SOFTWARE: ULONG = 0x00000001;
594 pub const CM_REGISTRY_USER: ULONG = 0x00000100;
595 pub const CM_REGISTRY_CONFIG: ULONG = 0x00000200;
596 pub const CM_REGISTRY_BITS: ULONG = 0x00000301;
597 pub const CM_SET_DEVNODE_PROBLEM_NORMAL: ULONG = 0x00000000;
598 pub const CM_SET_DEVNODE_PROBLEM_OVERRIDE: ULONG = 0x00000001;
599 pub const CM_SET_DEVNODE_PROBLEM_BITS: ULONG = 0x00000001;
600 pub const CM_SET_DEVINST_PROBLEM_NORMAL: ULONG = CM_SET_DEVNODE_PROBLEM_NORMAL;
601 pub const CM_SET_DEVINST_PROBLEM_OVERRIDE: ULONG = CM_SET_DEVNODE_PROBLEM_OVERRIDE;
602 pub const CM_SET_DEVINST_PROBLEM_BITS: ULONG = CM_SET_DEVNODE_PROBLEM_BITS;
603 pub const CM_SET_HW_PROF_FLAGS_UI_NOT_OK: ULONG = 0x00000001;
604 pub const CM_SET_HW_PROF_FLAGS_BITS: ULONG = 0x00000001;
605 pub const CM_SETUP_DEVNODE_READY: ULONG = 0x00000000;
606 pub const CM_SETUP_DEVINST_READY: ULONG = CM_SETUP_DEVNODE_READY;
607 pub const CM_SETUP_DOWNLOAD: ULONG = 0x00000001;
608 pub const CM_SETUP_WRITE_LOG_CONFS: ULONG = 0x00000002;
609 pub const CM_SETUP_PROP_CHANGE: ULONG = 0x00000003;
610 pub const CM_SETUP_DEVNODE_RESET: ULONG = 0x00000004;
611 pub const CM_SETUP_DEVINST_RESET: ULONG = CM_SETUP_DEVNODE_RESET;
612 pub const CM_SETUP_DEVNODE_CONFIG: ULONG = 0x00000005;
613 pub const CM_SETUP_DEVINST_CONFIG: ULONG = CM_SETUP_DEVNODE_CONFIG;
614 pub const CM_SETUP_DEVNODE_CONFIG_CLASS: ULONG = 0x00000006;
615 pub const CM_SETUP_DEVINST_CONFIG_CLASS: ULONG = CM_SETUP_DEVNODE_CONFIG_CLASS;
616 pub const CM_SETUP_DEVNODE_CONFIG_EXTENSIONS: ULONG = 0x00000007;
617 pub const CM_SETUP_DEVINST_CONFIG_EXTENSIONS: ULONG = CM_SETUP_DEVNODE_CONFIG_EXTENSIONS;
618 pub const CM_SETUP_BITS: ULONG = 0x00000007;
619 pub const CM_QUERY_ARBITRATOR_RAW: ULONG = 0x00000000;
620 pub const CM_QUERY_ARBITRATOR_TRANSLATED: ULONG = 0x00000001;
621 pub const CM_QUERY_ARBITRATOR_BITS: ULONG = 0x00000001;
622 pub const CM_CUSTOMDEVPROP_MERGE_MULTISZ: ULONG = 0x00000001;
623 pub const CM_CUSTOMDEVPROP_BITS: ULONG = 0x00000001;
624 pub const CM_NAME_ATTRIBUTE_NAME_RETRIEVED_FROM_DEVICE: ULONG = 0x1;
625 pub const CM_NAME_ATTRIBUTE_USER_ASSIGNED_NAME: ULONG = 0x2;
626 pub const CM_CLASS_PROPERTY_INSTALLER: ULONG = 0x00000000;
627 pub const CM_CLASS_PROPERTY_INTERFACE: ULONG = 0x00000001;
628 pub const CM_CLASS_PROPERTY_BITS: ULONG = 0x00000001;
629 DECLARE_HANDLE!{HCMNOTIFICATION, HCMNOTIFICATION__}
630 pub type PHCMNOTIFICATION = *mut HCMNOTIFICATION;
631 pub const CM_NOTIFY_FILTER_FLAG_ALL_INTERFACE_CLASSES: ULONG = 0x00000001;
632 pub const CM_NOTIFY_FILTER_FLAG_ALL_DEVICE_INSTANCES: ULONG = 0x00000002;
633 pub const CM_NOTIFY_FILTER_VALID_FLAGS: ULONG = CM_NOTIFY_FILTER_FLAG_ALL_INTERFACE_CLASSES
634     | CM_NOTIFY_FILTER_FLAG_ALL_DEVICE_INSTANCES;
635 ENUM!{enum CM_NOTIFY_FILTER_TYPE {
636     CM_NOTIFY_FILTER_TYPE_DEVICEINTERFACE = 0,
637     CM_NOTIFY_FILTER_TYPE_DEVICEHANDLE,
638     CM_NOTIFY_FILTER_TYPE_DEVICEINSTANCE,
639     CM_NOTIFY_FILTER_TYPE_MAX,
640 }}
641 pub type PCM_NOTIFY_FILTER_TYPE = *mut CM_NOTIFY_FILTER_TYPE;
642 STRUCT!{struct CM_NOTIFY_FILTER_DeviceInterface {
643     ClassGuid: GUID,
644 }}
645 STRUCT!{struct CM_NOTIFY_FILTER_DeviceHandle {
646     hTarget: HANDLE,
647 }}
648 STRUCT!{struct CM_NOTIFY_FILTER_DeviceInstance {
649     InstanceId: [WCHAR; MAX_DEVICE_ID_LEN],
650 }}
651 UNION!{union CM_NOTIFY_FILTER_u {
652     [u32; 100] [u64; 50],
653     DeviceInterface DeviceInterface_mut: CM_NOTIFY_FILTER_DeviceInterface,
654     DeviceHandle DeviceHandle_mut: CM_NOTIFY_FILTER_DeviceHandle,
655     DeviceInstance DeviceInstance_mut: CM_NOTIFY_FILTER_DeviceInstance,
656 }}
657 STRUCT!{struct CM_NOTIFY_FILTER {
658     cbSize: DWORD,
659     Flags: DWORD,
660     FilterType: CM_NOTIFY_FILTER_TYPE,
661     Reserved: DWORD,
662     u: CM_NOTIFY_FILTER_u,
663 }}
664 pub type PCM_NOTIFY_FILTER = *mut CM_NOTIFY_FILTER;
665 ENUM!{enum CM_NOTIFY_ACTION {
666     CM_NOTIFY_ACTION_DEVICEINTERFACEARRIVAL = 0,
667     CM_NOTIFY_ACTION_DEVICEINTERFACEREMOVAL,
668     CM_NOTIFY_ACTION_DEVICEQUERYREMOVE,
669     CM_NOTIFY_ACTION_DEVICEQUERYREMOVEFAILED,
670     CM_NOTIFY_ACTION_DEVICEREMOVEPENDING,
671     CM_NOTIFY_ACTION_DEVICEREMOVECOMPLETE,
672     CM_NOTIFY_ACTION_DEVICECUSTOMEVENT,
673     CM_NOTIFY_ACTION_DEVICEINSTANCEENUMERATED,
674     CM_NOTIFY_ACTION_DEVICEINSTANCESTARTED,
675     CM_NOTIFY_ACTION_DEVICEINSTANCEREMOVED,
676     CM_NOTIFY_ACTION_MAX,
677 }}
678 pub type PCM_NOTIFY_ACTION = *mut CM_NOTIFY_ACTION;
679 STRUCT!{struct CM_NOTIFY_EVENT_DATA_DeviceInterface {
680     ClassGuid: GUID,
681     SymbolicLink: [WCHAR; ANYSIZE_ARRAY],
682 }}
683 STRUCT!{struct CM_NOTIFY_EVENT_DATA_DeviceHandle {
684     EventGuid: GUID,
685     NameOffset: LONG,
686     DataSize: DWORD,
687     Data: [BYTE; ANYSIZE_ARRAY],
688 }}
689 STRUCT!{struct CM_NOTIFY_EVENT_DATA_DeviceInstance {
690     InstanceId: [WCHAR; ANYSIZE_ARRAY],
691 }}
692 UNION!{union CM_NOTIFY_EVENT_DATA_u {
693     [u32; 7],
694     DeviceInterface DeviceInterface_mut: CM_NOTIFY_EVENT_DATA_DeviceInterface,
695     DeviceHandle DeviceHandle_mut: CM_NOTIFY_EVENT_DATA_DeviceHandle,
696     DeviceInstance DeviceInstance_mut: CM_NOTIFY_EVENT_DATA_DeviceInstance,
697 }}
698 STRUCT!{struct CM_NOTIFY_EVENT_DATA {
699     FilterType: CM_NOTIFY_FILTER_TYPE,
700     Reserved: DWORD,
701     u: CM_NOTIFY_EVENT_DATA_u,
702 }}
703 pub type PCM_NOTIFY_EVENT_DATA = *mut CM_NOTIFY_EVENT_DATA;
704 FN!{stdcall PCM_NOTIFY_CALLBACK(
705     hNotify: HCMNOTIFICATION,
706     Context: PVOID,
707     Action: CM_NOTIFY_ACTION,
708     EventData: PCM_NOTIFY_EVENT_DATA,
709     EventDataSize: DWORD,
710 ) -> DWORD}
711 extern "system" {
CM_Add_Empty_Log_Conf( plcLogConf: PLOG_CONF, dnDevInst: DEVINST, Priority: PRIORITY, ulFlags: ULONG, ) -> CONFIGRET712     pub fn CM_Add_Empty_Log_Conf(
713         plcLogConf: PLOG_CONF,
714         dnDevInst: DEVINST,
715         Priority: PRIORITY,
716         ulFlags: ULONG,
717     ) -> CONFIGRET;
CM_Add_Empty_Log_Conf_Ex( plcLogConf: PLOG_CONF, dnDevInst: DEVINST, Priority: PRIORITY, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET718     pub fn CM_Add_Empty_Log_Conf_Ex(
719         plcLogConf: PLOG_CONF,
720         dnDevInst: DEVINST,
721         Priority: PRIORITY,
722         ulFlags: ULONG,
723         hMachine: HMACHINE,
724     ) -> CONFIGRET;
CM_Add_IDA( dnDevInst: DEVINST, pszID: PSTR, ulFlags: ULONG, ) -> CONFIGRET725     pub fn CM_Add_IDA(
726         dnDevInst: DEVINST,
727         pszID: PSTR,
728         ulFlags: ULONG,
729     ) -> CONFIGRET;
CM_Add_IDW( dnDevInst: DEVINST, pszID: PWSTR, ulFlags: ULONG, ) -> CONFIGRET730     pub fn CM_Add_IDW(
731         dnDevInst: DEVINST,
732         pszID: PWSTR,
733         ulFlags: ULONG,
734     ) -> CONFIGRET;
CM_Add_ID_ExA( dnDevInst: DEVINST, pszID: PSTR, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET735     pub fn CM_Add_ID_ExA(
736         dnDevInst: DEVINST,
737         pszID: PSTR,
738         ulFlags: ULONG,
739         hMachine: HMACHINE,
740     ) -> CONFIGRET;
CM_Add_ID_ExW( dnDevInst: DEVINST, pszID: PWSTR, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET741     pub fn CM_Add_ID_ExW(
742         dnDevInst: DEVINST,
743         pszID: PWSTR,
744         ulFlags: ULONG,
745         hMachine: HMACHINE,
746     ) -> CONFIGRET;
CM_Add_Range( ullStartValue: DWORDLONG, ullEndValue: DWORDLONG, rlh: RANGE_LIST, ulFlags: ULONG, ) -> CONFIGRET747     pub fn CM_Add_Range(
748         ullStartValue: DWORDLONG,
749         ullEndValue: DWORDLONG,
750         rlh: RANGE_LIST,
751         ulFlags: ULONG,
752     ) -> CONFIGRET;
CM_Add_Res_Des( prdResDes: PRES_DES, lcLogConf: LOG_CONF, ResourceID: RESOURCEID, ResourceData: PCVOID, ResourceLen: ULONG, ulFlags: ULONG, ) -> CONFIGRET753     pub fn CM_Add_Res_Des(
754         prdResDes: PRES_DES,
755         lcLogConf: LOG_CONF,
756         ResourceID: RESOURCEID,
757         ResourceData: PCVOID,
758         ResourceLen: ULONG,
759         ulFlags: ULONG,
760     ) -> CONFIGRET;
CM_Add_Res_Des_Ex( prdResDes: PRES_DES, lcLogConf: LOG_CONF, ResourceID: RESOURCEID, ResourceData: PCVOID, ResourceLen: ULONG, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET761     pub fn CM_Add_Res_Des_Ex(
762         prdResDes: PRES_DES,
763         lcLogConf: LOG_CONF,
764         ResourceID: RESOURCEID,
765         ResourceData: PCVOID,
766         ResourceLen: ULONG,
767         ulFlags: ULONG,
768         hMachine: HMACHINE,
769     ) -> CONFIGRET;
CM_Connect_MachineA( UNCServerName: PCSTR, phMachine: PHMACHINE, ) -> CONFIGRET770     pub fn CM_Connect_MachineA(
771         UNCServerName: PCSTR,
772         phMachine: PHMACHINE,
773     ) -> CONFIGRET;
CM_Connect_MachineW( UNCServerName: PCWSTR, phMachine: PHMACHINE, ) -> CONFIGRET774     pub fn CM_Connect_MachineW(
775         UNCServerName: PCWSTR,
776         phMachine: PHMACHINE,
777     ) -> CONFIGRET;
CM_Create_DevNodeA( pdnDevInst: PDEVINST, pDeviceID: DEVINSTID_A, dnParent: DEVINST, ulFlags: ULONG, ) -> CONFIGRET778     pub fn CM_Create_DevNodeA(
779         pdnDevInst: PDEVINST,
780         pDeviceID: DEVINSTID_A,
781         dnParent: DEVINST,
782         ulFlags: ULONG,
783     ) -> CONFIGRET;
CM_Create_DevNodeW( pdnDevInst: PDEVINST, pDeviceID: DEVINSTID_W, dnParent: DEVINST, ulFlags: ULONG, ) -> CONFIGRET784     pub fn CM_Create_DevNodeW(
785         pdnDevInst: PDEVINST,
786         pDeviceID: DEVINSTID_W,
787         dnParent: DEVINST,
788         ulFlags: ULONG,
789     ) -> CONFIGRET;
CM_Create_DevNode_ExA( pdnDevInst: PDEVINST, pDeviceID: DEVINSTID_A, dnParent: DEVINST, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET790     pub fn CM_Create_DevNode_ExA(
791         pdnDevInst: PDEVINST,
792         pDeviceID: DEVINSTID_A,
793         dnParent: DEVINST,
794         ulFlags: ULONG,
795         hMachine: HMACHINE,
796     ) -> CONFIGRET;
CM_Create_DevNode_ExW( pdnDevInst: PDEVINST, pDeviceID: DEVINSTID_W, dnParent: DEVINST, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET797     pub fn CM_Create_DevNode_ExW(
798         pdnDevInst: PDEVINST,
799         pDeviceID: DEVINSTID_W,
800         dnParent: DEVINST,
801         ulFlags: ULONG,
802         hMachine: HMACHINE,
803     ) -> CONFIGRET;
CM_Create_Range_List( prlh: PRANGE_LIST, ulFlags: ULONG, ) -> CONFIGRET804     pub fn CM_Create_Range_List(
805         prlh: PRANGE_LIST,
806         ulFlags: ULONG,
807     ) -> CONFIGRET;
CM_Delete_Class_Key( ClassGuid: LPGUID, ulFlags: ULONG, ) -> CONFIGRET808     pub fn CM_Delete_Class_Key(
809         ClassGuid: LPGUID,
810         ulFlags: ULONG,
811     ) -> CONFIGRET;
CM_Delete_Class_Key_Ex( ClassGuid: LPGUID, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET812     pub fn CM_Delete_Class_Key_Ex(
813         ClassGuid: LPGUID,
814         ulFlags: ULONG,
815         hMachine: HMACHINE,
816     ) -> CONFIGRET;
CM_Delete_DevNode_Key( dnDevNode: DEVNODE, ulHardwareProfile: ULONG, ulFlags: ULONG, ) -> CONFIGRET817     pub fn CM_Delete_DevNode_Key(
818         dnDevNode: DEVNODE,
819         ulHardwareProfile: ULONG,
820         ulFlags: ULONG,
821     ) -> CONFIGRET;
CM_Delete_DevNode_Key_Ex( dnDevNode: DEVNODE, ulHardwareProfile: ULONG, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET822     pub fn CM_Delete_DevNode_Key_Ex(
823         dnDevNode: DEVNODE,
824         ulHardwareProfile: ULONG,
825         ulFlags: ULONG,
826         hMachine: HMACHINE,
827     ) -> CONFIGRET;
CM_Delete_Range( ullStartValue: DWORDLONG, ullEndValue: DWORDLONG, rlh: RANGE_LIST, ulFlags: ULONG, ) -> CONFIGRET828     pub fn CM_Delete_Range(
829         ullStartValue: DWORDLONG,
830         ullEndValue: DWORDLONG,
831         rlh: RANGE_LIST,
832         ulFlags: ULONG,
833     ) -> CONFIGRET;
CM_Detect_Resource_Conflict( dnDevInst: DEVINST, ResourceID: RESOURCEID, ResourceData: PCVOID, ResourceLen: ULONG, pbConflictDetected: PBOOL, ulFlags: ULONG, ) -> CONFIGRET834     pub fn CM_Detect_Resource_Conflict(
835         dnDevInst: DEVINST,
836         ResourceID: RESOURCEID,
837         ResourceData: PCVOID,
838         ResourceLen: ULONG,
839         pbConflictDetected: PBOOL,
840         ulFlags: ULONG,
841     ) -> CONFIGRET;
CM_Detect_Resource_Conflict_Ex( dnDevInst: DEVINST, ResourceID: RESOURCEID, ResourceData: PCVOID, ResourceLen: ULONG, pbConflictDetected: PBOOL, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET842     pub fn CM_Detect_Resource_Conflict_Ex(
843         dnDevInst: DEVINST,
844         ResourceID: RESOURCEID,
845         ResourceData: PCVOID,
846         ResourceLen: ULONG,
847         pbConflictDetected: PBOOL,
848         ulFlags: ULONG,
849         hMachine: HMACHINE,
850     ) -> CONFIGRET;
CM_Disable_DevNode( dnDevInst: DEVINST, ulFlags: ULONG, ) -> CONFIGRET851     pub fn CM_Disable_DevNode(
852         dnDevInst: DEVINST,
853         ulFlags: ULONG,
854     ) -> CONFIGRET;
CM_Disable_DevNode_Ex( dnDevInst: DEVINST, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET855     pub fn CM_Disable_DevNode_Ex(
856         dnDevInst: DEVINST,
857         ulFlags: ULONG,
858         hMachine: HMACHINE,
859     ) -> CONFIGRET;
CM_Disconnect_Machine( hMachine: HMACHINE, ) -> CONFIGRET860     pub fn CM_Disconnect_Machine(
861         hMachine: HMACHINE,
862     ) -> CONFIGRET;
CM_Dup_Range_List( rlhOld: RANGE_LIST, rlhNew: RANGE_LIST, ulFlags: ULONG, ) -> CONFIGRET863     pub fn CM_Dup_Range_List(
864         rlhOld: RANGE_LIST,
865         rlhNew: RANGE_LIST,
866         ulFlags: ULONG,
867     ) -> CONFIGRET;
CM_Enable_DevNode( dnDevInst: DEVINST, ulFlags: ULONG, ) -> CONFIGRET868     pub fn CM_Enable_DevNode(
869         dnDevInst: DEVINST,
870         ulFlags: ULONG,
871     ) -> CONFIGRET;
CM_Enable_DevNode_Ex( dnDevInst: DEVINST, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET872     pub fn CM_Enable_DevNode_Ex(
873         dnDevInst: DEVINST,
874         ulFlags: ULONG,
875         hMachine: HMACHINE,
876     ) -> CONFIGRET;
CM_Enumerate_Classes( ulClassIndex: ULONG, ClassGuid: LPGUID, ulFlags: ULONG, ) -> CONFIGRET877     pub fn CM_Enumerate_Classes(
878         ulClassIndex: ULONG,
879         ClassGuid: LPGUID,
880         ulFlags: ULONG,
881     ) -> CONFIGRET;
CM_Enumerate_Classes_Ex( ulClassIndex: ULONG, ClassGuid: LPGUID, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET882     pub fn CM_Enumerate_Classes_Ex(
883         ulClassIndex: ULONG,
884         ClassGuid: LPGUID,
885         ulFlags: ULONG,
886         hMachine: HMACHINE,
887     ) -> CONFIGRET;
CM_Enumerate_EnumeratorsA( ulEnumIndex: ULONG, Buffer: PSTR, pulLength: PULONG, ulFlags: ULONG, ) -> CONFIGRET888     pub fn CM_Enumerate_EnumeratorsA(
889         ulEnumIndex: ULONG,
890         Buffer: PSTR,
891         pulLength: PULONG,
892         ulFlags: ULONG,
893     ) -> CONFIGRET;
CM_Enumerate_EnumeratorsW( ulEnumIndex: ULONG, Buffer: PWSTR, pulLength: PULONG, ulFlags: ULONG, ) -> CONFIGRET894     pub fn CM_Enumerate_EnumeratorsW(
895         ulEnumIndex: ULONG,
896         Buffer: PWSTR,
897         pulLength: PULONG,
898         ulFlags: ULONG,
899     ) -> CONFIGRET;
CM_Enumerate_Enumerators_ExA( ulEnumIndex: ULONG, Buffer: PSTR, pulLength: PULONG, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET900     pub fn CM_Enumerate_Enumerators_ExA(
901         ulEnumIndex: ULONG,
902         Buffer: PSTR,
903         pulLength: PULONG,
904         ulFlags: ULONG,
905         hMachine: HMACHINE,
906     ) -> CONFIGRET;
CM_Enumerate_Enumerators_ExW( ulEnumIndex: ULONG, Buffer: PWSTR, pulLength: PULONG, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET907     pub fn CM_Enumerate_Enumerators_ExW(
908         ulEnumIndex: ULONG,
909         Buffer: PWSTR,
910         pulLength: PULONG,
911         ulFlags: ULONG,
912         hMachine: HMACHINE,
913     ) -> CONFIGRET;
CM_Find_Range( pullStart: PDWORDLONG, ullStart: DWORDLONG, ulLength: ULONG, ullAlignment: DWORDLONG, ullEnd: DWORDLONG, rlh: RANGE_LIST, ulFlags: ULONG, ) -> CONFIGRET914     pub fn CM_Find_Range(
915         pullStart: PDWORDLONG,
916         ullStart: DWORDLONG,
917         ulLength: ULONG,
918         ullAlignment: DWORDLONG,
919         ullEnd: DWORDLONG,
920         rlh: RANGE_LIST,
921         ulFlags: ULONG,
922     ) -> CONFIGRET;
CM_First_Range( rlh: RANGE_LIST, pullStart: PDWORDLONG, pullEnd: PDWORDLONG, preElement: PRANGE_LIST, ulFlags: ULONG, ) -> CONFIGRET923     pub fn CM_First_Range(
924         rlh: RANGE_LIST,
925         pullStart: PDWORDLONG,
926         pullEnd: PDWORDLONG,
927         preElement: PRANGE_LIST,
928         ulFlags: ULONG,
929     ) -> CONFIGRET;
CM_Free_Log_Conf( lcLogConfToBeFreed: LOG_CONF, ulFlags: ULONG, ) -> CONFIGRET930     pub fn CM_Free_Log_Conf(
931         lcLogConfToBeFreed: LOG_CONF,
932         ulFlags: ULONG,
933     ) -> CONFIGRET;
CM_Free_Log_Conf_Ex( lcLogConfToBeFreed: LOG_CONF, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET934     pub fn CM_Free_Log_Conf_Ex(
935         lcLogConfToBeFreed: LOG_CONF,
936         ulFlags: ULONG,
937         hMachine: HMACHINE,
938     ) -> CONFIGRET;
CM_Free_Log_Conf_Handle( lcLogConf: LOG_CONF, ) -> CONFIGRET939     pub fn CM_Free_Log_Conf_Handle(
940         lcLogConf: LOG_CONF,
941     ) -> CONFIGRET;
CM_Free_Range_List( rlh: RANGE_LIST, ulFlags: ULONG, ) -> CONFIGRET942     pub fn CM_Free_Range_List(
943         rlh: RANGE_LIST,
944         ulFlags: ULONG,
945     ) -> CONFIGRET;
CM_Free_Res_Des( prdResDes: PRES_DES, rdResDes: RES_DES, ulFlags: ULONG, ) -> CONFIGRET946     pub fn CM_Free_Res_Des(
947         prdResDes: PRES_DES,
948         rdResDes: RES_DES,
949         ulFlags: ULONG,
950     ) -> CONFIGRET;
CM_Free_Res_Des_Ex( prdResDes: PRES_DES, rdResDes: RES_DES, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET951     pub fn CM_Free_Res_Des_Ex(
952         prdResDes: PRES_DES,
953         rdResDes: RES_DES,
954         ulFlags: ULONG,
955         hMachine: HMACHINE,
956     ) -> CONFIGRET;
CM_Free_Res_Des_Handle( rdResDes: RES_DES, ) -> CONFIGRET957     pub fn CM_Free_Res_Des_Handle(
958         rdResDes: RES_DES,
959     ) -> CONFIGRET;
CM_Get_Child( pdnDevInst: PDEVINST, dnDevInst: DEVINST, ulFlags: ULONG, ) -> CONFIGRET960     pub fn CM_Get_Child(
961         pdnDevInst: PDEVINST,
962         dnDevInst: DEVINST,
963         ulFlags: ULONG,
964     ) -> CONFIGRET;
CM_Get_Child_Ex( pdnDevInst: PDEVINST, dnDevInst: DEVINST, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET965     pub fn CM_Get_Child_Ex(
966         pdnDevInst: PDEVINST,
967         dnDevInst: DEVINST,
968         ulFlags: ULONG,
969         hMachine: HMACHINE,
970     ) -> CONFIGRET;
CM_Get_Class_Key_NameA( ClassGuid: LPGUID, pszKeyName: LPSTR, pulLength: PULONG, ulFlags: ULONG, ) -> CONFIGRET971     pub fn CM_Get_Class_Key_NameA(
972         ClassGuid: LPGUID,
973         pszKeyName: LPSTR,
974         pulLength: PULONG,
975         ulFlags: ULONG,
976     ) -> CONFIGRET;
CM_Get_Class_Key_NameW( ClassGuid: LPGUID, pszKeyName: LPWSTR, pulLength: PULONG, ulFlags: ULONG, ) -> CONFIGRET977     pub fn CM_Get_Class_Key_NameW(
978         ClassGuid: LPGUID,
979         pszKeyName: LPWSTR,
980         pulLength: PULONG,
981         ulFlags: ULONG,
982     ) -> CONFIGRET;
CM_Get_Class_Key_Name_ExA( ClassGuid: LPGUID, pszKeyName: LPSTR, pulLength: PULONG, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET983     pub fn CM_Get_Class_Key_Name_ExA(
984         ClassGuid: LPGUID,
985         pszKeyName: LPSTR,
986         pulLength: PULONG,
987         ulFlags: ULONG,
988         hMachine: HMACHINE,
989     ) -> CONFIGRET;
CM_Get_Class_Key_Name_ExW( ClassGuid: LPGUID, pszKeyName: LPWSTR, pulLength: PULONG, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET990     pub fn CM_Get_Class_Key_Name_ExW(
991         ClassGuid: LPGUID,
992         pszKeyName: LPWSTR,
993         pulLength: PULONG,
994         ulFlags: ULONG,
995         hMachine: HMACHINE,
996     ) -> CONFIGRET;
CM_Get_Class_NameA( ClassGuid: LPGUID, Buffer: PSTR, pulLength: PULONG, ulFlags: ULONG, ) -> CONFIGRET997     pub fn CM_Get_Class_NameA(
998         ClassGuid: LPGUID,
999         Buffer: PSTR,
1000         pulLength: PULONG,
1001         ulFlags: ULONG,
1002     ) -> CONFIGRET;
CM_Get_Class_NameW( ClassGuid: LPGUID, Buffer: PWSTR, pulLength: PULONG, ulFlags: ULONG, ) -> CONFIGRET1003     pub fn CM_Get_Class_NameW(
1004         ClassGuid: LPGUID,
1005         Buffer: PWSTR,
1006         pulLength: PULONG,
1007         ulFlags: ULONG,
1008     ) -> CONFIGRET;
CM_Get_Class_Name_ExA( ClassGuid: LPGUID, Buffer: PSTR, pulLength: PULONG, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1009     pub fn CM_Get_Class_Name_ExA(
1010         ClassGuid: LPGUID,
1011         Buffer: PSTR,
1012         pulLength: PULONG,
1013         ulFlags: ULONG,
1014         hMachine: HMACHINE,
1015     ) -> CONFIGRET;
CM_Get_Class_Name_ExW( ClassGuid: LPGUID, Buffer: PWSTR, pulLength: PULONG, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1016     pub fn CM_Get_Class_Name_ExW(
1017         ClassGuid: LPGUID,
1018         Buffer: PWSTR,
1019         pulLength: PULONG,
1020         ulFlags: ULONG,
1021         hMachine: HMACHINE,
1022     ) -> CONFIGRET;
CM_Get_Depth( pulDepth: PULONG, dnDevInst: DEVINST, ulFlags: ULONG, ) -> CONFIGRET1023     pub fn CM_Get_Depth(
1024         pulDepth: PULONG,
1025         dnDevInst: DEVINST,
1026         ulFlags: ULONG,
1027     ) -> CONFIGRET;
CM_Get_Depth_Ex( pulDepth: PULONG, dnDevInst: DEVINST, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1028     pub fn CM_Get_Depth_Ex(
1029         pulDepth: PULONG,
1030         dnDevInst: DEVINST,
1031         ulFlags: ULONG,
1032         hMachine: HMACHINE,
1033     ) -> CONFIGRET;
CM_Get_Device_IDA( dnDevInst: DEVINST, Buffer: PSTR, BufferLen: ULONG, ulFlags: ULONG, ) -> CONFIGRET1034     pub fn CM_Get_Device_IDA(
1035         dnDevInst: DEVINST,
1036         Buffer: PSTR,
1037         BufferLen: ULONG,
1038         ulFlags: ULONG,
1039     ) -> CONFIGRET;
CM_Get_Device_IDW( dnDevInst: DEVINST, Buffer: PWSTR, BufferLen: ULONG, ulFlags: ULONG, ) -> CONFIGRET1040     pub fn CM_Get_Device_IDW(
1041         dnDevInst: DEVINST,
1042         Buffer: PWSTR,
1043         BufferLen: ULONG,
1044         ulFlags: ULONG,
1045     ) -> CONFIGRET;
CM_Get_Device_ID_ExA( dnDevInst: DEVINST, Buffer: PSTR, BufferLen: ULONG, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1046     pub fn CM_Get_Device_ID_ExA(
1047         dnDevInst: DEVINST,
1048         Buffer: PSTR,
1049         BufferLen: ULONG,
1050         ulFlags: ULONG,
1051         hMachine: HMACHINE,
1052     ) -> CONFIGRET;
CM_Get_Device_ID_ExW( dnDevInst: DEVINST, Buffer: PWSTR, BufferLen: ULONG, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1053     pub fn CM_Get_Device_ID_ExW(
1054         dnDevInst: DEVINST,
1055         Buffer: PWSTR,
1056         BufferLen: ULONG,
1057         ulFlags: ULONG,
1058         hMachine: HMACHINE,
1059     ) -> CONFIGRET;
CM_Get_Device_ID_ListA( pszFilter: PCSTR, Buffer: PCHAR, BufferLen: ULONG, ulFlags: ULONG, ) -> CONFIGRET1060     pub fn CM_Get_Device_ID_ListA(
1061         pszFilter: PCSTR,
1062         Buffer: PCHAR,
1063         BufferLen: ULONG,
1064         ulFlags: ULONG,
1065     ) -> CONFIGRET;
CM_Get_Device_ID_ListW( pszFilter: PCWSTR, Buffer: PWCHAR, BufferLen: ULONG, ulFlags: ULONG, ) -> CONFIGRET1066     pub fn CM_Get_Device_ID_ListW(
1067         pszFilter: PCWSTR,
1068         Buffer: PWCHAR,
1069         BufferLen: ULONG,
1070         ulFlags: ULONG,
1071     ) -> CONFIGRET;
CM_Get_Device_ID_List_ExA( pszFilter: PCSTR, Buffer: PCHAR, BufferLen: ULONG, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1072     pub fn CM_Get_Device_ID_List_ExA(
1073         pszFilter: PCSTR,
1074         Buffer: PCHAR,
1075         BufferLen: ULONG,
1076         ulFlags: ULONG,
1077         hMachine: HMACHINE,
1078     ) -> CONFIGRET;
CM_Get_Device_ID_List_ExW( pszFilter: PCWSTR, Buffer: PWCHAR, BufferLen: ULONG, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1079     pub fn CM_Get_Device_ID_List_ExW(
1080         pszFilter: PCWSTR,
1081         Buffer: PWCHAR,
1082         BufferLen: ULONG,
1083         ulFlags: ULONG,
1084         hMachine: HMACHINE,
1085     ) -> CONFIGRET;
CM_Get_Device_ID_List_SizeA( pulLen: PULONG, pszFilter: PCSTR, ulFlags: ULONG, ) -> CONFIGRET1086     pub fn CM_Get_Device_ID_List_SizeA(
1087         pulLen: PULONG,
1088         pszFilter: PCSTR,
1089         ulFlags: ULONG,
1090     ) -> CONFIGRET;
CM_Get_Device_ID_List_SizeW( pulLen: PULONG, pszFilter: PCWSTR, ulFlags: ULONG, ) -> CONFIGRET1091     pub fn CM_Get_Device_ID_List_SizeW(
1092         pulLen: PULONG,
1093         pszFilter: PCWSTR,
1094         ulFlags: ULONG,
1095     ) -> CONFIGRET;
CM_Get_Device_ID_List_Size_ExA( pulLen: PULONG, pszFilter: PCSTR, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1096     pub fn CM_Get_Device_ID_List_Size_ExA(
1097         pulLen: PULONG,
1098         pszFilter: PCSTR,
1099         ulFlags: ULONG,
1100         hMachine: HMACHINE,
1101     ) -> CONFIGRET;
CM_Get_Device_ID_List_Size_ExW( pulLen: PULONG, pszFilter: PCWSTR, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1102     pub fn CM_Get_Device_ID_List_Size_ExW(
1103         pulLen: PULONG,
1104         pszFilter: PCWSTR,
1105         ulFlags: ULONG,
1106         hMachine: HMACHINE,
1107     ) -> CONFIGRET;
CM_Get_Device_ID_Size( pulLen: PULONG, dnDevInst: DEVINST, ulFlags: ULONG, ) -> CONFIGRET1108     pub fn CM_Get_Device_ID_Size(
1109         pulLen: PULONG,
1110         dnDevInst: DEVINST,
1111         ulFlags: ULONG,
1112     ) -> CONFIGRET;
CM_Get_Device_ID_Size_Ex( pulLen: PULONG, dnDevInst: DEVINST, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1113     pub fn CM_Get_Device_ID_Size_Ex(
1114         pulLen: PULONG,
1115         dnDevInst: DEVINST,
1116         ulFlags: ULONG,
1117         hMachine: HMACHINE,
1118     ) -> CONFIGRET;
CM_Get_DevNode_PropertyW( dnDevInst: DEVINST, PropertyKey: *const DEVPROPKEY, PropertyType: *mut DEVPROPTYPE, PropertyBuffer: PBYTE, PropertyBufferSize: PULONG, ulFlags: ULONG, ) -> CONFIGRET1119     pub fn CM_Get_DevNode_PropertyW(
1120         dnDevInst: DEVINST,
1121         PropertyKey: *const DEVPROPKEY,
1122         PropertyType: *mut DEVPROPTYPE,
1123         PropertyBuffer: PBYTE,
1124         PropertyBufferSize: PULONG,
1125         ulFlags: ULONG,
1126     ) -> CONFIGRET;
CM_Get_DevNode_PropertyExW( dnDevInst: DEVINST, PropertyKey: *const DEVPROPKEY, PropertyType: *mut DEVPROPTYPE, PropertyBuffer: PBYTE, PropertyBufferSize: PULONG, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1127     pub fn CM_Get_DevNode_PropertyExW(
1128         dnDevInst: DEVINST,
1129         PropertyKey: *const DEVPROPKEY,
1130         PropertyType: *mut DEVPROPTYPE,
1131         PropertyBuffer: PBYTE,
1132         PropertyBufferSize: PULONG,
1133         ulFlags: ULONG,
1134         hMachine: HMACHINE,
1135     ) -> CONFIGRET;
CM_Get_DevNode_Registry_PropertyA( dnDevInst: DEVINST, ulProperty: ULONG, pulRegDataType: PULONG, Buffer: PVOID, pulLength: PULONG, ulFlags: ULONG, ) -> CONFIGRET1136     pub fn CM_Get_DevNode_Registry_PropertyA(
1137         dnDevInst: DEVINST,
1138         ulProperty: ULONG,
1139         pulRegDataType: PULONG,
1140         Buffer: PVOID,
1141         pulLength: PULONG,
1142         ulFlags: ULONG,
1143     ) -> CONFIGRET;
CM_Get_DevNode_Registry_PropertyW( dnDevInst: DEVINST, ulProperty: ULONG, pulRegDataType: PULONG, Buffer: PVOID, pulLength: PULONG, ulFlags: ULONG, ) -> CONFIGRET1144     pub fn CM_Get_DevNode_Registry_PropertyW(
1145         dnDevInst: DEVINST,
1146         ulProperty: ULONG,
1147         pulRegDataType: PULONG,
1148         Buffer: PVOID,
1149         pulLength: PULONG,
1150         ulFlags: ULONG,
1151     ) -> CONFIGRET;
CM_Get_DevNode_Registry_Property_ExA( dnDevInst: DEVINST, ulProperty: ULONG, pulRegDataType: PULONG, Buffer: PVOID, pulLength: PULONG, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1152     pub fn CM_Get_DevNode_Registry_Property_ExA(
1153         dnDevInst: DEVINST,
1154         ulProperty: ULONG,
1155         pulRegDataType: PULONG,
1156         Buffer: PVOID,
1157         pulLength: PULONG,
1158         ulFlags: ULONG,
1159         hMachine: HMACHINE,
1160     ) -> CONFIGRET;
CM_Get_DevNode_Registry_Property_ExW( dnDevInst: DEVINST, ulProperty: ULONG, pulRegDataType: PULONG, Buffer: PVOID, pulLength: PULONG, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1161     pub fn CM_Get_DevNode_Registry_Property_ExW(
1162         dnDevInst: DEVINST,
1163         ulProperty: ULONG,
1164         pulRegDataType: PULONG,
1165         Buffer: PVOID,
1166         pulLength: PULONG,
1167         ulFlags: ULONG,
1168         hMachine: HMACHINE,
1169     ) -> CONFIGRET;
CM_Get_DevNode_Custom_PropertyA( dnDevInst: DEVINST, pszCustomPropertyName: PCSTR, pulRegDataType: PULONG, Buffer: PVOID, pulLength: PULONG, ulFlags: ULONG, ) -> CONFIGRET1170     pub fn CM_Get_DevNode_Custom_PropertyA(
1171         dnDevInst: DEVINST,
1172         pszCustomPropertyName: PCSTR,
1173         pulRegDataType: PULONG,
1174         Buffer: PVOID,
1175         pulLength: PULONG,
1176         ulFlags: ULONG,
1177     ) -> CONFIGRET;
CM_Get_DevNode_Custom_PropertyW( dnDevInst: DEVINST, pszCustomPropertyName: PCWSTR, pulRegDataType: PULONG, Buffer: PVOID, pulLength: PULONG, ulFlags: ULONG, ) -> CONFIGRET1178     pub fn CM_Get_DevNode_Custom_PropertyW(
1179         dnDevInst: DEVINST,
1180         pszCustomPropertyName: PCWSTR,
1181         pulRegDataType: PULONG,
1182         Buffer: PVOID,
1183         pulLength: PULONG,
1184         ulFlags: ULONG,
1185     ) -> CONFIGRET;
CM_Get_DevNode_Custom_Property_ExA( dnDevInst: DEVINST, pszCustomPropertyName: PCSTR, pulRegDataType: PULONG, Buffer: PVOID, pulLength: PULONG, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1186     pub fn CM_Get_DevNode_Custom_Property_ExA(
1187         dnDevInst: DEVINST,
1188         pszCustomPropertyName: PCSTR,
1189         pulRegDataType: PULONG,
1190         Buffer: PVOID,
1191         pulLength: PULONG,
1192         ulFlags: ULONG,
1193         hMachine: HMACHINE,
1194     ) -> CONFIGRET;
CM_Get_DevNode_Custom_Property_ExW( dnDevInst: DEVINST, pszCustomPropertyName: PCWSTR, pulRegDataType: PULONG, Buffer: PVOID, pulLength: PULONG, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1195     pub fn CM_Get_DevNode_Custom_Property_ExW(
1196         dnDevInst: DEVINST,
1197         pszCustomPropertyName: PCWSTR,
1198         pulRegDataType: PULONG,
1199         Buffer: PVOID,
1200         pulLength: PULONG,
1201         ulFlags: ULONG,
1202         hMachine: HMACHINE,
1203     ) -> CONFIGRET;
CM_Get_DevNode_Status( pulStatus: PULONG, pulProblemNumber: PULONG, dnDevInst: DEVINST, ulFlags: ULONG, ) -> CONFIGRET1204     pub fn CM_Get_DevNode_Status(
1205         pulStatus: PULONG,
1206         pulProblemNumber: PULONG,
1207         dnDevInst: DEVINST,
1208         ulFlags: ULONG,
1209     ) -> CONFIGRET;
CM_Get_DevNode_Status_Ex( pulStatus: PULONG, pulProblemNumber: PULONG, dnDevInst: DEVINST, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1210     pub fn CM_Get_DevNode_Status_Ex(
1211         pulStatus: PULONG,
1212         pulProblemNumber: PULONG,
1213         dnDevInst: DEVINST,
1214         ulFlags: ULONG,
1215         hMachine: HMACHINE,
1216     ) -> CONFIGRET;
CM_Get_First_Log_Conf( plcLogConf: PLOG_CONF, dnDevInst: DEVINST, ulFlags: ULONG, ) -> CONFIGRET1217     pub fn CM_Get_First_Log_Conf(
1218         plcLogConf: PLOG_CONF,
1219         dnDevInst: DEVINST,
1220         ulFlags: ULONG,
1221     ) -> CONFIGRET;
CM_Get_First_Log_Conf_Ex( plcLogConf: PLOG_CONF, dnDevInst: DEVINST, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1222     pub fn CM_Get_First_Log_Conf_Ex(
1223         plcLogConf: PLOG_CONF,
1224         dnDevInst: DEVINST,
1225         ulFlags: ULONG,
1226         hMachine: HMACHINE,
1227     ) -> CONFIGRET;
CM_Get_Global_State( pulState: PULONG, ulFlags: ULONG, ) -> CONFIGRET1228     pub fn CM_Get_Global_State(
1229         pulState: PULONG,
1230         ulFlags: ULONG,
1231     ) -> CONFIGRET;
CM_Get_Global_State_Ex( pulState: PULONG, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1232     pub fn CM_Get_Global_State_Ex(
1233         pulState: PULONG,
1234         ulFlags: ULONG,
1235         hMachine: HMACHINE,
1236     ) -> CONFIGRET;
CM_Get_Hardware_Profile_InfoA( ulIndex: ULONG, pHWProfileInfo: PHWPROFILEINFO_A, ulFlags: ULONG, ) -> CONFIGRET1237     pub fn CM_Get_Hardware_Profile_InfoA(
1238         ulIndex: ULONG,
1239         pHWProfileInfo: PHWPROFILEINFO_A,
1240         ulFlags: ULONG,
1241     ) -> CONFIGRET;
CM_Get_Hardware_Profile_Info_ExA( ulIndex: ULONG, pHWProfileInfo: PHWPROFILEINFO_A, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1242     pub fn CM_Get_Hardware_Profile_Info_ExA(
1243         ulIndex: ULONG,
1244         pHWProfileInfo: PHWPROFILEINFO_A,
1245         ulFlags: ULONG,
1246         hMachine: HMACHINE,
1247     ) -> CONFIGRET;
CM_Get_Hardware_Profile_InfoW( ulIndex: ULONG, pHWProfileInfo: PHWPROFILEINFO_W, ulFlags: ULONG, ) -> CONFIGRET1248     pub fn CM_Get_Hardware_Profile_InfoW(
1249         ulIndex: ULONG,
1250         pHWProfileInfo: PHWPROFILEINFO_W,
1251         ulFlags: ULONG,
1252     ) -> CONFIGRET;
CM_Get_Hardware_Profile_Info_ExW( ulIndex: ULONG, pHWProfileInfo: PHWPROFILEINFO_W, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1253     pub fn CM_Get_Hardware_Profile_Info_ExW(
1254         ulIndex: ULONG,
1255         pHWProfileInfo: PHWPROFILEINFO_W,
1256         ulFlags: ULONG,
1257         hMachine: HMACHINE,
1258     ) -> CONFIGRET;
CM_Get_HW_Prof_FlagsA( pDeviceID: DEVINSTID_A, ulHardwareProfile: ULONG, pulValue: PULONG, ulFlags: ULONG, ) -> CONFIGRET1259     pub fn CM_Get_HW_Prof_FlagsA(
1260         pDeviceID: DEVINSTID_A,
1261         ulHardwareProfile: ULONG,
1262         pulValue: PULONG,
1263         ulFlags: ULONG,
1264     ) -> CONFIGRET;
CM_Get_HW_Prof_FlagsW( pDeviceID: DEVINSTID_W, ulHardwareProfile: ULONG, pulValue: PULONG, ulFlags: ULONG, ) -> CONFIGRET1265     pub fn CM_Get_HW_Prof_FlagsW(
1266         pDeviceID: DEVINSTID_W,
1267         ulHardwareProfile: ULONG,
1268         pulValue: PULONG,
1269         ulFlags: ULONG,
1270     ) -> CONFIGRET;
CM_Get_HW_Prof_Flags_ExA( pDeviceID: DEVINSTID_A, ulHardwareProfile: ULONG, pulValue: PULONG, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1271     pub fn CM_Get_HW_Prof_Flags_ExA(
1272         pDeviceID: DEVINSTID_A,
1273         ulHardwareProfile: ULONG,
1274         pulValue: PULONG,
1275         ulFlags: ULONG,
1276         hMachine: HMACHINE,
1277     ) -> CONFIGRET;
CM_Get_HW_Prof_Flags_ExW( pDeviceID: DEVINSTID_W, ulHardwareProfile: ULONG, pulValue: PULONG, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1278     pub fn CM_Get_HW_Prof_Flags_ExW(
1279         pDeviceID: DEVINSTID_W,
1280         ulHardwareProfile: ULONG,
1281         pulValue: PULONG,
1282         ulFlags: ULONG,
1283         hMachine: HMACHINE,
1284     ) -> CONFIGRET;
CM_Get_Device_Interface_AliasA( pszDeviceInterface: LPCSTR, AliasInterfaceGuid: LPGUID, pszAliasDeviceInterface: LPSTR, pulLength: PULONG, ulFlags: ULONG, ) -> CONFIGRET1285     pub fn CM_Get_Device_Interface_AliasA(
1286         pszDeviceInterface: LPCSTR,
1287         AliasInterfaceGuid: LPGUID,
1288         pszAliasDeviceInterface: LPSTR,
1289         pulLength: PULONG,
1290         ulFlags: ULONG,
1291     ) -> CONFIGRET;
CM_Get_Device_Interface_AliasW( pszDeviceInterface: LPCWSTR, AliasInterfaceGuid: LPGUID, pszAliasDeviceInterface: LPWSTR, pulLength: PULONG, ulFlags: ULONG, ) -> CONFIGRET1292     pub fn CM_Get_Device_Interface_AliasW(
1293         pszDeviceInterface: LPCWSTR,
1294         AliasInterfaceGuid: LPGUID,
1295         pszAliasDeviceInterface: LPWSTR,
1296         pulLength: PULONG,
1297         ulFlags: ULONG,
1298     ) -> CONFIGRET;
CM_Get_Device_Interface_Alias_ExA( pszDeviceInterface: LPCSTR, AliasInterfaceGuid: LPGUID, pszAliasDeviceInterface: LPSTR, pulLength: PULONG, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1299     pub fn CM_Get_Device_Interface_Alias_ExA(
1300         pszDeviceInterface: LPCSTR,
1301         AliasInterfaceGuid: LPGUID,
1302         pszAliasDeviceInterface: LPSTR,
1303         pulLength: PULONG,
1304         ulFlags: ULONG,
1305         hMachine: HMACHINE,
1306     ) -> CONFIGRET;
CM_Get_Device_Interface_Alias_ExW( pszDeviceInterface: LPCWSTR, AliasInterfaceGuid: LPGUID, pszAliasDeviceInterface: LPWSTR, pulLength: PULONG, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1307     pub fn CM_Get_Device_Interface_Alias_ExW(
1308         pszDeviceInterface: LPCWSTR,
1309         AliasInterfaceGuid: LPGUID,
1310         pszAliasDeviceInterface: LPWSTR,
1311         pulLength: PULONG,
1312         ulFlags: ULONG,
1313         hMachine: HMACHINE,
1314     ) -> CONFIGRET;
CM_Get_Device_Interface_ListA( InterfaceClassGuid: LPGUID, pDeviceID: DEVINSTID_A, Buffer: PCHAR, BufferLen: ULONG, ulFlags: ULONG, ) -> CONFIGRET1315     pub fn CM_Get_Device_Interface_ListA(
1316         InterfaceClassGuid: LPGUID,
1317         pDeviceID: DEVINSTID_A,
1318         Buffer: PCHAR,
1319         BufferLen: ULONG,
1320         ulFlags: ULONG,
1321     ) -> CONFIGRET;
CM_Get_Device_Interface_ListW( InterfaceClassGuid: LPGUID, pDeviceID: DEVINSTID_W, Buffer: PWCHAR, BufferLen: ULONG, ulFlags: ULONG, ) -> CONFIGRET1322     pub fn CM_Get_Device_Interface_ListW(
1323         InterfaceClassGuid: LPGUID,
1324         pDeviceID: DEVINSTID_W,
1325         Buffer: PWCHAR,
1326         BufferLen: ULONG,
1327         ulFlags: ULONG,
1328     ) -> CONFIGRET;
CM_Get_Device_Interface_List_ExA( InterfaceClassGuid: LPGUID, pDeviceID: DEVINSTID_A, Buffer: PCHAR, BufferLen: ULONG, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1329     pub fn CM_Get_Device_Interface_List_ExA(
1330         InterfaceClassGuid: LPGUID,
1331         pDeviceID: DEVINSTID_A,
1332         Buffer: PCHAR,
1333         BufferLen: ULONG,
1334         ulFlags: ULONG,
1335         hMachine: HMACHINE,
1336     ) -> CONFIGRET;
CM_Get_Device_Interface_List_ExW( InterfaceClassGuid: LPGUID, pDeviceID: DEVINSTID_W, Buffer: PWCHAR, BufferLen: ULONG, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1337     pub fn CM_Get_Device_Interface_List_ExW(
1338         InterfaceClassGuid: LPGUID,
1339         pDeviceID: DEVINSTID_W,
1340         Buffer: PWCHAR,
1341         BufferLen: ULONG,
1342         ulFlags: ULONG,
1343         hMachine: HMACHINE,
1344     ) -> CONFIGRET;
CM_Get_Device_Interface_List_SizeA( pulLen: PULONG, InterfaceClassGuid: LPGUID, pDeviceID: DEVINSTID_A, ulFlags: ULONG, ) -> CONFIGRET1345     pub fn CM_Get_Device_Interface_List_SizeA(
1346         pulLen: PULONG,
1347         InterfaceClassGuid: LPGUID,
1348         pDeviceID: DEVINSTID_A,
1349         ulFlags: ULONG,
1350     ) -> CONFIGRET;
CM_Get_Device_Interface_List_SizeW( pulLen: PULONG, InterfaceClassGuid: LPGUID, pDeviceID: DEVINSTID_W, ulFlags: ULONG, ) -> CONFIGRET1351     pub fn CM_Get_Device_Interface_List_SizeW(
1352         pulLen: PULONG,
1353         InterfaceClassGuid: LPGUID,
1354         pDeviceID: DEVINSTID_W,
1355         ulFlags: ULONG,
1356     ) -> CONFIGRET;
CM_Get_Device_Interface_List_Size_ExA( pulLen: PULONG, InterfaceClassGuid: LPGUID, pDeviceID: DEVINSTID_A, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1357     pub fn CM_Get_Device_Interface_List_Size_ExA(
1358         pulLen: PULONG,
1359         InterfaceClassGuid: LPGUID,
1360         pDeviceID: DEVINSTID_A,
1361         ulFlags: ULONG,
1362         hMachine: HMACHINE,
1363     ) -> CONFIGRET;
CM_Get_Device_Interface_List_Size_ExW( pulLen: PULONG, InterfaceClassGuid: LPGUID, pDeviceID: DEVINSTID_W, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1364     pub fn CM_Get_Device_Interface_List_Size_ExW(
1365         pulLen: PULONG,
1366         InterfaceClassGuid: LPGUID,
1367         pDeviceID: DEVINSTID_W,
1368         ulFlags: ULONG,
1369         hMachine: HMACHINE,
1370     ) -> CONFIGRET;
CM_Get_Device_Interface_PropertyW( pszDeviceInterface: LPCWSTR, PropertyKey: *const DEVPROPKEY, PropertyType: *mut DEVPROPTYPE, PropertyBuffer: PBYTE, PropertyBufferSize: PULONG, ulFlags: ULONG, ) -> CONFIGRET1371     pub fn CM_Get_Device_Interface_PropertyW(
1372         pszDeviceInterface: LPCWSTR,
1373         PropertyKey: *const DEVPROPKEY,
1374         PropertyType: *mut DEVPROPTYPE,
1375         PropertyBuffer: PBYTE,
1376         PropertyBufferSize: PULONG,
1377         ulFlags: ULONG,
1378     ) -> CONFIGRET;
CM_Get_Device_Interface_PropertyExW( pszDeviceInterface: LPCWSTR, PropertyKey: *const DEVPROPKEY, PropertyType: *mut DEVPROPTYPE, PropertyBuffer: PBYTE, PropertyBufferSize: PULONG, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1379     pub fn CM_Get_Device_Interface_PropertyExW(
1380         pszDeviceInterface: LPCWSTR,
1381         PropertyKey: *const DEVPROPKEY,
1382         PropertyType: *mut DEVPROPTYPE,
1383         PropertyBuffer: PBYTE,
1384         PropertyBufferSize: PULONG,
1385         ulFlags: ULONG,
1386         hMachine: HMACHINE,
1387     ) -> CONFIGRET;
CM_Get_Log_Conf_Priority( lcLogConf: LOG_CONF, pPriority: PRIORITY, ulFlags: ULONG, ) -> CONFIGRET1388     pub fn CM_Get_Log_Conf_Priority(
1389         lcLogConf: LOG_CONF,
1390         pPriority: PRIORITY,
1391         ulFlags: ULONG,
1392     ) -> CONFIGRET;
CM_Get_Log_Conf_Priority_Ex( lcLogConf: LOG_CONF, pPriority: PRIORITY, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1393     pub fn CM_Get_Log_Conf_Priority_Ex(
1394         lcLogConf: LOG_CONF,
1395         pPriority: PRIORITY,
1396         ulFlags: ULONG,
1397         hMachine: HMACHINE,
1398     ) -> CONFIGRET;
CM_Get_Next_Log_Conf( plcLogConf: PLOG_CONF, lcLogConf: LOG_CONF, ulFlags: ULONG, ) -> CONFIGRET1399     pub fn CM_Get_Next_Log_Conf(
1400         plcLogConf: PLOG_CONF,
1401         lcLogConf: LOG_CONF,
1402         ulFlags: ULONG,
1403     ) -> CONFIGRET;
CM_Get_Next_Log_Conf_Ex( plcLogConf: PLOG_CONF, lcLogConf: LOG_CONF, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1404     pub fn CM_Get_Next_Log_Conf_Ex(
1405         plcLogConf: PLOG_CONF,
1406         lcLogConf: LOG_CONF,
1407         ulFlags: ULONG,
1408         hMachine: HMACHINE,
1409     ) -> CONFIGRET;
CM_Get_Parent( pdnDevInst: PDEVINST, dnDevInst: DEVINST, ulFlags: ULONG, ) -> CONFIGRET1410     pub fn CM_Get_Parent(
1411         pdnDevInst: PDEVINST,
1412         dnDevInst: DEVINST,
1413         ulFlags: ULONG,
1414     ) -> CONFIGRET;
CM_Get_Parent_Ex( pdnDevInst: PDEVINST, dnDevInst: DEVINST, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1415     pub fn CM_Get_Parent_Ex(
1416         pdnDevInst: PDEVINST,
1417         dnDevInst: DEVINST,
1418         ulFlags: ULONG,
1419         hMachine: HMACHINE,
1420     ) -> CONFIGRET;
CM_Get_Res_Des_Data( rdResDes: RES_DES, Buffer: PVOID, BufferLen: ULONG, ulFlags: ULONG, ) -> CONFIGRET1421     pub fn CM_Get_Res_Des_Data(
1422         rdResDes: RES_DES,
1423         Buffer: PVOID,
1424         BufferLen: ULONG,
1425         ulFlags: ULONG,
1426     ) -> CONFIGRET;
CM_Get_Res_Des_Data_Ex( rdResDes: RES_DES, Buffer: PVOID, BufferLen: ULONG, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1427     pub fn CM_Get_Res_Des_Data_Ex(
1428         rdResDes: RES_DES,
1429         Buffer: PVOID,
1430         BufferLen: ULONG,
1431         ulFlags: ULONG,
1432         hMachine: HMACHINE,
1433     ) -> CONFIGRET;
CM_Get_Res_Des_Data_Size( pulSize: PULONG, rdResDes: RES_DES, ulFlags: ULONG, ) -> CONFIGRET1434     pub fn CM_Get_Res_Des_Data_Size(
1435         pulSize: PULONG,
1436         rdResDes: RES_DES,
1437         ulFlags: ULONG,
1438     ) -> CONFIGRET;
CM_Get_Res_Des_Data_Size_Ex( pulSize: PULONG, rdResDes: RES_DES, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1439     pub fn CM_Get_Res_Des_Data_Size_Ex(
1440         pulSize: PULONG,
1441         rdResDes: RES_DES,
1442         ulFlags: ULONG,
1443         hMachine: HMACHINE,
1444     ) -> CONFIGRET;
CM_Get_Sibling( pdnDevInst: PDEVINST, dnDevInst: DEVINST, ulFlags: ULONG, ) -> CONFIGRET1445     pub fn CM_Get_Sibling(
1446         pdnDevInst: PDEVINST,
1447         dnDevInst: DEVINST,
1448         ulFlags: ULONG,
1449     ) -> CONFIGRET;
CM_Get_Sibling_Ex( pdnDevInst: PDEVINST, dnDevInst: DEVINST, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1450     pub fn CM_Get_Sibling_Ex(
1451         pdnDevInst: PDEVINST,
1452         dnDevInst: DEVINST,
1453         ulFlags: ULONG,
1454         hMachine: HMACHINE,
1455     ) -> CONFIGRET;
CM_Get_Version() -> WORD1456     pub fn CM_Get_Version() -> WORD;
CM_Get_Version_Ex( hMachine: HMACHINE, ) -> WORD1457     pub fn CM_Get_Version_Ex(
1458         hMachine: HMACHINE,
1459     ) -> WORD;
CM_Is_Version_Available( wVersion: WORD, ) -> BOOL1460     pub fn CM_Is_Version_Available(
1461         wVersion: WORD,
1462     ) -> BOOL;
CM_Is_Version_Available_Ex( wVersion: WORD, hMachine: HMACHINE, ) -> BOOL1463     pub fn CM_Is_Version_Available_Ex(
1464         wVersion: WORD,
1465         hMachine: HMACHINE,
1466     ) -> BOOL;
CM_Intersect_Range_List( rlhOld1: RANGE_LIST, rlhOld2: RANGE_LIST, rlhNew: RANGE_LIST, ulFlags: ULONG, ) -> CONFIGRET1467     pub fn CM_Intersect_Range_List(
1468         rlhOld1: RANGE_LIST,
1469         rlhOld2: RANGE_LIST,
1470         rlhNew: RANGE_LIST,
1471         ulFlags: ULONG,
1472     ) -> CONFIGRET;
CM_Invert_Range_List( rlhOld: RANGE_LIST, rlhNew: RANGE_LIST, ullMaxValue: DWORDLONG, ulFlags: ULONG, ) -> CONFIGRET1473     pub fn CM_Invert_Range_List(
1474         rlhOld: RANGE_LIST,
1475         rlhNew: RANGE_LIST,
1476         ullMaxValue: DWORDLONG,
1477         ulFlags: ULONG,
1478     ) -> CONFIGRET;
CM_Locate_DevNodeA( pdnDevInst: PDEVINST, pDeviceID: DEVINSTID_A, ulFlags: ULONG, ) -> CONFIGRET1479     pub fn CM_Locate_DevNodeA(
1480         pdnDevInst: PDEVINST,
1481         pDeviceID: DEVINSTID_A,
1482         ulFlags: ULONG,
1483     ) -> CONFIGRET;
CM_Locate_DevNodeW( pdnDevInst: PDEVINST, pDeviceID: DEVINSTID_W, ulFlags: ULONG, ) -> CONFIGRET1484     pub fn CM_Locate_DevNodeW(
1485         pdnDevInst: PDEVINST,
1486         pDeviceID: DEVINSTID_W,
1487         ulFlags: ULONG,
1488     ) -> CONFIGRET;
CM_Locate_DevNode_ExA( pdnDevInst: PDEVINST, pDeviceID: DEVINSTID_A, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1489     pub fn CM_Locate_DevNode_ExA(
1490         pdnDevInst: PDEVINST,
1491         pDeviceID: DEVINSTID_A,
1492         ulFlags: ULONG,
1493         hMachine: HMACHINE,
1494     ) -> CONFIGRET;
CM_Locate_DevNode_ExW( pdnDevInst: PDEVINST, pDeviceID: DEVINSTID_W, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1495     pub fn CM_Locate_DevNode_ExW(
1496         pdnDevInst: PDEVINST,
1497         pDeviceID: DEVINSTID_W,
1498         ulFlags: ULONG,
1499         hMachine: HMACHINE,
1500     ) -> CONFIGRET;
CM_Merge_Range_List( rlhOld1: RANGE_LIST, rlhOld2: RANGE_LIST, rlhNew: RANGE_LIST, ulFlags: ULONG, ) -> CONFIGRET1501     pub fn CM_Merge_Range_List(
1502         rlhOld1: RANGE_LIST,
1503         rlhOld2: RANGE_LIST,
1504         rlhNew: RANGE_LIST,
1505         ulFlags: ULONG,
1506     ) -> CONFIGRET;
CM_Modify_Res_Des( prdResDes: PRES_DES, rdResDes: RES_DES, ResourceID: RESOURCEID, ResourceData: PCVOID, ResourceLen: ULONG, ulFlags: ULONG, ) -> CONFIGRET1507     pub fn CM_Modify_Res_Des(
1508         prdResDes: PRES_DES,
1509         rdResDes: RES_DES,
1510         ResourceID: RESOURCEID,
1511         ResourceData: PCVOID,
1512         ResourceLen: ULONG,
1513         ulFlags: ULONG,
1514     ) -> CONFIGRET;
CM_Modify_Res_Des_Ex( prdResDes: PRES_DES, rdResDes: RES_DES, ResourceID: RESOURCEID, ResourceData: PCVOID, ResourceLen: ULONG, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1515     pub fn CM_Modify_Res_Des_Ex(
1516         prdResDes: PRES_DES,
1517         rdResDes: RES_DES,
1518         ResourceID: RESOURCEID,
1519         ResourceData: PCVOID,
1520         ResourceLen: ULONG,
1521         ulFlags: ULONG,
1522         hMachine: HMACHINE,
1523     ) -> CONFIGRET;
CM_Move_DevNode( dnFromDevInst: DEVINST, dnToDevInst: DEVINST, ulFlags: ULONG, ) -> CONFIGRET1524     pub fn CM_Move_DevNode(
1525         dnFromDevInst: DEVINST,
1526         dnToDevInst: DEVINST,
1527         ulFlags: ULONG,
1528     ) -> CONFIGRET;
CM_Move_DevNode_Ex( dnFromDevInst: DEVINST, dnToDevInst: DEVINST, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1529     pub fn CM_Move_DevNode_Ex(
1530         dnFromDevInst: DEVINST,
1531         dnToDevInst: DEVINST,
1532         ulFlags: ULONG,
1533         hMachine: HMACHINE,
1534     ) -> CONFIGRET;
CM_Next_Range( preElement: PRANGE_LIST, pullStart: PDWORDLONG, pullEnd: PDWORDLONG, ulFlags: ULONG, ) -> CONFIGRET1535     pub fn CM_Next_Range(
1536         preElement: PRANGE_LIST,
1537         pullStart: PDWORDLONG,
1538         pullEnd: PDWORDLONG,
1539         ulFlags: ULONG,
1540     ) -> CONFIGRET;
CM_Get_Next_Res_Des( prdResDes: PRES_DES, rdResDes: RES_DES, ForResource: RESOURCEID, pResourceID: PRESOURCEID, ulFlags: ULONG, ) -> CONFIGRET1541     pub fn CM_Get_Next_Res_Des(
1542         prdResDes: PRES_DES,
1543         rdResDes: RES_DES,
1544         ForResource: RESOURCEID,
1545         pResourceID: PRESOURCEID,
1546         ulFlags: ULONG,
1547     ) -> CONFIGRET;
CM_Get_Next_Res_Des_Ex( prdResDes: PRES_DES, rdResDes: RES_DES, ForResource: RESOURCEID, pResourceID: PRESOURCEID, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1548     pub fn CM_Get_Next_Res_Des_Ex(
1549         prdResDes: PRES_DES,
1550         rdResDes: RES_DES,
1551         ForResource: RESOURCEID,
1552         pResourceID: PRESOURCEID,
1553         ulFlags: ULONG,
1554         hMachine: HMACHINE,
1555     ) -> CONFIGRET;
CM_Open_Class_KeyA( ClassGuid: LPGUID, pszClassName: LPCSTR, samDesired: REGSAM, Disposition: REGDISPOSITION, phkClass: PHKEY, ulFlags: ULONG, ) -> CONFIGRET1556     pub fn CM_Open_Class_KeyA(
1557         ClassGuid: LPGUID,
1558         pszClassName: LPCSTR,
1559         samDesired: REGSAM,
1560         Disposition: REGDISPOSITION,
1561         phkClass: PHKEY,
1562         ulFlags: ULONG,
1563     ) -> CONFIGRET;
CM_Open_Class_KeyW( ClassGuid: LPGUID, pszClassName: LPCWSTR, samDesired: REGSAM, Disposition: REGDISPOSITION, phkClass: PHKEY, ulFlags: ULONG, ) -> CONFIGRET1564     pub fn CM_Open_Class_KeyW(
1565         ClassGuid: LPGUID,
1566         pszClassName: LPCWSTR,
1567         samDesired: REGSAM,
1568         Disposition: REGDISPOSITION,
1569         phkClass: PHKEY,
1570         ulFlags: ULONG,
1571     ) -> CONFIGRET;
CM_Open_Class_Key_ExA( ClassGuid: LPGUID, pszClassName: LPCSTR, samDesired: REGSAM, Disposition: REGDISPOSITION, phkClass: PHKEY, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1572     pub fn CM_Open_Class_Key_ExA(
1573         ClassGuid: LPGUID,
1574         pszClassName: LPCSTR,
1575         samDesired: REGSAM,
1576         Disposition: REGDISPOSITION,
1577         phkClass: PHKEY,
1578         ulFlags: ULONG,
1579         hMachine: HMACHINE,
1580     ) -> CONFIGRET;
CM_Open_Class_Key_ExW( ClassGuid: LPGUID, pszClassName: LPCWSTR, samDesired: REGSAM, Disposition: REGDISPOSITION, phkClass: PHKEY, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1581     pub fn CM_Open_Class_Key_ExW(
1582         ClassGuid: LPGUID,
1583         pszClassName: LPCWSTR,
1584         samDesired: REGSAM,
1585         Disposition: REGDISPOSITION,
1586         phkClass: PHKEY,
1587         ulFlags: ULONG,
1588         hMachine: HMACHINE,
1589     ) -> CONFIGRET;
CM_Open_DevNode_Key( dnDevNode: DEVINST, samDesired: REGSAM, ulHardwareProfile: ULONG, Disposition: REGDISPOSITION, phkDevice: PHKEY, ulFlags: ULONG, ) -> CONFIGRET1590     pub fn CM_Open_DevNode_Key(
1591         dnDevNode: DEVINST,
1592         samDesired: REGSAM,
1593         ulHardwareProfile: ULONG,
1594         Disposition: REGDISPOSITION,
1595         phkDevice: PHKEY,
1596         ulFlags: ULONG,
1597     ) -> CONFIGRET;
CM_Open_DevNode_Key_Ex( dnDevNode: DEVINST, samDesired: REGSAM, ulHardwareProfile: ULONG, Disposition: REGDISPOSITION, phkDevice: PHKEY, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1598     pub fn CM_Open_DevNode_Key_Ex(
1599         dnDevNode: DEVINST,
1600         samDesired: REGSAM,
1601         ulHardwareProfile: ULONG,
1602         Disposition: REGDISPOSITION,
1603         phkDevice: PHKEY,
1604         ulFlags: ULONG,
1605         hMachine: HMACHINE,
1606     ) -> CONFIGRET;
CM_Open_Device_Interface_KeyA( pszDeviceInterface: LPCSTR, samDesired: REGSAM, Disposition: REGDISPOSITION, phkDeviceInterface: PHKEY, ulFlags: ULONG, ) -> CONFIGRET1607     pub fn CM_Open_Device_Interface_KeyA(
1608         pszDeviceInterface: LPCSTR,
1609         samDesired: REGSAM,
1610         Disposition: REGDISPOSITION,
1611         phkDeviceInterface: PHKEY,
1612         ulFlags: ULONG,
1613     ) -> CONFIGRET;
CM_Open_Device_Interface_KeyW( pszDeviceInterface: LPCWSTR, samDesired: REGSAM, Disposition: REGDISPOSITION, phkDeviceInterface: PHKEY, ulFlags: ULONG, ) -> CONFIGRET1614     pub fn CM_Open_Device_Interface_KeyW(
1615         pszDeviceInterface: LPCWSTR,
1616         samDesired: REGSAM,
1617         Disposition: REGDISPOSITION,
1618         phkDeviceInterface: PHKEY,
1619         ulFlags: ULONG,
1620     ) -> CONFIGRET;
CM_Open_Device_Interface_Key_ExA( pszDeviceInterface: LPCSTR, samDesired: REGSAM, Disposition: REGDISPOSITION, phkDeviceInterface: PHKEY, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1621     pub fn CM_Open_Device_Interface_Key_ExA(
1622         pszDeviceInterface: LPCSTR,
1623         samDesired: REGSAM,
1624         Disposition: REGDISPOSITION,
1625         phkDeviceInterface: PHKEY,
1626         ulFlags: ULONG,
1627         hMachine: HMACHINE,
1628     ) -> CONFIGRET;
CM_Open_Device_Interface_Key_ExW( pszDeviceInterface: LPCWSTR, samDesired: REGSAM, Disposition: REGDISPOSITION, phkDeviceInterface: PHKEY, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1629     pub fn CM_Open_Device_Interface_Key_ExW(
1630         pszDeviceInterface: LPCWSTR,
1631         samDesired: REGSAM,
1632         Disposition: REGDISPOSITION,
1633         phkDeviceInterface: PHKEY,
1634         ulFlags: ULONG,
1635         hMachine: HMACHINE,
1636     ) -> CONFIGRET;
CM_Delete_Device_Interface_KeyA( pszDeviceInterface: LPCSTR, ulFlags: ULONG, ) -> CONFIGRET1637     pub fn CM_Delete_Device_Interface_KeyA(
1638         pszDeviceInterface: LPCSTR,
1639         ulFlags: ULONG,
1640     ) -> CONFIGRET;
CM_Delete_Device_Interface_KeyW( pszDeviceInterface: LPCWSTR, ulFlags: ULONG, ) -> CONFIGRET1641     pub fn CM_Delete_Device_Interface_KeyW(
1642         pszDeviceInterface: LPCWSTR,
1643         ulFlags: ULONG,
1644     ) -> CONFIGRET;
CM_Delete_Device_Interface_Key_ExA( pszDeviceInterface: LPCSTR, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1645     pub fn CM_Delete_Device_Interface_Key_ExA(
1646         pszDeviceInterface: LPCSTR,
1647         ulFlags: ULONG,
1648         hMachine: HMACHINE,
1649     ) -> CONFIGRET;
CM_Delete_Device_Interface_Key_ExW( pszDeviceInterface: LPCWSTR, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1650     pub fn CM_Delete_Device_Interface_Key_ExW(
1651         pszDeviceInterface: LPCWSTR,
1652         ulFlags: ULONG,
1653         hMachine: HMACHINE,
1654     ) -> CONFIGRET;
CM_Query_Arbitrator_Free_Data( pData: PVOID, DataLen: ULONG, dnDevInst: DEVINST, ResourceID: RESOURCEID, ulFlags: ULONG, ) -> CONFIGRET1655     pub fn CM_Query_Arbitrator_Free_Data(
1656         pData: PVOID,
1657         DataLen: ULONG,
1658         dnDevInst: DEVINST,
1659         ResourceID: RESOURCEID,
1660         ulFlags: ULONG,
1661     ) -> CONFIGRET;
CM_Query_Arbitrator_Free_Data_Ex( pData: PVOID, DataLen: ULONG, dnDevInst: DEVINST, ResourceID: RESOURCEID, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1662     pub fn CM_Query_Arbitrator_Free_Data_Ex(
1663         pData: PVOID,
1664         DataLen: ULONG,
1665         dnDevInst: DEVINST,
1666         ResourceID: RESOURCEID,
1667         ulFlags: ULONG,
1668         hMachine: HMACHINE,
1669     ) -> CONFIGRET;
CM_Query_Arbitrator_Free_Size( pulSize: PULONG, dnDevInst: DEVINST, ResourceID: RESOURCEID, ulFlags: ULONG, ) -> CONFIGRET1670     pub fn CM_Query_Arbitrator_Free_Size(
1671         pulSize: PULONG,
1672         dnDevInst: DEVINST,
1673         ResourceID: RESOURCEID,
1674         ulFlags: ULONG,
1675     ) -> CONFIGRET;
CM_Query_Arbitrator_Free_Size_Ex( pulSize: PULONG, dnDevInst: DEVINST, ResourceID: RESOURCEID, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1676     pub fn CM_Query_Arbitrator_Free_Size_Ex(
1677         pulSize: PULONG,
1678         dnDevInst: DEVINST,
1679         ResourceID: RESOURCEID,
1680         ulFlags: ULONG,
1681         hMachine: HMACHINE,
1682     ) -> CONFIGRET;
CM_Query_Remove_SubTree( dnAncestor: DEVINST, ulFlags: ULONG, ) -> CONFIGRET1683     pub fn CM_Query_Remove_SubTree(
1684         dnAncestor: DEVINST,
1685         ulFlags: ULONG,
1686     ) -> CONFIGRET;
CM_Query_Remove_SubTree_Ex( dnAncestor: DEVINST, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1687     pub fn CM_Query_Remove_SubTree_Ex(
1688         dnAncestor: DEVINST,
1689         ulFlags: ULONG,
1690         hMachine: HMACHINE,
1691     ) -> CONFIGRET;
CM_Query_And_Remove_SubTreeA( dnAncestor: DEVINST, pVetoType: PPNP_VETO_TYPE, pszVetoName: LPSTR, ulNameLength: ULONG, ulFlags: ULONG, ) -> CONFIGRET1692     pub fn CM_Query_And_Remove_SubTreeA(
1693         dnAncestor: DEVINST,
1694         pVetoType: PPNP_VETO_TYPE,
1695         pszVetoName: LPSTR,
1696         ulNameLength: ULONG,
1697         ulFlags: ULONG,
1698     ) -> CONFIGRET;
CM_Query_And_Remove_SubTree_ExA( dnAncestor: DEVINST, pVetoType: PPNP_VETO_TYPE, pszVetoName: LPSTR, ulNameLength: ULONG, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1699     pub fn CM_Query_And_Remove_SubTree_ExA(
1700         dnAncestor: DEVINST,
1701         pVetoType: PPNP_VETO_TYPE,
1702         pszVetoName: LPSTR,
1703         ulNameLength: ULONG,
1704         ulFlags: ULONG,
1705         hMachine: HMACHINE,
1706     ) -> CONFIGRET;
CM_Query_And_Remove_SubTreeW( dnAncestor: DEVINST, pVetoType: PPNP_VETO_TYPE, pszVetoName: LPWSTR, ulNameLength: ULONG, ulFlags: ULONG, ) -> CONFIGRET1707     pub fn CM_Query_And_Remove_SubTreeW(
1708         dnAncestor: DEVINST,
1709         pVetoType: PPNP_VETO_TYPE,
1710         pszVetoName: LPWSTR,
1711         ulNameLength: ULONG,
1712         ulFlags: ULONG,
1713     ) -> CONFIGRET;
CM_Query_And_Remove_SubTree_ExW( dnAncestor: DEVINST, pVetoType: PPNP_VETO_TYPE, pszVetoName: LPWSTR, ulNameLength: ULONG, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1714     pub fn CM_Query_And_Remove_SubTree_ExW(
1715         dnAncestor: DEVINST,
1716         pVetoType: PPNP_VETO_TYPE,
1717         pszVetoName: LPWSTR,
1718         ulNameLength: ULONG,
1719         ulFlags: ULONG,
1720         hMachine: HMACHINE,
1721     ) -> CONFIGRET;
CM_Request_Device_EjectA( dnDevInst: DEVINST, pVetoType: PPNP_VETO_TYPE, pszVetoName: LPSTR, ulNameLength: ULONG, ulFlags: ULONG, ) -> CONFIGRET1722     pub fn CM_Request_Device_EjectA(
1723         dnDevInst: DEVINST,
1724         pVetoType: PPNP_VETO_TYPE,
1725         pszVetoName: LPSTR,
1726         ulNameLength: ULONG,
1727         ulFlags: ULONG,
1728     ) -> CONFIGRET;
CM_Request_Device_Eject_ExA( dnDevInst: DEVINST, pVetoType: PPNP_VETO_TYPE, pszVetoName: LPSTR, ulNameLength: ULONG, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1729     pub fn CM_Request_Device_Eject_ExA(
1730         dnDevInst: DEVINST,
1731         pVetoType: PPNP_VETO_TYPE,
1732         pszVetoName: LPSTR,
1733         ulNameLength: ULONG,
1734         ulFlags: ULONG,
1735         hMachine: HMACHINE,
1736     ) -> CONFIGRET;
CM_Request_Device_EjectW( dnDevInst: DEVINST, pVetoType: PPNP_VETO_TYPE, pszVetoName: LPWSTR, ulNameLength: ULONG, ulFlags: ULONG, ) -> CONFIGRET1737     pub fn CM_Request_Device_EjectW(
1738         dnDevInst: DEVINST,
1739         pVetoType: PPNP_VETO_TYPE,
1740         pszVetoName: LPWSTR,
1741         ulNameLength: ULONG,
1742         ulFlags: ULONG,
1743     ) -> CONFIGRET;
CM_Request_Device_Eject_ExW( dnDevInst: DEVINST, pVetoType: PPNP_VETO_TYPE, pszVetoName: LPWSTR, ulNameLength: ULONG, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1744     pub fn CM_Request_Device_Eject_ExW(
1745         dnDevInst: DEVINST,
1746         pVetoType: PPNP_VETO_TYPE,
1747         pszVetoName: LPWSTR,
1748         ulNameLength: ULONG,
1749         ulFlags: ULONG,
1750         hMachine: HMACHINE,
1751     ) -> CONFIGRET;
CM_Reenumerate_DevNode( dnDevInst: DEVINST, ulFlags: ULONG, ) -> CONFIGRET1752     pub fn CM_Reenumerate_DevNode(
1753         dnDevInst: DEVINST,
1754         ulFlags: ULONG,
1755     ) -> CONFIGRET;
CM_Reenumerate_DevNode_Ex( dnDevInst: DEVINST, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1756     pub fn CM_Reenumerate_DevNode_Ex(
1757         dnDevInst: DEVINST,
1758         ulFlags: ULONG,
1759         hMachine: HMACHINE,
1760     ) -> CONFIGRET;
CM_Register_Device_InterfaceA( dnDevInst: DEVINST, InterfaceClassGuid: LPGUID, pszReference: LPCSTR, pszDeviceInterface: LPSTR, pulLength: PULONG, ulFlags: ULONG, ) -> CONFIGRET1761     pub fn CM_Register_Device_InterfaceA(
1762         dnDevInst: DEVINST,
1763         InterfaceClassGuid: LPGUID,
1764         pszReference: LPCSTR,
1765         pszDeviceInterface: LPSTR,
1766         pulLength: PULONG,
1767         ulFlags: ULONG,
1768     ) -> CONFIGRET;
CM_Register_Device_InterfaceW( dnDevInst: DEVINST, InterfaceClassGuid: LPGUID, pszReference: LPCWSTR, pszDeviceInterface: LPWSTR, pulLength: PULONG, ulFlags: ULONG, ) -> CONFIGRET1769     pub fn CM_Register_Device_InterfaceW(
1770         dnDevInst: DEVINST,
1771         InterfaceClassGuid: LPGUID,
1772         pszReference: LPCWSTR,
1773         pszDeviceInterface: LPWSTR,
1774         pulLength: PULONG,
1775         ulFlags: ULONG,
1776     ) -> CONFIGRET;
CM_Register_Device_Interface_ExA( dnDevInst: DEVINST, InterfaceClassGuid: LPGUID, pszReference: LPCSTR, pszDeviceInterface: LPSTR, pulLength: PULONG, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1777     pub fn CM_Register_Device_Interface_ExA(
1778         dnDevInst: DEVINST,
1779         InterfaceClassGuid: LPGUID,
1780         pszReference: LPCSTR,
1781         pszDeviceInterface: LPSTR,
1782         pulLength: PULONG,
1783         ulFlags: ULONG,
1784         hMachine: HMACHINE,
1785     ) -> CONFIGRET;
CM_Register_Device_Interface_ExW( dnDevInst: DEVINST, InterfaceClassGuid: LPGUID, pszReference: LPCWSTR, pszDeviceInterface: LPWSTR, pulLength: PULONG, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1786     pub fn CM_Register_Device_Interface_ExW(
1787         dnDevInst: DEVINST,
1788         InterfaceClassGuid: LPGUID,
1789         pszReference: LPCWSTR,
1790         pszDeviceInterface: LPWSTR,
1791         pulLength: PULONG,
1792         ulFlags: ULONG,
1793         hMachine: HMACHINE,
1794     ) -> CONFIGRET;
CM_Set_DevNode_Problem_Ex( dnDevInst: DEVINST, ulProblem: ULONG, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1795     pub fn CM_Set_DevNode_Problem_Ex(
1796         dnDevInst: DEVINST,
1797         ulProblem: ULONG,
1798         ulFlags: ULONG,
1799         hMachine: HMACHINE,
1800     ) -> CONFIGRET;
CM_Set_DevNode_Problem( dnDevInst: DEVINST, ulProblem: ULONG, ulFlags: ULONG, ) -> CONFIGRET1801     pub fn CM_Set_DevNode_Problem(
1802         dnDevInst: DEVINST,
1803         ulProblem: ULONG,
1804         ulFlags: ULONG,
1805     ) -> CONFIGRET;
CM_Unregister_Device_InterfaceA( pszDeviceInterface: LPCSTR, ulFlags: ULONG, ) -> CONFIGRET1806     pub fn CM_Unregister_Device_InterfaceA(
1807         pszDeviceInterface: LPCSTR,
1808         ulFlags: ULONG,
1809     ) -> CONFIGRET;
CM_Unregister_Device_InterfaceW( pszDeviceInterface: LPCWSTR, ulFlags: ULONG, ) -> CONFIGRET1810     pub fn CM_Unregister_Device_InterfaceW(
1811         pszDeviceInterface: LPCWSTR,
1812         ulFlags: ULONG,
1813     ) -> CONFIGRET;
CM_Unregister_Device_Interface_ExA( pszDeviceInterface: LPCSTR, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1814     pub fn CM_Unregister_Device_Interface_ExA(
1815         pszDeviceInterface: LPCSTR,
1816         ulFlags: ULONG,
1817         hMachine: HMACHINE,
1818     ) -> CONFIGRET;
CM_Unregister_Device_Interface_ExW( pszDeviceInterface: LPCWSTR, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1819     pub fn CM_Unregister_Device_Interface_ExW(
1820         pszDeviceInterface: LPCWSTR,
1821         ulFlags: ULONG,
1822         hMachine: HMACHINE,
1823     ) -> CONFIGRET;
CM_Register_Device_Driver( dnDevInst: DEVINST, ulFlags: ULONG, ) -> CONFIGRET1824     pub fn CM_Register_Device_Driver(
1825         dnDevInst: DEVINST,
1826         ulFlags: ULONG,
1827     ) -> CONFIGRET;
CM_Register_Device_Driver_Ex( dnDevInst: DEVINST, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1828     pub fn CM_Register_Device_Driver_Ex(
1829         dnDevInst: DEVINST,
1830         ulFlags: ULONG,
1831         hMachine: HMACHINE,
1832     ) -> CONFIGRET;
CM_Remove_SubTree( dnAncestor: DEVINST, ulFlags: ULONG, ) -> CONFIGRET1833     pub fn CM_Remove_SubTree(
1834         dnAncestor: DEVINST,
1835         ulFlags: ULONG,
1836     ) -> CONFIGRET;
CM_Remove_SubTree_Ex( dnAncestor: DEVINST, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1837     pub fn CM_Remove_SubTree_Ex(
1838         dnAncestor: DEVINST,
1839         ulFlags: ULONG,
1840         hMachine: HMACHINE,
1841     ) -> CONFIGRET;
CM_Set_DevNode_Registry_PropertyA( dnDevInst: DEVINST, ulProperty: ULONG, Buffer: PCVOID, ulLength: ULONG, ulFlags: ULONG, ) -> CONFIGRET1842     pub fn CM_Set_DevNode_Registry_PropertyA(
1843         dnDevInst: DEVINST,
1844         ulProperty: ULONG,
1845         Buffer: PCVOID,
1846         ulLength: ULONG,
1847         ulFlags: ULONG,
1848     ) -> CONFIGRET;
CM_Set_DevNode_Registry_PropertyW( dnDevInst: DEVINST, ulProperty: ULONG, Buffer: PCVOID, ulLength: ULONG, ulFlags: ULONG, ) -> CONFIGRET1849     pub fn CM_Set_DevNode_Registry_PropertyW(
1850         dnDevInst: DEVINST,
1851         ulProperty: ULONG,
1852         Buffer: PCVOID,
1853         ulLength: ULONG,
1854         ulFlags: ULONG,
1855     ) -> CONFIGRET;
CM_Set_DevNode_Registry_Property_ExA( dnDevInst: DEVINST, ulProperty: ULONG, Buffer: PCVOID, ulLength: ULONG, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1856     pub fn CM_Set_DevNode_Registry_Property_ExA(
1857         dnDevInst: DEVINST,
1858         ulProperty: ULONG,
1859         Buffer: PCVOID,
1860         ulLength: ULONG,
1861         ulFlags: ULONG,
1862         hMachine: HMACHINE,
1863     ) -> CONFIGRET;
CM_Set_DevNode_Registry_Property_ExW( dnDevInst: DEVINST, ulProperty: ULONG, Buffer: PCVOID, ulLength: ULONG, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1864     pub fn CM_Set_DevNode_Registry_Property_ExW(
1865         dnDevInst: DEVINST,
1866         ulProperty: ULONG,
1867         Buffer: PCVOID,
1868         ulLength: ULONG,
1869         ulFlags: ULONG,
1870         hMachine: HMACHINE,
1871     ) -> CONFIGRET;
CM_Is_Dock_Station_Present( pbPresent: PBOOL, ) -> CONFIGRET1872     pub fn CM_Is_Dock_Station_Present(
1873         pbPresent: PBOOL,
1874     ) -> CONFIGRET;
CM_Is_Dock_Station_Present_Ex( pbPresent: PBOOL, hMachine: HMACHINE, ) -> CONFIGRET1875     pub fn CM_Is_Dock_Station_Present_Ex(
1876         pbPresent: PBOOL,
1877         hMachine: HMACHINE,
1878     ) -> CONFIGRET;
CM_Request_Eject_PC() -> CONFIGRET1879     pub fn CM_Request_Eject_PC() -> CONFIGRET;
CM_Request_Eject_PC_Ex( hMachine: HMACHINE, ) -> CONFIGRET1880     pub fn CM_Request_Eject_PC_Ex(
1881         hMachine: HMACHINE,
1882     ) -> CONFIGRET;
CM_Set_HW_Prof_FlagsA( pDeviceID: DEVINSTID_A, ulConfig: ULONG, ulValue: ULONG, ulFlags: ULONG, ) -> CONFIGRET1883     pub fn CM_Set_HW_Prof_FlagsA(
1884         pDeviceID: DEVINSTID_A,
1885         ulConfig: ULONG,
1886         ulValue: ULONG,
1887         ulFlags: ULONG,
1888     ) -> CONFIGRET;
CM_Set_HW_Prof_FlagsW( pDeviceID: DEVINSTID_W, ulConfig: ULONG, ulValue: ULONG, ulFlags: ULONG, ) -> CONFIGRET1889     pub fn CM_Set_HW_Prof_FlagsW(
1890         pDeviceID: DEVINSTID_W,
1891         ulConfig: ULONG,
1892         ulValue: ULONG,
1893         ulFlags: ULONG,
1894     ) -> CONFIGRET;
CM_Set_HW_Prof_Flags_ExA( pDeviceID: DEVINSTID_A, ulConfig: ULONG, ulValue: ULONG, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1895     pub fn CM_Set_HW_Prof_Flags_ExA(
1896         pDeviceID: DEVINSTID_A,
1897         ulConfig: ULONG,
1898         ulValue: ULONG,
1899         ulFlags: ULONG,
1900         hMachine: HMACHINE,
1901     ) -> CONFIGRET;
CM_Set_HW_Prof_Flags_ExW( pDeviceID: DEVINSTID_A, ulConfig: ULONG, ulValue: ULONG, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1902     pub fn CM_Set_HW_Prof_Flags_ExW(
1903         pDeviceID: DEVINSTID_A,
1904         ulConfig: ULONG,
1905         ulValue: ULONG,
1906         ulFlags: ULONG,
1907         hMachine: HMACHINE,
1908     ) -> CONFIGRET;
CM_Setup_DevNode( dnDevInst: DEVINST, ulFlags: ULONG, ) -> CONFIGRET1909     pub fn CM_Setup_DevNode(
1910         dnDevInst: DEVINST,
1911         ulFlags: ULONG,
1912     ) -> CONFIGRET;
CM_Setup_DevNode_Ex( dnDevInst: DEVINST, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1913     pub fn CM_Setup_DevNode_Ex(
1914         dnDevInst: DEVINST,
1915         ulFlags: ULONG,
1916         hMachine: HMACHINE,
1917     ) -> CONFIGRET;
CM_Test_Range_Available( ullStartValue: DWORDLONG, ullEndValue: DWORDLONG, rlh: RANGE_LIST, ulFlags: ULONG, ) -> CONFIGRET1918     pub fn CM_Test_Range_Available(
1919         ullStartValue: DWORDLONG,
1920         ullEndValue: DWORDLONG,
1921         rlh: RANGE_LIST,
1922         ulFlags: ULONG,
1923     ) -> CONFIGRET;
CM_Uninstall_DevNode( dnDevInst: DEVNODE, ulFlags: ULONG, ) -> CONFIGRET1924     pub fn CM_Uninstall_DevNode(
1925         dnDevInst: DEVNODE,
1926         ulFlags: ULONG,
1927     ) -> CONFIGRET;
CM_Uninstall_DevNode_Ex( dnDevInst: DEVNODE, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1928     pub fn CM_Uninstall_DevNode_Ex(
1929         dnDevInst: DEVNODE,
1930         ulFlags: ULONG,
1931         hMachine: HMACHINE,
1932     ) -> CONFIGRET;
CM_Run_Detection( ulFlags: ULONG, ) -> CONFIGRET1933     pub fn CM_Run_Detection(
1934         ulFlags: ULONG,
1935     ) -> CONFIGRET;
CM_Run_Detection_Ex( ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1936     pub fn CM_Run_Detection_Ex(
1937         ulFlags: ULONG,
1938         hMachine: HMACHINE,
1939     ) -> CONFIGRET;
CM_Set_HW_Prof( ulHardwareProfile: ULONG, ulFlags: ULONG, ) -> CONFIGRET1940     pub fn CM_Set_HW_Prof(
1941         ulHardwareProfile: ULONG,
1942         ulFlags: ULONG,
1943     ) -> CONFIGRET;
CM_Set_HW_Prof_Ex( ulHardwareProfile: ULONG, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1944     pub fn CM_Set_HW_Prof_Ex(
1945         ulHardwareProfile: ULONG,
1946         ulFlags: ULONG,
1947         hMachine: HMACHINE,
1948     ) -> CONFIGRET;
CM_Query_Resource_Conflict_List( pclConflictList: PCONFLICT_LIST, dnDevInst: DEVINST, ResourceID: RESOURCEID, ResourceData: PCVOID, ResourceLen: ULONG, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1949     pub fn CM_Query_Resource_Conflict_List(
1950         pclConflictList: PCONFLICT_LIST,
1951         dnDevInst: DEVINST,
1952         ResourceID: RESOURCEID,
1953         ResourceData: PCVOID,
1954         ResourceLen: ULONG,
1955         ulFlags: ULONG,
1956         hMachine: HMACHINE,
1957     ) -> CONFIGRET;
CM_Free_Resource_Conflict_Handle( clConflictList: CONFLICT_LIST, ) -> CONFIGRET1958     pub fn CM_Free_Resource_Conflict_Handle(
1959         clConflictList: CONFLICT_LIST,
1960     ) -> CONFIGRET;
CM_Get_Resource_Conflict_Count( clConflictList: CONFLICT_LIST, pulCount: PULONG, ) -> CONFIGRET1961     pub fn CM_Get_Resource_Conflict_Count(
1962         clConflictList: CONFLICT_LIST,
1963         pulCount: PULONG,
1964     ) -> CONFIGRET;
CM_Get_Resource_Conflict_DetailsA( clConflictList: CONFLICT_LIST, ulIndex: ULONG, pConflictDetails: PCONFLICT_DETAILS_A, ) -> CONFIGRET1965     pub fn CM_Get_Resource_Conflict_DetailsA(
1966         clConflictList: CONFLICT_LIST,
1967         ulIndex: ULONG,
1968         pConflictDetails: PCONFLICT_DETAILS_A,
1969     ) -> CONFIGRET;
CM_Get_Resource_Conflict_DetailsW( clConflictList: CONFLICT_LIST, ulIndex: ULONG, pConflictDetails: PCONFLICT_DETAILS_W, ) -> CONFIGRET1970     pub fn CM_Get_Resource_Conflict_DetailsW(
1971         clConflictList: CONFLICT_LIST,
1972         ulIndex: ULONG,
1973         pConflictDetails: PCONFLICT_DETAILS_W,
1974     ) -> CONFIGRET;
CM_Get_Class_Registry_PropertyW( ClassGuid: LPGUID, ulProperty: ULONG, pulRegDataType: PULONG, Buffer: PVOID, pulLength: PULONG, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1975     pub fn CM_Get_Class_Registry_PropertyW(
1976         ClassGuid: LPGUID,
1977         ulProperty: ULONG,
1978         pulRegDataType: PULONG,
1979         Buffer: PVOID,
1980         pulLength: PULONG,
1981         ulFlags: ULONG,
1982         hMachine: HMACHINE,
1983     ) -> CONFIGRET;
CM_Set_Class_Registry_PropertyW( ClassGuid: LPGUID, ulProperty: ULONG, Buffer: PCVOID, ulLength: ULONG, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1984     pub fn CM_Set_Class_Registry_PropertyW(
1985         ClassGuid: LPGUID,
1986         ulProperty: ULONG,
1987         Buffer: PCVOID,
1988         ulLength: ULONG,
1989         ulFlags: ULONG,
1990         hMachine: HMACHINE,
1991     ) -> CONFIGRET;
CM_Get_Class_Registry_PropertyA( ClassGuid: LPGUID, ulProperty: ULONG, pulRegDataType: PULONG, Buffer: PVOID, pulLength: PULONG, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET1992     pub fn CM_Get_Class_Registry_PropertyA(
1993         ClassGuid: LPGUID,
1994         ulProperty: ULONG,
1995         pulRegDataType: PULONG,
1996         Buffer: PVOID,
1997         pulLength: PULONG,
1998         ulFlags: ULONG,
1999         hMachine: HMACHINE,
2000     ) -> CONFIGRET;
CM_Set_Class_Registry_PropertyA( ClassGuid: LPGUID, ulProperty: ULONG, Buffer: PCVOID, ulLength: ULONG, ulFlags: ULONG, hMachine: HMACHINE, ) -> CONFIGRET2001     pub fn CM_Set_Class_Registry_PropertyA(
2002         ClassGuid: LPGUID,
2003         ulProperty: ULONG,
2004         Buffer: PCVOID,
2005         ulLength: ULONG,
2006         ulFlags: ULONG,
2007         hMachine: HMACHINE,
2008     ) -> CONFIGRET;
CMP_WaitNoPendingInstallEvents( dwTimeout: DWORD, ) -> DWORD2009     pub fn CMP_WaitNoPendingInstallEvents(
2010         dwTimeout: DWORD,
2011     ) -> DWORD;
2012 }
2013 pub const CR_SUCCESS: CONFIGRET = 0x00000000;
2014 pub const CR_DEFAULT: CONFIGRET = 0x00000001;
2015 pub const CR_OUT_OF_MEMORY: CONFIGRET = 0x00000002;
2016 pub const CR_INVALID_POINTER: CONFIGRET = 0x00000003;
2017 pub const CR_INVALID_FLAG: CONFIGRET = 0x00000004;
2018 pub const CR_INVALID_DEVNODE: CONFIGRET = 0x00000005;
2019 pub const CR_INVALID_DEVINST: CONFIGRET = CR_INVALID_DEVNODE;
2020 pub const CR_INVALID_RES_DES: CONFIGRET = 0x00000006;
2021 pub const CR_INVALID_LOG_CONF: CONFIGRET = 0x00000007;
2022 pub const CR_INVALID_ARBITRATOR: CONFIGRET = 0x00000008;
2023 pub const CR_INVALID_NODELIST: CONFIGRET = 0x00000009;
2024 pub const CR_DEVNODE_HAS_REQS: CONFIGRET = 0x0000000A;
2025 pub const CR_DEVINST_HAS_REQS: CONFIGRET = CR_DEVNODE_HAS_REQS;
2026 pub const CR_INVALID_RESOURCEID: CONFIGRET = 0x0000000B;
2027 pub const CR_DLVXD_NOT_FOUND: CONFIGRET = 0x0000000C;
2028 pub const CR_NO_SUCH_DEVNODE: CONFIGRET = 0x0000000D;
2029 pub const CR_NO_SUCH_DEVINST: CONFIGRET = CR_NO_SUCH_DEVNODE;
2030 pub const CR_NO_MORE_LOG_CONF: CONFIGRET = 0x0000000E;
2031 pub const CR_NO_MORE_RES_DES: CONFIGRET = 0x0000000F;
2032 pub const CR_ALREADY_SUCH_DEVNODE: CONFIGRET = 0x00000010;
2033 pub const CR_ALREADY_SUCH_DEVINST: CONFIGRET = CR_ALREADY_SUCH_DEVNODE;
2034 pub const CR_INVALID_RANGE_LIST: CONFIGRET = 0x00000011;
2035 pub const CR_INVALID_RANGE: CONFIGRET = 0x00000012;
2036 pub const CR_FAILURE: CONFIGRET = 0x00000013;
2037 pub const CR_NO_SUCH_LOGICAL_DEV: CONFIGRET = 0x00000014;
2038 pub const CR_CREATE_BLOCKED: CONFIGRET = 0x00000015;
2039 pub const CR_NOT_SYSTEM_VM: CONFIGRET = 0x00000016;
2040 pub const CR_REMOVE_VETOED: CONFIGRET = 0x00000017;
2041 pub const CR_APM_VETOED: CONFIGRET = 0x00000018;
2042 pub const CR_INVALID_LOAD_TYPE: CONFIGRET = 0x00000019;
2043 pub const CR_BUFFER_SMALL: CONFIGRET = 0x0000001A;
2044 pub const CR_NO_ARBITRATOR: CONFIGRET = 0x0000001B;
2045 pub const CR_NO_REGISTRY_HANDLE: CONFIGRET = 0x0000001C;
2046 pub const CR_REGISTRY_ERROR: CONFIGRET = 0x0000001D;
2047 pub const CR_INVALID_DEVICE_ID: CONFIGRET = 0x0000001E;
2048 pub const CR_INVALID_DATA: CONFIGRET = 0x0000001F;
2049 pub const CR_INVALID_API: CONFIGRET = 0x00000020;
2050 pub const CR_DEVLOADER_NOT_READY: CONFIGRET = 0x00000021;
2051 pub const CR_NEED_RESTART: CONFIGRET = 0x00000022;
2052 pub const CR_NO_MORE_HW_PROFILES: CONFIGRET = 0x00000023;
2053 pub const CR_DEVICE_NOT_THERE: CONFIGRET = 0x00000024;
2054 pub const CR_NO_SUCH_VALUE: CONFIGRET = 0x00000025;
2055 pub const CR_WRONG_TYPE: CONFIGRET = 0x00000026;
2056 pub const CR_INVALID_PRIORITY: CONFIGRET = 0x00000027;
2057 pub const CR_NOT_DISABLEABLE: CONFIGRET = 0x00000028;
2058 pub const CR_FREE_RESOURCES: CONFIGRET = 0x00000029;
2059 pub const CR_QUERY_VETOED: CONFIGRET = 0x0000002A;
2060 pub const CR_CANT_SHARE_IRQ: CONFIGRET = 0x0000002B;
2061 pub const CR_NO_DEPENDENT: CONFIGRET = 0x0000002C;
2062 pub const CR_SAME_RESOURCES: CONFIGRET = 0x0000002D;
2063 pub const CR_NO_SUCH_REGISTRY_KEY: CONFIGRET = 0x0000002E;
2064 pub const CR_INVALID_MACHINENAME: CONFIGRET = 0x0000002F;
2065 pub const CR_REMOTE_COMM_FAILURE: CONFIGRET = 0x00000030;
2066 pub const CR_MACHINE_UNAVAILABLE: CONFIGRET = 0x00000031;
2067 pub const CR_NO_CM_SERVICES: CONFIGRET = 0x00000032;
2068 pub const CR_ACCESS_DENIED: CONFIGRET = 0x00000033;
2069 pub const CR_CALL_NOT_IMPLEMENTED: CONFIGRET = 0x00000034;
2070 pub const CR_INVALID_PROPERTY: CONFIGRET = 0x00000035;
2071 pub const CR_DEVICE_INTERFACE_ACTIVE: CONFIGRET = 0x00000036;
2072 pub const CR_NO_SUCH_DEVICE_INTERFACE: CONFIGRET = 0x00000037;
2073 pub const CR_INVALID_REFERENCE_STRING: CONFIGRET = 0x00000038;
2074 pub const CR_INVALID_CONFLICT_LIST: CONFIGRET = 0x00000039;
2075 pub const CR_INVALID_INDEX: CONFIGRET = 0x0000003A;
2076 pub const CR_INVALID_STRUCTURE_SIZE: CONFIGRET = 0x0000003B;
2077 pub const NUM_CR_RESULTS: CONFIGRET = 0x0000003C;
2078