6784af31c802484ca6fcaddf1b9927ae31632b5d
[reactos.git] / reactos / w32api / include / ddk / cfgmgr32.h
1 /*
2 * cfgmgr32.h
3 *
4 * PnP configuration manager
5 *
6 * This file is part of the w32api package.
7 *
8 * Contributors:
9 * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
10 *
11 * THIS SOFTWARE IS NOT COPYRIGHTED
12 *
13 * This source code is offered for use in the public domain. You may
14 * use, modify or distribute it freely.
15 *
16 * This code is distributed in the hope that it will be useful but
17 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
18 * DISCLAIMED. This includes but is not limited to warranties of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
20 *
21 */
22
23 #ifndef __CFGMGR32_H
24 #define __CFGMGR32_H
25
26 #if __GNUC__ >=3
27 #pragma GCC system_header
28 #endif
29
30 #include "cfg.h"
31
32 #ifdef __cplusplus
33 extern "C" {
34 #endif
35
36 #if defined(_CFGMGR32_)
37 #define CMAPI DECLSPEC_EXPORT
38 #else
39 #define CMAPI DECLSPEC_IMPORT
40 #endif
41
42 #include <pshpack1.h>
43
44 #define CR_SUCCESS 0x00000000
45 #define CR_DEFAULT 0x00000001
46 #define CR_OUT_OF_MEMORY 0x00000002
47 #define CR_INVALID_POINTER 0x00000003
48 #define CR_INVALID_FLAG 0x00000004
49 #define CR_INVALID_DEVNODE 0x00000005
50 #define CR_INVALID_DEVINST CR_INVALID_DEVNODE
51 #define CR_INVALID_RES_DES 0x00000006
52 #define CR_INVALID_LOG_CONF 0x00000007
53 #define CR_INVALID_ARBITRATOR 0x00000008
54 #define CR_INVALID_NODELIST 0x00000009
55 #define CR_DEVNODE_HAS_REQS 0x0000000A
56 #define CR_DEVINST_HAS_REQS CR_DEVNODE_HAS_REQS
57 #define CR_INVALID_RESOURCEID 0x0000000B
58 #define CR_DLVXD_NOT_FOUND 0x0000000C
59 #define CR_NO_SUCH_DEVNODE 0x0000000D
60 #define CR_NO_SUCH_DEVINST CR_NO_SUCH_DEVNODE
61 #define CR_NO_MORE_LOG_CONF 0x0000000E
62 #define CR_NO_MORE_RES_DES 0x0000000F
63 #define CR_ALREADY_SUCH_DEVNODE 0x00000010
64 #define CR_ALREADY_SUCH_DEVINST CR_ALREADY_SUCH_DEVNODE
65 #define CR_INVALID_RANGE_LIST 0x00000011
66 #define CR_INVALID_RANGE 0x00000012
67 #define CR_FAILURE 0x00000013
68 #define CR_NO_SUCH_LOGICAL_DEV 0x00000014
69 #define CR_CREATE_BLOCKED 0x00000015
70 #define CR_NOT_SYSTEM_VM 0x00000016
71 #define CR_REMOVE_VETOED 0x00000017
72 #define CR_APM_VETOED 0x00000018
73 #define CR_INVALID_LOAD_TYPE 0x00000019
74 #define CR_BUFFER_SMALL 0x0000001A
75 #define CR_NO_ARBITRATOR 0x0000001B
76 #define CR_NO_REGISTRY_HANDLE 0x0000001C
77 #define CR_REGISTRY_ERROR 0x0000001D
78 #define CR_INVALID_DEVICE_ID 0x0000001E
79 #define CR_INVALID_DATA 0x0000001F
80 #define CR_INVALID_API 0x00000020
81 #define CR_DEVLOADER_NOT_READY 0x00000021
82 #define CR_NEED_RESTART 0x00000022
83 #define CR_NO_MORE_HW_PROFILES 0x00000023
84 #define CR_DEVICE_NOT_THERE 0x00000024
85 #define CR_NO_SUCH_VALUE 0x00000025
86 #define CR_WRONG_TYPE 0x00000026
87 #define CR_INVALID_PRIORITY 0x00000027
88 #define CR_NOT_DISABLEABLE 0x00000028
89 #define CR_FREE_RESOURCES 0x00000029
90 #define CR_QUERY_VETOED 0x0000002A
91 #define CR_CANT_SHARE_IRQ 0x0000002B
92 #define CR_NO_DEPENDENT 0x0000002C
93 #define CR_SAME_RESOURCES 0x0000002D
94 #define CR_NO_SUCH_REGISTRY_KEY 0x0000002E
95 #define CR_INVALID_MACHINENAME 0x0000002F
96 #define CR_REMOTE_COMM_FAILURE 0x00000030
97 #define CR_MACHINE_UNAVAILABLE 0x00000031
98 #define CR_NO_CM_SERVICES 0x00000032
99 #define CR_ACCESS_DENIED 0x00000033
100 #define CR_CALL_NOT_IMPLEMENTED 0x00000034
101 #define CR_INVALID_PROPERTY 0x00000035
102 #define CR_DEVICE_INTERFACE_ACTIVE 0x00000036
103 #define CR_NO_SUCH_DEVICE_INTERFACE 0x00000037
104 #define CR_INVALID_REFERENCE_STRING 0x00000038
105 #define CR_INVALID_CONFLICT_LIST 0x00000039
106 #define CR_INVALID_INDEX 0x0000003A
107 #define CR_INVALID_STRUCTURE_SIZE 0x0000003B
108
109
110 typedef DWORD RETURN_TYPE;
111 typedef RETURN_TYPE CONFIGRET;
112
113 typedef HANDLE HMACHINE;
114 typedef HMACHINE *PHMACHINE;
115
116 typedef DWORD_PTR RES_DES;
117 typedef RES_DES *PRES_DES;
118
119 typedef DWORD_PTR RANGE_ELEMENT;
120 typedef RANGE_ELEMENT *PRANGE_ELEMENT;
121
122 typedef ULONG_PTR CONFLICT_LIST;
123 typedef CONFLICT_LIST *PCONFLICT_LIST;
124
125 typedef DWORD_PTR LOG_CONF;
126 typedef LOG_CONF *PLOG_CONF;
127
128 typedef ULONG PRIORITY;
129 typedef PRIORITY *PPRIORITY;
130
131 typedef DWORD_PTR RANGE_LIST;
132 typedef RANGE_LIST *PRANGE_LIST;
133
134 typedef DWORD DEVNODE, DEVINST;
135 typedef DEVNODE *PDEVNODE, *PDEVINST;
136
137 typedef CHAR *DEVNODEID_A, *DEVINSTID_A;
138 typedef WCHAR *DEVNODEID_W, *DEVINSTID_W;
139
140 #ifdef UNICODE
141 typedef DEVNODEID_W DEVNODEID;
142 typedef DEVINSTID_W DEVINSTID;
143 #else
144 typedef DEVNODEID_A DEVNODEID;
145 typedef DEVINSTID_A DEVINSTID;
146 #endif
147
148 typedef ULONG REGDISPOSITION;
149
150 typedef ULONG RESOURCEID;
151 typedef RESOURCEID *PRESOURCEID;
152
153 #define CM_RESDES_WIDTH_DEFAULT 0x00000000
154 #define CM_RESDES_WIDTH_32 0x00000001
155 #define CM_RESDES_WIDTH_64 0x00000002
156 #define CM_RESDES_WIDTH_BITS 0x00000003
157
158
159 #define MAX_CONFIG_VALUE 9999
160 #define MAX_INSTANCE_VALUE 9999
161
162 #define MAX_DEVICE_ID_LEN 200
163 #define MAX_DEVNODE_ID_LEN MAX_DEVICE_ID_LEN
164
165 #define MAX_CLASS_NAME_LEN 32
166 #define MAX_GUID_STRING_LEN 39
167 #define MAX_PROFILE_LEN 80
168
169
170 #define ResType_All 0x00000000
171 #define ResType_None 0x00000000
172 #define ResType_Mem 0x00000001
173 #define ResType_IO 0x00000002
174 #define ResType_DMA 0x00000003
175 #define ResType_IRQ 0x00000004
176 #define ResType_DoNotUse 0x00000005
177 #define ResType_BusNumber 0x00000006
178 #define ResType_MAX 0x00000006
179 #define ResType_Ignored_Bit 0x00008000
180 #define ResType_ClassSpecific 0x0000FFFF
181 #define ResType_Reserved 0x00008000
182 #define ResType_DevicePrivate 0x00008001
183 #define ResType_PcCardConfig 0x00008002
184 #define ResType_MfCardConfig 0x00008003
185
186 #define CM_GETIDLIST_FILTER_NONE 0x00000000
187 #define CM_GETIDLIST_FILTER_ENUMERATOR 0x00000001
188 #define CM_GETIDLIST_FILTER_SERVICE 0x00000002
189 #define CM_GETIDLIST_FILTER_EJECTRELATIONS 0x00000004
190 #define CM_GETIDLIST_FILTER_REMOVALRELATIONS 0x00000008
191 #define CM_GETIDLIST_FILTER_POWERRELATIONS 0x00000010
192 #define CM_GETIDLIST_FILTER_BUSRELATIONS 0x00000020
193 #define CM_GETIDLIST_DONOTGENERATE 0x10000040
194 #define CM_GETIDLIST_FILTER_BITS 0x1000007F
195
196 #define CM_GET_DEVICE_INTERFACE_LIST_PRESENT 0x00000000
197 #define CM_GET_DEVICE_INTERFACE_LIST_ALL_DEVICES 0x00000001
198 #define CM_GET_DEVICE_INTERFACE_LIST_BITS 0x00000001
199
200 #define CM_DRP_DEVICEDESC 0x00000001
201 #define CM_DRP_HARDWAREID 0x00000002
202 #define CM_DRP_COMPATIBLEIDS 0x00000003
203 #define CM_DRP_UNUSED0 0x00000004
204 #define CM_DRP_SERVICE 0x00000005
205 #define CM_DRP_UNUSED1 0x00000006
206 #define CM_DRP_UNUSED2 0x00000007
207 #define CM_DRP_CLASS 0x00000008
208 #define CM_DRP_CLASSGUID 0x00000009
209 #define CM_DRP_DRIVER 0x0000000A
210 #define CM_DRP_CONFIGFLAGS 0x0000000B
211 #define CM_DRP_MFG 0x0000000C
212 #define CM_DRP_FRIENDLYNAME 0x0000000D
213 #define CM_DRP_LOCATION_INFORMATION 0x0000000E
214 #define CM_DRP_PHYSICAL_DEVICE_OBJECT_NAME 0x0000000F
215 #define CM_DRP_CAPABILITIES 0x00000010
216 #define CM_DRP_UI_NUMBER 0x00000011
217 #define CM_DRP_UPPERFILTERS 0x00000012
218 #define CM_DRP_LOWERFILTERS 0x00000013
219 #define CM_DRP_BUSTYPEGUID 0x00000014
220 #define CM_DRP_LEGACYBUSTYPE 0x00000015
221 #define CM_DRP_BUSNUMBER 0x00000016
222 #define CM_DRP_ENUMERATOR_NAME 0x00000017
223
224 #define CM_DRP_MIN 0x00000001
225 #define CM_DRP_MAX 0x00000017
226
227
228 typedef struct BusNumber_Des_s {
229 DWORD BUSD_Count;
230 DWORD BUSD_Type;
231 DWORD BUSD_Flags;
232 ULONG BUSD_Alloc_Base;
233 ULONG BUSD_Alloc_End;
234 } BUSNUMBER_DES, *PBUSNUMBER_DES;
235
236 typedef struct BusNumber_Range_s {
237 ULONG BUSR_Min;
238 ULONG BUSR_Max;
239 ULONG BUSR_nBusNumbers;
240 ULONG BUSR_Flags;
241 } BUSNUMBER_RANGE, *PBUSNUMBER_RANGE;
242
243 #define BusNumberType_Range sizeof(BUSNUMBER_RANGE)
244
245 typedef struct BusNumber_Resource_s {
246 BUSNUMBER_DES BusNumber_Header;
247 BUSNUMBER_RANGE BusNumber_Data[ANYSIZE_ARRAY];
248 } BUSNUMBER_RESOURCE, *PBUSNUMBER_RESOURCE;
249
250 typedef struct CS_Des_s {
251 DWORD CSD_SignatureLength;
252 DWORD CSD_LegacyDataOffset;
253 DWORD CSD_LegacyDataSize;
254 DWORD CSD_Flags;
255 GUID CSD_ClassGuid;
256 BYTE CSD_Signature[ANYSIZE_ARRAY];
257 } CS_DES, *PCS_DES;
258
259 typedef struct CS_Resource_s {
260 CS_DES CS_Header;
261 } CS_RESOURCE, *PCS_RESOURCE;
262
263 typedef struct DevPrivate_Des_s {
264 DWORD PD_Count;
265 DWORD PD_Type;
266 DWORD PD_Data1;
267 DWORD PD_Data2;
268 DWORD PD_Data3;
269 DWORD PD_Flags;
270 } DEVPRIVATE_DES, *PDEVPRIVATE_DES;
271
272 typedef struct DevPrivate_Range_s {
273 DWORD PR_Data1;
274 DWORD PR_Data2;
275 DWORD PR_Data3;
276 } DEVPRIVATE_RANGE, *PDEVPRIVATE_RANGE;
277
278 #define PType_Range sizeof(DEVPRIVATE_RANGE)
279
280 typedef struct DevPrivate_Resource_s {
281 DEVPRIVATE_DES PRV_Header;
282 DEVPRIVATE_RANGE PRV_Data[ANYSIZE_ARRAY];
283 } DEVPRIVATE_RESOURCE, *PDEVPRIVATE_RESOURCE;
284
285 /* DMA_DES.DD_Flags constants and masks */
286 #define mDD_Width 0x3
287 #define fDD_BYTE 0x0
288 #define fDD_WORD 0x1
289 #define fDD_DWORD 0x2
290 #define fDD_BYTE_AND_WORD 0x3
291
292 #define mDD_BusMaster 0x4
293 #define fDD_NoBusMaster 0x0
294 #define fDD_BusMaster 0x4
295
296 #define mDD_Type 0x18
297 #define fDD_TypeStandard 0x00
298 #define fDD_TypeA 0x08
299 #define fDD_TypeB 0x10
300 #define fDD_TypeF 0x18
301
302 typedef struct DMA_Des_s {
303 DWORD DD_Count;
304 DWORD DD_Type;
305 DWORD DD_Flags;
306 ULONG DD_Alloc_Chan;
307 } DMA_DES, *PDMA_DES;
308
309 typedef struct DMA_Range_s {
310 ULONG DR_Min;
311 ULONG DR_Max;
312 ULONG DR_Flags;
313 } DMA_RANGE, *PDMA_RANGE;
314
315 #define DType_Range sizeof(DMA_RANGE)
316
317 typedef struct DMA_Resource_s {
318 DMA_DES DMA_Header;
319 DMA_RANGE DMA_Data[ANYSIZE_ARRAY];
320 } DMA_RESOURCE, *PDMA_RESOURCE;
321
322 /* IO_DES.Type constants and masks */
323 #define fIOD_PortType 0x1
324 #define fIOD_Memory 0x0
325 #define fIOD_IO 0x1
326 #define fIOD_DECODE 0x00fc
327 #define fIOD_10_BIT_DECODE 0x0004
328 #define fIOD_12_BIT_DECODE 0x0008
329 #define fIOD_16_BIT_DECODE 0x0010
330 #define fIOD_POSITIVE_DECODE 0x0020
331 #define fIOD_PASSIVE_DECODE 0x0040
332 #define fIOD_WINDOW_DECODE 0x0080
333
334 typedef struct IO_Des_s {
335 DWORD IOD_Count;
336 DWORD IOD_Type;
337 DWORDLONG IOD_Alloc_Base;
338 DWORDLONG IOD_Alloc_End;
339 DWORD IOD_DesFlags;
340 } IO_DES, *PIO_DES;
341
342 /* IO_RANGE.IOR_Alias constants */
343 #define IO_ALIAS_10_BIT_DECODE 0x00000004
344 #define IO_ALIAS_12_BIT_DECODE 0x00000010
345 #define IO_ALIAS_16_BIT_DECODE 0x00000000
346 #define IO_ALIAS_POSITIVE_DECODE 0x000000FF
347
348 typedef struct IO_Range_s {
349 DWORDLONG IOR_Align;
350 DWORD IOR_nPorts;
351 DWORDLONG IOR_Min;
352 DWORDLONG IOR_Max;
353 DWORD IOR_RangeFlags;
354 DWORDLONG IOR_Alias;
355 } IO_RANGE, *PIO_RANGE;
356
357 #define IOType_Range sizeof(IO_RANGE)
358
359 typedef struct IO_Resource_s {
360 IO_DES IO_Header;
361 IO_RANGE IO_Data[ANYSIZE_ARRAY];
362 } IO_RESOURCE, *PIO_RESOURCE;
363
364 /* IRQ_DES.IRQD_flags constants */
365 #define mIRQD_Share 0x1
366 #define fIRQD_Exclusive 0x0
367 #define fIRQD_Share 0x1
368
369 #define fIRQD_Share_Bit 0
370 #define fIRQD_Level_Bit 1
371
372 #define mIRQD_Edge_Level 0x2
373 #define fIRQD_Level 0x0
374 #define fIRQD_Edge 0x2
375
376 typedef struct IRQ_Des_32_s {
377 DWORD IRQD_Count;
378 DWORD IRQD_Type;
379 DWORD IRQD_Flags;
380 ULONG IRQD_Alloc_Num;
381 ULONG32 IRQD_Affinity;
382 } IRQ_DES_32, *PIRQ_DES_32;
383
384 typedef struct IRQ_Des_64_s {
385 DWORD IRQD_Count;
386 DWORD IRQD_Type;
387 DWORD IRQD_Flags;
388 ULONG IRQD_Alloc_Num;
389 ULONG64 IRQD_Affinity;
390 } IRQ_DES_64, *PIRQ_DES_64;
391
392 #ifdef _WIN64
393 typedef IRQ_DES_64 IRQ_DES;
394 typedef PIRQ_DES_64 PIRQ_DES;
395 #else
396 typedef IRQ_DES_32 IRQ_DES;
397 typedef PIRQ_DES_32 PIRQ_DES;
398 #endif
399
400 typedef struct IRQ_Range_s {
401 ULONG IRQR_Min;
402 ULONG IRQR_Max;
403 ULONG IRQR_Flags;
404 } IRQ_RANGE, *PIRQ_RANGE;
405
406 #define IRQType_Range sizeof(IRQ_RANGE)
407
408 typedef struct IRQ_Resource_s {
409 IRQ_DES IRQ_Header;
410 IRQ_RANGE IRQ_Data[ANYSIZE_ARRAY];
411 } IRQ_RESOURCE, *PIRQ_RESOURCE;
412
413 /* MEM_DES.MD_Flags constants */
414 #define mMD_MemoryType 0x1
415 #define fMD_MemoryType mMD_MemoryType
416 #define fMD_ROM 0x0
417 #define fMD_RAM 0x1
418
419 #define mMD_32_24 0x2
420 #define fMD_32_24 mMD_32_24
421 #define fMD_24 0x0
422 #define fMD_32 0x2
423
424 #define mMD_Prefetchable 0x4
425 #define fMD_Prefetchable mMD_Prefetchable
426 #define fMD_Pref mMD_Prefetchable
427 #define fMD_PrefetchDisallowed 0x0
428 #define fMD_PrefetchAllowed 0x4
429
430 #define mMD_Readable 0x8
431 #define fMD_Readable mMD_Readable
432 #define fMD_ReadAllowed 0x0
433 #define fMD_ReadDisallowed 0x8
434
435 #define mMD_CombinedWrite 0x10
436 #define fMD_CombinedWrite mMD_CombinedWrite
437 #define fMD_CombinedWriteDisallowed 0x0
438 #define fMD_CombinedWriteAllowed 0x10
439
440 #define mMD_Cacheable 0x20
441 #define fMD_NonCacheable 0x0
442 #define fMD_Cacheable 0x20
443
444 typedef struct Mem_Des_s {
445 DWORD MD_Count;
446 DWORD MD_Type;
447 DWORDLONG MD_Alloc_Base;
448 DWORDLONG MD_Alloc_End;
449 DWORD MD_Flags;
450 DWORD MD_Reserved;
451 } MEM_DES, *PMEM_DES;
452
453 typedef struct Mem_Range_s {
454 DWORDLONG MR_Align;
455 ULONG MR_nBytes;
456 DWORDLONG MR_Min;
457 DWORDLONG MR_Max;
458 DWORD MR_Flags;
459 DWORD MR_Reserved;
460 } MEM_RANGE, *PMEM_RANGE;
461
462 #define MType_Range sizeof(MEM_RANGE)
463
464 typedef struct Mem_Resource_s {
465 MEM_DES MEM_Header;
466 MEM_RANGE MEM_Data[ANYSIZE_ARRAY];
467 } MEM_RESOURCE, *PMEM_RESOURCE;
468
469 /* MFCARD_DES.PMF_Flags constants */
470 #define fPMF_AUDIO_ENABLE 0x8
471 #define mPMF_AUDIO_ENABLE fPMF_AUDIO_ENABLE
472
473 typedef struct MfCard_Des_s {
474 DWORD PMF_Count;
475 DWORD PMF_Type;
476 DWORD PMF_Flags;
477 BYTE PMF_ConfigOptions;
478 BYTE PMF_IoResourceIndex;
479 BYTE PMF_Reserved[2];
480 DWORD PMF_ConfigRegisterBase;
481 } MFCARD_DES, *PMFCARD_DES;
482
483 typedef struct MfCard_Resource_s {
484 MFCARD_DES MfCard_Header;
485 } MFCARD_RESOURCE, *PMFCARD_RESOURCE;
486
487 /* PCCARD_DES.PCD_Flags constants */
488
489 typedef struct PcCard_Des_s {
490 DWORD PCD_Count;
491 DWORD PCD_Type;
492 DWORD PCD_Flags;
493 BYTE PCD_ConfigIndex;
494 BYTE PCD_Reserved[3];
495 DWORD PCD_MemoryCardBase1;
496 DWORD PCD_MemoryCardBase2;
497 } PCCARD_DES, *PPCCARD_DES;
498
499 #define mPCD_IO_8_16 0x1
500 #define fPCD_IO_8 0x0
501 #define fPCD_IO_16 0x1
502 #define mPCD_MEM_8_16 0x2
503 #define fPCD_MEM_8 0x0
504 #define fPCD_MEM_16 0x2
505 #define mPCD_MEM_A_C 0xC
506 #define fPCD_MEM1_A 0x4
507 #define fPCD_MEM2_A 0x8
508 #define fPCD_IO_ZW_8 0x10
509 #define fPCD_IO_SRC_16 0x20
510 #define fPCD_IO_WS_16 0x40
511 #define mPCD_MEM_WS 0x300
512 #define fPCD_MEM_WS_ONE 0x100
513 #define fPCD_MEM_WS_TWO 0x200
514 #define fPCD_MEM_WS_THREE 0x300
515
516 #define fPCD_MEM_A 0x4
517
518 #define fPCD_ATTRIBUTES_PER_WINDOW 0x8000
519
520 #define fPCD_IO1_16 0x00010000
521 #define fPCD_IO1_ZW_8 0x00020000
522 #define fPCD_IO1_SRC_16 0x00040000
523 #define fPCD_IO1_WS_16 0x00080000
524
525 #define fPCD_IO2_16 0x00100000
526 #define fPCD_IO2_ZW_8 0x00200000
527 #define fPCD_IO2_SRC_16 0x00400000
528 #define fPCD_IO2_WS_16 0x00800000
529
530 #define mPCD_MEM1_WS 0x03000000
531 #define fPCD_MEM1_WS_ONE 0x01000000
532 #define fPCD_MEM1_WS_TWO 0x02000000
533 #define fPCD_MEM1_WS_THREE 0x03000000
534 #define fPCD_MEM1_16 0x04000000
535
536 #define mPCD_MEM2_WS 0x30000000
537 #define fPCD_MEM2_WS_ONE 0x10000000
538 #define fPCD_MEM2_WS_TWO 0x20000000
539 #define fPCD_MEM2_WS_THREE 0x30000000
540 #define fPCD_MEM2_16 0x40000000
541
542 #define PCD_MAX_MEMORY 2
543 #define PCD_MAX_IO 2
544
545 typedef struct PcCard_Resource_s {
546 PCCARD_DES PcCard_Header;
547 } PCCARD_RESOURCE, *PPCCARD_RESOURCE;
548
549
550 /* CONFLICT_DETAILS.CD.ulMask constants */
551 #define CM_CDMASK_DEVINST 0x00000001
552 #define CM_CDMASK_RESDES 0x00000002
553 #define CM_CDMASK_FLAGS 0x00000004
554 #define CM_CDMASK_DESCRIPTION 0x00000008
555 #define CM_CDMASK_VALID 0x0000000F
556
557 /* CONFLICT_DETAILS.CD.ulFlags constants */
558 #define CM_CDFLAGS_DRIVER 0x00000001
559 #define CM_CDFLAGS_ROOT_OWNED 0x00000002
560 #define CM_CDFLAGS_RESERVED 0x00000004
561
562 typedef struct _CONFLICT_DETAILS_A {
563 ULONG CD_ulSize;
564 ULONG CD_ulMask;
565 DEVINST CD_dnDevInst;
566 RES_DES CD_rdResDes;
567 ULONG CD_ulFlags;
568 CHAR CD_szDescription[MAX_PATH];
569 } CONFLICT_DETAILS_A , *PCONFLICT_DETAILS_A;
570
571 typedef struct _CONFLICT_DETAILS_W {
572 ULONG CD_ulSize;
573 ULONG CD_ulMask;
574 DEVINST CD_dnDevInst;
575 RES_DES CD_rdResDes;
576 ULONG CD_ulFlags;
577 WCHAR CD_szDescription[MAX_PATH];
578 } CONFLICT_DETAILS_W , *PCONFLICT_DETAILS_W;
579
580 #ifdef UNICODE
581 typedef CONFLICT_DETAILS_W CONFLICT_DETAILS;
582 typedef PCONFLICT_DETAILS_W PCONFLICT_DETAILS;
583 #else
584 typedef CONFLICT_DETAILS_A CONFLICT_DETAILS;
585 typedef PCONFLICT_DETAILS_A PCONFLICT_DETAILS;
586 #endif
587
588
589
590 /* CM_Add_Empty_Log_Conf.ulFlags constants */
591 #define PRIORITY_EQUAL_FIRST 0x00000008
592 #define PRIORITY_EQUAL_LAST 0x00000000
593 #define PRIORITY_BIT 0x00000008
594
595 CMAPI
596 CONFIGRET
597 WINAPI
598 CM_Add_Empty_Log_Conf(
599 OUT PLOG_CONF plcLogConf,
600 IN DEVINST dnDevInst,
601 IN PRIORITY Priority,
602 IN ULONG ulFlags);
603
604 CMAPI
605 CONFIGRET
606 WINAPI
607 CM_Add_Empty_Log_Conf_Ex(
608 OUT PLOG_CONF plcLogConf,
609 IN DEVINST dnDevInst,
610 IN PRIORITY Priority,
611 IN ULONG ulFlags,
612 IN HMACHINE hMachine);
613
614 /* CM_Add_ID.ulFlags constants */
615 #define CM_ADD_ID_HARDWARE 0x00000000
616 #define CM_ADD_ID_COMPATIBLE 0x00000001
617 #define CM_ADD_ID_BITS 0x00000001
618
619 CMAPI
620 CONFIGRET
621 WINAPI
622 CM_Add_IDA(
623 IN DEVINST dnDevInst,
624 IN PSTR pszID,
625 IN ULONG ulFlags,
626 IN HMACHINE hMachine);
627
628 CMAPI
629 CONFIGRET
630 WINAPI
631 CM_Add_ID_ExA(
632 IN DEVINST dnDevInst,
633 IN PSTR pszID,
634 IN ULONG ulFlags,
635 IN HMACHINE hMachine);
636
637 CMAPI
638 CONFIGRET
639 WINAPI
640 CM_Add_ID_ExW(
641 IN DEVINST dnDevInst,
642 IN PWSTR pszID,
643 IN ULONG ulFlags,
644 IN HMACHINE hMachine);
645
646 CMAPI
647 CONFIGRET
648 WINAPI
649 CM_Add_IDW(
650 IN DEVINST dnDevInst,
651 IN PWSTR pszID,
652 IN ULONG ulFlags,
653 IN HMACHINE hMachine);
654
655 #ifdef UNICODE
656 #define CM_Add_ID CM_Add_IDW
657 #define CM_Add_ID_Ex CM_Add_ID_ExW
658 #else
659 #define CM_Add_ID CM_Add_IDA
660 #define CM_Add_ID_Ex CM_Add_ID_ExA
661 #endif /* UNICODE */
662
663 /* FIXME: Obsolete CM_Add_Range */
664
665 CMAPI
666 CONFIGRET
667 WINAPI
668 CM_Add_Res_Des(
669 OUT PRES_DES prdResDes,
670 IN LOG_CONF lcLogConf,
671 IN RESOURCEID ResourceID,
672 IN PCVOID ResourceData,
673 IN ULONG ResourceLen,
674 IN ULONG ulFlags);
675
676 CMAPI
677 CONFIGRET
678 WINAPI
679 CM_Add_Res_Des_Ex(
680 OUT PRES_DES prdResDes,
681 IN LOG_CONF lcLogConf,
682 IN RESOURCEID ResourceID,
683 IN PCVOID ResourceData,
684 IN ULONG ResourceLen,
685 IN ULONG ulFlags,
686 IN HMACHINE hMachine);
687
688 CMAPI
689 CONFIGRET
690 WINAPI
691 CM_Connect_MachineA(
692 IN PCSTR UNCServerName,
693 OUT PHMACHINE phMachine);
694
695 CMAPI
696 CONFIGRET
697 WINAPI
698 CM_Connect_MachineW(
699 IN PCWSTR UNCServerName,
700 OUT PHMACHINE phMachine);
701
702 #ifdef UNICODE
703 #define CM_Connect_Machine CM_Connect_MachineW
704 #else
705 #define CM_Connect_Machine CM_Connect_MachineA
706 #endif /* UNICODE */
707
708 /* FIXME: Obsolete CM_Create_DevNode */
709 /* FIXME: Obsolete CM_Create_DevNodeEx */
710 /* FIXME: Obsolete CM_Create_Range_List */
711 /* FIXME: Obsolete CM_Delete_Class_Key */
712 /* FIXME: Obsolete CM_Delete_Class_Key_Ex */
713 /* FIXME: Obsolete CM_Delete_DevNode_Key */
714 /* FIXME: Obsolete CM_Delete_DevNode_Key_Ex */
715 /* FIXME: Obsolete CM_Delete_Range */
716 /* FIXME: Obsolete CM_Detected_Resource_Conflict */
717 /* FIXME: Obsolete CM_Detected_Resource_Conflict_Ex */
718 /* FIXME: Obsolete CM_Disable_DevNode */
719 /* FIXME: Obsolete CM_Disable_DevNodeEx */
720
721 CMAPI
722 CONFIGRET
723 WINAPI
724 CM_Disconnect_Machine(
725 IN HMACHINE hMachine);
726
727 /* FIXME: Obsolete CM_Enable_DevNode */
728 /* FIXME: Obsolete CM_Enable_DevNodeEx */
729
730 CMAPI
731 CONFIGRET
732 WINAPI
733 CM_Enumerate_Classes(
734 IN ULONG ulClassIndex,
735 OUT LPGUID ClassGuid,
736 IN ULONG ulFlags);
737
738 CMAPI
739 CONFIGRET
740 WINAPI
741 CM_Enumerate_Classes_Ex(
742 IN ULONG ulClassIndex,
743 OUT LPGUID ClassGuid,
744 IN ULONG ulFlags,
745 IN HMACHINE hMachine);
746
747 CMAPI
748 CONFIGRET
749 WINAPI
750 CM_Enumerate_EnumeratorsA(
751 IN ULONG ulEnumIndex,
752 OUT PCHAR Buffer,
753 IN OUT PULONG pulLength,
754 IN ULONG ulFlags);
755
756 CMAPI
757 CONFIGRET
758 WINAPI
759 CM_Enumerate_Enumerators_ExA(
760 IN ULONG ulEnumIndex,
761 OUT PCHAR Buffer,
762 IN OUT PULONG pulLength,
763 IN ULONG ulFlags,
764 IN HMACHINE hMachine);
765
766 CMAPI
767 CONFIGRET
768 WINAPI
769 CM_Enumerate_Enumerators_ExW(
770 IN ULONG ulEnumIndex,
771 OUT PWCHAR Buffer,
772 IN OUT PULONG pulLength,
773 IN ULONG ulFlags,
774 IN HMACHINE hMachine);
775
776 CMAPI
777 CONFIGRET
778 WINAPI
779 CM_Enumerate_EnumeratorsW(
780 IN ULONG ulEnumIndex,
781 OUT PWCHAR Buffer,
782 IN OUT PULONG pulLength,
783 IN ULONG ulFlags);
784
785 #ifdef UNICODE
786 #define CM_Enumerate_Enumerators CM_Enumerate_EnumeratorsW
787 #define CM_Enumerate_Enumerators_Ex CM_Enumerate_Enumerators_ExW
788 #else
789 #define CM_Enumerate_Enumerators CM_Enumerate_EnumeratorsA
790 #define CM_Enumerate_Enumerators_Ex CM_Enumerate_Enumerators_ExA
791 #endif /* UNICODE */
792
793 /* FIXME: Obsolete CM_Find_Range */
794 /* FIXME: Obsolete CM_First_Range */
795
796 CMAPI
797 CONFIGRET
798 WINAPI
799 CM_Free_Log_Conf(
800 IN LOG_CONF lcLogConfToBeFreed,
801 IN ULONG ulFlags);
802
803 CMAPI
804 CONFIGRET
805 WINAPI
806 CM_Free_Log_Conf_Ex(
807 IN LOG_CONF lcLogConfToBeFreed,
808 IN ULONG ulFlags,
809 IN HMACHINE hMachine);
810
811 CMAPI
812 CONFIGRET
813 WINAPI
814 CM_Free_Log_Conf_Handle(
815 IN LOG_CONF lcLogConf);
816
817 /* FIXME: Obsolete CM_Free_Range_List */
818
819 CMAPI
820 CONFIGRET
821 WINAPI
822 CM_Free_Res_Des(
823 OUT PRES_DES prdResDes,
824 IN RES_DES rdResDes,
825 IN ULONG ulFlags);
826
827 CMAPI
828 CONFIGRET
829 WINAPI
830 CM_Free_Res_Des_Ex(
831 OUT PRES_DES prdResDes,
832 IN RES_DES rdResDes,
833 IN ULONG ulFlags,
834 IN HMACHINE hMachine);
835
836 CMAPI
837 CONFIGRET
838 WINAPI
839 CM_Free_Res_Des_Handle(
840 IN RES_DES rdResDes);
841
842 CMAPI
843 CONFIGRET
844 WINAPI
845 CM_Free_Resource_Conflict_Handle(
846 IN CONFLICT_LIST clConflictList);
847
848 CMAPI
849 CONFIGRET
850 WINAPI
851 CM_Get_Child(
852 OUT PDEVINST pdnDevInst,
853 IN DEVINST dnDevInst,
854 IN ULONG ulFlags);
855
856 CMAPI
857 CONFIGRET
858 WINAPI
859 CM_Get_Child_Ex(
860 OUT PDEVINST pdnDevInst,
861 IN DEVINST dnDevInst,
862 IN ULONG ulFlags,
863 IN HMACHINE hMachine);
864
865 CMAPI
866 CONFIGRET
867 WINAPI
868 CM_Get_Class_NameA(
869 IN LPGUID ClassGuid,
870 OUT PCHAR Buffer,
871 IN OUT PULONG pulLength,
872 IN ULONG ulFlags);
873
874 CMAPI
875 CONFIGRET
876 WINAPI
877 CM_Get_Class_NameW(
878 IN LPGUID ClassGuid,
879 OUT PWCHAR Buffer,
880 IN OUT PULONG pulLength,
881 IN ULONG ulFlags);
882
883 CMAPI
884 CONFIGRET
885 WINAPI
886 CM_Get_Class_Name_ExA(
887 IN LPGUID ClassGuid,
888 OUT PCHAR Buffer,
889 IN OUT PULONG pulLength,
890 IN ULONG ulFlags,
891 IN HMACHINE hMachine);
892
893 CMAPI
894 CONFIGRET
895 WINAPI
896 CM_Get_Class_Name_ExW(
897 IN LPGUID ClassGuid,
898 OUT PWCHAR Buffer,
899 IN OUT PULONG pulLength,
900 IN ULONG ulFlags,
901 IN HMACHINE hMachine);
902
903 #ifdef UNICODE
904 #define CM_Get_Class_Name CM_Get_Class_NameW
905 #define CM_Get_Class_Name_Ex CM_Get_Class_Name_ExW
906 #else
907 #define CM_Get_Class_Name CM_Get_Class_NameA
908 #define CM_Get_Class_Name_Ex CM_Get_Class_Name_ExA
909 #endif /* UNICODE */
910
911 CMAPI
912 CONFIGRET
913 WINAPI
914 CM_Get_Class_Key_NameA(
915 IN LPGUID ClassGuid,
916 OUT LPSTR pszKeyName,
917 IN OUT PULONG pulLength,
918 IN ULONG ulFlags);
919
920 CMAPI
921 CONFIGRET
922 WINAPI
923 CM_Get_Class_Key_NameW(
924 IN LPGUID ClassGuid,
925 OUT LPWSTR pszKeyName,
926 IN OUT PULONG pulLength,
927 IN ULONG ulFlags);
928
929 CMAPI
930 CONFIGRET
931 WINAPI
932 CM_Get_Class_Key_Name_ExA(
933 IN LPGUID ClassGuid,
934 OUT LPSTR pszKeyName,
935 IN OUT PULONG pulLength,
936 IN ULONG ulFlags,
937 IN HMACHINE hMachine);
938
939 CMAPI
940 CONFIGRET
941 WINAPI
942 CM_Get_Class_Key_Name_ExW(
943 IN LPGUID ClassGuid,
944 OUT LPWSTR pszKeyName,
945 IN OUT PULONG pulLength,
946 IN ULONG ulFlags,
947 IN HMACHINE hMachine);
948
949 #ifdef UNICODE
950 #define CM_Get_Class_Key_Name CM_Get_Class_Key_NameW
951 #define CM_Get_Class_Key_Name_Ex CM_Get_Class_Key_Name_ExW
952 #else
953 #define CM_Get_Class_Key_Name CM_Get_Class_Key_NameA
954 #define CM_Get_Class_Key_Name_Ex CM_Get_Class_Key_Name_ExA
955 #endif /* UNICODE */
956
957 /* FIXME: Obsolete CM_Get_Class_Registry_Property */
958
959 CMAPI
960 CONFIGRET
961 WINAPI
962 CM_Get_Depth(
963 OUT PULONG pulDepth,
964 IN DEVINST dnDevInst,
965 IN ULONG ulFlags);
966
967 CMAPI
968 CONFIGRET
969 WINAPI
970 CM_Get_Depth_Ex(
971 OUT PULONG pulDepth,
972 IN DEVINST dnDevInst,
973 IN ULONG ulFlags,
974 IN HMACHINE hMachine);
975
976 CMAPI
977 CONFIGRET
978 WINAPI
979 CM_Get_Device_IDA(
980 IN DEVINST dnDevInst,
981 OUT PCHAR Buffer,
982 IN ULONG BufferLen,
983 IN ULONG ulFlags);
984
985 CMAPI
986 CONFIGRET
987 WINAPI
988 CM_Get_Device_ID_ExA(
989 IN DEVINST dnDevInst,
990 OUT PCHAR Buffer,
991 IN ULONG BufferLen,
992 IN ULONG ulFlags,
993 IN HMACHINE hMachine);
994
995 CMAPI
996 CONFIGRET
997 WINAPI
998 CM_Get_Device_ID_ExW(
999 IN DEVINST dnDevInst,
1000 OUT PWCHAR Buffer,
1001 IN ULONG BufferLen,
1002 IN ULONG ulFlags,
1003 IN HMACHINE hMachine);
1004
1005 CMAPI
1006 CONFIGRET
1007 WINAPI
1008 CM_Get_Device_IDW(
1009 IN DEVINST dnDevInst,
1010 OUT PWCHAR Buffer,
1011 IN ULONG BufferLen,
1012 IN ULONG ulFlags);
1013
1014 #ifdef UNICODE
1015 #define CM_Get_Device_ID CM_Get_Device_IDW
1016 #define CM_Get_Device_ID_Ex CM_Get_Device_ID_ExW
1017 #else
1018 #define CM_Get_Device_ID CM_Get_Device_IDA
1019 #define CM_Get_Device_ID_Ex CM_Get_Device_ID_ExA
1020 #endif /* UNICODE */
1021
1022 CMAPI
1023 CONFIGRET
1024 WINAPI
1025 CM_Get_Device_ID_ListA(
1026 IN PCSTR pszFilter, OPTIONAL
1027 OUT PCHAR Buffer,
1028 IN ULONG BufferLen,
1029 IN ULONG ulFlags);
1030
1031 CMAPI
1032 CONFIGRET
1033 WINAPI
1034 CM_Get_Device_ID_List_ExA(
1035 IN PCSTR pszFilter, OPTIONAL
1036 OUT PCHAR Buffer,
1037 IN ULONG BufferLen,
1038 IN ULONG ulFlags,
1039 IN HMACHINE hMachine);
1040
1041 CMAPI
1042 CONFIGRET
1043 WINAPI
1044 CM_Get_Device_ID_List_ExW(
1045 IN PCWSTR pszFilter, OPTIONAL
1046 OUT PWCHAR Buffer,
1047 IN ULONG BufferLen,
1048 IN ULONG ulFlags,
1049 IN HMACHINE hMachine);
1050
1051 CMAPI
1052 CONFIGRET
1053 WINAPI
1054 CM_Get_Device_ID_ListW(
1055 IN PCWSTR pszFilter, OPTIONAL
1056 OUT PWCHAR Buffer,
1057 IN ULONG BufferLen,
1058 IN ULONG ulFlags);
1059
1060 #ifdef UNICODE
1061 #define CM_Get_Device_ID_List CM_Get_Device_ID_ListW
1062 #define CM_Get_Device_ID_List_Ex CM_Get_Device_ID_List_ExW
1063 #else
1064 #define CM_Get_Device_ID_List CM_Get_Device_ID_ListA
1065 #define CM_Get_Device_ID_List_Ex CM_Get_Device_ID_List_ExA
1066 #endif /* UNICODE */
1067
1068 CMAPI
1069 CONFIGRET
1070 WINAPI
1071 CM_Get_Device_ID_List_SizeA(
1072 OUT PULONG pulLen,
1073 IN PCSTR pszFilter, OPTIONAL
1074 IN ULONG ulFlags);
1075
1076 CMAPI
1077 CONFIGRET
1078 WINAPI
1079 CM_Get_Device_ID_List_Size_ExA(
1080 OUT PULONG pulLen,
1081 IN PCSTR pszFilter, OPTIONAL
1082 IN ULONG ulFlags,
1083 IN HMACHINE hMachine);
1084
1085 CMAPI
1086 CONFIGRET
1087 WINAPI
1088 CM_Get_Device_ID_List_Size_ExW(
1089 OUT PULONG pulLen,
1090 IN PCWSTR pszFilter, OPTIONAL
1091 IN ULONG ulFlags,
1092 IN HMACHINE hMachine);
1093
1094 CMAPI
1095 CONFIGRET
1096 WINAPI
1097 CM_Get_Device_ID_List_SizeW(
1098 OUT PULONG pulLen,
1099 IN PCWSTR pszFilter, OPTIONAL
1100 IN ULONG ulFlags);
1101
1102 #ifdef UNICODE
1103 #define CM_Get_Device_ID_List_Size CM_Get_Device_ID_List_SizeW
1104 #define CM_Get_Device_ID_List_Size_Ex CM_Get_Device_ID_List_Size_ExW
1105 #else
1106 #define CM_Get_Device_ID_List_Size CM_Get_Device_ID_List_SizeA
1107 #define CM_Get_Device_ID_List_Size_Ex CM_Get_Device_ID_List_Size_ExA
1108 #endif /* UNICODE */
1109
1110 CMAPI
1111 CONFIGRET
1112 WINAPI
1113 CM_Get_Device_ID_Size(
1114 OUT PULONG pulLen,
1115 IN DEVINST dnDevInst,
1116 IN ULONG ulFlags);
1117
1118 CMAPI
1119 CONFIGRET
1120 WINAPI
1121 CM_Get_Device_ID_Size_Ex(
1122 OUT PULONG pulLen,
1123 IN DEVINST dnDevInst,
1124 IN ULONG ulFlags,
1125 IN HMACHINE hMachine);
1126
1127 /* FIXME: Obsolete CM_Get_Device_Interface_Alias */
1128 /* FIXME: Obsolete CM_Get_Device_Interface_Alias_Ex */
1129 /* FIXME: Obsolete CM_Get_Device_Interface_List */
1130 /* FIXME: Obsolete CM_Get_Device_Interface_List_Ex */
1131 /* FIXME: Obsolete CM_Get_Device_Interface_List_Size */
1132 /* FIXME: Obsolete CM_Get_Device_Interface_List_Size_Ex */
1133 /* FIXME: Obsolete CM_Get_DevNode_Custom_Property */
1134 /* FIXME: Obsolete CM_Get_DevNode_Custom_Property_Ex */
1135
1136 CMAPI
1137 CONFIGRET
1138 WINAPI
1139 CM_Get_DevNode_Registry_PropertyA(
1140 IN DEVINST dnDevInst,
1141 IN ULONG ulProperty,
1142 OUT PULONG pulRegDataType, OPTIONAL
1143 OUT PVOID Buffer, OPTIONAL
1144 IN OUT PULONG pulLength,
1145 IN ULONG ulFlags);
1146
1147 CMAPI
1148 CONFIGRET
1149 WINAPI
1150 CM_Get_DevNode_Registry_PropertyW(
1151 IN DEVINST dnDevInst,
1152 IN ULONG ulProperty,
1153 OUT PULONG pulRegDataType, OPTIONAL
1154 OUT PVOID Buffer, OPTIONAL
1155 IN OUT PULONG pulLength,
1156 IN ULONG ulFlags);
1157
1158 CMAPI
1159 CONFIGRET
1160 WINAPI
1161 CM_Get_DevNode_Registry_Property_ExA(
1162 IN DEVINST dnDevInst,
1163 IN ULONG ulProperty,
1164 OUT PULONG pulRegDataType, OPTIONAL
1165 OUT PVOID Buffer, OPTIONAL
1166 IN OUT PULONG pulLength,
1167 IN ULONG ulFlags,
1168 IN HMACHINE hMachine);
1169
1170 CMAPI
1171 CONFIGRET
1172 WINAPI
1173 CM_Get_DevNode_Registry_Property_ExW(
1174 IN DEVINST dnDevInst,
1175 IN ULONG ulProperty,
1176 OUT PULONG pulRegDataType, OPTIONAL
1177 OUT PVOID Buffer, OPTIONAL
1178 IN OUT PULONG pulLength,
1179 IN ULONG ulFlags,
1180 IN HMACHINE hMachine);
1181
1182 #define CM_Get_DevInst_Registry_PropertyW CM_Get_DevNode_Registry_PropertyW
1183 #define CM_Get_DevInst_Registry_PropertyA CM_Get_DevNode_Registry_PropertyA
1184 #define CM_Get_DevInst_Registry_Property_ExW CM_Get_DevNode_Registry_Property_ExW
1185 #define CM_Get_DevInst_Registry_Property_ExA CM_Get_DevNode_Registry_Property_ExA
1186
1187 #ifdef UNICODE
1188 #define CM_Get_DevInst_Registry_Property CM_Get_DevNode_Registry_PropertyW
1189 #define CM_Get_DevInst_Registry_Property_Ex CM_Get_DevNode_Registry_Property_ExW
1190 #define CM_Get_DevNode_Registry_Property CM_Get_DevNode_Registry_PropertyW
1191 #define CM_Get_DevNode_Registry_Property_Ex CM_Get_DevNode_Registry_Property_ExW
1192 #else
1193 #define CM_Get_DevInst_Registry_Property CM_Get_DevNode_Registry_PropertyA
1194 #define CM_Get_DevInst_Registry_Property_Ex CM_Get_DevNode_Registry_Property_ExA
1195 #define CM_Get_DevNode_Registry_Property CM_Get_DevNode_Registry_PropertyA
1196 #define CM_Get_DevNode_Registry_Property_Ex CM_Get_DevNode_Registry_Property_ExA
1197 #endif /* UNICODE */
1198
1199 CMAPI
1200 CONFIGRET
1201 WINAPI
1202 CM_Get_DevNode_Status(
1203 OUT PULONG pulStatus,
1204 OUT PULONG pulProblemNumber,
1205 IN DEVINST dnDevInst,
1206 IN ULONG ulFlags);
1207
1208 CMAPI
1209 CONFIGRET
1210 WINAPI
1211 CM_Get_DevNode_Status_Ex(
1212 OUT PULONG pulStatus,
1213 OUT PULONG pulProblemNumber,
1214 IN DEVINST dnDevInst,
1215 IN ULONG ulFlags,
1216 IN HMACHINE hMachine);
1217
1218 #define CM_Get_DevInst_Status CM_Get_DevNode_Status
1219 #define CM_Get_DevInst_Status_Ex CM_Get_DevNode_Status_Ex
1220
1221 /* CM_Get_First_Log_Conf.ulFlags constants */
1222 #define BASIC_LOG_CONF 0x00000000 /* Specifies the req list. */
1223 #define FILTERED_LOG_CONF 0x00000001 /* Specifies the filtered req list. */
1224 #define ALLOC_LOG_CONF 0x00000002 /* Specifies the Alloc Element. */
1225 #define BOOT_LOG_CONF 0x00000003 /* Specifies the RM Alloc Element. */
1226 #define FORCED_LOG_CONF 0x00000004 /* Specifies the Forced Log Conf */
1227 #define OVERRIDE_LOG_CONF 0x00000005 /* Specifies the Override req list. */
1228 #define NUM_LOG_CONF 0x00000006 /* Number of Log Conf type */
1229 #define LOG_CONF_BITS 0x00000007 /* The bits of the log conf type. */
1230
1231 CMAPI
1232 CONFIGRET
1233 WINAPI
1234 CM_Get_First_Log_Conf(
1235 OUT PLOG_CONF plcLogConf, OPTIONAL
1236 IN DEVINST dnDevInst,
1237 IN ULONG ulFlags);
1238
1239 CMAPI
1240 CONFIGRET
1241 WINAPI
1242 CM_Get_First_Log_Conf_Ex(
1243 OUT PLOG_CONF plcLogConf, OPTIONAL
1244 IN DEVINST dnDevInst,
1245 IN ULONG ulFlags,
1246 IN HMACHINE hMachine);
1247
1248 CMAPI
1249 CONFIGRET
1250 WINAPI
1251 CM_Get_Global_State(
1252 OUT PULONG pulState,
1253 IN ULONG ulFlags);
1254
1255 CMAPI
1256 CONFIGRET
1257 WINAPI
1258 CM_Get_Global_State_Ex(
1259 OUT PULONG pulState,
1260 IN ULONG ulFlags,
1261 IN HMACHINE hMachine);
1262
1263 /* FIXME: Obsolete CM_Get_Hardware_Profile_Info */
1264 /* FIXME: Obsolete CM_Get_Hardware_Profile_Info_Ex */
1265 /* FIXME: Obsolete CM_Get_HW_Prof_Flags */
1266 /* FIXME: Obsolete CM_Get_HW_Prof_Flags_Ex */
1267
1268 CMAPI
1269 CONFIGRET
1270 WINAPI
1271 CM_Get_Log_Conf_Priority(
1272 IN LOG_CONF lcLogConf,
1273 OUT PPRIORITY pPriority,
1274 IN ULONG ulFlags);
1275
1276 CMAPI
1277 CONFIGRET
1278 WINAPI
1279 CM_Get_Log_Conf_Priority_Ex(
1280 IN LOG_CONF lcLogConf,
1281 OUT PPRIORITY pPriority,
1282 IN ULONG ulFlags,
1283 IN HMACHINE hMachine);
1284
1285 CMAPI
1286 CONFIGRET
1287 WINAPI
1288 CM_Get_Next_Log_Conf(
1289 OUT PLOG_CONF plcLogConf, OPTIONAL
1290 IN LOG_CONF lcLogConf,
1291 IN ULONG ulFlags);
1292
1293 CMAPI
1294 CONFIGRET
1295 WINAPI
1296 CM_Get_Next_Log_Conf_Ex(
1297 OUT PLOG_CONF plcLogConf, OPTIONAL
1298 IN LOG_CONF lcLogConf,
1299 IN ULONG ulFlags,
1300 IN HMACHINE hMachine);
1301
1302 CMAPI
1303 CONFIGRET
1304 WINAPI
1305 CM_Get_Next_Res_Des(
1306 OUT PRES_DES prdResDes,
1307 IN RES_DES rdResDes,
1308 IN RESOURCEID ForResource,
1309 OUT PRESOURCEID pResourceID,
1310 IN ULONG ulFlags);
1311
1312 CMAPI
1313 CONFIGRET
1314 WINAPI
1315 CM_Get_Next_Res_Des_Ex(
1316 OUT PRES_DES prdResDes,
1317 IN RES_DES rdResDes,
1318 IN RESOURCEID ForResource,
1319 OUT PRESOURCEID pResourceID,
1320 IN ULONG ulFlags,
1321 IN HMACHINE hMachine);
1322
1323 CMAPI
1324 CONFIGRET
1325 WINAPI
1326 CM_Get_Parent(
1327 OUT PDEVINST pdnDevInst,
1328 IN DEVINST dnDevInst,
1329 IN ULONG ulFlags);
1330
1331 CMAPI
1332 CONFIGRET
1333 WINAPI
1334 CM_Get_Parent_Ex(
1335 OUT PDEVINST pdnDevInst,
1336 IN DEVINST dnDevInst,
1337 IN ULONG ulFlags,
1338 IN HMACHINE hMachine);
1339
1340 CMAPI
1341 CONFIGRET
1342 WINAPI
1343 CM_Get_Res_Des_Data(
1344 IN RES_DES rdResDes,
1345 OUT PVOID Buffer,
1346 IN ULONG BufferLen,
1347 IN ULONG ulFlags);
1348
1349 CMAPI
1350 CONFIGRET
1351 WINAPI
1352 CM_Get_Res_Des_Data_Ex(
1353 IN RES_DES rdResDes,
1354 OUT PVOID Buffer,
1355 IN ULONG BufferLen,
1356 IN ULONG ulFlags,
1357 IN HMACHINE hMachine);
1358
1359 CMAPI
1360 CONFIGRET
1361 WINAPI
1362 CM_Get_Res_Des_Data_Size(
1363 OUT PULONG pulSize,
1364 IN RES_DES rdResDes,
1365 IN ULONG ulFlags);
1366
1367 CMAPI
1368 CONFIGRET
1369 WINAPI
1370 CM_Get_Res_Des_Data_Size_Ex(
1371 OUT PULONG pulSize,
1372 IN RES_DES rdResDes,
1373 IN ULONG ulFlags,
1374 IN HMACHINE hMachine);
1375
1376 CMAPI
1377 CONFIGRET
1378 WINAPI
1379 CM_Get_Resource_Conflict_Count(
1380 IN CONFLICT_LIST clConflictList,
1381 OUT PULONG pulCount);
1382
1383 CMAPI
1384 CONFIGRET
1385 WINAPI
1386 CM_Get_Resource_Conflict_DetailsA(
1387 IN CONFLICT_LIST clConflictList,
1388 IN ULONG ulIndex,
1389 IN OUT PCONFLICT_DETAILS_A pConflictDetails);
1390
1391 CMAPI
1392 CONFIGRET
1393 WINAPI
1394 CM_Get_Resource_Conflict_DetailsW(
1395 IN CONFLICT_LIST clConflictList,
1396 IN ULONG ulIndex,
1397 IN OUT PCONFLICT_DETAILS_W pConflictDetails);
1398
1399 #ifdef UNICODE
1400 #define CM_Get_Resource_Conflict_Details CM_Get_Resource_Conflict_DetailsW
1401 #else
1402 #define CM_Get_Resource_Conflict_Details CM_Get_Resource_Conflict_DetailsA
1403 #endif /* UNICODE */
1404
1405 CMAPI
1406 CONFIGRET
1407 WINAPI
1408 CM_Get_Sibling(
1409 OUT PDEVINST pdnDevInst,
1410 IN DEVINST DevInst,
1411 IN ULONG ulFlags);
1412
1413 CMAPI
1414 CONFIGRET
1415 WINAPI
1416 CM_Get_Sibling_Ex(
1417 OUT PDEVINST pdnDevInst,
1418 IN DEVINST DevInst,
1419 IN ULONG ulFlags,
1420 IN HMACHINE hMachine);
1421
1422 CMAPI
1423 WORD
1424 WINAPI
1425 CM_Get_Version(
1426 VOID);
1427
1428 CMAPI
1429 WORD
1430 WINAPI
1431 CM_Get_Version_Ex(
1432 IN HMACHINE hMachine);
1433
1434 /* FIXME: Obsolete CM_Intersect_Range_List */
1435 /* FIXME: Obsolete CM_Invert_Range_List */
1436 /* FIXME: Obsolete CM_Is_Dock_Station_Present */
1437 /* FIXME: Obsolete CM_Is_Dock_Station_Present_Ex */
1438
1439 /* CM_Locate_DevNode.ulFlags constants */
1440 #define CM_LOCATE_DEVNODE_NORMAL 0x00000000
1441 #define CM_LOCATE_DEVNODE_PHANTOM 0x00000001
1442 #define CM_LOCATE_DEVNODE_CANCELREMOVE 0x00000002
1443 #define CM_LOCATE_DEVNODE_NOVALIDATION 0x00000004
1444 #define CM_LOCATE_DEVNODE_BITS 0x00000007
1445
1446 #define CM_LOCATE_DEVINST_NORMAL CM_LOCATE_DEVNODE_NORMAL
1447 #define CM_LOCATE_DEVINST_PHANTOM CM_LOCATE_DEVNODE_PHANTOM
1448 #define CM_LOCATE_DEVINST_CANCELREMOVE CM_LOCATE_DEVNODE_CANCELREMOVE
1449 #define CM_LOCATE_DEVINST_NOVALIDATION CM_LOCATE_DEVNODE_NOVALIDATION
1450 #define CM_LOCATE_DEVINST_BITS CM_LOCATE_DEVNODE_BITS
1451
1452 CMAPI
1453 CONFIGRET
1454 WINAPI
1455 CM_Locate_DevNodeA(
1456 OUT PDEVINST pdnDevInst,
1457 IN DEVINSTID_A pDeviceID, OPTIONAL
1458 IN ULONG ulFlags);
1459
1460 CMAPI
1461 CONFIGRET
1462 WINAPI
1463 CM_Locate_DevNode_ExA(
1464 OUT PDEVINST pdnDevInst,
1465 IN DEVINSTID_A pDeviceID, OPTIONAL
1466 IN ULONG ulFlags,
1467 IN HMACHINE hMachine);
1468
1469 CMAPI
1470 CONFIGRET
1471 WINAPI
1472 CM_Locate_DevNode_ExW(
1473 OUT PDEVINST pdnDevInst,
1474 IN DEVINSTID_W pDeviceID, OPTIONAL
1475 IN ULONG ulFlags,
1476 IN HMACHINE hMachine);
1477
1478 CMAPI
1479 CONFIGRET
1480 WINAPI
1481 CM_Locate_DevNodeW(
1482 OUT PDEVINST pdnDevInst,
1483 IN DEVINSTID_W pDeviceID, OPTIONAL
1484 IN ULONG ulFlags);
1485
1486 #define CM_Locate_DevInstA CM_Locate_DevNodeA
1487 #define CM_Locate_DevInstW CM_Locate_DevNodeW
1488 #define CM_Locate_DevInst_ExA CM_Locate_DevNode_ExA
1489 #define CM_Locate_DevInst_ExW CM_Locate_DevNode_ExW
1490
1491 #ifdef UNICODE
1492 #define CM_Locate_DevNode CM_Locate_DevNodeW
1493 #define CM_Locate_DevInst CM_Locate_DevNodeW
1494 #define CM_Locate_DevNode_Ex CM_Locate_DevNode_ExW
1495 #define CM_Locate_DevInst_Ex CM_Locate_DevNode_ExW
1496 #else
1497 #define CM_Locate_DevNode CM_Locate_DevNodeA
1498 #define CM_Locate_DevInst CM_Locate_DevNodeA
1499 #define CM_Locate_DevNode_Ex CM_Locate_DevNode_ExA
1500 #define CM_Locate_DevInst_Ex CM_Locate_DevNode_ExA
1501 #endif /* UNICODE */
1502
1503 /* FIXME: Obsolete CM_Merge_Range_List */
1504
1505 CMAPI
1506 CONFIGRET
1507 WINAPI
1508 CM_Modify_Res_Des(
1509 OUT PRES_DES prdResDes,
1510 IN RES_DES rdResDes,
1511 IN RESOURCEID ResourceID,
1512 IN PCVOID ResourceData,
1513 IN ULONG ResourceLen,
1514 IN ULONG ulFlags);
1515
1516 CMAPI
1517 CONFIGRET
1518 WINAPI
1519 CM_Modify_Res_Des_Ex(
1520 OUT PRES_DES prdResDes,
1521 IN RES_DES rdResDes,
1522 IN RESOURCEID ResourceID,
1523 IN PCVOID ResourceData,
1524 IN ULONG ResourceLen,
1525 IN ULONG ulFlags,
1526 IN HMACHINE hMachine);
1527
1528 /* FIXME: Obsolete CM_Move_DevNode */
1529 /* FIXME: Obsolete CM_Move_DevNode_Ex */
1530 /* FIXME: Obsolete CM_Next_Range */
1531
1532 CMAPI
1533 CONFIGRET
1534 WINAPI
1535 CM_Open_Class_KeyA(
1536 IN LPGUID ClassGuid, OPTIONAL
1537 IN LPCSTR pszClassName, OPTIONAL
1538 IN REGSAM samDesired,
1539 IN REGDISPOSITION Disposition,
1540 OUT PHKEY phkClass,
1541 IN ULONG ulFlags);
1542
1543 CMAPI
1544 CONFIGRET
1545 WINAPI
1546 CM_Open_Class_KeyW(
1547 IN LPGUID ClassGuid, OPTIONAL
1548 IN LPCWSTR pszClassName, OPTIONAL
1549 IN REGSAM samDesired,
1550 IN REGDISPOSITION Disposition,
1551 OUT PHKEY phkClass,
1552 IN ULONG ulFlags);
1553
1554 CMAPI
1555 CONFIGRET
1556 WINAPI
1557 CM_Open_Class_Key_ExA(
1558 IN LPGUID pszClassGuid, OPTIONAL
1559 IN LPCSTR pszClassName, OPTIONAL
1560 IN REGSAM samDesired,
1561 IN REGDISPOSITION Disposition,
1562 OUT PHKEY phkClass,
1563 IN ULONG ulFlags,
1564 IN HMACHINE hMachine);
1565
1566 CMAPI
1567 CONFIGRET
1568 WINAPI
1569 CM_Open_Class_Key_ExW(
1570 IN LPGUID pszClassGuid, OPTIONAL
1571 IN LPCWSTR pszClassName, OPTIONAL
1572 IN REGSAM samDesired,
1573 IN REGDISPOSITION Disposition,
1574 OUT PHKEY phkClass,
1575 IN ULONG ulFlags,
1576 IN HMACHINE hMachine);
1577
1578 #ifdef UNICODE
1579 #define CM_Open_Class_Key CM_Open_Class_KeyW
1580 #define CM_Open_Class_Key_Ex CM_Open_Class_Key_ExW
1581 #else
1582 #define CM_Open_Class_Key CM_Open_Class_KeyA
1583 #define CM_Open_Class_Key_Ex CM_Open_Class_Key_ExA
1584 #endif /* UNICODE */
1585
1586 /* FIXME: Obsolete CM_Open_DevNode_Key */
1587 /* FIXME: Obsolete CM_Open_DevNode_Key_Ex */
1588
1589 /* CM_Query_And_Remove_SubTree.ulFlags constants */
1590 #define CM_REMOVE_UI_OK 0x00000000
1591 #define CM_REMOVE_UI_NOT_OK 0x00000001
1592 #define CM_REMOVE_NO_RESTART 0x00000002
1593 #define CM_REMOVE_BITS 0x00000003
1594
1595 CMAPI
1596 CONFIGRET
1597 WINAPI
1598 CM_Query_And_Remove_SubTreeA(
1599 IN DEVINST dnAncestor,
1600 OUT PPNP_VETO_TYPE pVetoType,
1601 OUT LPSTR pszVetoName,
1602 IN ULONG ulNameLength,
1603 IN ULONG ulFlags);
1604
1605 CMAPI
1606 CONFIGRET
1607 WINAPI
1608 CM_Query_And_Remove_SubTreeW(
1609 IN DEVINST dnAncestor,
1610 OUT PPNP_VETO_TYPE pVetoType,
1611 OUT LPWSTR pszVetoName,
1612 IN ULONG ulNameLength,
1613 IN ULONG ulFlags);
1614
1615 CMAPI
1616 CONFIGRET
1617 WINAPI
1618 CM_Query_And_Remove_SubTree_ExA(
1619 IN DEVINST dnAncestor,
1620 OUT PPNP_VETO_TYPE pVetoType,
1621 OUT LPSTR pszVetoName,
1622 IN ULONG ulNameLength,
1623 IN ULONG ulFlags,
1624 IN HMACHINE hMachine);
1625
1626 CMAPI
1627 CONFIGRET
1628 WINAPI
1629 CM_Query_And_Remove_SubTree_ExW(
1630 IN DEVINST dnAncestor,
1631 OUT PPNP_VETO_TYPE pVetoType,
1632 OUT LPWSTR pszVetoName,
1633 IN ULONG ulNameLength,
1634 IN ULONG ulFlags,
1635 IN HMACHINE hMachine);
1636
1637 /* FIXME: Obsolete CM_Query_Arbitrator_Free_Data */
1638 /* FIXME: Obsolete CM_Query_Arbitrator_Free_Data_Ex */
1639 /* FIXME: Obsolete CM_Query_Arbitrator_Free_Size */
1640 /* FIXME: Obsolete CM_Query_Arbitrator_Free_Size_Ex */
1641 /* FIXME: Obsolete CM_Query_Arbitrator_Free_Size_Ex */
1642 /* FIXME: Obsolete CM_Query_Remove_SubTree */
1643 /* FIXME: Obsolete CM_Query_Remove_SubTree_Ex */
1644
1645 CMAPI
1646 CONFIGRET
1647 WINAPI
1648 CM_Query_Resource_Conflict_List(
1649 OUT PCONFLICT_LIST pclConflictList,
1650 IN DEVINST dnDevInst,
1651 IN RESOURCEID ResourceID,
1652 IN PCVOID ResourceData,
1653 IN ULONG ResourceLen,
1654 IN ULONG ulFlags,
1655 IN HMACHINE hMachine);
1656
1657 /* CM_Reenumerate_DevNode.ulFlags constants */
1658 #define CM_REENUMERATE_NORMAL 0x00000000
1659 #define CM_REENUMERATE_SYNCHRONOUS 0x00000001
1660 #define CM_REENUMERATE_RETRY_INSTALLATION 0x00000002
1661 #define CM_REENUMERATE_ASYNCHRONOUS 0x00000004
1662 #define CM_REENUMERATE_BITS 0x00000007
1663
1664 CMAPI
1665 CONFIGRET
1666 WINAPI
1667 CM_Reenumerate_DevNode(
1668 IN DEVINST dnDevInst,
1669 IN ULONG ulFlags);
1670
1671 CMAPI
1672 CONFIGRET
1673 WINAPI
1674 CM_Reenumerate_DevNode_Ex(
1675 IN DEVINST dnDevInst,
1676 IN ULONG ulFlags,
1677 IN HMACHINE hMachine);
1678
1679 #define CM_Reenumerate_DevInst CM_Reenumerate_DevNode
1680 #define CM_Reenumerate_DevInst_Ex CM_Reenumerate_DevNode_Ex
1681
1682 /* FIXME: Obsolete CM_Register_Device_Driver */
1683 /* FIXME: Obsolete CM_Register_Device_Driver_Ex */
1684 /* FIXME: Obsolete CM_Register_Device_Interface */
1685 /* FIXME: Obsolete CM_Register_Device_Interface_Ex */
1686 /* FIXME: Obsolete CM_Remove_SubTree */
1687 /* FIXME: Obsolete CM_Remove_SubTree_Ex */
1688
1689 CMAPI
1690 CONFIGRET
1691 WINAPI
1692 CM_Request_Device_EjectA(
1693 IN DEVINST dnDevInst,
1694 OUT PPNP_VETO_TYPE pVetoType,
1695 OUT LPSTR pszVetoName,
1696 IN ULONG ulNameLength,
1697 IN ULONG ulFlags);
1698
1699 CMAPI
1700 CONFIGRET
1701 WINAPI
1702 CM_Request_Device_Eject_ExW(
1703 IN DEVINST dnDevInst,
1704 OUT PPNP_VETO_TYPE pVetoType,
1705 OUT LPWSTR pszVetoName,
1706 IN ULONG ulNameLength,
1707 IN ULONG ulFlags,
1708 IN HMACHINE hMachine);
1709
1710 CMAPI
1711 CONFIGRET
1712 WINAPI
1713 CM_Request_Device_Eject_ExA(
1714 IN DEVINST dnDevInst,
1715 OUT PPNP_VETO_TYPE pVetoType,
1716 OUT LPSTR pszVetoName,
1717 IN ULONG ulNameLength,
1718 IN ULONG ulFlags,
1719 IN HMACHINE hMachine);
1720
1721 CMAPI
1722 CONFIGRET
1723 WINAPI
1724 CM_Request_Device_EjectW(
1725 IN DEVINST dnDevInst,
1726 OUT PPNP_VETO_TYPE pVetoType,
1727 OUT LPWSTR pszVetoName,
1728 IN ULONG ulNameLength,
1729 IN ULONG ulFlags);
1730
1731 #ifdef UNICODE
1732 #define CM_Request_Device_Eject CM_Request_Device_EjectW
1733 #define CM_Request_Device_Eject_Ex CM_Request_Device_Eject_ExW
1734 #else
1735 #define CM_Request_Device_Eject CM_Request_Device_EjectA
1736 #define CM_Request_Device_Eject_Ex CM_Request_Device_Eject_ExA
1737 #endif /* UNICODE */
1738
1739 /* FIXME: Obsolete CM_Request_Eject_PC */
1740 /* FIXME: Obsolete CM_Request_Eject_PC_Ex */
1741 /* FIXME: Obsolete CM_Run_Detection */
1742 /* FIXME: Obsolete CM_Run_Detection_Ex */
1743 /* FIXME: Obsolete CM_Set_Class_Registry_Property */
1744 /* FIXME: Obsolete CM_Set_DevNode_Problem */
1745 /* FIXME: Obsolete CM_Set_DevNode_Problem_Ex */
1746
1747 CMAPI
1748 CONFIGRET
1749 WINAPI
1750 CM_Set_DevNode_Registry_PropertyA(
1751 IN DEVINST dnDevInst,
1752 IN ULONG ulProperty,
1753 IN PCVOID Buffer, OPTIONAL
1754 IN ULONG ulLength,
1755 IN ULONG ulFlags);
1756
1757 CMAPI
1758 CONFIGRET
1759 WINAPI
1760 CM_Set_DevNode_Registry_PropertyW(
1761 IN DEVINST dnDevInst,
1762 IN ULONG ulProperty,
1763 IN PCVOID Buffer, OPTIONAL
1764 IN ULONG ulLength,
1765 IN ULONG ulFlags);
1766
1767 CMAPI
1768 CONFIGRET
1769 WINAPI
1770 CM_Set_DevNode_Registry_Property_ExA(
1771 IN DEVINST dnDevInst,
1772 IN ULONG ulProperty,
1773 IN PCVOID Buffer, OPTIONAL
1774 IN ULONG ulLength,
1775 IN ULONG ulFlags,
1776 IN HMACHINE hMachine);
1777
1778 CMAPI
1779 CONFIGRET
1780 WINAPI
1781 CM_Set_DevNode_Registry_Property_ExW(
1782 IN DEVINST dnDevInst,
1783 IN ULONG ulProperty,
1784 IN PCVOID Buffer, OPTIONAL
1785 IN ULONG ulLength,
1786 IN ULONG ulFlags,
1787 IN HMACHINE hMachine);
1788
1789 #define CM_Set_DevInst_Registry_PropertyW CM_Set_DevNode_Registry_PropertyW
1790 #define CM_Set_DevInst_Registry_PropertyA CM_Set_DevNode_Registry_PropertyA
1791 #define CM_Set_DevInst_Registry_Property_ExW CM_Set_DevNode_Registry_Property_ExW
1792 #define CM_Set_DevInst_Registry_Property_ExA CM_Set_DevNode_Registry_Property_ExA
1793
1794 #ifdef UNICODE
1795 #define CM_Set_DevInst_Registry_Property CM_Set_DevNode_Registry_PropertyW
1796 #define CM_Set_DevInst_Registry_Property_Ex CM_Set_DevNode_Registry_Property_ExW
1797 #define CM_Set_DevNode_Registry_Property CM_Set_DevNode_Registry_PropertyW
1798 #define CM_Set_DevNode_Registry_Property_Ex CM_Set_DevNode_Registry_Property_ExW
1799 #else
1800 #define CM_Set_DevInst_Registry_Property CM_Set_DevNode_Registry_PropertyA
1801 #define CM_Set_DevInst_Registry_Property_Ex CM_Set_DevNode_Registry_Property_ExA
1802 #define CM_Set_DevNode_Registry_Property CM_Set_DevNode_Registry_PropertyA
1803 #define CM_Set_DevNode_Registry_Property_Ex CM_Set_DevNode_Registry_Property_ExA
1804 #endif /* UNICODE */
1805
1806 /* FIXME: Obsolete CM_Set_HW_Prof */
1807 /* FIXME: Obsolete CM_Set_HW_Prof_Ex */
1808 /* FIXME: Obsolete CM_Set_HW_Prof_Flags */
1809 /* FIXME: Obsolete CM_Set_HW_Prof_Flags_Ex */
1810 /* FIXME: Obsolete CM_Setup_DevNode */
1811 /* FIXME: Obsolete CM_Setup_DevNode_Ex */
1812 /* FIXME: Obsolete CM_Test_Range_Available */
1813 /* FIXME: Obsolete CM_Uninstall_DevNode */
1814 /* FIXME: Obsolete CM_Uninstall_DevNode_Ex */
1815 /* FIXME: Obsolete CM_Unregister_Device_Interface */
1816 /* FIXME: Obsolete CM_Unregister_Device_Interface_Ex */
1817
1818 #define CM_WaitNoPendingInstallEvents CMP_WaitNoPendingInstallEvents
1819
1820 CMAPI
1821 DWORD
1822 WINAPI
1823 CMP_WaitNoPendingInstallEvents(
1824 IN DWORD dwTimeout);
1825
1826 #include <poppack.h>
1827
1828 #ifdef __cplusplus
1829 }
1830 #endif
1831
1832 #endif /* __CFGMGR32_H */