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