Embed:
(wiki syntax)
Show/hide line numbers
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