Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
cfgmgr32.h
00001 /* 00002 * cfgmgr32.h 00003 * 00004 * PnP configuration manager 00005 * 00006 * This file is part of the w32api package. 00007 * 00008 * Contributors: 00009 * Created by Casper S. Hornstrup <chorns@users.sourceforge.net> 00010 * 00011 * THIS SOFTWARE IS NOT COPYRIGHTED 00012 * 00013 * This source code is offered for use in the public domain. You may 00014 * use, modify or distribute it freely. 00015 * 00016 * This code is distributed in the hope that it will be useful but 00017 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY 00018 * DISCLAIMED. This includes but is not limited to warranties of 00019 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00020 * 00021 */ 00022 00023 #ifndef __CFGMGR32_H 00024 #define __CFGMGR32_H 00025 00026 #if __GNUC__ >=3 00027 #pragma GCC system_header 00028 #endif 00029 00030 #ifdef __cplusplus 00031 extern "C" { 00032 #endif 00033 00034 #include "ntddk.h" 00035 00036 #if defined(_CFGMGR32_) 00037 #define CMAPI DECLSPEC_EXPORT 00038 #else 00039 #define CMAPI DECLSPEC_IMPORT 00040 #endif 00041 00042 #include "cfg.h" 00043 00044 #include <pshpack1.h> 00045 00046 #define CR_SUCCESS 0x00000000 00047 #define CR_DEFAULT 0x00000001 00048 #define CR_OUT_OF_MEMORY 0x00000002 00049 #define CR_INVALID_POINTER 0x00000003 00050 #define CR_INVALID_FLAG 0x00000004 00051 #define CR_INVALID_DEVNODE 0x00000005 00052 #define CR_INVALID_DEVINST CR_INVALID_DEVNODE 00053 #define CR_INVALID_RES_DES 0x00000006 00054 #define CR_INVALID_LOG_CONF 0x00000007 00055 #define CR_INVALID_ARBITRATOR 0x00000008 00056 #define CR_INVALID_NODELIST 0x00000009 00057 #define CR_DEVNODE_HAS_REQS 0x0000000A 00058 #define CR_DEVINST_HAS_REQS CR_DEVNODE_HAS_REQS 00059 #define CR_INVALID_RESOURCEID 0x0000000B 00060 #define CR_DLVXD_NOT_FOUND 0x0000000C 00061 #define CR_NO_SUCH_DEVNODE 0x0000000D 00062 #define CR_NO_SUCH_DEVINST CR_NO_SUCH_DEVNODE 00063 #define CR_NO_MORE_LOG_CONF 0x0000000E 00064 #define CR_NO_MORE_RES_DES 0x0000000F 00065 #define CR_ALREADY_SUCH_DEVNODE 0x00000010 00066 #define CR_ALREADY_SUCH_DEVINST CR_ALREADY_SUCH_DEVNODE 00067 #define CR_INVALID_RANGE_LIST 0x00000011 00068 #define CR_INVALID_RANGE 0x00000012 00069 #define CR_FAILURE 0x00000013 00070 #define CR_NO_SUCH_LOGICAL_DEV 0x00000014 00071 #define CR_CREATE_BLOCKED 0x00000015 00072 #define CR_NOT_SYSTEM_VM 0x00000016 00073 #define CR_REMOVE_VETOED 0x00000017 00074 #define CR_APM_VETOED 0x00000018 00075 #define CR_INVALID_LOAD_TYPE 0x00000019 00076 #define CR_BUFFER_SMALL 0x0000001A 00077 #define CR_NO_ARBITRATOR 0x0000001B 00078 #define CR_NO_REGISTRY_HANDLE 0x0000001C 00079 #define CR_REGISTRY_ERROR 0x0000001D 00080 #define CR_INVALID_DEVICE_ID 0x0000001E 00081 #define CR_INVALID_DATA 0x0000001F 00082 #define CR_INVALID_API 0x00000020 00083 #define CR_DEVLOADER_NOT_READY 0x00000021 00084 #define CR_NEED_RESTART 0x00000022 00085 #define CR_NO_MORE_HW_PROFILES 0x00000023 00086 #define CR_DEVICE_NOT_THERE 0x00000024 00087 #define CR_NO_SUCH_VALUE 0x00000025 00088 #define CR_WRONG_TYPE 0x00000026 00089 #define CR_INVALID_PRIORITY 0x00000027 00090 #define CR_NOT_DISABLEABLE 0x00000028 00091 #define CR_FREE_RESOURCES 0x00000029 00092 #define CR_QUERY_VETOED 0x0000002A 00093 #define CR_CANT_SHARE_IRQ 0x0000002B 00094 #define CR_NO_DEPENDENT 0x0000002C 00095 #define CR_SAME_RESOURCES 0x0000002D 00096 #define CR_NO_SUCH_REGISTRY_KEY 0x0000002E 00097 #define CR_INVALID_MACHINENAME 0x0000002F 00098 #define CR_REMOTE_COMM_FAILURE 0x00000030 00099 #define CR_MACHINE_UNAVAILABLE 0x00000031 00100 #define CR_NO_CM_SERVICES 0x00000032 00101 #define CR_ACCESS_DENIED 0x00000033 00102 #define CR_CALL_NOT_IMPLEMENTED 0x00000034 00103 #define CR_INVALID_PROPERTY 0x00000035 00104 #define CR_DEVICE_INTERFACE_ACTIVE 0x00000036 00105 #define CR_NO_SUCH_DEVICE_INTERFACE 0x00000037 00106 #define CR_INVALID_REFERENCE_STRING 0x00000038 00107 #define CR_INVALID_CONFLICT_LIST 0x00000039 00108 #define CR_INVALID_INDEX 0x0000003A 00109 #define CR_INVALID_STRUCTURE_SIZE 0x0000003B 00110 00111 00112 typedef DWORD RETURN_TYPE; 00113 typedef RETURN_TYPE CONFIGRET; 00114 00115 typedef HANDLE HMACHINE; 00116 typedef HMACHINE *PHMACHINE; 00117 00118 typedef DWORD_PTR RES_DES; 00119 typedef RES_DES *PRES_DES; 00120 00121 typedef DWORD_PTR RANGE_ELEMENT; 00122 typedef RANGE_ELEMENT *PRANGE_ELEMENT; 00123 00124 typedef ULONG_PTR CONFLICT_LIST; 00125 typedef CONFLICT_LIST *PCONFLICT_LIST; 00126 00127 typedef DWORD_PTR LOG_CONF; 00128 typedef LOG_CONF *PLOG_CONF; 00129 00130 typedef ULONG PRIORITY; 00131 typedef PRIORITY *PPRIORITY; 00132 00133 typedef DWORD_PTR RANGE_LIST; 00134 typedef RANGE_LIST *PRANGE_LIST; 00135 00136 typedef DWORD DEVNODE, DEVINST; 00137 typedef DEVNODE *PDEVNODE, *PDEVINST; 00138 00139 typedef CHAR *DEVNODEID_A, *DEVINSTID_A; 00140 typedef WCHAR *DEVNODEID_W, *DEVINSTID_W; 00141 00142 #ifdef UNICODE 00143 typedef DEVNODEID_W DEVNODEID; 00144 typedef DEVINSTID_W DEVINSTID; 00145 #else 00146 typedef DEVNODEID_A DEVNODEID; 00147 typedef DEVINSTID_A DEVINSTID; 00148 #endif 00149 00150 typedef ULONG REGDISPOSITION; 00151 00152 typedef ULONG RESOURCEID; 00153 typedef RESOURCEID *PRESOURCEID; 00154 00155 #define CM_RESDES_WIDTH_DEFAULT 0x00000000 00156 #define CM_RESDES_WIDTH_32 0x00000001 00157 #define CM_RESDES_WIDTH_64 0x00000002 00158 #define CM_RESDES_WIDTH_BITS 0x00000003 00159 00160 00161 #define MAX_CONFIG_VALUE 9999 00162 #define MAX_INSTANCE_VALUE 9999 00163 00164 #define MAX_DEVICE_ID_LEN 200 00165 #define MAX_DEVNODE_ID_LEN MAX_DEVICE_ID_LEN 00166 00167 #define MAX_CLASS_NAME_LEN 32 00168 #define MAX_GUID_STRING_LEN 39 00169 #define MAX_PROFILE_LEN 80 00170 00171 00172 #define ResType_All 0x00000000 00173 #define ResType_None 0x00000000 00174 #define ResType_Mem 0x00000001 00175 #define ResType_IO 0x00000002 00176 #define ResType_DMA 0x00000003 00177 #define ResType_IRQ 0x00000004 00178 #define ResType_DoNotUse 0x00000005 00179 #define ResType_BusNumber 0x00000006 00180 #define ResType_MAX 0x00000006 00181 #define ResType_Ignored_Bit 0x00008000 00182 #define ResType_ClassSpecific 0x0000FFFF 00183 #define ResType_Reserved 0x00008000 00184 #define ResType_DevicePrivate 0x00008001 00185 #define ResType_PcCardConfig 0x00008002 00186 #define ResType_MfCardConfig 0x00008003 00187 00188 #define CM_GETIDLIST_FILTER_NONE 0x00000000 00189 #define CM_GETIDLIST_FILTER_ENUMERATOR 0x00000001 00190 #define CM_GETIDLIST_FILTER_SERVICE 0x00000002 00191 #define CM_GETIDLIST_FILTER_EJECTRELATIONS 0x00000004 00192 #define CM_GETIDLIST_FILTER_REMOVALRELATIONS 0x00000008 00193 #define CM_GETIDLIST_FILTER_POWERRELATIONS 0x00000010 00194 #define CM_GETIDLIST_FILTER_BUSRELATIONS 0x00000020 00195 #define CM_GETIDLIST_DONOTGENERATE 0x10000040 00196 #define CM_GETIDLIST_FILTER_BITS 0x1000007F 00197 00198 #define CM_GET_DEVICE_INTERFACE_LIST_PRESENT 0x00000000 00199 #define CM_GET_DEVICE_INTERFACE_LIST_ALL_DEVICES 0x00000001 00200 #define CM_GET_DEVICE_INTERFACE_LIST_BITS 0x00000001 00201 00202 00203 typedef struct BusNumber_Des_s { 00204 DWORD BUSD_Count; 00205 DWORD BUSD_Type; 00206 DWORD BUSD_Flags; 00207 ULONG BUSD_Alloc_Base; 00208 ULONG BUSD_Alloc_End; 00209 } BUSNUMBER_DES, *PBUSNUMBER_DES; 00210 00211 typedef struct BusNumber_Range_s { 00212 ULONG BUSR_Min; 00213 ULONG BUSR_Max; 00214 ULONG BUSR_nBusNumbers; 00215 ULONG BUSR_Flags; 00216 } BUSNUMBER_RANGE, *PBUSNUMBER_RANGE; 00217 00218 #define BusNumberType_Range sizeof(BUSNUMBER_RANGE) 00219 00220 typedef struct BusNumber_Resource_s { 00221 BUSNUMBER_DES BusNumber_Header; 00222 BUSNUMBER_RANGE BusNumber_Data[ANYSIZE_ARRAY]; 00223 } BUSNUMBER_RESOURCE, *PBUSNUMBER_RESOURCE; 00224 00225 typedef struct CS_Des_s { 00226 DWORD CSD_SignatureLength; 00227 DWORD CSD_LegacyDataOffset; 00228 DWORD CSD_LegacyDataSize; 00229 DWORD CSD_Flags; 00230 GUID CSD_ClassGuid; 00231 BYTE CSD_Signature[ANYSIZE_ARRAY]; 00232 } CS_DES, *PCS_DES; 00233 00234 typedef struct CS_Resource_s { 00235 CS_DES CS_Header; 00236 } CS_RESOURCE, *PCS_RESOURCE; 00237 00238 typedef struct DevPrivate_Des_s { 00239 DWORD PD_Count; 00240 DWORD PD_Type; 00241 DWORD PD_Data1; 00242 DWORD PD_Data2; 00243 DWORD PD_Data3; 00244 DWORD PD_Flags; 00245 } DEVPRIVATE_DES, *PDEVPRIVATE_DES; 00246 00247 typedef struct DevPrivate_Range_s { 00248 DWORD PR_Data1; 00249 DWORD PR_Data2; 00250 DWORD PR_Data3; 00251 } DEVPRIVATE_RANGE, *PDEVPRIVATE_RANGE; 00252 00253 #define PType_Range sizeof(DEVPRIVATE_RANGE) 00254 00255 typedef struct DevPrivate_Resource_s { 00256 DEVPRIVATE_DES PRV_Header; 00257 DEVPRIVATE_RANGE PRV_Data[ANYSIZE_ARRAY]; 00258 } DEVPRIVATE_RESOURCE, *PDEVPRIVATE_RESOURCE; 00259 00260 /* DMA_DES.DD_Flags constants and masks */ 00261 #define mDD_Width 0x3 00262 #define fDD_BYTE 0x0 00263 #define fDD_WORD 0x1 00264 #define fDD_DWORD 0x2 00265 #define fDD_BYTE_AND_WORD 0x3 00266 00267 #define mDD_BusMaster 0x4 00268 #define fDD_NoBusMaster 0x0 00269 #define fDD_BusMaster 0x4 00270 00271 #define mDD_Type 0x18 00272 #define fDD_TypeStandard 0x00 00273 #define fDD_TypeA 0x08 00274 #define fDD_TypeB 0x10 00275 #define fDD_TypeF 0x18 00276 00277 typedef struct DMA_Des_s { 00278 DWORD DD_Count; 00279 DWORD DD_Type; 00280 DWORD DD_Flags; 00281 ULONG DD_Alloc_Chan; 00282 } DMA_DES, *PDMA_DES; 00283 00284 typedef struct DMA_Range_s { 00285 ULONG DR_Min; 00286 ULONG DR_Max; 00287 ULONG DR_Flags; 00288 } DMA_RANGE, *PDMA_RANGE; 00289 00290 #define DType_Range sizeof(DMA_RANGE) 00291 00292 typedef struct DMA_Resource_s { 00293 DMA_DES DMA_Header; 00294 DMA_RANGE DMA_Data[ANYSIZE_ARRAY]; 00295 } DMA_RESOURCE, *PDMA_RESOURCE; 00296 00297 /* IO_DES.Type constants and masks */ 00298 #define fIOD_PortType 0x1 00299 #define fIOD_Memory 0x0 00300 #define fIOD_IO 0x1 00301 #define fIOD_DECODE 0x00fc 00302 #define fIOD_10_BIT_DECODE 0x0004 00303 #define fIOD_12_BIT_DECODE 0x0008 00304 #define fIOD_16_BIT_DECODE 0x0010 00305 #define fIOD_POSITIVE_DECODE 0x0020 00306 #define fIOD_PASSIVE_DECODE 0x0040 00307 #define fIOD_WINDOW_DECODE 0x0080 00308 00309 typedef struct IO_Des_s { 00310 DWORD IOD_Count; 00311 DWORD IOD_Type; 00312 DWORDLONG IOD_Alloc_Base; 00313 DWORDLONG IOD_Alloc_End; 00314 DWORD IOD_DesFlags; 00315 } IO_DES, *PIO_DES; 00316 00317 /* IO_RANGE.IOR_Alias constants */ 00318 #define IO_ALIAS_10_BIT_DECODE 0x00000004 00319 #define IO_ALIAS_12_BIT_DECODE 0x00000010 00320 #define IO_ALIAS_16_BIT_DECODE 0x00000000 00321 #define IO_ALIAS_POSITIVE_DECODE 0x000000FF 00322 00323 typedef struct IO_Range_s { 00324 DWORDLONG IOR_Align; 00325 DWORD IOR_nPorts; 00326 DWORDLONG IOR_Min; 00327 DWORDLONG IOR_Max; 00328 DWORD IOR_RangeFlags; 00329 DWORDLONG IOR_Alias; 00330 } IO_RANGE, *PIO_RANGE; 00331 00332 #define IOType_Range sizeof(IO_RANGE) 00333 00334 typedef struct IO_Resource_s { 00335 IO_DES IO_Header; 00336 IO_RANGE IO_Data[ANYSIZE_ARRAY]; 00337 } IO_RESOURCE, *PIO_RESOURCE; 00338 00339 /* IRQ_DES.IRQD_flags constants */ 00340 #define mIRQD_Share 0x1 00341 #define fIRQD_Exclusive 0x0 00342 #define fIRQD_Share 0x1 00343 00344 #define fIRQD_Share_Bit 0 00345 #define fIRQD_Level_Bit 1 00346 00347 #define mIRQD_Edge_Level 0x2 00348 #define fIRQD_Level 0x0 00349 #define fIRQD_Edge 0x2 00350 00351 typedef struct IRQ_Des_32_s { 00352 DWORD IRQD_Count; 00353 DWORD IRQD_Type; 00354 DWORD IRQD_Flags; 00355 ULONG IRQD_Alloc_Num; 00356 ULONG32 IRQD_Affinity; 00357 } IRQ_DES_32, *PIRQ_DES_32; 00358 00359 typedef struct IRQ_Des_64_s { 00360 DWORD IRQD_Count; 00361 DWORD IRQD_Type; 00362 DWORD IRQD_Flags; 00363 ULONG IRQD_Alloc_Num; 00364 ULONG64 IRQD_Affinity; 00365 } IRQ_DES_64, *PIRQ_DES_64; 00366 00367 #ifdef _WIN64 00368 typedef IRQ_DES_64 IRQ_DES; 00369 typedef PIRQ_DES_64 PIRQ_DES; 00370 #else 00371 typedef IRQ_DES_32 IRQ_DES; 00372 typedef PIRQ_DES_32 PIRQ_DES; 00373 #endif 00374 00375 typedef struct IRQ_Range_s { 00376 ULONG IRQR_Min; 00377 ULONG IRQR_Max; 00378 ULONG IRQR_Flags; 00379 } IRQ_RANGE, *PIRQ_RANGE; 00380 00381 #define IRQType_Range sizeof(IRQ_RANGE) 00382 00383 typedef struct IRQ_Resource_s { 00384 IRQ_DES IRQ_Header; 00385 IRQ_RANGE IRQ_Data[ANYSIZE_ARRAY]; 00386 } IRQ_RESOURCE, *PIRQ_RESOURCE; 00387 00388 /* MEM_DES.MD_Flags constants */ 00389 #define mMD_MemoryType 0x1 00390 #define fMD_MemoryType mMD_MemoryType 00391 #define fMD_ROM 0x0 00392 #define fMD_RAM 0x1 00393 00394 #define mMD_32_24 0x2 00395 #define fMD_32_24 mMD_32_24 00396 #define fMD_24 0x0 00397 #define fMD_32 0x2 00398 00399 #define mMD_Prefetchable 0x4 00400 #define fMD_Prefetchable mMD_Prefetchable 00401 #define fMD_Pref mMD_Prefetchable 00402 #define fMD_PrefetchDisallowed 0x0 00403 #define fMD_PrefetchAllowed 0x4 00404 00405 #define mMD_Readable 0x8 00406 #define fMD_Readable mMD_Readable 00407 #define fMD_ReadAllowed 0x0 00408 #define fMD_ReadDisallowed 0x8 00409 00410 #define mMD_CombinedWrite 0x10 00411 #define fMD_CombinedWrite mMD_CombinedWrite 00412 #define fMD_CombinedWriteDisallowed 0x0 00413 #define fMD_CombinedWriteAllowed 0x10 00414 00415 #define mMD_Cacheable 0x20 00416 #define fMD_NonCacheable 0x0 00417 #define fMD_Cacheable 0x20 00418 00419 typedef struct Mem_Des_s { 00420 DWORD MD_Count; 00421 DWORD MD_Type; 00422 DWORDLONG MD_Alloc_Base; 00423 DWORDLONG MD_Alloc_End; 00424 DWORD MD_Flags; 00425 DWORD MD_Reserved; 00426 } MEM_DES, *PMEM_DES; 00427 00428 typedef struct Mem_Range_s { 00429 DWORDLONG MR_Align; 00430 ULONG MR_nBytes; 00431 DWORDLONG MR_Min; 00432 DWORDLONG MR_Max; 00433 DWORD MR_Flags; 00434 DWORD MR_Reserved; 00435 } MEM_RANGE, *PMEM_RANGE; 00436 00437 #define MType_Range sizeof(MEM_RANGE) 00438 00439 typedef struct Mem_Resource_s { 00440 MEM_DES MEM_Header; 00441 MEM_RANGE MEM_Data[ANYSIZE_ARRAY]; 00442 } MEM_RESOURCE, *PMEM_RESOURCE; 00443 00444 /* MFCARD_DES.PMF_Flags constants */ 00445 #define fPMF_AUDIO_ENABLE 0x8 00446 #define mPMF_AUDIO_ENABLE fPMF_AUDIO_ENABLE 00447 00448 typedef struct MfCard_Des_s { 00449 DWORD PMF_Count; 00450 DWORD PMF_Type; 00451 DWORD PMF_Flags; 00452 BYTE PMF_ConfigOptions; 00453 BYTE PMF_IoResourceIndex; 00454 BYTE PMF_Reserved[2]; 00455 DWORD PMF_ConfigRegisterBase; 00456 } MFCARD_DES, *PMFCARD_DES; 00457 00458 typedef struct MfCard_Resource_s { 00459 MFCARD_DES MfCard_Header; 00460 } MFCARD_RESOURCE, *PMFCARD_RESOURCE; 00461 00462 /* PCCARD_DES.PCD_Flags constants */ 00463 00464 typedef struct PcCard_Des_s { 00465 DWORD PCD_Count; 00466 DWORD PCD_Type; 00467 DWORD PCD_Flags; 00468 BYTE PCD_ConfigIndex; 00469 BYTE PCD_Reserved[3]; 00470 DWORD PCD_MemoryCardBase1; 00471 DWORD PCD_MemoryCardBase2; 00472 } PCCARD_DES, *PPCCARD_DES; 00473 00474 #define mPCD_IO_8_16 0x1 00475 #define fPCD_IO_8 0x0 00476 #define fPCD_IO_16 0x1 00477 #define mPCD_MEM_8_16 0x2 00478 #define fPCD_MEM_8 0x0 00479 #define fPCD_MEM_16 0x2 00480 #define mPCD_MEM_A_C 0xC 00481 #define fPCD_MEM1_A 0x4 00482 #define fPCD_MEM2_A 0x8 00483 #define fPCD_IO_ZW_8 0x10 00484 #define fPCD_IO_SRC_16 0x20 00485 #define fPCD_IO_WS_16 0x40 00486 #define mPCD_MEM_WS 0x300 00487 #define fPCD_MEM_WS_ONE 0x100 00488 #define fPCD_MEM_WS_TWO 0x200 00489 #define fPCD_MEM_WS_THREE 0x300 00490 00491 #define fPCD_MEM_A 0x4 00492 00493 #define fPCD_ATTRIBUTES_PER_WINDOW 0x8000 00494 00495 #define fPCD_IO1_16 0x00010000 00496 #define fPCD_IO1_ZW_8 0x00020000 00497 #define fPCD_IO1_SRC_16 0x00040000 00498 #define fPCD_IO1_WS_16 0x00080000 00499 00500 #define fPCD_IO2_16 0x00100000 00501 #define fPCD_IO2_ZW_8 0x00200000 00502 #define fPCD_IO2_SRC_16 0x00400000 00503 #define fPCD_IO2_WS_16 0x00800000 00504 00505 #define mPCD_MEM1_WS 0x03000000 00506 #define fPCD_MEM1_WS_ONE 0x01000000 00507 #define fPCD_MEM1_WS_TWO 0x02000000 00508 #define fPCD_MEM1_WS_THREE 0x03000000 00509 #define fPCD_MEM1_16 0x04000000 00510 00511 #define mPCD_MEM2_WS 0x30000000 00512 #define fPCD_MEM2_WS_ONE 0x10000000 00513 #define fPCD_MEM2_WS_TWO 0x20000000 00514 #define fPCD_MEM2_WS_THREE 0x30000000 00515 #define fPCD_MEM2_16 0x40000000 00516 00517 #define PCD_MAX_MEMORY 2 00518 #define PCD_MAX_IO 2 00519 00520 typedef struct PcCard_Resource_s { 00521 PCCARD_DES PcCard_Header; 00522 } PCCARD_RESOURCE, *PPCCARD_RESOURCE; 00523 00524 00525 /* CONFLICT_DETAILS.CD.ulMask constants */ 00526 #define CM_CDMASK_DEVINST 0x00000001 00527 #define CM_CDMASK_RESDES 0x00000002 00528 #define CM_CDMASK_FLAGS 0x00000004 00529 #define CM_CDMASK_DESCRIPTION 0x00000008 00530 #define CM_CDMASK_VALID 0x0000000F 00531 00532 /* CONFLICT_DETAILS.CD.ulFlags constants */ 00533 #define CM_CDFLAGS_DRIVER 0x00000001 00534 #define CM_CDFLAGS_ROOT_OWNED 0x00000002 00535 #define CM_CDFLAGS_RESERVED 0x00000004 00536 00537 typedef struct _CONFLICT_DETAILS_A { 00538 ULONG CD_ulSize; 00539 ULONG CD_ulMask; 00540 DEVINST CD_dnDevInst; 00541 RES_DES CD_rdResDes; 00542 ULONG CD_ulFlags; 00543 CHAR CD_szDescription[MAX_PATH]; 00544 } CONFLICT_DETAILS_A , *PCONFLICT_DETAILS_A; 00545 00546 typedef struct _CONFLICT_DETAILS_W { 00547 ULONG CD_ulSize; 00548 ULONG CD_ulMask; 00549 DEVINST CD_dnDevInst; 00550 RES_DES CD_rdResDes; 00551 ULONG CD_ulFlags; 00552 WCHAR CD_szDescription[MAX_PATH]; 00553 } CONFLICT_DETAILS_W , *PCONFLICT_DETAILS_W; 00554 00555 #ifdef UNICODE 00556 typedef CONFLICT_DETAILS_W CONFLICT_DETAILS; 00557 typedef PCONFLICT_DETAILS_W PCONFLICT_DETAILS; 00558 #else 00559 typedef CONFLICT_DETAILS_A CONFLICT_DETAILS; 00560 typedef PCONFLICT_DETAILS_A PCONFLICT_DETAILS; 00561 #endif 00562 00563 00564 00565 /* CM_Add_Empty_Log_Conf.ulFlags constants */ 00566 #define PRIORITY_EQUAL_FIRST 0x00000008 00567 #define PRIORITY_EQUAL_LAST 0x00000000 00568 #define PRIORITY_BIT 0x00000008 00569 00570 CMAPI 00571 CONFIGRET 00572 WINAPI 00573 CM_Add_Empty_Log_Conf( 00574 /*OUT*/ PLOG_CONF plcLogConf, 00575 /*IN*/ DEVINST dnDevInst, 00576 /*IN*/ PRIORITY Priority, 00577 /*IN*/ ULONG ulFlags); 00578 00579 CMAPI 00580 CONFIGRET 00581 WINAPI 00582 CM_Add_Empty_Log_Conf_Ex( 00583 /*OUT*/ PLOG_CONF plcLogConf, 00584 /*IN*/ DEVINST dnDevInst, 00585 /*IN*/ PRIORITY Priority, 00586 /*IN*/ ULONG ulFlags, 00587 /*IN*/ HMACHINE hMachine); 00588 00589 /* CM_Add_ID.ulFlags constants */ 00590 #define CM_ADD_ID_HARDWARE 0x00000000 00591 #define CM_ADD_ID_COMPATIBLE 0x00000001 00592 #define CM_ADD_ID_BITS 0x00000001 00593 00594 CMAPI 00595 CONFIGRET 00596 WINAPI 00597 CM_Add_IDA( 00598 /*IN*/ DEVINST dnDevInst, 00599 /*IN*/ PSTR pszID, 00600 /*IN*/ ULONG ulFlags, 00601 /*IN*/ HMACHINE hMachine); 00602 00603 CMAPI 00604 CONFIGRET 00605 WINAPI 00606 CM_Add_ID_ExA( 00607 /*IN*/ DEVINST dnDevInst, 00608 /*IN*/ PSTR pszID, 00609 /*IN*/ ULONG ulFlags, 00610 /*IN*/ HMACHINE hMachine); 00611 00612 CMAPI 00613 CONFIGRET 00614 WINAPI 00615 CM_Add_ID_ExW( 00616 /*IN*/ DEVINST dnDevInst, 00617 /*IN*/ PWSTR pszID, 00618 /*IN*/ ULONG ulFlags, 00619 /*IN*/ HMACHINE hMachine); 00620 00621 CMAPI 00622 CONFIGRET 00623 WINAPI 00624 CM_Add_IDW( 00625 /*IN*/ DEVINST dnDevInst, 00626 /*IN*/ PWSTR pszID, 00627 /*IN*/ ULONG ulFlags, 00628 /*IN*/ HMACHINE hMachine); 00629 00630 #ifdef UNICODE 00631 #define CM_Add_ID CM_Add_IDW 00632 #define CM_Add_ID_Ex CM_Add_ID_ExW 00633 #else 00634 #define CM_Add_ID CM_Add_IDA 00635 #define CM_Add_ID_Ex CM_Add_ID_ExA 00636 #endif /* UNICODE */ 00637 00638 /* FIXME: Obsolete CM_Add_Range */ 00639 00640 CMAPI 00641 CONFIGRET 00642 WINAPI 00643 CM_Add_Res_Des( 00644 /*OUT*/ PRES_DES prdResDes, 00645 /*IN*/ LOG_CONF lcLogConf, 00646 /*IN*/ RESOURCEID ResourceID, 00647 /*IN*/ PCVOID ResourceData, 00648 /*IN*/ ULONG ResourceLen, 00649 /*IN*/ ULONG ulFlags); 00650 00651 CMAPI 00652 CONFIGRET 00653 WINAPI 00654 CM_Add_Res_Des_Ex( 00655 /*OUT*/ PRES_DES prdResDes, 00656 /*IN*/ LOG_CONF lcLogConf, 00657 /*IN*/ RESOURCEID ResourceID, 00658 /*IN*/ PCVOID ResourceData, 00659 /*IN*/ ULONG ResourceLen, 00660 /*IN*/ ULONG ulFlags, 00661 /*IN*/ HMACHINE hMachine); 00662 00663 CMAPI 00664 CONFIGRET 00665 WINAPI 00666 CM_Connect_MachineA( 00667 /*IN*/ PCSTR UNCServerName, 00668 /*OUT*/ PHMACHINE phMachine); 00669 00670 CMAPI 00671 CONFIGRET 00672 WINAPI 00673 CM_Connect_MachineW( 00674 /*IN*/ PCWSTR UNCServerName, 00675 /*OUT*/ PHMACHINE phMachine); 00676 00677 #ifdef UNICODE 00678 #define CM_Connect_Machine CM_Connect_MachineW 00679 #else 00680 #define CM_Connect_Machine CM_Connect_MachineA 00681 #endif /* UNICODE */ 00682 00683 /* FIXME: Obsolete CM_Create_DevNode */ 00684 /* FIXME: Obsolete CM_Create_DevNodeEx */ 00685 /* FIXME: Obsolete CM_Create_Range_List */ 00686 /* FIXME: Obsolete CM_Delete_Class_Key */ 00687 /* FIXME: Obsolete CM_Delete_Class_Key_Ex */ 00688 /* FIXME: Obsolete CM_Delete_DevNode_Key */ 00689 /* FIXME: Obsolete CM_Delete_DevNode_Key_Ex */ 00690 /* FIXME: Obsolete CM_Delete_Range */ 00691 /* FIXME: Obsolete CM_Detected_Resource_Conflict */ 00692 /* FIXME: Obsolete CM_Detected_Resource_Conflict_Ex */ 00693 /* FIXME: Obsolete CM_Disable_DevNode */ 00694 /* FIXME: Obsolete CM_Disable_DevNodeEx */ 00695 00696 CMAPI 00697 CONFIGRET 00698 WINAPI 00699 CM_Disconnect_Machine( 00700 /*IN*/ HMACHINE hMachine); 00701 00702 /* FIXME: Obsolete CM_Enable_DevNode */ 00703 /* FIXME: Obsolete CM_Enable_DevNodeEx */ 00704 00705 CMAPI 00706 CONFIGRET 00707 WINAPI 00708 CM_Enumerate_Classes( 00709 /*IN*/ ULONG ulClassIndex, 00710 /*OUT*/ LPGUID ClassGuid, 00711 /*IN*/ ULONG ulFlags); 00712 00713 CMAPI 00714 CONFIGRET 00715 WINAPI 00716 CM_Enumerate_Classes_Ex( 00717 /*IN*/ ULONG ulClassIndex, 00718 /*OUT*/ LPGUID ClassGuid, 00719 /*IN*/ ULONG ulFlags, 00720 /*IN*/ HMACHINE hMachine); 00721 00722 CMAPI 00723 CONFIGRET 00724 WINAPI 00725 CM_Enumerate_EnumeratorsA( 00726 /*IN*/ ULONG ulEnumIndex, 00727 /*OUT*/ PCHAR Buffer, 00728 /*IN OUT*/ PULONG pulLength, 00729 /*IN*/ ULONG ulFlags); 00730 00731 CMAPI 00732 CONFIGRET 00733 WINAPI 00734 CM_Enumerate_Enumerators_ExA( 00735 /*IN*/ ULONG ulEnumIndex, 00736 /*OUT*/ PCHAR Buffer, 00737 /*IN OUT*/ PULONG pulLength, 00738 /*IN*/ ULONG ulFlags, 00739 /*IN*/ HMACHINE hMachine); 00740 00741 CMAPI 00742 CONFIGRET 00743 WINAPI 00744 CM_Enumerate_Enumerators_ExW( 00745 /*IN*/ ULONG ulEnumIndex, 00746 /*OUT*/ PWCHAR Buffer, 00747 /*IN OUT*/ PULONG pulLength, 00748 /*IN*/ ULONG ulFlags, 00749 /*IN*/ HMACHINE hMachine); 00750 00751 CMAPI 00752 CONFIGRET 00753 WINAPI 00754 CM_Enumerate_EnumeratorsW( 00755 /*IN*/ ULONG ulEnumIndex, 00756 /*OUT*/ PWCHAR Buffer, 00757 /*IN OUT*/ PULONG pulLength, 00758 /*IN*/ ULONG ulFlags); 00759 00760 #ifdef UNICODE 00761 #define CM_Enumerate_Enumerators CM_Enumerate_EnumeratorsW 00762 #define CM_Enumerate_Enumerators_Ex CM_Enumerate_Enumerators_ExW 00763 #else 00764 #define CM_Enumerate_Enumerators CM_Enumerate_EnumeratorsA 00765 #define CM_Enumerate_Enumerators_Ex CM_Enumerate_Enumerators_ExW 00766 #endif /* UNICODE */ 00767 00768 /* FIXME: Obsolete CM_Find_Range */ 00769 /* FIXME: Obsolete CM_First_Range */ 00770 00771 CMAPI 00772 CONFIGRET 00773 WINAPI 00774 CM_Free_Log_Conf( 00775 /*IN*/ LOG_CONF lcLogConfToBeFreed, 00776 /*IN*/ ULONG ulFlags); 00777 00778 CMAPI 00779 CONFIGRET 00780 WINAPI 00781 CM_Free_Log_Conf_Ex( 00782 /*IN*/ LOG_CONF lcLogConfToBeFreed, 00783 /*IN*/ ULONG ulFlags, 00784 /*IN*/ HMACHINE hMachine); 00785 00786 CMAPI 00787 CONFIGRET 00788 WINAPI 00789 CM_Free_Log_Conf_Handle( 00790 /*IN*/ LOG_CONF lcLogConf); 00791 00792 /* FIXME: Obsolete CM_Free_Range_List */ 00793 00794 CMAPI 00795 CONFIGRET 00796 WINAPI 00797 CM_Free_Res_Des( 00798 /*OUT*/ PRES_DES prdResDes, 00799 /*IN*/ RES_DES rdResDes, 00800 /*IN*/ ULONG ulFlags); 00801 00802 CMAPI 00803 CONFIGRET 00804 WINAPI 00805 CM_Free_Res_Des_Ex( 00806 /*OUT*/ PRES_DES prdResDes, 00807 /*IN*/ RES_DES rdResDes, 00808 /*IN*/ ULONG ulFlags, 00809 /*IN*/ HMACHINE hMachine); 00810 00811 CMAPI 00812 CONFIGRET 00813 WINAPI 00814 CM_Free_Res_Des_Handle( 00815 /*IN*/ RES_DES rdResDes); 00816 00817 CMAPI 00818 CONFIGRET 00819 WINAPI 00820 CM_Free_Resource_Conflict_Handle( 00821 /*IN*/ CONFLICT_LIST clConflictList); 00822 00823 CMAPI 00824 CONFIGRET 00825 WINAPI 00826 CM_Get_Child( 00827 /*OUT*/ PDEVINST pdnDevInst, 00828 /*IN*/ DEVINST dnDevInst, 00829 /*IN*/ ULONG ulFlags); 00830 00831 CMAPI 00832 CONFIGRET 00833 WINAPI 00834 CM_Get_Child_Ex( 00835 /*OUT*/ PDEVINST pdnDevInst, 00836 /*IN*/ DEVINST dnDevInst, 00837 /*IN*/ ULONG ulFlags, 00838 /*IN*/ HMACHINE hMachine); 00839 00840 /* FIXME: Obsolete CM_Get_Class_Name */ 00841 /* FIXME: Obsolete CM_Get_Class_Name_Ex */ 00842 /* FIXME: Obsolete CM_Get_Class_Key_Name */ 00843 /* FIXME: Obsolete CM_Get_Class_Key_Name_Ex */ 00844 /* FIXME: Obsolete CM_Get_Class_Registry_Property */ 00845 00846 CMAPI 00847 CONFIGRET 00848 WINAPI 00849 CM_Get_Depth( 00850 /*OUT*/ PULONG pulDepth, 00851 /*IN*/ DEVINST dnDevInst, 00852 /*IN*/ ULONG ulFlags); 00853 00854 CMAPI 00855 CONFIGRET 00856 WINAPI 00857 CM_Get_Depth_Ex( 00858 /*OUT*/ PULONG pulDepth, 00859 /*IN*/ DEVINST dnDevInst, 00860 /*IN*/ ULONG ulFlags, 00861 /*IN*/ HMACHINE hMachine); 00862 00863 CMAPI 00864 CONFIGRET 00865 WINAPI 00866 CM_Get_Device_IDA( 00867 /*IN*/ DEVINST dnDevInst, 00868 /*OUT*/ PCHAR Buffer, 00869 /*IN*/ ULONG BufferLen, 00870 /*IN*/ ULONG ulFlags); 00871 00872 CMAPI 00873 CONFIGRET 00874 WINAPI 00875 CM_Get_Device_ID_ExA( 00876 /*IN*/ DEVINST dnDevInst, 00877 /*OUT*/ PCHAR Buffer, 00878 /*IN*/ ULONG BufferLen, 00879 /*IN*/ ULONG ulFlags, 00880 /*IN*/ HMACHINE hMachine); 00881 00882 CMAPI 00883 CONFIGRET 00884 WINAPI 00885 CM_Get_Device_ID_ExW( 00886 /*IN*/ DEVINST dnDevInst, 00887 /*OUT*/ PWCHAR Buffer, 00888 /*IN*/ ULONG BufferLen, 00889 /*IN*/ ULONG ulFlags, 00890 /*IN*/ HMACHINE hMachine); 00891 00892 CMAPI 00893 CONFIGRET 00894 WINAPI 00895 CM_Get_Device_IDW( 00896 /*IN*/ DEVINST dnDevInst, 00897 /*OUT*/ PWCHAR Buffer, 00898 /*IN*/ ULONG BufferLen, 00899 /*IN*/ ULONG ulFlags); 00900 00901 #ifdef UNICODE 00902 #define CM_Get_Device_ID CM_Get_Device_IDW 00903 #define CM_Get_Device_ID_Ex CM_Get_Device_ID_ExW 00904 #else 00905 #define CM_Get_Device_ID CM_Get_Device_IDA 00906 #define CM_Get_Device_ID_Ex CM_Get_Device_ID_ExW 00907 #endif /* UNICODE */ 00908 00909 CMAPI 00910 CONFIGRET 00911 WINAPI 00912 CM_Get_Device_ID_ListA( 00913 /*IN*/ PCSTR pszFilter, /*OPTIONAL*/ 00914 /*OUT*/ PCHAR Buffer, 00915 /*IN*/ ULONG BufferLen, 00916 /*IN*/ ULONG ulFlags); 00917 00918 CMAPI 00919 CONFIGRET 00920 WINAPI 00921 CM_Get_Device_ID_List_ExA( 00922 /*IN*/ PCSTR pszFilter, /*OPTIONAL*/ 00923 /*OUT*/ PCHAR Buffer, 00924 /*IN*/ ULONG BufferLen, 00925 /*IN*/ ULONG ulFlags, 00926 /*IN*/ HMACHINE hMachine); 00927 00928 CMAPI 00929 CONFIGRET 00930 WINAPI 00931 CM_Get_Device_ID_List_ExW( 00932 /*IN*/ PCWSTR pszFilter, /*OPTIONAL*/ 00933 /*OUT*/ PWCHAR Buffer, 00934 /*IN*/ ULONG BufferLen, 00935 /*IN*/ ULONG ulFlags, 00936 /*IN*/ HMACHINE hMachine); 00937 00938 CMAPI 00939 CONFIGRET 00940 WINAPI 00941 CM_Get_Device_ID_ListW( 00942 /*IN*/ PCWSTR pszFilter, /*OPTIONAL*/ 00943 /*OUT*/ PWCHAR Buffer, 00944 /*IN*/ ULONG BufferLen, 00945 /*IN*/ ULONG ulFlags); 00946 00947 #ifdef UNICODE 00948 #define CM_Get_Device_ID_List CM_Get_Device_ID_ListW 00949 #define CM_Get_Device_ID_List_Ex CM_Get_Device_ID_List_ExW 00950 #else 00951 #define CM_Get_Device_ID_List CM_Get_Device_ID_ListA 00952 #define CM_Get_Device_ID_List_Ex CM_Get_Device_ID_List_ExA 00953 #endif /* UNICODE */ 00954 00955 CMAPI 00956 CONFIGRET 00957 WINAPI 00958 CM_Get_Device_ID_List_SizeA( 00959 /*OUT*/ PULONG pulLen, 00960 /*IN*/ PCSTR pszFilter, /*OPTIONAL*/ 00961 /*IN*/ ULONG ulFlags); 00962 00963 CMAPI 00964 CONFIGRET 00965 WINAPI 00966 CM_Get_Device_ID_List_Size_ExA( 00967 /*OUT*/ PULONG pulLen, 00968 /*IN*/ PCSTR pszFilter, /*OPTIONAL*/ 00969 /*IN*/ ULONG ulFlags, 00970 /*IN*/ HMACHINE hMachine); 00971 00972 CMAPI 00973 CONFIGRET 00974 WINAPI 00975 CM_Get_Device_ID_List_Size_ExW( 00976 /*OUT*/ PULONG pulLen, 00977 /*IN*/ PCWSTR pszFilter, /*OPTIONAL*/ 00978 /*IN*/ ULONG ulFlags, 00979 /*IN*/ HMACHINE hMachine); 00980 00981 CMAPI 00982 CONFIGRET 00983 WINAPI 00984 CM_Get_Device_ID_List_SizeW( 00985 /*OUT*/ PULONG pulLen, 00986 /*IN*/ PCWSTR pszFilter, /*OPTIONAL*/ 00987 /*IN*/ ULONG ulFlags); 00988 00989 #ifdef UNICODE 00990 #define CM_Get_Device_ID_List_Size CM_Get_Device_ID_List_SizeW 00991 #define CM_Get_Device_ID_List_Size_Ex CM_Get_Device_ID_List_Size_ExW 00992 #else 00993 #define CM_Get_Device_ID_List_Size CM_Get_Device_ID_List_SizeA 00994 #define CM_Get_Device_ID_List_Size_Ex CM_Get_Device_ID_List_Size_ExA 00995 #endif /* UNICODE */ 00996 00997 CMAPI 00998 CONFIGRET 00999 WINAPI 01000 CM_Get_Device_ID_Size( 01001 /*OUT*/ PULONG pulLen, 01002 /*IN*/ DEVINST dnDevInst, 01003 /*IN*/ ULONG ulFlags); 01004 01005 CMAPI 01006 CONFIGRET 01007 WINAPI 01008 CM_Get_Device_ID_Size_Ex( 01009 /*OUT*/ PULONG pulLen, 01010 /*IN*/ DEVINST dnDevInst, 01011 /*IN*/ ULONG ulFlags, 01012 /*IN*/ HMACHINE hMachine); 01013 01014 /* FIXME: Obsolete CM_Get_Device_Interface_Alias */ 01015 /* FIXME: Obsolete CM_Get_Device_Interface_Alias_Ex */ 01016 /* FIXME: Obsolete CM_Get_Device_Interface_List */ 01017 /* FIXME: Obsolete CM_Get_Device_Interface_List_Ex */ 01018 /* FIXME: Obsolete CM_Get_Device_Interface_List_Size */ 01019 /* FIXME: Obsolete CM_Get_Device_Interface_List_Size_Ex */ 01020 /* FIXME: Obsolete CM_Get_DevNode_Custom_Property */ 01021 /* FIXME: Obsolete CM_Get_DevNode_Custom_Property_Ex */ 01022 /* FIXME: Obsolete CM_Get_DevNode_Registry_Property */ 01023 01024 CMAPI 01025 CONFIGRET 01026 WINAPI 01027 CM_Get_DevNode_Status( 01028 /*OUT*/ PULONG pulStatus, 01029 /*OUT*/ PULONG pulProblemNumber, 01030 /*IN*/ DEVINST dnDevInst, 01031 /*IN*/ ULONG ulFlags); 01032 01033 CMAPI 01034 CONFIGRET 01035 WINAPI 01036 CM_Get_DevNode_Status_Ex( 01037 /*OUT*/ PULONG pulStatus, 01038 /*OUT*/ PULONG pulProblemNumber, 01039 /*IN*/ DEVINST dnDevInst, 01040 /*IN*/ ULONG ulFlags, 01041 /*IN*/ HMACHINE hMachine); 01042 01043 #define CM_Get_DevInst_Status CM_Get_DevNode_Status 01044 #define CM_Get_DevInst_Status_Ex CM_Get_DevNode_Status_Ex 01045 01046 /* CM_Get_First_Log_Conf.ulFlags constants */ 01047 #define BASIC_LOG_CONF 0x00000000 /* Specifies the req list. */ 01048 #define FILTERED_LOG_CONF 0x00000001 /* Specifies the filtered req list. */ 01049 #define ALLOC_LOG_CONF 0x00000002 /* Specifies the Alloc Element. */ 01050 #define BOOT_LOG_CONF 0x00000003 /* Specifies the RM Alloc Element. */ 01051 #define FORCED_LOG_CONF 0x00000004 /* Specifies the Forced Log Conf */ 01052 #define OVERRIDE_LOG_CONF 0x00000005 /* Specifies the Override req list. */ 01053 #define NUM_LOG_CONF 0x00000006 /* Number of Log Conf type */ 01054 #define LOG_CONF_BITS 0x00000007 /* The bits of the log conf type. */ 01055 01056 CMAPI 01057 CONFIGRET 01058 WINAPI 01059 CM_Get_First_Log_Conf( 01060 /*OUT*/ PLOG_CONF plcLogConf, /*OPTIONAL*/ 01061 /*IN*/ DEVINST dnDevInst, 01062 /*IN*/ ULONG ulFlags); 01063 01064 CMAPI 01065 CONFIGRET 01066 WINAPI 01067 CM_Get_First_Log_Conf_Ex( 01068 /*OUT*/ PLOG_CONF plcLogConf, /*OPTIONAL*/ 01069 /*IN*/ DEVINST dnDevInst, 01070 /*IN*/ ULONG ulFlags, 01071 /*IN*/ HMACHINE hMachine); 01072 01073 /* FIXME: Obsolete CM_Get_Global_State */ 01074 /* FIXME: Obsolete CM_Get_Global_State_Ex */ 01075 /* FIXME: Obsolete CM_Get_Hardware_Profile_Info */ 01076 /* FIXME: Obsolete CM_Get_Hardware_Profile_Info_Ex */ 01077 /* FIXME: Obsolete CM_Get_HW_Prof_Flags */ 01078 /* FIXME: Obsolete CM_Get_HW_Prof_Flags_Ex */ 01079 01080 CMAPI 01081 CONFIGRET 01082 WINAPI 01083 CM_Get_Log_Conf_Priority( 01084 /*IN*/ LOG_CONF lcLogConf, 01085 /*OUT*/ PPRIORITY pPriority, 01086 /*IN*/ ULONG ulFlags); 01087 01088 CMAPI 01089 CONFIGRET 01090 WINAPI 01091 CM_Get_Log_Conf_Priority_Ex( 01092 /*IN*/ LOG_CONF lcLogConf, 01093 /*OUT*/ PPRIORITY pPriority, 01094 /*IN*/ ULONG ulFlags, 01095 /*IN*/ HMACHINE hMachine); 01096 01097 CMAPI 01098 CONFIGRET 01099 WINAPI 01100 CM_Get_Next_Log_Conf( 01101 /*OUT*/ PLOG_CONF plcLogConf, /*OPTIONAL*/ 01102 /*IN*/ LOG_CONF lcLogConf, 01103 /*IN*/ ULONG ulFlags); 01104 01105 CMAPI 01106 CONFIGRET 01107 WINAPI 01108 CM_Get_Next_Log_Conf_Ex( 01109 /*OUT*/ PLOG_CONF plcLogConf, /*OPTIONAL*/ 01110 /*IN*/ LOG_CONF lcLogConf, 01111 /*IN*/ ULONG ulFlags, 01112 /*IN*/ HMACHINE hMachine); 01113 01114 CMAPI 01115 CONFIGRET 01116 WINAPI 01117 CM_Get_Next_Res_Des( 01118 /*OUT*/ PRES_DES prdResDes, 01119 /*IN*/ RES_DES rdResDes, 01120 /*IN*/ RESOURCEID ForResource, 01121 /*OUT*/ PRESOURCEID pResourceID, 01122 /*IN*/ ULONG ulFlags); 01123 01124 CMAPI 01125 CONFIGRET 01126 WINAPI 01127 CM_Get_Next_Res_Des_Ex( 01128 /*OUT*/ PRES_DES prdResDes, 01129 /*IN*/ RES_DES rdResDes, 01130 /*IN*/ RESOURCEID ForResource, 01131 /*OUT*/ PRESOURCEID pResourceID, 01132 /*IN*/ ULONG ulFlags, 01133 /*IN*/ HMACHINE hMachine); 01134 01135 CMAPI 01136 CONFIGRET 01137 WINAPI 01138 CM_Get_Parent( 01139 /*OUT*/ PDEVINST pdnDevInst, 01140 /*IN*/ DEVINST dnDevInst, 01141 /*IN*/ ULONG ulFlags); 01142 01143 CMAPI 01144 CONFIGRET 01145 WINAPI 01146 CM_Get_Parent_Ex( 01147 /*OUT*/ PDEVINST pdnDevInst, 01148 /*IN*/ DEVINST dnDevInst, 01149 /*IN*/ ULONG ulFlags, 01150 /*IN*/ HMACHINE hMachine); 01151 01152 CMAPI 01153 CONFIGRET 01154 WINAPI 01155 CM_Get_Res_Des_Data( 01156 /*IN*/ RES_DES rdResDes, 01157 /*OUT*/ PVOID Buffer, 01158 /*IN*/ ULONG BufferLen, 01159 /*IN*/ ULONG ulFlags); 01160 01161 CMAPI 01162 CONFIGRET 01163 WINAPI 01164 CM_Get_Res_Des_Data_Ex( 01165 /*IN*/ RES_DES rdResDes, 01166 /*OUT*/ PVOID Buffer, 01167 /*IN*/ ULONG BufferLen, 01168 /*IN*/ ULONG ulFlags, 01169 /*IN*/ HMACHINE hMachine); 01170 01171 CMAPI 01172 CONFIGRET 01173 WINAPI 01174 CM_Get_Res_Des_Data_Size( 01175 /*OUT*/ PULONG pulSize, 01176 /*IN*/ RES_DES rdResDes, 01177 /*IN*/ ULONG ulFlags); 01178 01179 CMAPI 01180 CONFIGRET 01181 WINAPI 01182 CM_Get_Res_Des_Data_Size_Ex( 01183 /*OUT*/ PULONG pulSize, 01184 /*IN*/ RES_DES rdResDes, 01185 /*IN*/ ULONG ulFlags, 01186 /*IN*/ HMACHINE hMachine); 01187 01188 CMAPI 01189 CONFIGRET 01190 WINAPI 01191 CM_Get_Resource_Conflict_Count( 01192 /*IN*/ CONFLICT_LIST clConflictList, 01193 /*OUT*/ PULONG pulCount); 01194 01195 CMAPI 01196 CONFIGRET 01197 WINAPI 01198 CM_Get_Resource_Conflict_DetailsA( 01199 /*IN*/ CONFLICT_LIST clConflictList, 01200 /*IN*/ ULONG ulIndex, 01201 /*IN OUT*/ PCONFLICT_DETAILS_A pConflictDetails); 01202 01203 CMAPI 01204 CONFIGRET 01205 WINAPI 01206 CM_Get_Resource_Conflict_DetailsW( 01207 /*IN*/ CONFLICT_LIST clConflictList, 01208 /*IN*/ ULONG ulIndex, 01209 /*IN OUT*/ PCONFLICT_DETAILS_W pConflictDetails); 01210 01211 #ifdef UNICODE 01212 #define CM_Get_Resource_Conflict_Details CM_Get_Resource_Conflict_DetailsW 01213 #else 01214 #define CM_Get_Resource_Conflict_Details CM_Get_Resource_Conflict_DetailsA 01215 #endif /* UNICODE */ 01216 01217 CMAPI 01218 CONFIGRET 01219 WINAPI 01220 CM_Get_Sibling( 01221 /*OUT*/ PDEVINST pdnDevInst, 01222 /*IN*/ DEVINST DevInst, 01223 /*IN*/ ULONG ulFlags); 01224 01225 CMAPI 01226 CONFIGRET 01227 WINAPI 01228 CM_Get_Sibling_Ex( 01229 /*OUT*/ PDEVINST pdnDevInst, 01230 /*IN*/ DEVINST DevInst, 01231 /*IN*/ ULONG ulFlags, 01232 /*IN*/ HMACHINE hMachine); 01233 01234 CMAPI 01235 WORD 01236 WINAPI 01237 CM_Get_Version( 01238 VOID); 01239 01240 CMAPI 01241 WORD 01242 WINAPI 01243 CM_Get_Version_Ex( 01244 /*IN*/ HMACHINE hMachine); 01245 01246 /* FIXME: Obsolete CM_Intersect_Range_List */ 01247 /* FIXME: Obsolete CM_Invert_Range_List */ 01248 /* FIXME: Obsolete CM_Is_Dock_Station_Present */ 01249 /* FIXME: Obsolete CM_Is_Dock_Station_Present_Ex */ 01250 01251 /* CM_Locate_DevNode.ulFlags constants */ 01252 #define CM_LOCATE_DEVNODE_NORMAL 0x00000000 01253 #define CM_LOCATE_DEVNODE_PHANTOM 0x00000001 01254 #define CM_LOCATE_DEVNODE_CANCELREMOVE 0x00000002 01255 #define CM_LOCATE_DEVNODE_NOVALIDATION 0x00000004 01256 #define CM_LOCATE_DEVNODE_BITS 0x00000007 01257 01258 #define CM_LOCATE_DEVINST_NORMAL CM_LOCATE_DEVNODE_NORMAL 01259 #define CM_LOCATE_DEVINST_PHANTOM CM_LOCATE_DEVNODE_PHANTOM 01260 #define CM_LOCATE_DEVINST_CANCELREMOVE CM_LOCATE_DEVNODE_CANCELREMOVE 01261 #define CM_LOCATE_DEVINST_NOVALIDATION CM_LOCATE_DEVNODE_NOVALIDATION 01262 #define CM_LOCATE_DEVINST_BITS CM_LOCATE_DEVNODE_BITS 01263 01264 CMAPI 01265 CONFIGRET 01266 WINAPI 01267 CM_Locate_DevNodeA( 01268 /*OUT*/ PDEVINST pdnDevInst, 01269 /*IN*/ DEVINSTID_A pDeviceID, /*OPTIONAL*/ 01270 /*IN*/ ULONG ulFlags); 01271 01272 CMAPI 01273 CONFIGRET 01274 WINAPI 01275 CM_Locate_DevNode_ExA( 01276 /*OUT*/ PDEVINST pdnDevInst, 01277 /*IN*/ DEVINSTID_A pDeviceID, /*OPTIONAL*/ 01278 /*IN*/ ULONG ulFlags, 01279 /*IN*/ HMACHINE hMachine); 01280 01281 CMAPI 01282 CONFIGRET 01283 WINAPI 01284 CM_Locate_DevNode_ExW( 01285 /*OUT*/ PDEVINST pdnDevInst, 01286 /*IN*/ DEVINSTID_W pDeviceID, /*OPTIONAL*/ 01287 /*IN*/ ULONG ulFlags, 01288 /*IN*/ HMACHINE hMachine); 01289 01290 CMAPI 01291 CONFIGRET 01292 WINAPI 01293 CM_Locate_DevNodeW( 01294 /*OUT*/ PDEVINST pdnDevInst, 01295 /*IN*/ DEVINSTID_W pDeviceID, /*OPTIONAL*/ 01296 /*IN*/ ULONG ulFlags); 01297 01298 #define CM_Locate_DevInstA CM_Locate_DevNodeA 01299 #define CM_Locate_DevInstW CM_Locate_DevNodeW 01300 #define CM_Locate_DevInst_ExA CM_Locate_DevNode_ExA 01301 #define CM_Locate_DevInst_ExW CM_Locate_DevNode_ExW 01302 01303 #ifdef UNICODE 01304 #define CM_Locate_DevNode CM_Locate_DevNodeW 01305 #define CM_Locate_DevInst CM_Locate_DevNodeW 01306 #define CM_Locate_DevNode_Ex CM_Locate_DevNode_ExW 01307 #define CM_Locate_DevInst_Ex CM_Locate_DevNode_ExW 01308 #else 01309 #define CM_Locate_DevNode CM_Locate_DevNodeA 01310 #define CM_Locate_DevInst CM_Locate_DevNodeA 01311 #define CM_Locate_DevNode_Ex CM_Locate_DevNode_ExA 01312 #define CM_Locate_DevInst_Ex CM_Locate_DevNode_ExA 01313 #endif /* UNICODE */ 01314 01315 /* FIXME: Obsolete CM_Merge_Range_List */ 01316 01317 CMAPI 01318 CONFIGRET 01319 WINAPI 01320 CM_Modify_Res_Des( 01321 /*OUT*/ PRES_DES prdResDes, 01322 /*IN*/ RES_DES rdResDes, 01323 /*IN*/ RESOURCEID ResourceID, 01324 /*IN*/ PCVOID ResourceData, 01325 /*IN*/ ULONG ResourceLen, 01326 /*IN*/ ULONG ulFlags); 01327 01328 CMAPI 01329 CONFIGRET 01330 WINAPI 01331 CM_Modify_Res_Des_Ex( 01332 /*OUT*/ PRES_DES prdResDes, 01333 /*IN*/ RES_DES rdResDes, 01334 /*IN*/ RESOURCEID ResourceID, 01335 /*IN*/ PCVOID ResourceData, 01336 /*IN*/ ULONG ResourceLen, 01337 /*IN*/ ULONG ulFlags, 01338 /*IN*/ HMACHINE hMachine); 01339 01340 /* FIXME: Obsolete CM_Move_DevNode */ 01341 /* FIXME: Obsolete CM_Move_DevNode_Ex */ 01342 /* FIXME: Obsolete CM_Next_Range */ 01343 /* FIXME: Obsolete CM_Open_Class_Key */ 01344 /* FIXME: Obsolete CM_Open_Class_Key_Ex */ 01345 /* FIXME: Obsolete CM_Open_DevNode_Key */ 01346 /* FIXME: Obsolete CM_Open_DevNode_Key_Ex */ 01347 01348 /* CM_Query_And_Remove_SubTree.ulFlags constants */ 01349 #define CM_REMOVE_UI_OK 0x00000000 01350 #define CM_REMOVE_UI_NOT_OK 0x00000001 01351 #define CM_REMOVE_NO_RESTART 0x00000002 01352 #define CM_REMOVE_BITS 0x00000003 01353 01354 CMAPI 01355 CONFIGRET 01356 WINAPI 01357 CM_Query_And_Remove_SubTreeA( 01358 /*IN*/ DEVINST dnAncestor, 01359 /*OUT*/ PPNP_VETO_TYPE pVetoType, 01360 /*OUT*/ LPSTR pszVetoName, 01361 /*IN*/ ULONG ulNameLength, 01362 /*IN*/ ULONG ulFlags); 01363 01364 CMAPI 01365 CONFIGRET 01366 WINAPI 01367 CM_Query_And_Remove_SubTreeW( 01368 /*IN*/ DEVINST dnAncestor, 01369 /*OUT*/ PPNP_VETO_TYPE pVetoType, 01370 /*OUT*/ LPWSTR pszVetoName, 01371 /*IN*/ ULONG ulNameLength, 01372 /*IN*/ ULONG ulFlags); 01373 01374 CMAPI 01375 CONFIGRET 01376 WINAPI 01377 CM_Query_And_Remove_SubTree_ExA( 01378 /*IN*/ DEVINST dnAncestor, 01379 /*OUT*/ PPNP_VETO_TYPE pVetoType, 01380 /*OUT*/ LPSTR pszVetoName, 01381 /*IN*/ ULONG ulNameLength, 01382 /*IN*/ ULONG ulFlags, 01383 /*IN*/ HMACHINE hMachine); 01384 01385 CMAPI 01386 CONFIGRET 01387 WINAPI 01388 CM_Query_And_Remove_SubTree_ExW( 01389 /*IN*/ DEVINST dnAncestor, 01390 /*OUT*/ PPNP_VETO_TYPE pVetoType, 01391 /*OUT*/ LPWSTR pszVetoName, 01392 /*IN*/ ULONG ulNameLength, 01393 /*IN*/ ULONG ulFlags, 01394 /*IN*/ HMACHINE hMachine); 01395 01396 /* FIXME: Obsolete CM_Query_Arbitrator_Free_Data */ 01397 /* FIXME: Obsolete CM_Query_Arbitrator_Free_Data_Ex */ 01398 /* FIXME: Obsolete CM_Query_Arbitrator_Free_Size */ 01399 /* FIXME: Obsolete CM_Query_Arbitrator_Free_Size_Ex */ 01400 /* FIXME: Obsolete CM_Query_Arbitrator_Free_Size_Ex */ 01401 /* FIXME: Obsolete CM_Query_Remove_SubTree */ 01402 /* FIXME: Obsolete CM_Query_Remove_SubTree_Ex */ 01403 01404 CMAPI 01405 CONFIGRET 01406 WINAPI 01407 CM_Query_Resource_Conflict_List( 01408 /*OUT*/ PCONFLICT_LIST pclConflictList, 01409 /*IN*/ DEVINST dnDevInst, 01410 /*IN*/ RESOURCEID ResourceID, 01411 /*IN*/ PCVOID ResourceData, 01412 /*IN*/ ULONG ResourceLen, 01413 /*IN*/ ULONG ulFlags, 01414 /*IN*/ HMACHINE hMachine); 01415 01416 /* CM_Reenumerate_DevNode.ulFlags constants */ 01417 #define CM_REENUMERATE_NORMAL 0x00000000 01418 #define CM_REENUMERATE_SYNCHRONOUS 0x00000001 01419 #define CM_REENUMERATE_RETRY_INSTALLATION 0x00000002 01420 #define CM_REENUMERATE_ASYNCHRONOUS 0x00000004 01421 #define CM_REENUMERATE_BITS 0x00000007 01422 01423 CMAPI 01424 CONFIGRET 01425 WINAPI 01426 CM_Reenumerate_DevNode( 01427 /*IN*/ DEVINST dnDevInst, 01428 /*IN*/ ULONG ulFlags); 01429 01430 CMAPI 01431 CONFIGRET 01432 WINAPI 01433 CM_Reenumerate_DevNode_Ex( 01434 /*IN*/ DEVINST dnDevInst, 01435 /*IN*/ ULONG ulFlags, 01436 /*IN*/ HMACHINE hMachine); 01437 01438 #define CM_Reenumerate_DevInst CM_Reenumerate_DevNode 01439 #define CM_Reenumerate_DevInst_Ex CM_Reenumerate_DevNode_Ex 01440 01441 /* FIXME: Obsolete CM_Register_Device_Driver */ 01442 /* FIXME: Obsolete CM_Register_Device_Driver_Ex */ 01443 /* FIXME: Obsolete CM_Register_Device_Interface */ 01444 /* FIXME: Obsolete CM_Register_Device_Interface_Ex */ 01445 /* FIXME: Obsolete CM_Remove_SubTree */ 01446 /* FIXME: Obsolete CM_Remove_SubTree_Ex */ 01447 01448 CMAPI 01449 CONFIGRET 01450 WINAPI 01451 CM_Request_Device_EjectA( 01452 /*IN*/ DEVINST dnDevInst, 01453 /*OUT*/ PPNP_VETO_TYPE pVetoType, 01454 /*OUT*/ LPSTR pszVetoName, 01455 /*IN*/ ULONG ulNameLength, 01456 /*IN*/ ULONG ulFlags); 01457 01458 CMAPI 01459 CONFIGRET 01460 WINAPI 01461 CM_Request_Device_Eject_ExW( 01462 /*IN*/ DEVINST dnDevInst, 01463 /*OUT*/ PPNP_VETO_TYPE pVetoType, 01464 /*OUT*/ LPWSTR pszVetoName, 01465 /*IN*/ ULONG ulNameLength, 01466 /*IN*/ ULONG ulFlags, 01467 /*IN*/ HMACHINE hMachine); 01468 01469 CMAPI 01470 CONFIGRET 01471 WINAPI 01472 CM_Request_Device_Eject_ExA( 01473 /*IN*/ DEVINST dnDevInst, 01474 /*OUT*/ PPNP_VETO_TYPE pVetoType, 01475 /*OUT*/ LPSTR pszVetoName, 01476 /*IN*/ ULONG ulNameLength, 01477 /*IN*/ ULONG ulFlags, 01478 /*IN*/ HMACHINE hMachine); 01479 01480 CMAPI 01481 CONFIGRET 01482 WINAPI 01483 CM_Request_Device_EjectW( 01484 /*IN*/ DEVINST dnDevInst, 01485 /*OUT*/ PPNP_VETO_TYPE pVetoType, 01486 /*OUT*/ LPWSTR pszVetoName, 01487 /*IN*/ ULONG ulNameLength, 01488 /*IN*/ ULONG ulFlags); 01489 01490 #ifdef UNICODE 01491 #define CM_Request_Device_Eject CM_Request_Device_EjectW 01492 #define CM_Request_Device_Eject_Ex CM_Request_Device_Eject_ExW 01493 #else 01494 #define CM_Request_Device_Eject CM_Request_Device_EjectA 01495 #define CM_Request_Device_Eject_Ex CM_Request_Device_Eject_ExA 01496 #endif /* UNICODE */ 01497 01498 /* FIXME: Obsolete CM_Request_Eject_PC */ 01499 /* FIXME: Obsolete CM_Request_Eject_PC_Ex */ 01500 /* FIXME: Obsolete CM_Run_Detection */ 01501 /* FIXME: Obsolete CM_Run_Detection_Ex */ 01502 /* FIXME: Obsolete CM_Set_Class_Registry_Property */ 01503 /* FIXME: Obsolete CM_Set_DevNode_Problem */ 01504 /* FIXME: Obsolete CM_Set_DevNode_Problem_Ex */ 01505 /* FIXME: Obsolete CM_Set_DevNode_Registry_Property */ 01506 /* FIXME: Obsolete CM_Set_DevNode_Registry_Property_Ex */ 01507 /* FIXME: Obsolete CM_Set_HW_Prof */ 01508 /* FIXME: Obsolete CM_Set_HW_Prof_Ex */ 01509 /* FIXME: Obsolete CM_Set_HW_Prof_Flags */ 01510 /* FIXME: Obsolete CM_Set_HW_Prof_Flags_Ex */ 01511 /* FIXME: Obsolete CM_Setup_DevNode */ 01512 /* FIXME: Obsolete CM_Setup_DevNode_Ex */ 01513 /* FIXME: Obsolete CM_Test_Range_Available */ 01514 /* FIXME: Obsolete CM_Uninstall_DevNode */ 01515 /* FIXME: Obsolete CM_Uninstall_DevNode_Ex */ 01516 /* FIXME: Obsolete CM_Unregister_Device_Interface */ 01517 /* FIXME: Obsolete CM_Unregister_Device_Interface_Ex */ 01518 01519 #define CM_WaitNoPendingInstallEvents CMP_WaitNoPendingInstallEvents 01520 01521 CMAPI 01522 DWORD 01523 WINAPI 01524 CMP_WaitNoPendingInstallEvents( 01525 /*IN*/ DWORD dwTimeout); 01526 01527 #include <poppack.h> 01528 01529 #ifdef __cplusplus 01530 } 01531 #endif 01532 01533 #endif /* __CFGMGR32_H */
Generated on Tue Jul 12 2022 19:59:53 by
1.7.2