comparison fuhtark_test/include/winapi/cfgmgr32.h @ 1500:91c8c3b7cbf0

add: futhark tests for generating vulkan api
author sam <sam@basx.dev>
date Wed, 26 Nov 2025 21:36:48 +0700
parents
children
comparison
equal deleted inserted replaced
1499:1f58458b7ef7 1500:91c8c3b7cbf0
1 /**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the w64 mingw-runtime package.
4 * No warranty is given; refer to the file DISCLAIMER within this package.
5 */
6 #ifndef _CFGMGR32_H_
7 #define _CFGMGR32_H_
8
9 #include <cfg.h>
10 #include <guiddef.h>
11
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15
16 #ifndef _CFGMGR32_
17 #define CMAPI DECLSPEC_IMPORT
18 #else
19 #define CMAPI
20 #endif
21
22 typedef CONST VOID *PCVOID;
23
24 #define MAX_DEVICE_ID_LEN 200
25 #define MAX_DEVNODE_ID_LEN MAX_DEVICE_ID_LEN
26 #define MAX_GUID_STRING_LEN 39
27 #define MAX_CLASS_NAME_LEN 32
28 #define MAX_PROFILE_LEN 80
29 #define MAX_CONFIG_VALUE 9999
30 #define MAX_INSTANCE_VALUE 9999
31 #define MAX_MEM_REGISTERS 9
32 #define MAX_IO_PORTS 20
33 #define MAX_IRQS 7
34 #define MAX_DMA_CHANNELS 7
35
36 #define DWORD_MAX 0xFFFFFFFF
37 #define DWORDLONG_MAX 0xFFFFFFFFFFFFFFFF
38
39 #define CONFIGMG_VERSION 0x0400
40
41 #ifdef NT_INCLUDED
42 __MINGW_EXTENSION typedef unsigned __int64 DWORDLONG;
43 typedef DWORDLONG *PDWORDLONG;
44 #endif
45
46 typedef DWORD RETURN_TYPE;
47 typedef RETURN_TYPE CONFIGRET;
48 typedef DWORD DEVNODE,DEVINST;
49 typedef DEVNODE *PDEVNODE,*PDEVINST;
50 typedef CHAR *DEVNODEID_A,*DEVINSTID_A;
51 typedef WCHAR *DEVNODEID_W,*DEVINSTID_W;
52
53 #ifdef UNICODE
54 typedef DEVNODEID_W DEVNODEID;
55 typedef DEVINSTID_W DEVINSTID;
56 #else
57 typedef DEVNODEID_A DEVNODEID;
58 typedef DEVINSTID_A DEVINSTID;
59 #endif
60
61 typedef DWORD_PTR LOG_CONF;
62 typedef LOG_CONF *PLOG_CONF;
63 typedef DWORD_PTR RES_DES;
64 typedef RES_DES *PRES_DES;
65 typedef ULONG RESOURCEID;
66 typedef RESOURCEID *PRESOURCEID;
67 typedef ULONG PRIORITY;
68 typedef PRIORITY *PPRIORITY;
69 typedef DWORD_PTR RANGE_LIST;
70 typedef RANGE_LIST *PRANGE_LIST;
71 typedef DWORD_PTR RANGE_ELEMENT;
72 typedef RANGE_ELEMENT *PRANGE_ELEMENT;
73 typedef HANDLE HMACHINE;
74 typedef HMACHINE *PHMACHINE;
75 typedef ULONG_PTR CONFLICT_LIST;
76 typedef CONFLICT_LIST *PCONFLICT_LIST;
77
78 typedef struct _CONFLICT_DETAILS_A {
79 ULONG CD_ulSize;
80 ULONG CD_ulMask;
81 DEVINST CD_dnDevInst;
82 RES_DES CD_rdResDes;
83 ULONG CD_ulFlags;
84 CHAR CD_szDescription[MAX_PATH];
85 } CONFLICT_DETAILS_A ,*PCONFLICT_DETAILS_A;
86
87 typedef struct _CONFLICT_DETAILS_W {
88 ULONG CD_ulSize;
89 ULONG CD_ulMask;
90 DEVINST CD_dnDevInst;
91 RES_DES CD_rdResDes;
92 ULONG CD_ulFlags;
93 WCHAR CD_szDescription[MAX_PATH];
94 } CONFLICT_DETAILS_W ,*PCONFLICT_DETAILS_W;
95
96 #ifdef UNICODE
97 typedef CONFLICT_DETAILS_W CONFLICT_DETAILS;
98 typedef PCONFLICT_DETAILS_W PCONFLICT_DETAILS;
99 #else
100 typedef CONFLICT_DETAILS_A CONFLICT_DETAILS;
101 typedef PCONFLICT_DETAILS_A PCONFLICT_DETAILS;
102 #endif
103
104 #define CM_CDMASK_DEVINST (0x00000001)
105 #define CM_CDMASK_RESDES (0x00000002)
106 #define CM_CDMASK_FLAGS (0x00000004)
107 #define CM_CDMASK_DESCRIPTION (0x00000008)
108 #define CM_CDMASK_VALID (0x0000000F)
109
110 #define CM_CDFLAGS_DRIVER (0x00000001)
111 #define CM_CDFLAGS_ROOT_OWNED (0x00000002)
112 #define CM_CDFLAGS_RESERVED (0x00000004)
113
114 typedef ULONG REGDISPOSITION;
115
116 #include "pshpack1.h"
117
118 #define mMD_MemoryType (0x1)
119 #define fMD_MemoryType mMD_MemoryType
120 #define fMD_ROM (0x0)
121 #define fMD_RAM (0x1)
122
123 #define mMD_32_24 (0x2)
124 #define fMD_32_24 mMD_32_24
125 #define fMD_24 (0x0)
126 #define fMD_32 (0x2)
127
128 #define mMD_Prefetchable (0x4)
129 #define fMD_Prefetchable mMD_Prefetchable
130 #define fMD_Pref mMD_Prefetchable
131 #define fMD_PrefetchDisallowed (0x0)
132 #define fMD_PrefetchAllowed (0x4)
133
134 #define mMD_Readable (0x8)
135 #define fMD_Readable mMD_Readable
136 #define fMD_ReadAllowed (0x0)
137 #define fMD_ReadDisallowed (0x8)
138
139 #define mMD_CombinedWrite (0x10)
140 #define fMD_CombinedWrite mMD_CombinedWrite
141 #define fMD_CombinedWriteDisallowed (0x0)
142 #define fMD_CombinedWriteAllowed (0x10)
143
144 #define mMD_Cacheable (0x20)
145 #define fMD_NonCacheable (0x0)
146 #define fMD_Cacheable (0x20)
147
148 typedef struct Mem_Range_s {
149 DWORDLONG MR_Align;
150 ULONG MR_nBytes;
151 DWORDLONG MR_Min;
152 DWORDLONG MR_Max;
153 DWORD MR_Flags;
154 DWORD MR_Reserved;
155 } MEM_RANGE,*PMEM_RANGE;
156
157 typedef struct Mem_Des_s {
158 DWORD MD_Count;
159 DWORD MD_Type;
160 DWORDLONG MD_Alloc_Base;
161 DWORDLONG MD_Alloc_End;
162 DWORD MD_Flags;
163 DWORD MD_Reserved;
164 } MEM_DES,*PMEM_DES;
165
166 typedef struct Mem_Resource_s {
167 MEM_DES MEM_Header;
168 MEM_RANGE MEM_Data[ANYSIZE_ARRAY];
169 } MEM_RESOURCE,*PMEM_RESOURCE;
170
171 #define MType_Range sizeof(struct Mem_Range_s)
172
173 #define fIOD_PortType (0x1)
174 #define fIOD_Memory (0x0)
175 #define fIOD_IO (0x1)
176 #define fIOD_DECODE (0x00fc)
177 #define fIOD_10_BIT_DECODE (0x0004)
178 #define fIOD_12_BIT_DECODE (0x0008)
179 #define fIOD_16_BIT_DECODE (0x0010)
180 #define fIOD_POSITIVE_DECODE (0x0020)
181 #define fIOD_PASSIVE_DECODE (0x0040)
182 #define fIOD_WINDOW_DECODE (0x0080)
183
184 #define IO_ALIAS_10_BIT_DECODE (0x00000004)
185 #define IO_ALIAS_12_BIT_DECODE (0x00000010)
186 #define IO_ALIAS_16_BIT_DECODE (0x00000000)
187 #define IO_ALIAS_POSITIVE_DECODE (0x000000FF)
188
189 typedef struct IO_Range_s {
190 DWORDLONG IOR_Align;
191 DWORD IOR_nPorts;
192 DWORDLONG IOR_Min;
193 DWORDLONG IOR_Max;
194 DWORD IOR_RangeFlags;
195 DWORDLONG IOR_Alias;
196 } IO_RANGE,*PIO_RANGE;
197
198 typedef struct IO_Des_s {
199 DWORD IOD_Count;
200 DWORD IOD_Type;
201 DWORDLONG IOD_Alloc_Base;
202 DWORDLONG IOD_Alloc_End;
203 DWORD IOD_DesFlags;
204 } IO_DES,*PIO_DES;
205
206 typedef struct IO_Resource_s {
207 IO_DES IO_Header;
208 IO_RANGE IO_Data[ANYSIZE_ARRAY];
209 } IO_RESOURCE,*PIO_RESOURCE;
210
211 #define IOA_Local 0xff
212
213 #define IOType_Range sizeof(struct IO_Range_s)
214
215 #define mDD_Width (0x3)
216 #define fDD_BYTE (0x0)
217 #define fDD_WORD (0x1)
218 #define fDD_DWORD (0x2)
219 #define fDD_BYTE_AND_WORD (0x3)
220
221 #define mDD_BusMaster (0x4)
222 #define fDD_NoBusMaster (0x0)
223 #define fDD_BusMaster (0x4)
224
225 #define mDD_Type (0x18)
226 #define fDD_TypeStandard (0x00)
227 #define fDD_TypeA (0x08)
228 #define fDD_TypeB (0x10)
229 #define fDD_TypeF (0x18)
230
231 typedef struct DMA_Range_s {
232 ULONG DR_Min;
233 ULONG DR_Max;
234 ULONG DR_Flags;
235 } DMA_RANGE,*PDMA_RANGE;
236
237 typedef struct DMA_Des_s {
238 DWORD DD_Count;
239 DWORD DD_Type;
240 DWORD DD_Flags;
241 ULONG DD_Alloc_Chan;
242 } DMA_DES,*PDMA_DES;
243
244 typedef struct DMA_Resource_s {
245 DMA_DES DMA_Header;
246 DMA_RANGE DMA_Data[ANYSIZE_ARRAY];
247 } DMA_RESOURCE,*PDMA_RESOURCE;
248
249 #define DType_Range sizeof(struct DMA_Range_s)
250
251 #define mIRQD_Share (0x1)
252 #define fIRQD_Exclusive (0x0)
253 #define fIRQD_Share (0x1)
254
255 #define fIRQD_Share_Bit 0
256 #define fIRQD_Level_Bit 1
257
258 #define mIRQD_Edge_Level (0x2)
259 #define fIRQD_Level (0x0)
260 #define fIRQD_Edge (0x2)
261
262 typedef struct IRQ_Range_s {
263 ULONG IRQR_Min;
264 ULONG IRQR_Max;
265 ULONG IRQR_Flags;
266 } IRQ_RANGE,*PIRQ_RANGE;
267
268 typedef struct IRQ_Des_32_s {
269 DWORD IRQD_Count;
270 DWORD IRQD_Type;
271 DWORD IRQD_Flags;
272 ULONG IRQD_Alloc_Num;
273 ULONG32 IRQD_Affinity;
274 } IRQ_DES_32,*PIRQ_DES_32;
275
276 typedef struct IRQ_Des_64_s {
277 DWORD IRQD_Count;
278 DWORD IRQD_Type;
279 DWORD IRQD_Flags;
280 ULONG IRQD_Alloc_Num;
281 ULONG64 IRQD_Affinity;
282 } IRQ_DES_64,*PIRQ_DES_64;
283
284 #ifdef _WIN64
285 typedef IRQ_DES_64 IRQ_DES;
286 typedef PIRQ_DES_64 PIRQ_DES;
287 #else
288 typedef IRQ_DES_32 IRQ_DES;
289 typedef PIRQ_DES_32 PIRQ_DES;
290 #endif
291
292 typedef struct IRQ_Resource_32_s {
293 IRQ_DES_32 IRQ_Header;
294 IRQ_RANGE IRQ_Data[ANYSIZE_ARRAY];
295 } IRQ_RESOURCE_32,*PIRQ_RESOURCE_32;
296
297 typedef struct IRQ_Resource_64_s {
298 IRQ_DES_64 IRQ_Header;
299 IRQ_RANGE IRQ_Data[ANYSIZE_ARRAY];
300 } IRQ_RESOURCE_64,*PIRQ_RESOURCE_64;
301
302 #ifdef _WIN64
303 typedef IRQ_RESOURCE_64 IRQ_RESOURCE;
304 typedef PIRQ_RESOURCE_64 PIRQ_RESOURCE;
305 #else
306 typedef IRQ_RESOURCE_32 IRQ_RESOURCE;
307 typedef PIRQ_RESOURCE_32 PIRQ_RESOURCE;
308 #endif
309
310 #define IRQType_Range sizeof(struct IRQ_Range_s)
311
312 #define CM_RESDES_WIDTH_DEFAULT (0x00000000)
313 #define CM_RESDES_WIDTH_32 (0x00000001)
314 #define CM_RESDES_WIDTH_64 (0x00000002)
315 #define CM_RESDES_WIDTH_BITS (0x00000003)
316
317 typedef struct DevPrivate_Range_s {
318 DWORD PR_Data1;
319 DWORD PR_Data2;
320 DWORD PR_Data3;
321 } DEVPRIVATE_RANGE,*PDEVPRIVATE_RANGE;
322
323 typedef struct DevPrivate_Des_s {
324 DWORD PD_Count;
325 DWORD PD_Type;
326 DWORD PD_Data1;
327 DWORD PD_Data2;
328 DWORD PD_Data3;
329 DWORD PD_Flags;
330 } DEVPRIVATE_DES,*PDEVPRIVATE_DES;
331
332 typedef struct DevPrivate_Resource_s {
333 DEVPRIVATE_DES PRV_Header;
334 DEVPRIVATE_RANGE PRV_Data[ANYSIZE_ARRAY];
335 } DEVPRIVATE_RESOURCE,*PDEVPRIVATE_RESOURCE;
336
337 #define PType_Range sizeof(struct DevPrivate_Range_s)
338
339 typedef struct CS_Des_s {
340 DWORD CSD_SignatureLength;
341 DWORD CSD_LegacyDataOffset;
342 DWORD CSD_LegacyDataSize;
343 DWORD CSD_Flags;
344 GUID CSD_ClassGuid;
345 BYTE CSD_Signature[ANYSIZE_ARRAY];
346 } CS_DES,*PCS_DES;
347
348 typedef struct CS_Resource_s {
349 CS_DES CS_Header;
350 } CS_RESOURCE,*PCS_RESOURCE;
351
352 #define mPCD_IO_8_16 (0x1)
353 #define fPCD_IO_8 (0x0)
354 #define fPCD_IO_16 (0x1)
355 #define mPCD_MEM_8_16 (0x2)
356 #define fPCD_MEM_8 (0x0)
357 #define fPCD_MEM_16 (0x2)
358 #define mPCD_MEM_A_C (0xC)
359 #define fPCD_MEM1_A (0x4)
360 #define fPCD_MEM2_A (0x8)
361 #define fPCD_IO_ZW_8 (0x10)
362 #define fPCD_IO_SRC_16 (0x20)
363 #define fPCD_IO_WS_16 (0x40)
364 #define mPCD_MEM_WS (0x300)
365 #define fPCD_MEM_WS_ONE (0x100)
366 #define fPCD_MEM_WS_TWO (0x200)
367 #define fPCD_MEM_WS_THREE (0x300)
368
369 #define fPCD_MEM_A (0x4)
370
371 #define fPCD_ATTRIBUTES_PER_WINDOW (0x8000)
372
373 #define fPCD_IO1_16 (0x00010000)
374 #define fPCD_IO1_ZW_8 (0x00020000)
375 #define fPCD_IO1_SRC_16 (0x00040000)
376 #define fPCD_IO1_WS_16 (0x00080000)
377
378 #define fPCD_IO2_16 (0x00100000)
379 #define fPCD_IO2_ZW_8 (0x00200000)
380 #define fPCD_IO2_SRC_16 (0x00400000)
381 #define fPCD_IO2_WS_16 (0x00800000)
382
383 #define mPCD_MEM1_WS (0x03000000)
384 #define fPCD_MEM1_WS_ONE (0x01000000)
385 #define fPCD_MEM1_WS_TWO (0x02000000)
386 #define fPCD_MEM1_WS_THREE (0x03000000)
387 #define fPCD_MEM1_16 (0x04000000)
388
389 #define mPCD_MEM2_WS (0x30000000)
390 #define fPCD_MEM2_WS_ONE (0x10000000)
391 #define fPCD_MEM2_WS_TWO (0x20000000)
392 #define fPCD_MEM2_WS_THREE (0x30000000)
393 #define fPCD_MEM2_16 (0x40000000)
394
395 #define PCD_MAX_MEMORY 2
396 #define PCD_MAX_IO 2
397
398 typedef struct PcCard_Des_s {
399 DWORD PCD_Count;
400 DWORD PCD_Type;
401 DWORD PCD_Flags;
402 BYTE PCD_ConfigIndex;
403 BYTE PCD_Reserved[3];
404 DWORD PCD_MemoryCardBase1;
405 DWORD PCD_MemoryCardBase2;
406 DWORD PCD_MemoryCardBase[PCD_MAX_MEMORY];
407 WORD PCD_MemoryFlags[PCD_MAX_MEMORY];
408 BYTE PCD_IoFlags[PCD_MAX_IO];
409 } PCCARD_DES,*PPCCARD_DES;
410
411 typedef struct PcCard_Resource_s {
412 PCCARD_DES PcCard_Header;
413 } PCCARD_RESOURCE,*PPCCARD_RESOURCE;
414
415 #define mPMF_AUDIO_ENABLE (0x8)
416 #define fPMF_AUDIO_ENABLE (0x8)
417
418 typedef struct MfCard_Des_s {
419 DWORD PMF_Count;
420 DWORD PMF_Type;
421 DWORD PMF_Flags;
422 BYTE PMF_ConfigOptions;
423 BYTE PMF_IoResourceIndex;
424 BYTE PMF_Reserved[2];
425 DWORD PMF_ConfigRegisterBase;
426 } MFCARD_DES,*PMFCARD_DES;
427
428 typedef struct MfCard_Resource_s {
429 MFCARD_DES MfCard_Header;
430 } MFCARD_RESOURCE,*PMFCARD_RESOURCE;
431
432 typedef struct BusNumber_Range_s {
433 ULONG BUSR_Min;
434 ULONG BUSR_Max;
435 ULONG BUSR_nBusNumbers;
436 ULONG BUSR_Flags;
437 } BUSNUMBER_RANGE,*PBUSNUMBER_RANGE;
438
439 typedef struct BusNumber_Des_s {
440 DWORD BUSD_Count;
441 DWORD BUSD_Type;
442 DWORD BUSD_Flags;
443 ULONG BUSD_Alloc_Base;
444 ULONG BUSD_Alloc_End;
445 } BUSNUMBER_DES,*PBUSNUMBER_DES;
446
447 typedef struct BusNumber_Resource_s {
448 BUSNUMBER_DES BusNumber_Header;
449 BUSNUMBER_RANGE BusNumber_Data[ANYSIZE_ARRAY];
450 } BUSNUMBER_RESOURCE,*PBUSNUMBER_RESOURCE;
451
452 #define BusNumberType_Range sizeof(struct BusNumber_Range_s)
453
454 #define CM_HWPI_NOT_DOCKABLE (0x00000000)
455 #define CM_HWPI_UNDOCKED (0x00000001)
456 #define CM_HWPI_DOCKED (0x00000002)
457
458 typedef struct HWProfileInfo_sA {
459 ULONG HWPI_ulHWProfile;
460 CHAR HWPI_szFriendlyName[MAX_PROFILE_LEN];
461 DWORD HWPI_dwFlags;
462 } HWPROFILEINFO_A,*PHWPROFILEINFO_A;
463
464 typedef struct HWProfileInfo_sW {
465 ULONG HWPI_ulHWProfile;
466 WCHAR HWPI_szFriendlyName[MAX_PROFILE_LEN];
467 DWORD HWPI_dwFlags;
468 } HWPROFILEINFO_W,*PHWPROFILEINFO_W;
469
470 #ifdef UNICODE
471 typedef HWPROFILEINFO_W HWPROFILEINFO;
472 typedef PHWPROFILEINFO_W PHWPROFILEINFO;
473 #else
474 typedef HWPROFILEINFO_A HWPROFILEINFO;
475 typedef PHWPROFILEINFO_A PHWPROFILEINFO;
476 #endif
477
478 #include "poppack.h"
479
480 #define ResType_All (0x00000000)
481 #define ResType_None (0x00000000)
482 #define ResType_Mem (0x00000001)
483 #define ResType_IO (0x00000002)
484 #define ResType_DMA (0x00000003)
485 #define ResType_IRQ (0x00000004)
486 #define ResType_DoNotUse (0x00000005)
487 #define ResType_BusNumber (0x00000006)
488 #define ResType_MAX (0x00000006)
489 #define ResType_Ignored_Bit (0x00008000)
490 #define ResType_ClassSpecific (0x0000FFFF)
491 #define ResType_Reserved (0x00008000)
492 #define ResType_DevicePrivate (0x00008001)
493 #define ResType_PcCardConfig (0x00008002)
494 #define ResType_MfCardConfig (0x00008003)
495
496 #define CM_ADD_RANGE_ADDIFCONFLICT (0x00000000)
497 #define CM_ADD_RANGE_DONOTADDIFCONFLICT (0x00000001)
498 #define CM_ADD_RANGE_BITS (0x00000001)
499
500 #define BASIC_LOG_CONF 0x00000000
501 #define FILTERED_LOG_CONF 0x00000001
502 #define ALLOC_LOG_CONF 0x00000002
503 #define BOOT_LOG_CONF 0x00000003
504 #define FORCED_LOG_CONF 0x00000004
505 #define OVERRIDE_LOG_CONF 0x00000005
506 #define NUM_LOG_CONF 0x00000006
507 #define LOG_CONF_BITS 0x00000007
508
509 #define PRIORITY_EQUAL_FIRST (0x00000008)
510 #define PRIORITY_EQUAL_LAST (0x00000000)
511 #define PRIORITY_BIT (0x00000008)
512
513 #define RegDisposition_OpenAlways (0x00000000)
514 #define RegDisposition_OpenExisting (0x00000001)
515 #define RegDisposition_Bits (0x00000001)
516
517 #define CM_ADD_ID_HARDWARE (0x00000000)
518 #define CM_ADD_ID_COMPATIBLE (0x00000001)
519 #define CM_ADD_ID_BITS (0x00000001)
520
521 #define CM_CREATE_DEVNODE_NORMAL (0x00000000)
522 #define CM_CREATE_DEVNODE_NO_WAIT_INSTALL (0x00000001)
523 #define CM_CREATE_DEVNODE_PHANTOM (0x00000002)
524 #define CM_CREATE_DEVNODE_GENERATE_ID (0x00000004)
525 #define CM_CREATE_DEVNODE_DO_NOT_INSTALL (0x00000008)
526 #define CM_CREATE_DEVNODE_BITS (0x0000000F)
527
528 #define CM_CREATE_DEVINST_NORMAL CM_CREATE_DEVNODE_NORMAL
529 #define CM_CREATE_DEVINST_NO_WAIT_INSTALL CM_CREATE_DEVNODE_NO_WAIT_INSTALL
530 #define CM_CREATE_DEVINST_PHANTOM CM_CREATE_DEVNODE_PHANTOM
531 #define CM_CREATE_DEVINST_GENERATE_ID CM_CREATE_DEVNODE_GENERATE_ID
532 #define CM_CREATE_DEVINST_DO_NOT_INSTALL CM_CREATE_DEVNODE_DO_NOT_INSTALL
533 #define CM_CREATE_DEVINST_BITS CM_CREATE_DEVNODE_BITS
534
535 #define CM_DELETE_CLASS_ONLY (0x00000000)
536 #define CM_DELETE_CLASS_SUBKEYS (0x00000001)
537 #define CM_DELETE_CLASS_BITS (0x00000001)
538
539 #define CM_DETECT_NEW_PROFILE (0x00000001)
540 #define CM_DETECT_CRASHED (0x00000002)
541 #define CM_DETECT_HWPROF_FIRST_BOOT (0x00000004)
542 #define CM_DETECT_RUN (0x80000000)
543 #define CM_DETECT_BITS (0x80000007)
544
545 #define CM_DISABLE_POLITE (0x00000000)
546 #define CM_DISABLE_ABSOLUTE (0x00000001)
547 #define CM_DISABLE_HARDWARE (0x00000002)
548 #define CM_DISABLE_UI_NOT_OK (0x00000004)
549 #define CM_DISABLE_BITS (0x00000007)
550
551 #define CM_GETIDLIST_FILTER_NONE (0x00000000)
552 #define CM_GETIDLIST_FILTER_ENUMERATOR (0x00000001)
553 #define CM_GETIDLIST_FILTER_SERVICE (0x00000002)
554 #define CM_GETIDLIST_FILTER_EJECTRELATIONS (0x00000004)
555 #define CM_GETIDLIST_FILTER_REMOVALRELATIONS (0x00000008)
556 #define CM_GETIDLIST_FILTER_POWERRELATIONS (0x00000010)
557 #define CM_GETIDLIST_FILTER_BUSRELATIONS (0x00000020)
558 #define CM_GETIDLIST_DONOTGENERATE (0x10000040)
559 #define CM_GETIDLIST_FILTER_BITS (0x1000007F)
560
561 #define CM_GET_DEVICE_INTERFACE_LIST_PRESENT (0x00000000)
562 #define CM_GET_DEVICE_INTERFACE_LIST_ALL_DEVICES (0x00000001)
563 #define CM_GET_DEVICE_INTERFACE_LIST_BITS (0x00000001)
564
565 #define CM_DRP_DEVICEDESC (0x00000001)
566 #define CM_DRP_HARDWAREID (0x00000002)
567 #define CM_DRP_COMPATIBLEIDS (0x00000003)
568 #define CM_DRP_UNUSED0 (0x00000004)
569 #define CM_DRP_SERVICE (0x00000005)
570 #define CM_DRP_UNUSED1 (0x00000006)
571 #define CM_DRP_UNUSED2 (0x00000007)
572 #define CM_DRP_CLASS (0x00000008)
573 #define CM_DRP_CLASSGUID (0x00000009)
574 #define CM_DRP_DRIVER (0x0000000A)
575 #define CM_DRP_CONFIGFLAGS (0x0000000B)
576 #define CM_DRP_MFG (0x0000000C)
577 #define CM_DRP_FRIENDLYNAME (0x0000000D)
578 #define CM_DRP_LOCATION_INFORMATION (0x0000000E)
579 #define CM_DRP_PHYSICAL_DEVICE_OBJECT_NAME (0x0000000F)
580 #define CM_DRP_CAPABILITIES (0x00000010)
581 #define CM_DRP_UI_NUMBER (0x00000011)
582 #define CM_DRP_UPPERFILTERS (0x00000012)
583 #define CM_DRP_LOWERFILTERS (0x00000013)
584 #define CM_DRP_BUSTYPEGUID (0x00000014)
585 #define CM_DRP_LEGACYBUSTYPE (0x00000015)
586 #define CM_DRP_BUSNUMBER (0x00000016)
587 #define CM_DRP_ENUMERATOR_NAME (0x00000017)
588 #define CM_DRP_SECURITY (0x00000018)
589 #define CM_CRP_SECURITY CM_DRP_SECURITY
590 #define CM_DRP_SECURITY_SDS (0x00000019)
591 #define CM_CRP_SECURITY_SDS CM_DRP_SECURITY_SDS
592 #define CM_DRP_DEVTYPE (0x0000001A)
593 #define CM_CRP_DEVTYPE CM_DRP_DEVTYPE
594 #define CM_DRP_EXCLUSIVE (0x0000001B)
595 #define CM_CRP_EXCLUSIVE CM_DRP_EXCLUSIVE
596 #define CM_DRP_CHARACTERISTICS (0x0000001C)
597 #define CM_CRP_CHARACTERISTICS CM_DRP_CHARACTERISTICS
598 #define CM_DRP_ADDRESS (0x0000001D)
599 #define CM_DRP_UI_NUMBER_DESC_FORMAT (0x0000001E)
600 #define CM_DRP_DEVICE_POWER_DATA (0x0000001F)
601 #define CM_DRP_REMOVAL_POLICY (0x00000020)
602 #define CM_DRP_REMOVAL_POLICY_HW_DEFAULT (0x00000021)
603 #define CM_DRP_REMOVAL_POLICY_OVERRIDE (0x00000022)
604 #define CM_DRP_INSTALL_STATE (0x00000023)
605
606 #define CM_DRP_MIN (0x00000001)
607 #define CM_CRP_MIN CM_DRP_MIN
608 #define CM_DRP_MAX (0x00000023)
609 #define CM_CRP_MAX CM_DRP_MAX
610
611 #define CM_DEVCAP_LOCKSUPPORTED (0x00000001)
612 #define CM_DEVCAP_EJECTSUPPORTED (0x00000002)
613 #define CM_DEVCAP_REMOVABLE (0x00000004)
614 #define CM_DEVCAP_DOCKDEVICE (0x00000008)
615 #define CM_DEVCAP_UNIQUEID (0x00000010)
616 #define CM_DEVCAP_SILENTINSTALL (0x00000020)
617 #define CM_DEVCAP_RAWDEVICEOK (0x00000040)
618 #define CM_DEVCAP_SURPRISEREMOVALOK (0x00000080)
619 #define CM_DEVCAP_HARDWAREDISABLED (0x00000100)
620 #define CM_DEVCAP_NONDYNAMIC (0x00000200)
621
622 #define CM_REMOVAL_POLICY_EXPECT_NO_REMOVAL 1
623 #define CM_REMOVAL_POLICY_EXPECT_ORDERLY_REMOVAL 2
624 #define CM_REMOVAL_POLICY_EXPECT_SURPRISE_REMOVAL 3
625
626 #define CM_INSTALL_STATE_INSTALLED 0
627 #define CM_INSTALL_STATE_NEEDS_REINSTALL 1
628 #define CM_INSTALL_STATE_FAILED_INSTALL 2
629 #define CM_INSTALL_STATE_FINISH_INSTALL 3
630
631 #define CM_LOCATE_DEVNODE_NORMAL 0x00000000
632 #define CM_LOCATE_DEVNODE_PHANTOM 0x00000001
633 #define CM_LOCATE_DEVNODE_CANCELREMOVE 0x00000002
634 #define CM_LOCATE_DEVNODE_NOVALIDATION 0x00000004
635 #define CM_LOCATE_DEVNODE_BITS 0x00000007
636
637 #define CM_LOCATE_DEVINST_NORMAL CM_LOCATE_DEVNODE_NORMAL
638 #define CM_LOCATE_DEVINST_PHANTOM CM_LOCATE_DEVNODE_PHANTOM
639 #define CM_LOCATE_DEVINST_CANCELREMOVE CM_LOCATE_DEVNODE_CANCELREMOVE
640 #define CM_LOCATE_DEVINST_NOVALIDATION CM_LOCATE_DEVNODE_NOVALIDATION
641 #define CM_LOCATE_DEVINST_BITS CM_LOCATE_DEVNODE_BITS
642
643 #define CM_OPEN_CLASS_KEY_INSTALLER (0x00000000)
644 #define CM_OPEN_CLASS_KEY_INTERFACE (0x00000001)
645 #define CM_OPEN_CLASS_KEY_BITS (0x00000001)
646
647 #define CM_REMOVE_UI_OK 0x00000000
648 #define CM_REMOVE_UI_NOT_OK 0x00000001
649 #define CM_REMOVE_NO_RESTART 0x00000002
650 #define CM_REMOVE_BITS 0x00000003
651
652 #define CM_QUERY_REMOVE_UI_OK (CM_REMOVE_UI_OK)
653 #define CM_QUERY_REMOVE_UI_NOT_OK (CM_REMOVE_UI_NOT_OK)
654 #define CM_QUERY_REMOVE_BITS (CM_QUERY_REMOVE_UI_OK|CM_QUERY_REMOVE_UI_NOT_OK)
655
656 #define CM_REENUMERATE_NORMAL 0x00000000
657 #define CM_REENUMERATE_SYNCHRONOUS 0x00000001
658 #define CM_REENUMERATE_RETRY_INSTALLATION 0x00000002
659 #define CM_REENUMERATE_ASYNCHRONOUS 0x00000004
660 #define CM_REENUMERATE_BITS 0x00000007
661
662 #define CM_REGISTER_DEVICE_DRIVER_STATIC (0x00000000)
663 #define CM_REGISTER_DEVICE_DRIVER_DISABLEABLE (0x00000001)
664 #define CM_REGISTER_DEVICE_DRIVER_REMOVABLE (0x00000002)
665 #define CM_REGISTER_DEVICE_DRIVER_BITS (0x00000003)
666
667 #define CM_REGISTRY_HARDWARE (0x00000000)
668 #define CM_REGISTRY_SOFTWARE (0x00000001)
669 #define CM_REGISTRY_USER (0x00000100)
670 #define CM_REGISTRY_CONFIG (0x00000200)
671 #define CM_REGISTRY_BITS (0x00000301)
672
673 #define CM_SET_DEVNODE_PROBLEM_NORMAL (0x00000000)
674 #define CM_SET_DEVNODE_PROBLEM_OVERRIDE (0x00000001)
675 #define CM_SET_DEVNODE_PROBLEM_BITS (0x00000001)
676
677 #define CM_SET_DEVINST_PROBLEM_NORMAL CM_SET_DEVNODE_PROBLEM_NORMAL
678 #define CM_SET_DEVINST_PROBLEM_OVERRIDE CM_SET_DEVNODE_PROBLEM_OVERRIDE
679 #define CM_SET_DEVINST_PROBLEM_BITS CM_SET_DEVNODE_PROBLEM_BITS
680
681 #define CM_SET_HW_PROF_FLAGS_UI_NOT_OK (0x00000001)
682 #define CM_SET_HW_PROF_FLAGS_BITS (0x00000001)
683
684 #define CM_SETUP_DEVNODE_READY (0x00000000)
685 #define CM_SETUP_DEVINST_READY CM_SETUP_DEVNODE_READY
686 #define CM_SETUP_DOWNLOAD (0x00000001)
687 #define CM_SETUP_WRITE_LOG_CONFS (0x00000002)
688 #define CM_SETUP_PROP_CHANGE (0x00000003)
689 #define CM_SETUP_DEVNODE_RESET (0x00000004)
690 #define CM_SETUP_DEVINST_RESET CM_SETUP_DEVNODE_RESET
691 #define CM_SETUP_BITS (0x00000007)
692
693 #define CM_QUERY_ARBITRATOR_RAW (0x00000000)
694 #define CM_QUERY_ARBITRATOR_TRANSLATED (0x00000001)
695 #define CM_QUERY_ARBITRATOR_BITS (0x00000001)
696
697 #define CM_CUSTOMDEVPROP_MERGE_MULTISZ (0x00000001)
698 #define CM_CUSTOMDEVPROP_BITS (0x00000001)
699
700 #ifdef UNICODE
701 #define CM_Add_ID CM_Add_IDW
702 #define CM_Add_ID_Ex CM_Add_ID_ExW
703 #define CM_Connect_Machine CM_Connect_MachineW
704 #define CM_Create_DevNode CM_Create_DevNodeW
705 #define CM_Create_DevInst CM_Create_DevNodeW
706 #define CM_Create_DevNode_Ex CM_Create_DevNode_ExW
707 #define CM_Create_DevInst_Ex CM_Create_DevInst_ExW
708 #define CM_Enumerate_Enumerators CM_Enumerate_EnumeratorsW
709 #define CM_Enumerate_Enumerators_Ex CM_Enumerate_Enumerators_ExW
710 #define CM_Get_Class_Name CM_Get_Class_NameW
711 #define CM_Get_Class_Name_Ex CM_Get_Class_Name_ExW
712 #define CM_Get_Class_Key_Name CM_Get_Class_Key_NameW
713 #define CM_Get_Class_Key_Name_Ex CM_Get_Class_Key_Name_ExW
714 #define CM_Get_Device_ID CM_Get_Device_IDW
715 #define CM_Get_Device_ID_Ex CM_Get_Device_ID_ExW
716 #define CM_Get_Device_ID_List CM_Get_Device_ID_ListW
717 #define CM_Get_Device_ID_List_Ex CM_Get_Device_ID_List_ExW
718 #define CM_Get_Device_ID_List_Size CM_Get_Device_ID_List_SizeW
719 #define CM_Get_Device_ID_List_Size_Ex CM_Get_Device_ID_List_Size_ExW
720 #define CM_Get_DevInst_Registry_Property CM_Get_DevNode_Registry_PropertyW
721 #define CM_Get_DevInst_Registry_Property_Ex CM_Get_DevNode_Registry_Property_ExW
722 #define CM_Get_DevNode_Registry_Property CM_Get_DevNode_Registry_PropertyW
723 #define CM_Get_DevNode_Registry_Property_Ex CM_Get_DevNode_Registry_Property_ExW
724 #define CM_Get_DevInst_Custom_Property CM_Get_DevNode_Custom_PropertyW
725 #define CM_Get_DevInst_Custom_Property_Ex CM_Get_DevNode_Custom_Property_ExW
726 #define CM_Get_DevNode_Custom_Property CM_Get_DevNode_Custom_PropertyW
727 #define CM_Get_DevNode_Custom_Property_Ex CM_Get_DevNode_Custom_Property_ExW
728 #define CM_Get_Hardware_Profile_Info CM_Get_Hardware_Profile_InfoW
729 #define CM_Get_Hardware_Profile_Info_Ex CM_Get_Hardware_Profile_Info_ExW
730 #define CM_Get_HW_Prof_Flags CM_Get_HW_Prof_FlagsW
731 #define CM_Get_HW_Prof_Flags_Ex CM_Get_HW_Prof_Flags_ExW
732 #define CM_Get_Device_Interface_Alias CM_Get_Device_Interface_AliasW
733 #define CM_Get_Device_Interface_Alias_Ex CM_Get_Device_Interface_Alias_ExW
734 #define CM_Get_Device_Interface_List CM_Get_Device_Interface_ListW
735 #define CM_Get_Device_Interface_List_Ex CM_Get_Device_Interface_List_ExW
736 #define CM_Get_Device_Interface_List_Size CM_Get_Device_Interface_List_SizeW
737 #define CM_Get_Device_Interface_List_Size_Ex CM_Get_Device_Interface_List_Size_ExW
738 #define CM_Locate_DevNode CM_Locate_DevNodeW
739 #define CM_Locate_DevInst CM_Locate_DevNodeW
740 #define CM_Locate_DevNode_Ex CM_Locate_DevNode_ExW
741 #define CM_Locate_DevInst_Ex CM_Locate_DevNode_ExW
742 #define CM_Open_Class_Key CM_Open_Class_KeyW
743 #define CM_Open_Class_Key_Ex CM_Open_Class_Key_ExW
744 #define CM_Query_And_Remove_SubTree CM_Query_And_Remove_SubTreeW
745 #define CM_Query_And_Remove_SubTree_Ex CM_Query_And_Remove_SubTree_ExW
746 #define CM_Request_Device_Eject CM_Request_Device_EjectW
747 #define CM_Request_Device_Eject_Ex CM_Request_Device_Eject_ExW
748 #define CM_Register_Device_Interface CM_Register_Device_InterfaceW
749 #define CM_Register_Device_Interface_Ex CM_Register_Device_Interface_ExW
750 #define CM_Unregister_Device_Interface CM_Unregister_Device_InterfaceW
751 #define CM_Unregister_Device_Interface_Ex CM_Unregister_Device_Interface_ExW
752 #define CM_Set_DevInst_Registry_Property CM_Set_DevNode_Registry_PropertyW
753 #define CM_Set_DevInst_Registry_Property_Ex CM_Set_DevNode_Registry_Property_ExW
754 #define CM_Set_DevNode_Registry_Property CM_Set_DevNode_Registry_PropertyW
755 #define CM_Set_DevNode_Registry_Property_Ex CM_Set_DevNode_Registry_Property_ExW
756 #define CM_Set_HW_Prof_Flags CM_Set_HW_Prof_FlagsW
757 #define CM_Set_HW_Prof_Flags_Ex CM_Set_HW_Prof_Flags_ExW
758 #define CM_Get_Resource_Conflict_Details CM_Get_Resource_Conflict_DetailsW
759 #define CM_Get_Class_Registry_Property CM_Get_Class_Registry_PropertyW
760 #define CM_Set_Class_Registry_Property CM_Set_Class_Registry_PropertyW
761 #else
762 #define CM_Add_ID CM_Add_IDA
763 #define CM_Add_ID_Ex CM_Add_ID_ExA
764 #define CM_Connect_Machine CM_Connect_MachineA
765 #define CM_Create_DevNode CM_Create_DevNodeA
766 #define CM_Create_DevInst CM_Create_DevNodeA
767 #define CM_Create_DevNode_Ex CM_Create_DevNode_ExA
768 #define CM_Create_DevInst_Ex CM_Create_DevNode_ExA
769 #define CM_Enumerate_Enumerators CM_Enumerate_EnumeratorsA
770 #define CM_Enumerate_Enumerators_Ex CM_Enumerate_Enumerators_ExA
771 #define CM_Get_Class_Name CM_Get_Class_NameA
772 #define CM_Get_Class_Name_Ex CM_Get_Class_Name_ExA
773 #define CM_Get_Class_Key_Name CM_Get_Class_Key_NameA
774 #define CM_Get_Class_Key_Name_Ex CM_Get_Class_Key_Name_ExA
775 #define CM_Get_Device_ID CM_Get_Device_IDA
776 #define CM_Get_Device_ID_Ex CM_Get_Device_ID_ExA
777 #define CM_Get_Device_ID_List CM_Get_Device_ID_ListA
778 #define CM_Get_Device_ID_List_Ex CM_Get_Device_ID_List_ExA
779 #define CM_Get_Device_ID_List_Size CM_Get_Device_ID_List_SizeA
780 #define CM_Get_Device_ID_List_Size_Ex CM_Get_Device_ID_List_Size_ExA
781 #define CM_Get_DevInst_Registry_Property CM_Get_DevNode_Registry_PropertyA
782 #define CM_Get_DevInst_Registry_Property_Ex CM_Get_DevNode_Registry_Property_ExA
783 #define CM_Get_DevNode_Registry_Property CM_Get_DevNode_Registry_PropertyA
784 #define CM_Get_DevNode_Registry_Property_Ex CM_Get_DevNode_Registry_Property_ExA
785 #define CM_Get_DevInst_Custom_Property CM_Get_DevNode_Custom_PropertyA
786 #define CM_Get_DevInst_Custom_Property_Ex CM_Get_DevNode_Custom_Property_ExA
787 #define CM_Get_DevNode_Custom_Property CM_Get_DevNode_Custom_PropertyA
788 #define CM_Get_DevNode_Custom_Property_Ex CM_Get_DevNode_Custom_Property_ExA
789 #define CM_Get_Hardware_Profile_Info CM_Get_Hardware_Profile_InfoA
790 #define CM_Get_Hardware_Profile_Info_Ex CM_Get_Hardware_Profile_Info_ExA
791 #define CM_Get_HW_Prof_Flags CM_Get_HW_Prof_FlagsA
792 #define CM_Get_HW_Prof_Flags_Ex CM_Get_HW_Prof_Flags_ExA
793 #define CM_Get_Device_Interface_Alias CM_Get_Device_Interface_AliasA
794 #define CM_Get_Device_Interface_Alias_Ex CM_Get_Device_Interface_Alias_ExA
795 #define CM_Get_Device_Interface_List CM_Get_Device_Interface_ListA
796 #define CM_Get_Device_Interface_List_Ex CM_Get_Device_Interface_List_ExA
797 #define CM_Get_Device_Interface_List_Size CM_Get_Device_Interface_List_SizeA
798 #define CM_Get_Device_Interface_List_Size_Ex CM_Get_Device_Interface_List_Size_ExA
799 #define CM_Locate_DevNode CM_Locate_DevNodeA
800 #define CM_Locate_DevInst CM_Locate_DevNodeA
801 #define CM_Locate_DevNode_Ex CM_Locate_DevNode_ExA
802 #define CM_Locate_DevInst_Ex CM_Locate_DevNode_ExA
803 #define CM_Open_Class_Key CM_Open_Class_KeyA
804 #define CM_Open_Class_Key_Ex CM_Open_Class_Key_ExA
805 #define CM_Query_And_Remove_SubTree CM_Query_And_Remove_SubTreeA
806 #define CM_Query_And_Remove_SubTree_Ex CM_Query_And_Remove_SubTree_ExA
807 #define CM_Request_Device_Eject CM_Request_Device_EjectA
808 #define CM_Request_Device_Eject_Ex CM_Request_Device_Eject_ExA
809 #define CM_Register_Device_Interface CM_Register_Device_InterfaceA
810 #define CM_Register_Device_Interface_Ex CM_Register_Device_Interface_ExA
811 #define CM_Unregister_Device_Interface CM_Unregister_Device_InterfaceA
812 #define CM_Unregister_Device_Interface_Ex CM_Unregister_Device_Interface_ExA
813 #define CM_Set_DevInst_Registry_Property CM_Set_DevNode_Registry_PropertyA
814 #define CM_Set_DevInst_Registry_Property_Ex CM_Set_DevNode_Registry_Property_ExA
815 #define CM_Set_DevNode_Registry_Property CM_Set_DevNode_Registry_PropertyA
816 #define CM_Set_DevNode_Registry_Property_Ex CM_Set_DevNode_Registry_Property_ExA
817 #define CM_Set_HW_Prof_Flags CM_Set_HW_Prof_FlagsA
818 #define CM_Set_HW_Prof_Flags_Ex CM_Set_HW_Prof_Flags_ExA
819 #define CM_Get_Resource_Conflict_Details CM_Get_Resource_Conflict_DetailsA
820 #define CM_Get_Class_Registry_Property CM_Get_Class_Registry_PropertyA
821 #define CM_Set_Class_Registry_Property CM_Set_Class_Registry_PropertyA
822 #endif
823
824 CMAPI CONFIGRET WINAPI CM_Add_Empty_Log_Conf(PLOG_CONF plcLogConf,DEVINST dnDevInst,PRIORITY Priority,ULONG ulFlags);
825 CMAPI CONFIGRET WINAPI CM_Add_Empty_Log_Conf_Ex(PLOG_CONF plcLogConf,DEVINST dnDevInst,PRIORITY Priority,ULONG ulFlags,HMACHINE hMachine);
826 CMAPI CONFIGRET WINAPI CM_Add_IDA(DEVINST dnDevInst,PSTR pszID,ULONG ulFlags);
827 CMAPI CONFIGRET WINAPI CM_Add_IDW(DEVINST dnDevInst,PWSTR pszID,ULONG ulFlags);
828 CMAPI CONFIGRET WINAPI CM_Add_ID_ExA(DEVINST dnDevInst,PSTR pszID,ULONG ulFlags,HMACHINE hMachine);
829 CMAPI CONFIGRET WINAPI CM_Add_ID_ExW(DEVINST dnDevInst,PWSTR pszID,ULONG ulFlags,HMACHINE hMachine);
830 CMAPI CONFIGRET WINAPI CM_Add_Range(DWORDLONG ullStartValue,DWORDLONG ullEndValue,RANGE_LIST rlh,ULONG ulFlags);
831 CMAPI CONFIGRET WINAPI CM_Add_Res_Des(PRES_DES prdResDes,LOG_CONF lcLogConf,RESOURCEID ResourceID,PCVOID ResourceData,ULONG ResourceLen,ULONG ulFlags);
832 CMAPI CONFIGRET WINAPI CM_Add_Res_Des_Ex(PRES_DES prdResDes,LOG_CONF lcLogConf,RESOURCEID ResourceID,PCVOID ResourceData,ULONG ResourceLen,ULONG ulFlags,HMACHINE hMachine);
833 CMAPI CONFIGRET WINAPI CM_Connect_MachineA(PCSTR UNCServerName,PHMACHINE phMachine);
834 CMAPI CONFIGRET WINAPI CM_Connect_MachineW(PCWSTR UNCServerName,PHMACHINE phMachine);
835 CMAPI CONFIGRET WINAPI CM_Create_DevNodeA(PDEVINST pdnDevInst,DEVINSTID_A pDeviceID,DEVINST dnParent,ULONG ulFlags);
836 CMAPI CONFIGRET WINAPI CM_Create_DevNodeW(PDEVINST pdnDevInst,DEVINSTID_W pDeviceID,DEVINST dnParent,ULONG ulFlags);
837 CMAPI CONFIGRET WINAPI CM_Create_DevNode_ExA(PDEVINST pdnDevInst,DEVINSTID_A pDeviceID,DEVINST dnParent,ULONG ulFlags,HANDLE hMachine);
838 CMAPI CONFIGRET WINAPI CM_Create_DevNode_ExW(PDEVINST pdnDevInst,DEVINSTID_W pDeviceID,DEVINST dnParent,ULONG ulFlags,HANDLE hMachine);
839 #define CM_Create_DevInstW CM_Create_DevNodeW
840 #define CM_Create_DevInstA CM_Create_DevNodeA
841 #define CM_Create_DevInst_ExW CM_Create_DevNode_ExW
842 #define CM_Create_DevInst_ExA CM_Create_DevNode_ExA
843 CMAPI CONFIGRET WINAPI CM_Create_Range_List(PRANGE_LIST prlh,ULONG ulFlags);
844 CMAPI CONFIGRET WINAPI CM_Delete_Class_Key(LPGUID ClassGuid,ULONG ulFlags);
845 CMAPI CONFIGRET WINAPI CM_Delete_Class_Key_Ex(LPGUID ClassGuid,ULONG ulFlags,HANDLE hMachine);
846 CMAPI CONFIGRET WINAPI CM_Delete_DevNode_Key(DEVNODE dnDevNode,ULONG ulHardwareProfile,ULONG ulFlags);
847 CMAPI CONFIGRET WINAPI CM_Delete_DevNode_Key_Ex(DEVNODE dnDevNode,ULONG ulHardwareProfile,ULONG ulFlags,HANDLE hMachine);
848 #define CM_Delete_DevInst_Key CM_Delete_DevNode_Key
849 #define CM_Delete_DevInst_Key_Ex CM_Delete_DevNode_Key_Ex
850 CMAPI CONFIGRET WINAPI CM_Delete_Range(DWORDLONG ullStartValue,DWORDLONG ullEndValue,RANGE_LIST rlh,ULONG ulFlags);
851 CMAPI CONFIGRET WINAPI CM_Detect_Resource_Conflict(DEVINST dnDevInst,RESOURCEID ResourceID,PCVOID ResourceData,ULONG ResourceLen,PBOOL pbConflictDetected,ULONG ulFlags);
852 CMAPI CONFIGRET WINAPI CM_Detect_Resource_Conflict_Ex(DEVINST dnDevInst,RESOURCEID ResourceID,PCVOID ResourceData,ULONG ResourceLen,PBOOL pbConflictDetected,ULONG ulFlags,HMACHINE hMachine);
853 CMAPI CONFIGRET WINAPI CM_Disable_DevNode(DEVINST dnDevInst,ULONG ulFlags);
854 CMAPI CONFIGRET WINAPI CM_Disable_DevNode_Ex(DEVINST dnDevInst,ULONG ulFlags,HMACHINE hMachine);
855 #define CM_Disable_DevInst CM_Disable_DevNode
856 #define CM_Disable_DevInst_Ex CM_Disable_DevNode_Ex
857 CMAPI CONFIGRET WINAPI CM_Disconnect_Machine(HMACHINE hMachine);
858 CMAPI CONFIGRET WINAPI CM_Dup_Range_List(RANGE_LIST rlhOld,RANGE_LIST rlhNew,ULONG ulFlags);
859 CMAPI CONFIGRET WINAPI CM_Enable_DevNode(DEVINST dnDevInst,ULONG ulFlags);
860 CMAPI CONFIGRET WINAPI CM_Enable_DevNode_Ex(DEVINST dnDevInst,ULONG ulFlags,HMACHINE hMachine);
861 #define CM_Enable_DevInst CM_Enable_DevNode
862 #define CM_Enable_DevInst_Ex CM_Enable_DevNode_Ex
863 CMAPI CONFIGRET WINAPI CM_Enumerate_Classes(ULONG ulClassIndex,LPGUID ClassGuid,ULONG ulFlags);
864 CMAPI CONFIGRET WINAPI CM_Enumerate_Classes_Ex(ULONG ulClassIndex,LPGUID ClassGuid,ULONG ulFlags,HMACHINE hMachine);
865 CMAPI CONFIGRET WINAPI CM_Enumerate_EnumeratorsA(ULONG ulEnumIndex,PCHAR Buffer,PULONG pulLength,ULONG ulFlags);
866 CMAPI CONFIGRET WINAPI CM_Enumerate_EnumeratorsW(ULONG ulEnumIndex,PWCHAR Buffer,PULONG pulLength,ULONG ulFlags);
867 CMAPI CONFIGRET WINAPI CM_Enumerate_Enumerators_ExA(ULONG ulEnumIndex,PCHAR Buffer,PULONG pulLength,ULONG ulFlags,HMACHINE hMachine);
868 CMAPI CONFIGRET WINAPI CM_Enumerate_Enumerators_ExW(ULONG ulEnumIndex,PWCHAR Buffer,PULONG pulLength,ULONG ulFlags,HMACHINE hMachine);
869 CMAPI CONFIGRET WINAPI CM_Find_Range(PDWORDLONG pullStart,DWORDLONG ullStart,ULONG ulLength,DWORDLONG ullAlignment,DWORDLONG ullEnd,RANGE_LIST rlh,ULONG ulFlags);
870 CMAPI CONFIGRET WINAPI CM_First_Range(RANGE_LIST rlh,PDWORDLONG pullStart,PDWORDLONG pullEnd,PRANGE_ELEMENT preElement,ULONG ulFlags);
871 CMAPI CONFIGRET WINAPI CM_Free_Log_Conf(LOG_CONF lcLogConfToBeFreed,ULONG ulFlags);
872 CMAPI CONFIGRET WINAPI CM_Free_Log_Conf_Ex(LOG_CONF lcLogConfToBeFreed,ULONG ulFlags,HMACHINE hMachine);
873 CMAPI CONFIGRET WINAPI CM_Free_Log_Conf_Handle(LOG_CONF lcLogConf);
874 CMAPI CONFIGRET WINAPI CM_Free_Range_List(RANGE_LIST rlh,ULONG ulFlags);
875 CMAPI CONFIGRET WINAPI CM_Free_Res_Des(PRES_DES prdResDes,RES_DES rdResDes,ULONG ulFlags);
876 CMAPI CONFIGRET WINAPI CM_Free_Res_Des_Ex(PRES_DES prdResDes,RES_DES rdResDes,ULONG ulFlags,HMACHINE hMachine);
877 CMAPI CONFIGRET WINAPI CM_Free_Res_Des_Handle(RES_DES rdResDes);
878 CMAPI CONFIGRET WINAPI CM_Get_Child(PDEVINST pdnDevInst,DEVINST dnDevInst,ULONG ulFlags);
879 CMAPI CONFIGRET WINAPI CM_Get_Child_Ex(PDEVINST pdnDevInst,DEVINST dnDevInst,ULONG ulFlags,HMACHINE hMachine);
880 CMAPI CONFIGRET WINAPI CM_Get_Class_NameA(LPGUID ClassGuid,PCHAR Buffer,PULONG pulLength,ULONG ulFlags);
881 CMAPI CONFIGRET WINAPI CM_Get_Class_NameW(LPGUID ClassGuid,PWCHAR Buffer,PULONG pulLength,ULONG ulFlags);
882 CMAPI CONFIGRET WINAPI CM_Get_Class_Name_ExA(LPGUID ClassGuid,PCHAR Buffer,PULONG pulLength,ULONG ulFlags,HMACHINE hMachine);
883 CMAPI CONFIGRET WINAPI CM_Get_Class_Name_ExW(LPGUID ClassGuid,PWCHAR Buffer,PULONG pulLength,ULONG ulFlags,HMACHINE hMachine);
884 CMAPI CONFIGRET WINAPI CM_Get_Class_Key_NameA(LPGUID ClassGuid,LPSTR pszKeyName,PULONG pulLength,ULONG ulFlags);
885 CMAPI CONFIGRET WINAPI CM_Get_Class_Key_NameW(LPGUID ClassGuid,LPWSTR pszKeyName,PULONG pulLength,ULONG ulFlags);
886 CMAPI CONFIGRET WINAPI CM_Get_Class_Key_Name_ExA(LPGUID ClassGuid,LPSTR pszKeyName,PULONG pulLength,ULONG ulFlags,HMACHINE hMachine);
887 CMAPI CONFIGRET WINAPI CM_Get_Class_Key_Name_ExW(LPGUID ClassGuid,LPWSTR pszKeyName,PULONG pulLength,ULONG ulFlags,HMACHINE hMachine);
888 CMAPI CONFIGRET WINAPI CM_Get_Depth(PULONG pulDepth,DEVINST dnDevInst,ULONG ulFlags);
889 CMAPI CONFIGRET WINAPI CM_Get_Depth_Ex(PULONG pulDepth,DEVINST dnDevInst,ULONG ulFlags,HMACHINE hMachine);
890 CMAPI CONFIGRET WINAPI CM_Get_Device_IDA(DEVINST dnDevInst,PCHAR Buffer,ULONG BufferLen,ULONG ulFlags);
891 CMAPI CONFIGRET WINAPI CM_Get_Device_IDW(DEVINST dnDevInst,PWCHAR Buffer,ULONG BufferLen,ULONG ulFlags);
892 CMAPI CONFIGRET WINAPI CM_Get_Device_ID_ExA(DEVINST dnDevInst,PCHAR Buffer,ULONG BufferLen,ULONG ulFlags,HMACHINE hMachine);
893 CMAPI CONFIGRET WINAPI CM_Get_Device_ID_ExW(DEVINST dnDevInst,PWCHAR Buffer,ULONG BufferLen,ULONG ulFlags,HMACHINE hMachine);
894 CMAPI CONFIGRET WINAPI CM_Get_Device_ID_ListA(PCSTR pszFilter,PCHAR Buffer,ULONG BufferLen,ULONG ulFlags);
895 CMAPI CONFIGRET WINAPI CM_Get_Device_ID_ListW(PCWSTR pszFilter,PWCHAR Buffer,ULONG BufferLen,ULONG ulFlags);
896 CMAPI CONFIGRET WINAPI CM_Get_Device_ID_List_ExA(PCSTR pszFilter,PCHAR Buffer,ULONG BufferLen,ULONG ulFlags,HMACHINE hMachine);
897 CMAPI CONFIGRET WINAPI CM_Get_Device_ID_List_ExW(PCWSTR pszFilter,PWCHAR Buffer,ULONG BufferLen,ULONG ulFlags,HMACHINE hMachine);
898 CMAPI CONFIGRET WINAPI CM_Get_Device_ID_List_SizeA(PULONG pulLen,PCSTR pszFilter,ULONG ulFlags);
899 CMAPI CONFIGRET WINAPI CM_Get_Device_ID_List_SizeW(PULONG pulLen,PCWSTR pszFilter,ULONG ulFlags);
900 CMAPI CONFIGRET WINAPI CM_Get_Device_ID_List_Size_ExA(PULONG pulLen,PCSTR pszFilter,ULONG ulFlags,HMACHINE hMachine);
901 CMAPI CONFIGRET WINAPI CM_Get_Device_ID_List_Size_ExW(PULONG pulLen,PCWSTR pszFilter,ULONG ulFlags,HMACHINE hMachine);
902 CMAPI CONFIGRET WINAPI CM_Get_Device_ID_Size(PULONG pulLen,DEVINST dnDevInst,ULONG ulFlags);
903 CMAPI CONFIGRET WINAPI CM_Get_Device_ID_Size_Ex(PULONG pulLen,DEVINST dnDevInst,ULONG ulFlags,HMACHINE hMachine);
904 CMAPI CONFIGRET WINAPI CM_Get_DevNode_Registry_PropertyA(DEVINST dnDevInst,ULONG ulProperty,PULONG pulRegDataType,PVOID Buffer,PULONG pulLength,ULONG ulFlags);
905 CMAPI CONFIGRET WINAPI CM_Get_DevNode_Registry_PropertyW(DEVINST dnDevInst,ULONG ulProperty,PULONG pulRegDataType,PVOID Buffer,PULONG pulLength,ULONG ulFlags);
906 CMAPI CONFIGRET WINAPI CM_Get_DevNode_Registry_Property_ExA(DEVINST dnDevInst,ULONG ulProperty,PULONG pulRegDataType,PVOID Buffer,PULONG pulLength,ULONG ulFlags,HMACHINE hMachine);
907 CMAPI CONFIGRET WINAPI CM_Get_DevNode_Registry_Property_ExW(DEVINST dnDevInst,ULONG ulProperty,PULONG pulRegDataType,PVOID Buffer,PULONG pulLength,ULONG ulFlags,HMACHINE hMachine);
908 #define CM_Get_DevInst_Registry_PropertyW CM_Get_DevNode_Registry_PropertyW
909 #define CM_Get_DevInst_Registry_PropertyA CM_Get_DevNode_Registry_PropertyA
910 #define CM_Get_DevInst_Registry_Property_ExW CM_Get_DevNode_Registry_Property_ExW
911 #define CM_Get_DevInst_Registry_Property_ExA CM_Get_DevNode_Registry_Property_ExA
912 CMAPI CONFIGRET WINAPI CM_Get_DevNode_Custom_PropertyA(DEVINST dnDevInst,PCSTR pszCustomPropertyName,PULONG pulRegDataType,PVOID Buffer,PULONG pulLength,ULONG ulFlags);
913 CMAPI CONFIGRET WINAPI CM_Get_DevNode_Custom_PropertyW(DEVINST dnDevInst,PCWSTR pszCustomPropertyName,PULONG pulRegDataType,PVOID Buffer,PULONG pulLength,ULONG ulFlags);
914 CMAPI CONFIGRET WINAPI CM_Get_DevNode_Custom_Property_ExA(DEVINST dnDevInst,PCSTR pszCustomPropertyName,PULONG pulRegDataType,PVOID Buffer,PULONG pulLength,ULONG ulFlags,HMACHINE hMachine);
915 CMAPI CONFIGRET WINAPI CM_Get_DevNode_Custom_Property_ExW(DEVINST dnDevInst,PCWSTR pszCustomPropertyName,PULONG pulRegDataType,PVOID Buffer,PULONG pulLength,ULONG ulFlags,HMACHINE hMachine);
916 #define CM_Get_DevInst_Custom_PropertyW CM_Get_DevNode_Custom_PropertyW
917 #define CM_Get_DevInst_Custom_PropertyA CM_Get_DevNode_Custom_PropertyA
918 #define CM_Get_DevInst_Custom_Property_ExW CM_Get_DevNode_Custom_Property_ExW
919 #define CM_Get_DevInst_Custom_Property_ExA CM_Get_DevNode_Custom_Property_ExA
920 CMAPI CONFIGRET WINAPI CM_Get_DevNode_Status(PULONG pulStatus,PULONG pulProblemNumber,DEVINST dnDevInst,ULONG ulFlags);
921 CMAPI CONFIGRET WINAPI CM_Get_DevNode_Status_Ex(PULONG pulStatus,PULONG pulProblemNumber,DEVINST dnDevInst,ULONG ulFlags,HMACHINE hMachine);
922 #define CM_Get_DevInst_Status CM_Get_DevNode_Status
923 #define CM_Get_DevInst_Status_Ex CM_Get_DevNode_Status_Ex
924 CMAPI CONFIGRET WINAPI CM_Get_First_Log_Conf(PLOG_CONF plcLogConf,DEVINST dnDevInst,ULONG ulFlags);
925 CMAPI CONFIGRET WINAPI CM_Get_First_Log_Conf_Ex(PLOG_CONF plcLogConf,DEVINST dnDevInst,ULONG ulFlags,HMACHINE hMachine);
926 CMAPI CONFIGRET WINAPI CM_Get_Global_State(PULONG pulState,ULONG ulFlags);
927 CMAPI CONFIGRET WINAPI CM_Get_Global_State_Ex(PULONG pulState,ULONG ulFlags,HMACHINE hMachine);
928 CMAPI CONFIGRET WINAPI CM_Get_Hardware_Profile_InfoA(ULONG ulIndex,PHWPROFILEINFO_A pHWProfileInfo,ULONG ulFlags);
929 CMAPI CONFIGRET WINAPI CM_Get_Hardware_Profile_Info_ExA(ULONG ulIndex,PHWPROFILEINFO_A pHWProfileInfo,ULONG ulFlags,HMACHINE hMachine);
930 CMAPI CONFIGRET WINAPI CM_Get_Hardware_Profile_InfoW(ULONG ulIndex,PHWPROFILEINFO_W pHWProfileInfo,ULONG ulFlags);
931 CMAPI CONFIGRET WINAPI CM_Get_Hardware_Profile_Info_ExW(ULONG ulIndex,PHWPROFILEINFO_W pHWProfileInfo,ULONG ulFlags,HMACHINE hMachine);
932 CMAPI CONFIGRET WINAPI CM_Get_HW_Prof_FlagsA(DEVINSTID_A szDevInstName,ULONG ulHardwareProfile,PULONG pulValue,ULONG ulFlags);
933 CMAPI CONFIGRET WINAPI CM_Get_HW_Prof_FlagsW(DEVINSTID_W szDevInstName,ULONG ulHardwareProfile,PULONG pulValue,ULONG ulFlags);
934 CMAPI CONFIGRET WINAPI CM_Get_HW_Prof_Flags_ExA(DEVINSTID_A szDevInstName,ULONG ulHardwareProfile,PULONG pulValue,ULONG ulFlags,HMACHINE hMachine);
935 CMAPI CONFIGRET WINAPI CM_Get_HW_Prof_Flags_ExW(DEVINSTID_W szDevInstName,ULONG ulHardwareProfile,PULONG pulValue,ULONG ulFlags,HMACHINE hMachine);
936 CMAPI CONFIGRET WINAPI CM_Get_Device_Interface_AliasA(LPCSTR pszDeviceInterface,LPGUID AliasInterfaceGuid,LPSTR pszAliasDeviceInterface,PULONG pulLength,ULONG ulFlags);
937 CMAPI CONFIGRET WINAPI CM_Get_Device_Interface_AliasW(LPCWSTR pszDeviceInterface,LPGUID AliasInterfaceGuid,LPWSTR pszAliasDeviceInterface,PULONG pulLength,ULONG ulFlags);
938 CMAPI CONFIGRET WINAPI CM_Get_Device_Interface_Alias_ExA(LPCSTR pszDeviceInterface,LPGUID AliasInterfaceGuid,LPSTR pszAliasDeviceInterface,PULONG pulLength,ULONG ulFlags,HMACHINE hMachine);
939 CMAPI CONFIGRET WINAPI CM_Get_Device_Interface_Alias_ExW(LPCWSTR pszDeviceInterface,LPGUID AliasInterfaceGuid,LPWSTR pszAliasDeviceInterface,PULONG pulLength,ULONG ulFlags,HMACHINE hMachine);
940 CMAPI CONFIGRET WINAPI CM_Get_Device_Interface_ListA(LPGUID InterfaceClassGuid,DEVINSTID_A pDeviceID,PCHAR Buffer,ULONG BufferLen,ULONG ulFlags);
941 CMAPI CONFIGRET WINAPI CM_Get_Device_Interface_ListW(LPGUID InterfaceClassGuid,DEVINSTID_W pDeviceID,PWCHAR Buffer,ULONG BufferLen,ULONG ulFlags);
942 CMAPI CONFIGRET WINAPI CM_Get_Device_Interface_List_ExA(LPGUID InterfaceClassGuid,DEVINSTID_A pDeviceID,PCHAR Buffer,ULONG BufferLen,ULONG ulFlags,HMACHINE hMachine);
943 CMAPI CONFIGRET WINAPI CM_Get_Device_Interface_List_ExW(LPGUID InterfaceClassGuid,DEVINSTID_W pDeviceID,PWCHAR Buffer,ULONG BufferLen,ULONG ulFlags,HMACHINE hMachine);
944 CMAPI CONFIGRET WINAPI CM_Get_Device_Interface_List_SizeA(PULONG pulLen,LPGUID InterfaceClassGuid,DEVINSTID_A pDeviceID,ULONG ulFlags);
945 CMAPI CONFIGRET WINAPI CM_Get_Device_Interface_List_SizeW(PULONG pulLen,LPGUID InterfaceClassGuid,DEVINSTID_W pDeviceID,ULONG ulFlags);
946 CMAPI CONFIGRET WINAPI CM_Get_Device_Interface_List_Size_ExA(PULONG pulLen,LPGUID InterfaceClassGuid,DEVINSTID_A pDeviceID,ULONG ulFlags,HMACHINE hMachine);
947 CMAPI CONFIGRET WINAPI CM_Get_Device_Interface_List_Size_ExW(PULONG pulLen,LPGUID InterfaceClassGuid,DEVINSTID_W pDeviceID,ULONG ulFlags,HMACHINE hMachine);
948 CMAPI CONFIGRET WINAPI CM_Get_Log_Conf_Priority(LOG_CONF lcLogConf,PPRIORITY pPriority,ULONG ulFlags);
949 CMAPI CONFIGRET WINAPI CM_Get_Log_Conf_Priority_Ex(LOG_CONF lcLogConf,PPRIORITY pPriority,ULONG ulFlags,HMACHINE hMachine);
950 CMAPI CONFIGRET WINAPI CM_Get_Next_Log_Conf(PLOG_CONF plcLogConf,LOG_CONF lcLogConf,ULONG ulFlags);
951 CMAPI CONFIGRET WINAPI CM_Get_Next_Log_Conf_Ex(PLOG_CONF plcLogConf,LOG_CONF lcLogConf,ULONG ulFlags,HMACHINE hMachine);
952 CMAPI CONFIGRET WINAPI CM_Get_Parent(PDEVINST pdnDevInst,DEVINST dnDevInst,ULONG ulFlags);
953 CMAPI CONFIGRET WINAPI CM_Get_Parent_Ex(PDEVINST pdnDevInst,DEVINST dnDevInst,ULONG ulFlags,HMACHINE hMachine);
954 CMAPI CONFIGRET WINAPI CM_Get_Res_Des_Data(RES_DES rdResDes,PVOID Buffer,ULONG BufferLen,ULONG ulFlags);
955 CMAPI CONFIGRET WINAPI CM_Get_Res_Des_Data_Ex(RES_DES rdResDes,PVOID Buffer,ULONG BufferLen,ULONG ulFlags,HMACHINE hMachine);
956 CMAPI CONFIGRET WINAPI CM_Get_Res_Des_Data_Size(PULONG pulSize,RES_DES rdResDes,ULONG ulFlags);
957 CMAPI CONFIGRET WINAPI CM_Get_Res_Des_Data_Size_Ex(PULONG pulSize,RES_DES rdResDes,ULONG ulFlags,HMACHINE hMachine);
958 CMAPI CONFIGRET WINAPI CM_Get_Sibling(PDEVINST pdnDevInst,DEVINST DevInst,ULONG ulFlags);
959 CMAPI CONFIGRET WINAPI CM_Get_Sibling_Ex(PDEVINST pdnDevInst,DEVINST DevInst,ULONG ulFlags,HMACHINE hMachine);
960 CMAPI WORD WINAPI CM_Get_Version(VOID);
961 CMAPI WORD WINAPI CM_Get_Version_Ex(HMACHINE hMachine);
962 CMAPI WINBOOL WINAPI CM_Is_Version_Available(WORD wVersion);
963 CMAPI WINBOOL WINAPI CM_Is_Version_Available_Ex(WORD wVersion,HMACHINE hMachine);
964 CMAPI CONFIGRET WINAPI CM_Intersect_Range_List(RANGE_LIST rlhOld1,RANGE_LIST rlhOld2,RANGE_LIST rlhNew,ULONG ulFlags);
965 CMAPI CONFIGRET WINAPI CM_Invert_Range_List(RANGE_LIST rlhOld,RANGE_LIST rlhNew,DWORDLONG ullMaxValue,ULONG ulFlags);
966 CMAPI CONFIGRET WINAPI CM_Locate_DevNodeA(PDEVINST pdnDevInst,DEVINSTID_A pDeviceID,ULONG ulFlags);
967 CMAPI CONFIGRET WINAPI CM_Locate_DevNodeW(PDEVINST pdnDevInst,DEVINSTID_W pDeviceID,ULONG ulFlags);
968 CMAPI CONFIGRET WINAPI CM_Locate_DevNode_ExA(PDEVINST pdnDevInst,DEVINSTID_A pDeviceID,ULONG ulFlags,HMACHINE hMachine);
969 CMAPI CONFIGRET WINAPI CM_Locate_DevNode_ExW(PDEVINST pdnDevInst,DEVINSTID_W pDeviceID,ULONG ulFlags,HMACHINE hMachine);
970 #define CM_Locate_DevInstA CM_Locate_DevNodeA
971 #define CM_Locate_DevInstW CM_Locate_DevNodeW
972 #define CM_Locate_DevInst_ExA CM_Locate_DevNode_ExA
973 #define CM_Locate_DevInst_ExW CM_Locate_DevNode_ExW
974 CMAPI CONFIGRET WINAPI CM_Merge_Range_List(RANGE_LIST rlhOld1,RANGE_LIST rlhOld2,RANGE_LIST rlhNew,ULONG ulFlags);
975 CMAPI CONFIGRET WINAPI CM_Modify_Res_Des(PRES_DES prdResDes,RES_DES rdResDes,RESOURCEID ResourceID,PCVOID ResourceData,ULONG ResourceLen,ULONG ulFlags);
976 CMAPI CONFIGRET WINAPI CM_Modify_Res_Des_Ex(PRES_DES prdResDes,RES_DES rdResDes,RESOURCEID ResourceID,PCVOID ResourceData,ULONG ResourceLen,ULONG ulFlags,HMACHINE hMachine);
977 CMAPI CONFIGRET WINAPI CM_Move_DevNode(DEVINST dnFromDevInst,DEVINST dnToDevInst,ULONG ulFlags);
978 CMAPI CONFIGRET WINAPI CM_Move_DevNode_Ex(DEVINST dnFromDevInst,DEVINST dnToDevInst,ULONG ulFlags,HMACHINE hMachine);
979 #define CM_Move_DevInst CM_Move_DevNode
980 #define CM_Move_DevInst_Ex CM_Move_DevNode_Ex
981 CMAPI CONFIGRET WINAPI CM_Next_Range(PRANGE_ELEMENT preElement,PDWORDLONG pullStart,PDWORDLONG pullEnd,ULONG ulFlags);
982 CMAPI CONFIGRET WINAPI CM_Get_Next_Res_Des(PRES_DES prdResDes,RES_DES rdResDes,RESOURCEID ForResource,PRESOURCEID pResourceID,ULONG ulFlags);
983 CMAPI CONFIGRET WINAPI CM_Get_Next_Res_Des_Ex(PRES_DES prdResDes,RES_DES rdResDes,RESOURCEID ForResource,PRESOURCEID pResourceID,ULONG ulFlags,HMACHINE hMachine);
984 CMAPI CONFIGRET WINAPI CM_Open_Class_KeyA(LPGUID ClassGuid,LPCSTR pszClassName,REGSAM samDesired,REGDISPOSITION Disposition,PHKEY phkClass,ULONG ulFlags);
985 CMAPI CONFIGRET WINAPI CM_Open_Class_KeyW(LPGUID ClassGuid,LPCWSTR pszClassName,REGSAM samDesired,REGDISPOSITION Disposition,PHKEY phkClass,ULONG ulFlags);
986 CMAPI CONFIGRET WINAPI CM_Open_Class_Key_ExA(LPGUID pszClassGuid,LPCSTR pszClassName,REGSAM samDesired,REGDISPOSITION Disposition,PHKEY phkClass,ULONG ulFlags,HMACHINE hMachine);
987 CMAPI CONFIGRET WINAPI CM_Open_Class_Key_ExW(LPGUID pszClassGuid,LPCWSTR pszClassName,REGSAM samDesired,REGDISPOSITION Disposition,PHKEY phkClass,ULONG ulFlags,HMACHINE hMachine);
988 CMAPI CONFIGRET WINAPI CM_Open_DevNode_Key(DEVINST dnDevNode,REGSAM samDesired,ULONG ulHardwareProfile,REGDISPOSITION Disposition,PHKEY phkDevice,ULONG ulFlags);
989 CMAPI CONFIGRET WINAPI CM_Open_DevNode_Key_Ex(DEVINST dnDevNode,REGSAM samDesired,ULONG ulHardwareProfile,REGDISPOSITION Disposition,PHKEY phkDevice,ULONG ulFlags,HMACHINE hMachine);
990 #define CM_Open_DevInst_Key CM_Open_DevNode_Key
991 #define CM_Open_DevInst_Key_Ex CM_Open_DevNode_Key_Ex
992 CMAPI CONFIGRET WINAPI CM_Query_Arbitrator_Free_Data(PVOID pData,ULONG DataLen,DEVINST dnDevInst,RESOURCEID ResourceID,ULONG ulFlags);
993 CMAPI CONFIGRET WINAPI CM_Query_Arbitrator_Free_Data_Ex(PVOID pData,ULONG DataLen,DEVINST dnDevInst,RESOURCEID ResourceID,ULONG ulFlags,HMACHINE hMachine);
994 CMAPI CONFIGRET WINAPI CM_Query_Arbitrator_Free_Size(PULONG pulSize,DEVINST dnDevInst,RESOURCEID ResourceID,ULONG ulFlags);
995 CMAPI CONFIGRET WINAPI CM_Query_Arbitrator_Free_Size_Ex(PULONG pulSize,DEVINST dnDevInst,RESOURCEID ResourceID,ULONG ulFlags,HMACHINE hMachine);
996 CMAPI CONFIGRET WINAPI CM_Query_Remove_SubTree(DEVINST dnAncestor,ULONG ulFlags);
997 CMAPI CONFIGRET WINAPI CM_Query_Remove_SubTree_Ex(DEVINST dnAncestor,ULONG ulFlags,HMACHINE hMachine);
998 CMAPI CONFIGRET WINAPI CM_Query_And_Remove_SubTreeA(DEVINST dnAncestor,PPNP_VETO_TYPE pVetoType,LPSTR pszVetoName,ULONG ulNameLength,ULONG ulFlags);
999 CMAPI CONFIGRET WINAPI CM_Query_And_Remove_SubTree_ExA(DEVINST dnAncestor,PPNP_VETO_TYPE pVetoType,LPSTR pszVetoName,ULONG ulNameLength,ULONG ulFlags,HMACHINE hMachine);
1000 CMAPI CONFIGRET WINAPI CM_Query_And_Remove_SubTreeW(DEVINST dnAncestor,PPNP_VETO_TYPE pVetoType,LPWSTR pszVetoName,ULONG ulNameLength,ULONG ulFlags);
1001 CMAPI CONFIGRET WINAPI CM_Query_And_Remove_SubTree_ExW(DEVINST dnAncestor,PPNP_VETO_TYPE pVetoType,LPWSTR pszVetoName,ULONG ulNameLength,ULONG ulFlags,HMACHINE hMachine);
1002 CMAPI CONFIGRET WINAPI CM_Request_Device_EjectA(DEVINST dnDevInst,PPNP_VETO_TYPE pVetoType,LPSTR pszVetoName,ULONG ulNameLength,ULONG ulFlags);
1003 CMAPI CONFIGRET WINAPI CM_Request_Device_Eject_ExA(DEVINST dnDevInst,PPNP_VETO_TYPE pVetoType,LPSTR pszVetoName,ULONG ulNameLength,ULONG ulFlags,HMACHINE hMachine);
1004 CMAPI CONFIGRET WINAPI CM_Request_Device_EjectW(DEVINST dnDevInst,PPNP_VETO_TYPE pVetoType,LPWSTR pszVetoName,ULONG ulNameLength,ULONG ulFlags);
1005 CMAPI CONFIGRET WINAPI CM_Request_Device_Eject_ExW(DEVINST dnDevInst,PPNP_VETO_TYPE pVetoType,LPWSTR pszVetoName,ULONG ulNameLength,ULONG ulFlags,HMACHINE hMachine);
1006 CMAPI CONFIGRET WINAPI CM_Reenumerate_DevNode(DEVINST dnDevInst,ULONG ulFlags);
1007 CMAPI CONFIGRET WINAPI CM_Reenumerate_DevNode_Ex(DEVINST dnDevInst,ULONG ulFlags,HMACHINE hMachine);
1008 #define CM_Reenumerate_DevInst CM_Reenumerate_DevNode
1009 #define CM_Reenumerate_DevInst_Ex CM_Reenumerate_DevNode_Ex
1010 CMAPI CONFIGRET WINAPI CM_Register_Device_InterfaceA(DEVINST dnDevInst,LPGUID InterfaceClassGuid,LPCSTR pszReference,LPSTR pszDeviceInterface,PULONG pulLength,ULONG ulFlags);
1011 CMAPI CONFIGRET WINAPI CM_Register_Device_InterfaceW(DEVINST dnDevInst,LPGUID InterfaceClassGuid,LPCWSTR pszReference,LPWSTR pszDeviceInterface,PULONG pulLength,ULONG ulFlags);
1012 CMAPI CONFIGRET WINAPI CM_Register_Device_Interface_ExA(DEVINST dnDevInst,LPGUID InterfaceClassGuid,LPCSTR pszReference,LPSTR pszDeviceInterface,PULONG pulLength,ULONG ulFlags,HMACHINE hMachine);
1013 CMAPI CONFIGRET WINAPI CM_Register_Device_Interface_ExW(DEVINST dnDevInst,LPGUID InterfaceClassGuid,LPCWSTR pszReference,LPWSTR pszDeviceInterface,PULONG pulLength,ULONG ulFlags,HMACHINE hMachine);
1014 CMAPI CONFIGRET WINAPI CM_Set_DevNode_Problem_Ex(DEVINST dnDevInst,ULONG ulProblem,ULONG ulFlags,HMACHINE hMachine);
1015 CMAPI CONFIGRET WINAPI CM_Set_DevNode_Problem(DEVINST dnDevInst,ULONG ulProblem,ULONG ulFlags);
1016 #define CM_Set_DevInst_Problem CM_Set_DevNode_Problem
1017 #define CM_Set_DevInst_Problem_Ex CM_Set_DevNode_Problem_Ex
1018 CMAPI CONFIGRET WINAPI CM_Unregister_Device_InterfaceA(LPCSTR pszDeviceInterface,ULONG ulFlags);
1019 CMAPI CONFIGRET WINAPI CM_Unregister_Device_InterfaceW(LPCWSTR pszDeviceInterface,ULONG ulFlags);
1020 CMAPI CONFIGRET WINAPI CM_Unregister_Device_Interface_ExA(LPCSTR pszDeviceInterface,ULONG ulFlags,HMACHINE hMachine);
1021 CMAPI CONFIGRET WINAPI CM_Unregister_Device_Interface_ExW(LPCWSTR pszDeviceInterface,ULONG ulFlags,HMACHINE hMachine);
1022 CMAPI CONFIGRET WINAPI CM_Register_Device_Driver(DEVINST dnDevInst,ULONG ulFlags);
1023 CMAPI CONFIGRET WINAPI CM_Register_Device_Driver_Ex(DEVINST dnDevInst,ULONG ulFlags,HMACHINE hMachine);
1024 CMAPI CONFIGRET WINAPI CM_Remove_SubTree(DEVINST dnAncestor,ULONG ulFlags);
1025 CMAPI CONFIGRET WINAPI CM_Remove_SubTree_Ex(DEVINST dnAncestor,ULONG ulFlags,HMACHINE hMachine);
1026 CMAPI CONFIGRET WINAPI CM_Set_DevNode_Registry_PropertyA(DEVINST dnDevInst,ULONG ulProperty,PCVOID Buffer,ULONG ulLength,ULONG ulFlags);
1027 CMAPI CONFIGRET WINAPI CM_Set_DevNode_Registry_PropertyW(DEVINST dnDevInst,ULONG ulProperty,PCVOID Buffer,ULONG ulLength,ULONG ulFlags);
1028 CMAPI CONFIGRET WINAPI CM_Set_DevNode_Registry_Property_ExA(DEVINST dnDevInst,ULONG ulProperty,PCVOID Buffer,ULONG ulLength,ULONG ulFlags,HMACHINE hMachine);
1029 CMAPI CONFIGRET WINAPI CM_Set_DevNode_Registry_Property_ExW(DEVINST dnDevInst,ULONG ulProperty,PCVOID Buffer,ULONG ulLength,ULONG ulFlags,HMACHINE hMachine);
1030 #define CM_Set_DevInst_Registry_PropertyW CM_Set_DevNode_Registry_PropertyW
1031 #define CM_Set_DevInst_Registry_PropertyA CM_Set_DevNode_Registry_PropertyA
1032 #define CM_Set_DevInst_Registry_Property_ExW CM_Set_DevNode_Registry_Property_ExW
1033 #define CM_Set_DevInst_Registry_Property_ExA CM_Set_DevNode_Registry_Property_ExA
1034 CMAPI CONFIGRET WINAPI CM_Is_Dock_Station_Present(PBOOL pbPresent);
1035 CMAPI CONFIGRET WINAPI CM_Is_Dock_Station_Present_Ex(PBOOL pbPresent,HMACHINE hMachine);
1036 CMAPI CONFIGRET WINAPI CM_Request_Eject_PC(VOID);
1037 CMAPI CONFIGRET WINAPI CM_Request_Eject_PC_Ex(HMACHINE hMachine);
1038 CMAPI CONFIGRET WINAPI CM_Set_HW_Prof_FlagsA(DEVINSTID_A szDevInstName,ULONG ulConfig,ULONG ulValue,ULONG ulFlags);
1039 CMAPI CONFIGRET WINAPI CM_Set_HW_Prof_FlagsW(DEVINSTID_W szDevInstName,ULONG ulConfig,ULONG ulValue,ULONG ulFlags);
1040 CMAPI CONFIGRET WINAPI CM_Set_HW_Prof_Flags_ExA(DEVINSTID_A szDevInstName,ULONG ulConfig,ULONG ulValue,ULONG ulFlags,HMACHINE hMachine);
1041 CMAPI CONFIGRET WINAPI CM_Set_HW_Prof_Flags_ExW(DEVINSTID_W szDevInstName,ULONG ulConfig,ULONG ulValue,ULONG ulFlags,HMACHINE hMachine);
1042 CMAPI CONFIGRET WINAPI CM_Setup_DevNode(DEVINST dnDevInst,ULONG ulFlags);
1043 CMAPI CONFIGRET WINAPI CM_Setup_DevNode_Ex(DEVINST dnDevInst,ULONG ulFlags,HMACHINE hMachine);
1044 #define CM_Setup_DevInst CM_Setup_DevNode
1045 #define CM_Setup_DevInst_Ex CM_Setup_DevNode_Ex
1046 CMAPI CONFIGRET WINAPI CM_Test_Range_Available(DWORDLONG ullStartValue,DWORDLONG ullEndValue,RANGE_LIST rlh,ULONG ulFlags);
1047 CMAPI CONFIGRET WINAPI CM_Uninstall_DevNode(DEVNODE dnPhantom,ULONG ulFlags);
1048 CMAPI CONFIGRET WINAPI CM_Uninstall_DevNode_Ex(DEVNODE dnPhantom,ULONG ulFlags,HANDLE hMachine);
1049 #define CM_Uninstall_DevInst CM_Uninstall_DevNode
1050 #define CM_Uninstall_DevInst_Ex CM_Uninstall_DevNode_Ex
1051 CMAPI CONFIGRET WINAPI CM_Run_Detection(ULONG ulFlags);
1052 CMAPI CONFIGRET WINAPI CM_Run_Detection_Ex(ULONG ulFlags,HMACHINE hMachine);
1053 CMAPI CONFIGRET WINAPI CM_Set_HW_Prof(ULONG ulHardwareProfile,ULONG ulFlags);
1054 CMAPI CONFIGRET WINAPI CM_Set_HW_Prof_Ex(ULONG ulHardwareProfile,ULONG ulFlags,HMACHINE hMachine);
1055 CMAPI CONFIGRET WINAPI CM_Query_Resource_Conflict_List(PCONFLICT_LIST pclConflictList,DEVINST dnDevInst,RESOURCEID ResourceID,PCVOID ResourceData,ULONG ResourceLen,ULONG ulFlags,HMACHINE hMachine);
1056 CMAPI CONFIGRET WINAPI CM_Free_Resource_Conflict_Handle(CONFLICT_LIST clConflictList);
1057 CMAPI CONFIGRET WINAPI CM_Get_Resource_Conflict_Count(CONFLICT_LIST clConflictList,PULONG pulCount);
1058 CMAPI CONFIGRET WINAPI CM_Get_Resource_Conflict_DetailsA(CONFLICT_LIST clConflictList,ULONG ulIndex,PCONFLICT_DETAILS_A pConflictDetails);
1059 CMAPI CONFIGRET WINAPI CM_Get_Resource_Conflict_DetailsW(CONFLICT_LIST clConflictList,ULONG ulIndex,PCONFLICT_DETAILS_W pConflictDetails);
1060 CMAPI CONFIGRET WINAPI CM_Get_Class_Registry_PropertyW(LPGUID ClassGUID,ULONG ulProperty,PULONG pulRegDataType,PVOID Buffer,PULONG pulLength,ULONG ulFlags,HMACHINE hMachine);
1061 CMAPI CONFIGRET WINAPI CM_Set_Class_Registry_PropertyW(LPGUID ClassGUID,ULONG ulProperty,PCVOID Buffer,ULONG ulLength,ULONG ulFlags,HMACHINE hMachine);
1062 CMAPI CONFIGRET WINAPI CM_Get_Class_Registry_PropertyA(LPGUID ClassGUID,ULONG ulProperty,PULONG pulRegDataType,PVOID Buffer,PULONG pulLength,ULONG ulFlags,HMACHINE hMachine);
1063 CMAPI CONFIGRET WINAPI CM_Set_Class_Registry_PropertyA(LPGUID ClassGUID,ULONG ulProperty,PCVOID Buffer,ULONG ulLength,ULONG ulFlags,HMACHINE hMachine);
1064 #define CM_WaitNoPendingInstallEvents CMP_WaitNoPendingInstallEvents
1065 DWORD WINAPI CM_WaitNoPendingInstallEvents(DWORD dwTimeout);
1066
1067 #define CR_SUCCESS (0x00000000)
1068 #define CR_DEFAULT (0x00000001)
1069 #define CR_OUT_OF_MEMORY (0x00000002)
1070 #define CR_INVALID_POINTER (0x00000003)
1071 #define CR_INVALID_FLAG (0x00000004)
1072 #define CR_INVALID_DEVNODE (0x00000005)
1073 #define CR_INVALID_DEVINST CR_INVALID_DEVNODE
1074 #define CR_INVALID_RES_DES (0x00000006)
1075 #define CR_INVALID_LOG_CONF (0x00000007)
1076 #define CR_INVALID_ARBITRATOR (0x00000008)
1077 #define CR_INVALID_NODELIST (0x00000009)
1078 #define CR_DEVNODE_HAS_REQS (0x0000000A)
1079 #define CR_DEVINST_HAS_REQS CR_DEVNODE_HAS_REQS
1080 #define CR_INVALID_RESOURCEID (0x0000000B)
1081 #define CR_DLVXD_NOT_FOUND (0x0000000C)
1082 #define CR_NO_SUCH_DEVNODE (0x0000000D)
1083 #define CR_NO_SUCH_DEVINST CR_NO_SUCH_DEVNODE
1084 #define CR_NO_MORE_LOG_CONF (0x0000000E)
1085 #define CR_NO_MORE_RES_DES (0x0000000F)
1086 #define CR_ALREADY_SUCH_DEVNODE (0x00000010)
1087 #define CR_ALREADY_SUCH_DEVINST CR_ALREADY_SUCH_DEVNODE
1088 #define CR_INVALID_RANGE_LIST (0x00000011)
1089 #define CR_INVALID_RANGE (0x00000012)
1090 #define CR_FAILURE (0x00000013)
1091 #define CR_NO_SUCH_LOGICAL_DEV (0x00000014)
1092 #define CR_CREATE_BLOCKED (0x00000015)
1093 #define CR_NOT_SYSTEM_VM (0x00000016)
1094 #define CR_REMOVE_VETOED (0x00000017)
1095 #define CR_APM_VETOED (0x00000018)
1096 #define CR_INVALID_LOAD_TYPE (0x00000019)
1097 #define CR_BUFFER_SMALL (0x0000001A)
1098 #define CR_NO_ARBITRATOR (0x0000001B)
1099 #define CR_NO_REGISTRY_HANDLE (0x0000001C)
1100 #define CR_REGISTRY_ERROR (0x0000001D)
1101 #define CR_INVALID_DEVICE_ID (0x0000001E)
1102 #define CR_INVALID_DATA (0x0000001F)
1103 #define CR_INVALID_API (0x00000020)
1104 #define CR_DEVLOADER_NOT_READY (0x00000021)
1105 #define CR_NEED_RESTART (0x00000022)
1106 #define CR_NO_MORE_HW_PROFILES (0x00000023)
1107 #define CR_DEVICE_NOT_THERE (0x00000024)
1108 #define CR_NO_SUCH_VALUE (0x00000025)
1109 #define CR_WRONG_TYPE (0x00000026)
1110 #define CR_INVALID_PRIORITY (0x00000027)
1111 #define CR_NOT_DISABLEABLE (0x00000028)
1112 #define CR_FREE_RESOURCES (0x00000029)
1113 #define CR_QUERY_VETOED (0x0000002A)
1114 #define CR_CANT_SHARE_IRQ (0x0000002B)
1115 #define CR_NO_DEPENDENT (0x0000002C)
1116 #define CR_SAME_RESOURCES (0x0000002D)
1117 #define CR_NO_SUCH_REGISTRY_KEY (0x0000002E)
1118 #define CR_INVALID_MACHINENAME (0x0000002F)
1119 #define CR_REMOTE_COMM_FAILURE (0x00000030)
1120 #define CR_MACHINE_UNAVAILABLE (0x00000031)
1121 #define CR_NO_CM_SERVICES (0x00000032)
1122 #define CR_ACCESS_DENIED (0x00000033)
1123 #define CR_CALL_NOT_IMPLEMENTED (0x00000034)
1124 #define CR_INVALID_PROPERTY (0x00000035)
1125 #define CR_DEVICE_INTERFACE_ACTIVE (0x00000036)
1126 #define CR_NO_SUCH_DEVICE_INTERFACE (0x00000037)
1127 #define CR_INVALID_REFERENCE_STRING (0x00000038)
1128 #define CR_INVALID_CONFLICT_LIST (0x00000039)
1129 #define CR_INVALID_INDEX (0x0000003A)
1130 #define CR_INVALID_STRUCTURE_SIZE (0x0000003B)
1131 #define NUM_CR_RESULTS (0x0000003C)
1132
1133 #ifdef __cplusplus
1134 }
1135 #endif
1136 #endif