ReactOS 0.4.15-dev-7788-g1ad9096
cfgmgr32.h File Reference
#include <cfg.h>
#include <guiddef.h>
#include <pshpack1.h>
#include <poppack.h>
Include dependency graph for cfgmgr32.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _CONFLICT_DETAILS_A
 
struct  _CONFLICT_DETAILS_W
 
struct  Mem_Range_s
 
struct  Mem_Des_s
 
struct  Mem_Resource_s
 
struct  Mem_Large_Range_s
 
struct  Mem_Large_Des_s
 
struct  Mem_Large_Resource_s
 
struct  IO_Range_s
 
struct  IO_Des_s
 
struct  IO_Resource_s
 
struct  DMA_Des_s
 
struct  DMA_Range_s
 
struct  DMA_Resource_s
 
struct  IRQ_Range_s
 
struct  IRQ_Des_32_s
 
struct  IRQ_Des_64_s
 
struct  IRQ_Resource_32_s
 
struct  IRQ_Resource_64_s
 
struct  DevPrivate_Range_s
 
struct  DevPrivate_Des_s
 
struct  DevPrivate_Resource_s
 
struct  CS_Des_s
 
struct  CS_Resource_s
 
struct  PcCard_Des_s
 
struct  PcCard_Resource_s
 
struct  MfCard_Des_s
 
struct  MfCard_Resource_s
 
struct  BusNumber_Des_s
 
struct  BusNumber_Range_s
 
struct  BusNumber_Resource_s
 
struct  HWProfileInfo_sA
 
struct  HWProfileInfo_sW
 

Macros

#define _CFGMGR32_H_
 
#define CMAPI   DECLSPEC_IMPORT
 
#define MAX_CONFIG_VALUE   9999
 
#define MAX_INSTANCE_VALUE   9999
 
#define MAX_DEVICE_ID_LEN   200
 
#define MAX_DEVNODE_ID_LEN   MAX_DEVICE_ID_LEN
 
#define MAX_CLASS_NAME_LEN   32
 
#define MAX_GUID_STRING_LEN   39
 
#define MAX_PROFILE_LEN   80
 
#define MAX_MEM_REGISTERS   9
 
#define MAX_IO_PORTS   20
 
#define MAX_IRQS   7
 
#define MAX_DMA_CHANNELS   7
 
#define DWORD_MAX   0xffffffffUL
 
#define DWORDLONG_MAX   0xffffffffffffffffui64
 
#define CONFIGMG_VERSION   0x0400
 
#define CM_CDMASK_DEVINST   0x00000001
 
#define CM_CDMASK_RESDES   0x00000002
 
#define CM_CDMASK_FLAGS   0x00000004
 
#define CM_CDMASK_DESCRIPTION   0x00000008
 
#define CM_CDMASK_VALID   0x0000000F
 
#define CM_CDFLAGS_DRIVER   0x00000001
 
#define CM_CDFLAGS_ROOT_OWNED   0x00000002
 
#define CM_CDFLAGS_RESERVED   0x00000004
 
#define mMD_MemoryType   0x1
 
#define fMD_MemoryType   mMD_MemoryType
 
#define fMD_ROM   0x0
 
#define fMD_RAM   0x1
 
#define mMD_32_24   0x2
 
#define fMD_32_24   mMD_32_24
 
#define fMD_24   0x0
 
#define fMD_32   0x2
 
#define mMD_Prefetchable   0x4
 
#define fMD_Prefetchable   mMD_Prefetchable
 
#define fMD_Pref   mMD_Prefetchable
 
#define fMD_PrefetchDisallowed   0x0
 
#define fMD_PrefetchAllowed   0x4
 
#define mMD_Readable   0x8
 
#define fMD_Readable   mMD_Readable
 
#define fMD_ReadAllowed   0x0
 
#define fMD_ReadDisallowed   0x8
 
#define mMD_CombinedWrite   0x10
 
#define fMD_CombinedWrite   mMD_CombinedWrite
 
#define fMD_CombinedWriteDisallowed   0x0
 
#define fMD_CombinedWriteAllowed   0x10
 
#define mMD_Cacheable   0x20
 
#define fMD_NonCacheable   0x0
 
#define fMD_Cacheable   0x20
 
#define fMD_WINDOW_DECODE   0x40
 
#define fMD_MEMORY_BAR   0x80
 
#define MType_Range   sizeof(MEM_RANGE)
 
#define MLType_Range   sizeof(struct Mem_Large_Range_s)
 
#define fIOD_PortType   0x1
 
#define fIOD_Memory   0x0
 
#define fIOD_IO   0x1
 
#define fIOD_DECODE   0x00fc
 
#define fIOD_10_BIT_DECODE   0x0004
 
#define fIOD_12_BIT_DECODE   0x0008
 
#define fIOD_16_BIT_DECODE   0x0010
 
#define fIOD_POSITIVE_DECODE   0x0020
 
#define fIOD_PASSIVE_DECODE   0x0040
 
#define fIOD_WINDOW_DECODE   0x0080
 
#define fIOD_PORT_BAR   0x0100
 
#define IO_ALIAS_10_BIT_DECODE   0x00000004
 
#define IO_ALIAS_12_BIT_DECODE   0x00000010
 
#define IO_ALIAS_16_BIT_DECODE   0x00000000
 
#define IO_ALIAS_POSITIVE_DECODE   0x000000FF
 
#define IOA_Local   0xff
 
#define IOType_Range   sizeof(IO_RANGE)
 
#define mDD_Width   0x3
 
#define fDD_BYTE   0x0
 
#define fDD_WORD   0x1
 
#define fDD_DWORD   0x2
 
#define fDD_BYTE_AND_WORD   0x3
 
#define mDD_BusMaster   0x4
 
#define fDD_NoBusMaster   0x0
 
#define fDD_BusMaster   0x4
 
#define mDD_Type   0x18
 
#define fDD_TypeStandard   0x00
 
#define fDD_TypeA   0x08
 
#define fDD_TypeB   0x10
 
#define fDD_TypeF   0x18
 
#define DType_Range   sizeof(DMA_RANGE)
 
#define mIRQD_Share   0x1
 
#define fIRQD_Exclusive   0x0
 
#define fIRQD_Share   0x1
 
#define fIRQD_Share_Bit   0
 
#define fIRQD_Level_Bit   1
 
#define mIRQD_Edge_Level   0x2
 
#define fIRQD_Level   0x0
 
#define fIRQD_Edge   0x2
 
#define IRQType_Range   sizeof(IRQ_RANGE)
 
#define CM_RESDES_WIDTH_DEFAULT   0x00000000
 
#define CM_RESDES_WIDTH_32   0x00000001
 
#define CM_RESDES_WIDTH_64   0x00000002
 
#define CM_RESDES_WIDTH_BITS   0x00000003
 
#define PType_Range   sizeof(DEVPRIVATE_RANGE)
 
#define mPCD_IO_8_16   0x1
 
#define fPCD_IO_8   0x0
 
#define fPCD_IO_16   0x1
 
#define mPCD_MEM_8_16   0x2
 
#define fPCD_MEM_8   0x0
 
#define fPCD_MEM_16   0x2
 
#define mPCD_MEM_A_C   0xC
 
#define fPCD_MEM1_A   0x4
 
#define fPCD_MEM2_A   0x8
 
#define fPCD_IO_ZW_8   0x10
 
#define fPCD_IO_SRC_16   0x20
 
#define fPCD_IO_WS_16   0x40
 
#define mPCD_MEM_WS   0x300
 
#define fPCD_MEM_WS_ONE   0x100
 
#define fPCD_MEM_WS_TWO   0x200
 
#define fPCD_MEM_WS_THREE   0x300
 
#define fPCD_MEM_A   0x4
 
#define fPCD_ATTRIBUTES_PER_WINDOW   0x8000
 
#define fPCD_IO1_16   0x00010000
 
#define fPCD_IO1_ZW_8   0x00020000
 
#define fPCD_IO1_SRC_16   0x00040000
 
#define fPCD_IO1_WS_16   0x00080000
 
#define fPCD_IO2_16   0x00100000
 
#define fPCD_IO2_ZW_8   0x00200000
 
#define fPCD_IO2_SRC_16   0x00400000
 
#define fPCD_IO2_WS_16   0x00800000
 
#define mPCD_MEM1_WS   0x03000000
 
#define fPCD_MEM1_WS_ONE   0x01000000
 
#define fPCD_MEM1_WS_TWO   0x02000000
 
#define fPCD_MEM1_WS_THREE   0x03000000
 
#define fPCD_MEM1_16   0x04000000
 
#define mPCD_MEM2_WS   0x30000000
 
#define fPCD_MEM2_WS_ONE   0x10000000
 
#define fPCD_MEM2_WS_TWO   0x20000000
 
#define fPCD_MEM2_WS_THREE   0x30000000
 
#define fPCD_MEM2_16   0x40000000
 
#define PCD_MAX_MEMORY   2
 
#define PCD_MAX_IO   2
 
#define fPMF_AUDIO_ENABLE   0x8
 
#define mPMF_AUDIO_ENABLE   fPMF_AUDIO_ENABLE
 
#define BusNumberType_Range   sizeof(BUSNUMBER_RANGE)
 
#define CM_HWPI_NOT_DOCKABLE   0x00000000
 
#define CM_HWPI_UNDOCKED   0x00000001
 
#define CM_HWPI_DOCKED   0x00000002
 
#define ResType_All   0x00000000
 
#define ResType_None   0x00000000
 
#define ResType_Mem   0x00000001
 
#define ResType_IO   0x00000002
 
#define ResType_DMA   0x00000003
 
#define ResType_IRQ   0x00000004
 
#define ResType_DoNotUse   0x00000005
 
#define ResType_BusNumber   0x00000006
 
#define ResType_MemLarge   0x00000007
 
#define ResType_MAX   0x00000007
 
#define ResType_Ignored_Bit   0x00008000
 
#define ResType_ClassSpecific   0x0000FFFF
 
#define ResType_Reserved   0x00008000
 
#define ResType_DevicePrivate   0x00008001
 
#define ResType_PcCardConfig   0x00008002
 
#define ResType_MfCardConfig   0x00008003
 
#define CM_ADD_RANGE_ADDIFCONFLICT   0x00000000
 
#define CM_ADD_RANGE_DONOTADDIFCONFLICT   0x00000001
 
#define CM_ADD_RANGE_BITS   0x00000001
 
#define BASIC_LOG_CONF   0x00000000
 
#define FILTERED_LOG_CONF   0x00000001
 
#define ALLOC_LOG_CONF   0x00000002
 
#define BOOT_LOG_CONF   0x00000003
 
#define FORCED_LOG_CONF   0x00000004
 
#define OVERRIDE_LOG_CONF   0x00000005
 
#define NUM_LOG_CONF   0x00000006
 
#define LOG_CONF_BITS   0x00000007
 
#define PRIORITY_EQUAL_FIRST   0x00000008
 
#define PRIORITY_EQUAL_LAST   0x00000000
 
#define PRIORITY_BIT   0x00000008
 
#define RegDisposition_OpenAlways   0x00000000
 
#define RegDisposition_OpenExisting   0x00000001
 
#define RegDisposition_Bits   0x00000001
 
#define CM_ADD_ID_HARDWARE   0x00000000
 
#define CM_ADD_ID_COMPATIBLE   0x00000001
 
#define CM_ADD_ID_BITS   0x00000001
 
#define CM_CREATE_DEVNODE_NORMAL   0x00000000
 
#define CM_CREATE_DEVNODE_NO_WAIT_INSTALL   0x00000001
 
#define CM_CREATE_DEVNODE_PHANTOM   0x00000002
 
#define CM_CREATE_DEVNODE_GENERATE_ID   0x00000004
 
#define CM_CREATE_DEVNODE_DO_NOT_INSTALL   0x00000008
 
#define CM_CREATE_DEVNODE_BITS   0x0000000F
 
#define CM_CREATE_DEVINST_NORMAL   CM_CREATE_DEVNODE_NORMAL
 
#define CM_CREATE_DEVINST_NO_WAIT_INSTALL   CM_CREATE_DEVNODE_NO_WAIT_INSTALL
 
#define CM_CREATE_DEVINST_PHANTOM   CM_CREATE_DEVNODE_PHANTOM
 
#define CM_CREATE_DEVINST_GENERATE_ID   CM_CREATE_DEVNODE_GENERATE_ID
 
#define CM_CREATE_DEVINST_DO_NOT_INSTALL   CM_CREATE_DEVNODE_DO_NOT_INSTALL
 
#define CM_CREATE_DEVINST_BITS   CM_CREATE_DEVNODE_BITS
 
#define CM_DELETE_CLASS_ONLY   0x00000000
 
#define CM_DELETE_CLASS_SUBKEYS   0x00000001
 
#define CM_DELETE_CLASS_INTERFACE   0x00000002
 
#define CM_DELETE_CLASS_BITS   0x00000003
 
#define CM_DETECT_NEW_PROFILE   0x00000001
 
#define CM_DETECT_CRASHED   0x00000002
 
#define CM_DETECT_HWPROF_FIRST_BOOT   0x00000004
 
#define CM_DETECT_RUN   0x80000000
 
#define CM_DETECT_BITS   0x80000007
 
#define CM_DISABLE_POLITE   0x00000000
 
#define CM_DISABLE_ABSOLUTE   0x00000001
 
#define CM_DISABLE_HARDWARE   0x00000002
 
#define CM_DISABLE_UI_NOT_OK   0x00000004
 
#define CM_DISABLE_BITS   0x00000007
 
#define CM_GETIDLIST_FILTER_NONE   0x00000000
 
#define CM_GETIDLIST_FILTER_ENUMERATOR   0x00000001
 
#define CM_GETIDLIST_FILTER_SERVICE   0x00000002
 
#define CM_GETIDLIST_FILTER_EJECTRELATIONS   0x00000004
 
#define CM_GETIDLIST_FILTER_REMOVALRELATIONS   0x00000008
 
#define CM_GETIDLIST_FILTER_POWERRELATIONS   0x00000010
 
#define CM_GETIDLIST_FILTER_BUSRELATIONS   0x00000020
 
#define CM_GETIDLIST_DONOTGENERATE   0x10000040
 
#define CM_GETIDLIST_FILTER_BITS   0x1000007F
 
#define CM_GETIDLIST_FILTER_TRANSPORTRELATIONS   0x00000080
 
#define CM_GETIDLIST_FILTER_PRESENT   0x00000100
 
#define CM_GETIDLIST_FILTER_CLASS   0x00000200
 
#define CM_GETIDLIST_FILTER_BITS   0x100003FF
 
#define CM_GET_DEVICE_INTERFACE_LIST_PRESENT   0x00000000
 
#define CM_GET_DEVICE_INTERFACE_LIST_ALL_DEVICES   0x00000001
 
#define CM_GET_DEVICE_INTERFACE_LIST_BITS   0x00000001
 
#define CM_DRP_DEVICEDESC   0x00000001
 
#define CM_DRP_HARDWAREID   0x00000002
 
#define CM_DRP_COMPATIBLEIDS   0x00000003
 
#define CM_DRP_UNUSED0   0x00000004
 
#define CM_DRP_SERVICE   0x00000005
 
#define CM_DRP_UNUSED1   0x00000006
 
#define CM_DRP_UNUSED2   0x00000007
 
#define CM_DRP_CLASS   0x00000008
 
#define CM_DRP_CLASSGUID   0x00000009
 
#define CM_DRP_DRIVER   0x0000000A
 
#define CM_DRP_CONFIGFLAGS   0x0000000B
 
#define CM_DRP_MFG   0x0000000C
 
#define CM_DRP_FRIENDLYNAME   0x0000000D
 
#define CM_DRP_LOCATION_INFORMATION   0x0000000E
 
#define CM_DRP_PHYSICAL_DEVICE_OBJECT_NAME   0x0000000F
 
#define CM_DRP_CAPABILITIES   0x00000010
 
#define CM_DRP_UI_NUMBER   0x00000011
 
#define CM_DRP_UPPERFILTERS   0x00000012
 
#define CM_CRP_UPPERFILTERS   CM_DRP_UPPERFILTERS
 
#define CM_DRP_LOWERFILTERS   0x00000013
 
#define CM_CRP_LOWERFILTERS   CM_DRP_LOWERFILTERS
 
#define CM_DRP_BUSTYPEGUID   0x00000014
 
#define CM_DRP_LEGACYBUSTYPE   0x00000015
 
#define CM_DRP_BUSNUMBER   0x00000016
 
#define CM_DRP_ENUMERATOR_NAME   0x00000017
 
#define CM_DRP_SECURITY   0x00000018
 
#define CM_CRP_SECURITY   CM_DRP_SECURITY
 
#define CM_DRP_SECURITY_SDS   0x00000019
 
#define CM_CRP_SECURITY_SDS   CM_DRP_SECURITY_SDS
 
#define CM_DRP_DEVTYPE   0x0000001A
 
#define CM_CRP_DEVTYPE   CM_DRP_DEVTYPE
 
#define CM_DRP_EXCLUSIVE   0x0000001B
 
#define CM_CRP_EXCLUSIVE   CM_DRP_EXCLUSIVE
 
#define CM_DRP_CHARACTERISTICS   0x0000001C
 
#define CM_CRP_CHARACTERISTICS   CM_DRP_CHARACTERISTICS
 
#define CM_DRP_ADDRESS   0x0000001D
 
#define CM_DRP_UI_NUMBER_DESC_FORMAT   0x0000001E
 
#define CM_DRP_DEVICE_POWER_DATA   0x0000001F
 
#define CM_DRP_REMOVAL_POLICY   0x00000020
 
#define CM_DRP_REMOVAL_POLICY_HW_DEFAULT   0x00000021
 
#define CM_DRP_REMOVAL_POLICY_OVERRIDE   0x00000022
 
#define CM_DRP_INSTALL_STATE   0x00000023
 
#define CM_DRP_LOCATION_PATHS   0x00000024
 
#define CM_DRP_BASE_CONTAINERID   0x00000025
 
#define CM_DRP_MIN   0x00000001
 
#define CM_CRP_MIN   CM_DRP_MIN
 
#define CM_DRP_MAX   0x00000025
 
#define CM_CRP_MAX   CM_DRP_MAX
 
#define CM_DEVCAP_LOCKSUPPORTED   0x00000001
 
#define CM_DEVCAP_EJECTSUPPORTED   0x00000002
 
#define CM_DEVCAP_REMOVABLE   0x00000004
 
#define CM_DEVCAP_DOCKDEVICE   0x00000008
 
#define CM_DEVCAP_UNIQUEID   0x00000010
 
#define CM_DEVCAP_SILENTINSTALL   0x00000020
 
#define CM_DEVCAP_RAWDEVICEOK   0x00000040
 
#define CM_DEVCAP_SURPRISEREMOVALOK   0x00000080
 
#define CM_DEVCAP_HARDWAREDISABLED   0x00000100
 
#define CM_DEVCAP_NONDYNAMIC   0x00000200
 
#define CM_REMOVAL_POLICY_EXPECT_NO_REMOVAL   1
 
#define CM_REMOVAL_POLICY_EXPECT_ORDERLY_REMOVAL   2
 
#define CM_REMOVAL_POLICY_EXPECT_SURPRISE_REMOVAL   3
 
#define CM_INSTALL_STATE_INSTALLED   0
 
#define CM_INSTALL_STATE_NEEDS_REINSTALL   1
 
#define CM_INSTALL_STATE_FAILED_INSTALL   2
 
#define CM_INSTALL_STATE_FINISH_INSTALL   3
 
#define CM_LOCATE_DEVNODE_NORMAL   0x00000000
 
#define CM_LOCATE_DEVNODE_PHANTOM   0x00000001
 
#define CM_LOCATE_DEVNODE_CANCELREMOVE   0x00000002
 
#define CM_LOCATE_DEVNODE_NOVALIDATION   0x00000004
 
#define CM_LOCATE_DEVNODE_BITS   0x00000007
 
#define CM_LOCATE_DEVINST_NORMAL   CM_LOCATE_DEVNODE_NORMAL
 
#define CM_LOCATE_DEVINST_PHANTOM   CM_LOCATE_DEVNODE_PHANTOM
 
#define CM_LOCATE_DEVINST_CANCELREMOVE   CM_LOCATE_DEVNODE_CANCELREMOVE
 
#define CM_LOCATE_DEVINST_NOVALIDATION   CM_LOCATE_DEVNODE_NOVALIDATION
 
#define CM_LOCATE_DEVINST_BITS   CM_LOCATE_DEVNODE_BITS
 
#define CM_OPEN_CLASS_KEY_INSTALLER   0x00000000
 
#define CM_OPEN_CLASS_KEY_INTERFACE   0x00000001
 
#define CM_OPEN_CLASS_KEY_BITS   0x00000001
 
#define CM_REMOVE_UI_OK   0x00000000
 
#define CM_REMOVE_UI_NOT_OK   0x00000001
 
#define CM_REMOVE_NO_RESTART   0x00000002
 
#define CM_REMOVE_BITS   0x00000003
 
#define CM_QUERY_REMOVE_UI_OK   (CM_REMOVE_UI_OK)
 
#define CM_QUERY_REMOVE_UI_NOT_OK   (CM_REMOVE_UI_NOT_OK)
 
#define CM_QUERY_REMOVE_BITS   (CM_QUERY_REMOVE_UI_OK|CM_QUERY_REMOVE_UI_NOT_OK)
 
#define CM_REENUMERATE_NORMAL   0x00000000
 
#define CM_REENUMERATE_SYNCHRONOUS   0x00000001
 
#define CM_REENUMERATE_RETRY_INSTALLATION   0x00000002
 
#define CM_REENUMERATE_ASYNCHRONOUS   0x00000004
 
#define CM_REENUMERATE_BITS   0x00000007
 
#define CM_REGISTER_DEVICE_DRIVER_STATIC   0x00000000
 
#define CM_REGISTER_DEVICE_DRIVER_DISABLEABLE   0x00000001
 
#define CM_REGISTER_DEVICE_DRIVER_REMOVABLE   0x00000002
 
#define CM_REGISTER_DEVICE_DRIVER_BITS   0x00000003
 
#define CM_REGISTRY_HARDWARE   0x00000000
 
#define CM_REGISTRY_SOFTWARE   0x00000001
 
#define CM_REGISTRY_USER   0x00000100
 
#define CM_REGISTRY_CONFIG   0x00000200
 
#define CM_REGISTRY_BITS   0x00000301
 
#define CM_SET_DEVNODE_PROBLEM_NORMAL   0x00000000
 
#define CM_SET_DEVNODE_PROBLEM_OVERRIDE   0x00000001
 
#define CM_SET_DEVNODE_PROBLEM_BITS   0x00000001
 
#define CM_SET_DEVINST_PROBLEM_NORMAL   CM_SET_DEVNODE_PROBLEM_NORMAL
 
#define CM_SET_DEVINST_PROBLEM_OVERRIDE   CM_SET_DEVNODE_PROBLEM_OVERRIDE
 
#define CM_SET_DEVINST_PROBLEM_BITS   CM_SET_DEVNODE_PROBLEM_BITS
 
#define CM_SET_HW_PROF_FLAGS_UI_NOT_OK   0x00000001
 
#define CM_SET_HW_PROF_FLAGS_BITS   0x00000001
 
#define CM_SETUP_DEVNODE_READY   0x00000000
 
#define CM_SETUP_DEVINST_READY   CM_SETUP_DEVNODE_READY
 
#define CM_SETUP_DOWNLOAD   0x00000001
 
#define CM_SETUP_WRITE_LOG_CONFS   0x00000002
 
#define CM_SETUP_PROP_CHANGE   0x00000003
 
#define CM_SETUP_DEVNODE_RESET   0x00000004
 
#define CM_SETUP_DEVINST_RESET   CM_SETUP_DEVNODE_RESET
 
#define CM_SETUP_BITS   0x00000007
 
#define CM_QUERY_ARBITRATOR_RAW   0x00000000
 
#define CM_QUERY_ARBITRATOR_TRANSLATED   0x00000001
 
#define CM_QUERY_ARBITRATOR_BITS   0x00000001
 
#define CM_CUSTOMDEVPROP_MERGE_MULTISZ   0x00000001
 
#define CM_CUSTOMDEVPROP_BITS   0x00000001
 
#define CM_NAME_ATTRIBUTE_NAME_RETRIEVED_FROM_DEVICE   0x1
 
#define CM_NAME_ATTRIBUTE_USER_ASSIGNED_NAME   0x2
 
#define CR_SUCCESS   0x00000000
 
#define CR_DEFAULT   0x00000001
 
#define CR_OUT_OF_MEMORY   0x00000002
 
#define CR_INVALID_POINTER   0x00000003
 
#define CR_INVALID_FLAG   0x00000004
 
#define CR_INVALID_DEVNODE   0x00000005
 
#define CR_INVALID_DEVINST   CR_INVALID_DEVNODE
 
#define CR_INVALID_RES_DES   0x00000006
 
#define CR_INVALID_LOG_CONF   0x00000007
 
#define CR_INVALID_ARBITRATOR   0x00000008
 
#define CR_INVALID_NODELIST   0x00000009
 
#define CR_DEVNODE_HAS_REQS   0x0000000A
 
#define CR_DEVINST_HAS_REQS   CR_DEVNODE_HAS_REQS
 
#define CR_INVALID_RESOURCEID   0x0000000B
 
#define CR_DLVXD_NOT_FOUND   0x0000000C
 
#define CR_NO_SUCH_DEVNODE   0x0000000D
 
#define CR_NO_SUCH_DEVINST   CR_NO_SUCH_DEVNODE
 
#define CR_NO_MORE_LOG_CONF   0x0000000E
 
#define CR_NO_MORE_RES_DES   0x0000000F
 
#define CR_ALREADY_SUCH_DEVNODE   0x00000010
 
#define CR_ALREADY_SUCH_DEVINST   CR_ALREADY_SUCH_DEVNODE
 
#define CR_INVALID_RANGE_LIST   0x00000011
 
#define CR_INVALID_RANGE   0x00000012
 
#define CR_FAILURE   0x00000013
 
#define CR_NO_SUCH_LOGICAL_DEV   0x00000014
 
#define CR_CREATE_BLOCKED   0x00000015
 
#define CR_NOT_SYSTEM_VM   0x00000016
 
#define CR_REMOVE_VETOED   0x00000017
 
#define CR_APM_VETOED   0x00000018
 
#define CR_INVALID_LOAD_TYPE   0x00000019
 
#define CR_BUFFER_SMALL   0x0000001A
 
#define CR_NO_ARBITRATOR   0x0000001B
 
#define CR_NO_REGISTRY_HANDLE   0x0000001C
 
#define CR_REGISTRY_ERROR   0x0000001D
 
#define CR_INVALID_DEVICE_ID   0x0000001E
 
#define CR_INVALID_DATA   0x0000001F
 
#define CR_INVALID_API   0x00000020
 
#define CR_DEVLOADER_NOT_READY   0x00000021
 
#define CR_NEED_RESTART   0x00000022
 
#define CR_NO_MORE_HW_PROFILES   0x00000023
 
#define CR_DEVICE_NOT_THERE   0x00000024
 
#define CR_NO_SUCH_VALUE   0x00000025
 
#define CR_WRONG_TYPE   0x00000026
 
#define CR_INVALID_PRIORITY   0x00000027
 
#define CR_NOT_DISABLEABLE   0x00000028
 
#define CR_FREE_RESOURCES   0x00000029
 
#define CR_QUERY_VETOED   0x0000002A
 
#define CR_CANT_SHARE_IRQ   0x0000002B
 
#define CR_NO_DEPENDENT   0x0000002C
 
#define CR_SAME_RESOURCES   0x0000002D
 
#define CR_NO_SUCH_REGISTRY_KEY   0x0000002E
 
#define CR_INVALID_MACHINENAME   0x0000002F
 
#define CR_REMOTE_COMM_FAILURE   0x00000030
 
#define CR_MACHINE_UNAVAILABLE   0x00000031
 
#define CR_NO_CM_SERVICES   0x00000032
 
#define CR_ACCESS_DENIED   0x00000033
 
#define CR_CALL_NOT_IMPLEMENTED   0x00000034
 
#define CR_INVALID_PROPERTY   0x00000035
 
#define CR_DEVICE_INTERFACE_ACTIVE   0x00000036
 
#define CR_NO_SUCH_DEVICE_INTERFACE   0x00000037
 
#define CR_INVALID_REFERENCE_STRING   0x00000038
 
#define CR_INVALID_CONFLICT_LIST   0x00000039
 
#define CR_INVALID_INDEX   0x0000003A
 
#define CR_INVALID_STRUCTURE_SIZE   0x0000003B
 
#define NUM_CR_RESULTS   0x0000003C
 
#define CM_GLOBAL_STATE_CAN_DO_UI   0x00000001
 
#define CM_GLOBAL_STATE_ON_BIG_STACK   0x00000002
 
#define CM_GLOBAL_STATE_SERVICES_AVAILABLE   0x00000004
 
#define CM_GLOBAL_STATE_SHUTTING_DOWN   0x00000008
 
#define CM_GLOBAL_STATE_DETECTION_PENDING   0x00000010
 
#define CM_GLOBAL_STATE_REBOOT_REQUIRED   0x00000020
 
#define CM_Add_ID   CM_Add_IDA
 
#define CM_Add_ID_Ex   CM_Add_ID_ExA
 
#define CM_Connect_Machine   CM_Connect_MachineA
 
#define CM_Create_DevInstW   CM_Create_DevNodeW
 
#define CM_Create_DevInstA   CM_Create_DevNodeA
 
#define CM_Create_DevInst_ExW   CM_Create_DevNode_ExW
 
#define CM_Create_DevInst_ExA   CM_Create_DevNode_ExA
 
#define CM_Create_DevNode   CM_Create_DevNodeA
 
#define CM_Create_DevInst   CM_Create_DevNodeA
 
#define CM_Create_DevNode_Ex   CM_Create_DevNode_ExA
 
#define CM_Create_DevInst_Ex   CM_Create_DevNode_ExA
 
#define CM_Delete_DevInst_Key   CM_Delete_DevNode_Key
 
#define CM_Delete_DevInst_Key_Ex   CM_Delete_DevNode_Key_Ex
 
#define CM_Disable_DevInst   CM_Disable_DevNode
 
#define CM_Disable_DevInst_Ex   CM_Disable_DevNode_Ex
 
#define CM_Enable_DevInst   CM_Enable_DevNode
 
#define CM_Enable_DevInst_Ex   CM_Enable_DevNode_Ex
 
#define CM_Enumerate_Enumerators   CM_Enumerate_EnumeratorsA
 
#define CM_Enumerate_Enumerators_Ex   CM_Enumerate_Enumerators_ExA
 
#define CM_Get_Class_Name   CM_Get_Class_NameA
 
#define CM_Get_Class_Name_Ex   CM_Get_Class_Name_ExA
 
#define CM_Get_Class_Key_Name   CM_Get_Class_Key_NameA
 
#define CM_Get_Class_Key_Name_Ex   CM_Get_Class_Key_Name_ExA
 
#define CM_Get_Device_ID   CM_Get_Device_IDA
 
#define CM_Get_Device_ID_Ex   CM_Get_Device_ID_ExA
 
#define CM_Get_Device_ID_List   CM_Get_Device_ID_ListA
 
#define CM_Get_Device_ID_List_Ex   CM_Get_Device_ID_List_ExA
 
#define CM_Get_Device_ID_List_Size   CM_Get_Device_ID_List_SizeA
 
#define CM_Get_Device_ID_List_Size_Ex   CM_Get_Device_ID_List_Size_ExA
 
#define CM_Get_DevInst_Registry_PropertyW   CM_Get_DevNode_Registry_PropertyW
 
#define CM_Get_DevInst_Registry_PropertyA   CM_Get_DevNode_Registry_PropertyA
 
#define CM_Get_DevInst_Registry_Property_ExW   CM_Get_DevNode_Registry_Property_ExW
 
#define CM_Get_DevInst_Registry_Property_ExA   CM_Get_DevNode_Registry_Property_ExA
 
#define CM_Get_DevInst_Registry_Property   CM_Get_DevNode_Registry_PropertyA
 
#define CM_Get_DevInst_Registry_Property_Ex   CM_Get_DevNode_Registry_Property_ExA
 
#define CM_Get_DevNode_Registry_Property   CM_Get_DevNode_Registry_PropertyA
 
#define CM_Get_DevNode_Registry_Property_Ex   CM_Get_DevNode_Registry_Property_ExA
 
#define CM_Get_DevInst_Custom_PropertyW   CM_Get_DevNode_Custom_PropertyW
 
#define CM_Get_DevInst_Custom_PropertyA   CM_Get_DevNode_Custom_PropertyA
 
#define CM_Get_DevInst_Custom_Property_ExW   CM_Get_DevNode_Custom_Property_ExW
 
#define CM_Get_DevInst_Custom_Property_ExA   CM_Get_DevNode_Custom_Property_ExA
 
#define CM_Get_DevInst_Custom_Property   CM_Get_DevNode_Custom_PropertyA
 
#define CM_Get_DevInst_Custom_Property_Ex   CM_Get_DevNode_Custom_Property_ExA
 
#define CM_Get_DevNode_Custom_Property   CM_Get_DevNode_Custom_PropertyA
 
#define CM_Get_DevNode_Custom_Property_Ex   CM_Get_DevNode_Custom_Property_ExA
 
#define CM_Get_DevInst_Status   CM_Get_DevNode_Status
 
#define CM_Get_DevInst_Status_Ex   CM_Get_DevNode_Status_Ex
 
#define CM_Get_Hardware_Profile_Info   CM_Get_Hardware_Profile_InfoA
 
#define CM_Get_Hardware_Profile_Info_Ex   CM_Get_Hardware_Profile_Info_ExA
 
#define CM_Get_HW_Prof_Flags   CM_Get_HW_Prof_FlagsA
 
#define CM_Get_HW_Prof_Flags_Ex   CM_Get_HW_Prof_Flags_ExA
 
#define CM_Get_Device_Interface_Alias   CM_Get_Device_Interface_AliasA
 
#define CM_Get_Device_Interface_Alias_Ex   CM_Get_Device_Interface_Alias_ExA
 
#define CM_Get_Device_Interface_List   CM_Get_Device_Interface_ListA
 
#define CM_Get_Device_Interface_List_Ex   CM_Get_Device_Interface_List_ExA
 
#define CM_Get_Device_Interface_List_Size   CM_Get_Device_Interface_List_SizeA
 
#define CM_Get_Device_Interface_List_Size_Ex   CM_Get_Device_Interface_List_Size_ExA
 
#define CM_Get_Resource_Conflict_Details   CM_Get_Resource_Conflict_DetailsA
 
#define CM_Get_Class_Registry_Property   CM_Get_Class_Registry_PropertyA
 
#define CM_Set_Class_Registry_Property   CM_Set_Class_Registry_PropertyA
 
#define CM_Locate_DevInstA   CM_Locate_DevNodeA
 
#define CM_Locate_DevInstW   CM_Locate_DevNodeW
 
#define CM_Locate_DevInst_ExA   CM_Locate_DevNode_ExA
 
#define CM_Locate_DevInst_ExW   CM_Locate_DevNode_ExW
 
#define CM_Locate_DevNode   CM_Locate_DevNodeA
 
#define CM_Locate_DevInst   CM_Locate_DevNodeA
 
#define CM_Locate_DevNode_Ex   CM_Locate_DevNode_ExA
 
#define CM_Locate_DevInst_Ex   CM_Locate_DevNode_ExA
 
#define CM_Move_DevInst   CM_Move_DevNode
 
#define CM_Move_DevInst_Ex   CM_Move_DevNode_Ex
 
#define CM_Open_Class_Key   CM_Open_Class_KeyA
 
#define CM_Open_Class_Key_Ex   CM_Open_Class_Key_ExA
 
#define CM_Open_DevInst_Key   CM_Open_DevNode_Key
 
#define CM_Open_DevInst_Key_Ex   CM_Open_DevNode_Key_Ex
 
#define CM_Open_Device_Interface_Key   CM_Open_Device_Interface_KeyA
 
#define CM_Open_Device_Interface_Key_Ex   CM_Open_Device_Interface_Key_ExA
 
#define CM_Delete_Device_Interface_Key   CM_Delete_Device_Interface_KeyA
 
#define CM_Delete_Device_Interface_Key_Ex   CM_Delete_Device_Interface_Key_ExA
 
#define CM_Query_And_Remove_SubTree   CM_Query_And_Remove_SubTreeA
 
#define CM_Query_And_Remove_SubTree_Ex   CM_Query_And_Remove_SubTree_ExA
 
#define CM_Reenumerate_DevInst   CM_Reenumerate_DevNode
 
#define CM_Reenumerate_DevInst_Ex   CM_Reenumerate_DevNode_Ex
 
#define CM_Register_Device_Interface   CM_Register_Device_InterfaceA
 
#define CM_Register_Device_Interface_Ex   CM_Register_Device_Interface_ExA
 
#define CM_Request_Device_Eject   CM_Request_Device_EjectA
 
#define CM_Request_Device_Eject_Ex   CM_Request_Device_Eject_ExA
 
#define CM_Set_DevInst_Problem   CM_Set_DevNode_Problem
 
#define CM_Set_DevInst_Problem_Ex   CM_Set_DevNode_Problem_Ex
 
#define CM_Unregister_Device_Interface   CM_Unregister_Device_InterfaceA
 
#define CM_Unregister_Device_Interface_Ex   CM_Unregister_Device_Interface_ExA
 
#define CM_Set_DevInst_Registry_PropertyW   CM_Set_DevNode_Registry_PropertyW
 
#define CM_Set_DevInst_Registry_PropertyA   CM_Set_DevNode_Registry_PropertyA
 
#define CM_Set_DevInst_Registry_Property_ExW   CM_Set_DevNode_Registry_Property_ExW
 
#define CM_Set_DevInst_Registry_Property_ExA   CM_Set_DevNode_Registry_Property_ExA
 
#define CM_Set_DevInst_Registry_Property   CM_Set_DevNode_Registry_PropertyA
 
#define CM_Set_DevInst_Registry_Property_Ex   CM_Set_DevNode_Registry_Property_ExA
 
#define CM_Set_DevNode_Registry_Property   CM_Set_DevNode_Registry_PropertyA
 
#define CM_Set_DevNode_Registry_Property_Ex   CM_Set_DevNode_Registry_Property_ExA
 
#define CM_Set_HW_Prof_Flags   CM_Set_HW_Prof_FlagsA
 
#define CM_Set_HW_Prof_Flags_Ex   CM_Set_HW_Prof_Flags_ExA
 
#define CM_Setup_DevInst   CM_Setup_DevNode
 
#define CM_Setup_DevInst_Ex   CM_Setup_DevNode_Ex
 
#define CM_Uninstall_DevInst   CM_Uninstall_DevNode
 
#define CM_Uninstall_DevInst_Ex   CM_Uninstall_DevNode_Ex
 
#define CM_WaitNoPendingInstallEvents   CMP_WaitNoPendingInstallEvents
 

Typedefs

typedef CONST VOIDPCVOID
 
typedef RETURN_TYPE CONFIGRET
 
typedef DWORD DEVNODE
 
typedef DWORD DEVINST
 
typedef DEVNODEPDEVNODE
 
typedef DEVNODEPDEVINST
 
typedef _Null_terminated_ CHARDEVNODEID_A
 
typedef _Null_terminated_ CHARDEVINSTID_A
 
typedef _Null_terminated_ WCHARDEVNODEID_W
 
typedef _Null_terminated_ WCHARDEVINSTID_W
 
typedef DEVNODEID_A DEVNODEID
 
typedef DEVINSTID_A DEVINSTID
 
typedef DWORD_PTR LOG_CONF
 
typedef LOG_CONFPLOG_CONF
 
typedef DWORD_PTR RES_DES
 
typedef RES_DESPRES_DES
 
typedef ULONG RESOURCEID
 
typedef RESOURCEIDPRESOURCEID
 
typedef ULONG PRIORITY
 
typedef PRIORITYPPRIORITY
 
typedef DWORD_PTR RANGE_LIST
 
typedef RANGE_LISTPRANGE_LIST
 
typedef DWORD_PTR RANGE_ELEMENT
 
typedef RANGE_ELEMENTPRANGE_ELEMENT
 
typedef HANDLE HMACHINE
 
typedef HMACHINEPHMACHINE
 
typedef ULONG_PTR CONFLICT_LIST
 
typedef CONFLICT_LISTPCONFLICT_LIST
 
typedef struct _CONFLICT_DETAILS_A CONFLICT_DETAILS_A
 
typedef struct _CONFLICT_DETAILS_APCONFLICT_DETAILS_A
 
typedef struct _CONFLICT_DETAILS_W CONFLICT_DETAILS_W
 
typedef struct _CONFLICT_DETAILS_WPCONFLICT_DETAILS_W
 
typedef CONFLICT_DETAILS_A CONFLICT_DETAILS
 
typedef PCONFLICT_DETAILS_A PCONFLICT_DETAILS
 
typedef ULONG REGDISPOSITION
 
typedef struct Mem_Range_s MEM_RANGE
 
typedef struct Mem_Range_sPMEM_RANGE
 
typedef struct Mem_Des_s MEM_DES
 
typedef struct Mem_Des_sPMEM_DES
 
typedef struct Mem_Resource_s MEM_RESOURCE
 
typedef struct Mem_Resource_sPMEM_RESOURCE
 
typedef struct Mem_Large_Range_s MEM_LARGE_RANGE
 
typedef struct Mem_Large_Range_sPMEM_LARGE_RANGE
 
typedef struct Mem_Large_Des_s MEM_LARGE_DES
 
typedef struct Mem_Large_Des_sPMEM_LARGE_DES
 
typedef struct Mem_Large_Resource_s MEM_LARGE_RESOURCE
 
typedef struct Mem_Large_Resource_sPMEM_LARGE_RESOURCE
 
typedef struct IO_Range_s IO_RANGE
 
typedef struct IO_Range_sPIO_RANGE
 
typedef struct IO_Des_s IO_DES
 
typedef struct IO_Des_sPIO_DES
 
typedef struct IO_Resource_s IO_RESOURCE
 
typedef struct IO_Resource_sPIO_RESOURCE
 
typedef struct DMA_Des_s DMA_DES
 
typedef struct DMA_Des_sPDMA_DES
 
typedef struct DMA_Range_s DMA_RANGE
 
typedef struct DMA_Range_sPDMA_RANGE
 
typedef struct DMA_Resource_s DMA_RESOURCE
 
typedef struct DMA_Resource_sPDMA_RESOURCE
 
typedef struct IRQ_Range_s IRQ_RANGE
 
typedef struct IRQ_Range_sPIRQ_RANGE
 
typedef struct IRQ_Des_32_s IRQ_DES_32
 
typedef struct IRQ_Des_32_sPIRQ_DES_32
 
typedef struct IRQ_Des_64_s IRQ_DES_64
 
typedef struct IRQ_Des_64_sPIRQ_DES_64
 
typedef IRQ_DES_32 IRQ_DES
 
typedef PIRQ_DES_32 PIRQ_DES
 
typedef struct IRQ_Resource_32_s IRQ_RESOURCE_32
 
typedef struct IRQ_Resource_32_sPIRQ_RESOURCE_32
 
typedef struct IRQ_Resource_64_s IRQ_RESOURCE_64
 
typedef struct IRQ_Resource_64_sPIRQ_RESOURCE_64
 
typedef IRQ_RESOURCE_32 IRQ_RESOURCE
 
typedef PIRQ_RESOURCE_32 PIRQ_RESOURCE
 
typedef struct DevPrivate_Range_s DEVPRIVATE_RANGE
 
typedef struct DevPrivate_Range_sPDEVPRIVATE_RANGE
 
typedef struct DevPrivate_Des_s DEVPRIVATE_DES
 
typedef struct DevPrivate_Des_sPDEVPRIVATE_DES
 
typedef struct DevPrivate_Resource_s DEVPRIVATE_RESOURCE
 
typedef struct DevPrivate_Resource_sPDEVPRIVATE_RESOURCE
 
typedef struct CS_Des_s CS_DES
 
typedef struct CS_Des_sPCS_DES
 
typedef struct CS_Resource_s CS_RESOURCE
 
typedef struct CS_Resource_sPCS_RESOURCE
 
typedef struct PcCard_Des_s PCCARD_DES
 
typedef struct PcCard_Des_sPPCCARD_DES
 
typedef struct PcCard_Resource_s PCCARD_RESOURCE
 
typedef struct PcCard_Resource_sPPCCARD_RESOURCE
 
typedef struct MfCard_Des_s MFCARD_DES
 
typedef struct MfCard_Des_sPMFCARD_DES
 
typedef struct MfCard_Resource_s MFCARD_RESOURCE
 
typedef struct MfCard_Resource_sPMFCARD_RESOURCE
 
typedef struct BusNumber_Des_s BUSNUMBER_DES
 
typedef struct BusNumber_Des_sPBUSNUMBER_DES
 
typedef struct BusNumber_Range_s BUSNUMBER_RANGE
 
typedef struct BusNumber_Range_sPBUSNUMBER_RANGE
 
typedef struct BusNumber_Resource_s BUSNUMBER_RESOURCE
 
typedef struct BusNumber_Resource_sPBUSNUMBER_RESOURCE
 
typedef struct HWProfileInfo_sA HWPROFILEINFO_A
 
typedef struct HWProfileInfo_sAPHWPROFILEINFO_A
 
typedef struct HWProfileInfo_sW HWPROFILEINFO_W
 
typedef struct HWProfileInfo_sWPHWPROFILEINFO_W
 
typedef HWPROFILEINFO_A HWPROFILEINFO
 
typedef PHWPROFILEINFO_A PHWPROFILEINFO
 

Functions

typedef _Return_type_success_ (return==0) DWORD RETURN_TYPE
 
CMAPI CONFIGRET WINAPI CM_Add_Empty_Log_Conf (_Out_ PLOG_CONF plcLogConf, _In_ DEVINST dnDevInst, _In_ PRIORITY Priority, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Add_Empty_Log_Conf_Ex (_Out_ PLOG_CONF plcLogConf, _In_ DEVINST dnDevInst, _In_ PRIORITY Priority, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Add_IDA (_In_ DEVINST dnDevInst, _In_ PSTR pszID, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Add_ID_ExA (_In_ DEVINST dnDevInst, _In_ PSTR pszID, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Add_ID_ExW (_In_ DEVINST dnDevInst, _In_ PWSTR pszID, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Add_IDW (_In_ DEVINST dnDevInst, _In_ PWSTR pszID, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Add_Range (_In_ DWORDLONG ullStartValue, _In_ DWORDLONG ullEndValue, _In_ RANGE_LIST rlh, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Add_Res_Des (_Out_opt_ PRES_DES prdResDes, _In_ LOG_CONF lcLogConf, _In_ RESOURCEID ResourceID, _In_reads_bytes_(ResourceLen) PCVOID ResourceData, _In_ ULONG ResourceLen, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Add_Res_Des_Ex (_Out_opt_ PRES_DES prdResDes, _In_ LOG_CONF lcLogConf, _In_ RESOURCEID ResourceID, _In_reads_bytes_(ResourceLen) PCVOID ResourceData, _In_ ULONG ResourceLen, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Connect_MachineA (_In_opt_ PCSTR UNCServerName, _Out_ PHMACHINE phMachine)
 
CMAPI CONFIGRET WINAPI CM_Connect_MachineW (_In_opt_ PCWSTR UNCServerName, _Out_ PHMACHINE phMachine)
 
CMAPI CONFIGRET WINAPI CM_Create_DevNodeA (_Out_ PDEVINST pdnDevInst, _In_ DEVINSTID_A pDeviceID, _In_ DEVINST dnParent, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Create_DevNodeW (_Out_ PDEVINST pdnDevInst, _In_ DEVINSTID_W pDeviceID, _In_ DEVINST dnParent, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Create_DevNode_ExA (_Out_ PDEVINST pdnDevInst, _In_ DEVINSTID_A pDeviceID, _In_ DEVINST dnParent, _In_ ULONG ulFlags, _In_opt_ HANDLE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Create_DevNode_ExW (_Out_ PDEVINST pdnDevInst, _In_ DEVINSTID_W pDeviceID, _In_ DEVINST dnParent, _In_ ULONG ulFlags, _In_opt_ HANDLE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Create_Range_List (_Out_ PRANGE_LIST prlh, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Delete_Class_Key (_In_ LPGUID ClassGuid, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Delete_Class_Key_Ex (_In_ LPGUID ClassGuid, _In_ ULONG ulFlags, _In_opt_ HANDLE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Delete_DevNode_Key (_In_ DEVNODE dnDevNode, _In_ ULONG ulHardwareProfile, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Delete_DevNode_Key_Ex (_In_ DEVNODE dnDevNode, _In_ ULONG ulHardwareProfile, _In_ ULONG ulFlags, _In_opt_ HANDLE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Delete_Range (_In_ DWORDLONG ullStartValue, _In_ DWORDLONG ullEndValue, _In_ RANGE_LIST rlh, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Detect_Resource_Conflict (_In_ DEVINST dnDevInst, _In_ RESOURCEID ResourceID, _In_reads_bytes_(ResourceLen) PCVOID ResourceData, _In_ ULONG ResourceLen, _Out_ PBOOL pbConflictDetected, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Detect_Resource_Conflict_Ex (_In_ DEVINST dnDevInst, _In_ RESOURCEID ResourceID, _In_reads_bytes_(ResourceLen) PCVOID ResourceData, _In_ ULONG ResourceLen, _Out_ PBOOL pbConflictDetected, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Disable_DevNode (_In_ DEVINST dnDevInst, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Disable_DevNode_Ex (_In_ DEVINST dnDevInst, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Disconnect_Machine (_In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Dup_Range_List (_In_ RANGE_LIST rlhOld, _In_ RANGE_LIST rlhNew, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Enable_DevNode (_In_ DEVINST dnDevInst, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Enable_DevNode_Ex (_In_ DEVINST dnDevInst, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Enumerate_Classes (_In_ ULONG ulClassIndex, _Out_ LPGUID ClassGuid, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Enumerate_Classes_Ex (_In_ ULONG ulClassIndex, _Out_ LPGUID ClassGuid, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Enumerate_EnumeratorsA (_In_ ULONG ulEnumIndex, _Out_writes_(*pulLength) PCHAR Buffer, _Inout_ PULONG pulLength, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Enumerate_Enumerators_ExA (_In_ ULONG ulEnumIndex, _Out_writes_(*pulLength) PCHAR Buffer, _Inout_ PULONG pulLength, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Enumerate_Enumerators_ExW (_In_ ULONG ulEnumIndex, _Out_writes_(*pulLength) PWCHAR Buffer, _Inout_ PULONG pulLength, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Enumerate_EnumeratorsW (_In_ ULONG ulEnumIndex, _Out_writes_(*pulLength) PWCHAR Buffer, _Inout_ PULONG pulLength, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Find_Range (_Out_ PDWORDLONG pullStart, _In_ DWORDLONG ullStart, _In_ ULONG ulLength, _In_ DWORDLONG ullAlignment, _In_ DWORDLONG ullEnd, _In_ RANGE_LIST rlh, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_First_Range (_In_ RANGE_LIST rlh, _Out_ PDWORDLONG pullStart, _Out_ PDWORDLONG pullEnd, _Out_ PRANGE_ELEMENT preElement, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Free_Log_Conf (_In_ LOG_CONF lcLogConfToBeFreed, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Free_Log_Conf_Ex (_In_ LOG_CONF lcLogConfToBeFreed, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Free_Log_Conf_Handle (_In_ LOG_CONF lcLogConf)
 
CMAPI CONFIGRET WINAPI CM_Free_Range_List (_In_ RANGE_LIST rlh, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Free_Res_Des (_Out_opt_ PRES_DES prdResDes, _In_ RES_DES rdResDes, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Free_Res_Des_Ex (_Out_opt_ PRES_DES prdResDes, _In_ RES_DES rdResDes, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Free_Res_Des_Handle (_In_ RES_DES rdResDes)
 
CMAPI CONFIGRET WINAPI CM_Free_Resource_Conflict_Handle (_In_ CONFLICT_LIST clConflictList)
 
CMAPI CONFIGRET WINAPI CM_Get_Child (_Out_ PDEVINST pdnDevInst, _In_ DEVINST dnDevInst, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Get_Child_Ex (_Out_ PDEVINST pdnDevInst, _In_ DEVINST dnDevInst, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Get_Class_NameA (_In_ LPGUID ClassGuid, _Out_writes_opt_(*pulLength) PCHAR Buffer, _Inout_ PULONG pulLength, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Get_Class_NameW (_In_ LPGUID ClassGuid, _Out_writes_opt_(*pulLength) PWCHAR Buffer, _Inout_ PULONG pulLength, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Get_Class_Name_ExA (_In_ LPGUID ClassGuid, _Out_writes_opt_(*pulLength) PCHAR Buffer, _Inout_ PULONG pulLength, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Get_Class_Name_ExW (_In_ LPGUID ClassGuid, _Out_writes_opt_(*pulLength) PWCHAR Buffer, _Inout_ PULONG pulLength, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Get_Class_Key_NameA (_In_ LPGUID ClassGuid, _Out_writes_opt_(*pulLength) LPSTR pszKeyName, _Inout_ PULONG pulLength, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Get_Class_Key_NameW (_In_ LPGUID ClassGuid, _Out_writes_opt_(*pulLength) LPWSTR pszKeyName, _Inout_ PULONG pulLength, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Get_Class_Key_Name_ExA (_In_ LPGUID ClassGuid, _Out_writes_opt_(*pulLength) LPSTR pszKeyName, _Inout_ PULONG pulLength, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Get_Class_Key_Name_ExW (_In_ LPGUID ClassGuid, _Out_writes_opt_(*pulLength) LPWSTR pszKeyName, _Inout_ PULONG pulLength, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Get_Depth (_Out_ PULONG pulDepth, _In_ DEVINST dnDevInst, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Get_Depth_Ex (_Out_ PULONG pulDepth, _In_ DEVINST dnDevInst, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Get_Device_IDA (_In_ DEVINST dnDevInst, _Out_writes_(BufferLen) PCHAR Buffer, _In_ ULONG BufferLen, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Get_Device_ID_ExA (_In_ DEVINST dnDevInst, _Out_writes_(BufferLen) PCHAR Buffer, _In_ ULONG BufferLen, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Get_Device_ID_ExW (_In_ DEVINST dnDevInst, _Out_writes_(BufferLen) PWCHAR Buffer, _In_ ULONG BufferLen, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Get_Device_IDW (_In_ DEVINST dnDevInst, _Out_writes_(BufferLen) PWCHAR Buffer, _In_ ULONG BufferLen, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Get_Device_ID_ListA (_In_opt_ PCSTR pszFilter, _Out_writes_(BufferLen) PCHAR Buffer, _In_ ULONG BufferLen, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Get_Device_ID_List_ExA (_In_opt_ PCSTR pszFilter, _Out_writes_(BufferLen) PCHAR Buffer, _In_ ULONG BufferLen, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Get_Device_ID_List_ExW (_In_opt_ PCWSTR pszFilter, _Out_writes_(BufferLen) PWCHAR Buffer, _In_ ULONG BufferLen, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Get_Device_ID_ListW (_In_opt_ PCWSTR pszFilter, _Out_writes_(BufferLen) PWCHAR Buffer, _In_ ULONG BufferLen, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Get_Device_ID_List_SizeA (_Out_ PULONG pulLen, _In_opt_ PCSTR pszFilter, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Get_Device_ID_List_Size_ExA (_Out_ PULONG pulLen, _In_opt_ PCSTR pszFilter, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Get_Device_ID_List_Size_ExW (_Out_ PULONG pulLen, _In_opt_ PCWSTR pszFilter, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Get_Device_ID_List_SizeW (_Out_ PULONG pulLen, _In_opt_ PCWSTR pszFilter, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Get_Device_ID_Size (_Out_ PULONG pulLen, _In_ DEVINST dnDevInst, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Get_Device_ID_Size_Ex (_Out_ PULONG pulLen, _In_ DEVINST dnDevInst, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Get_DevNode_Registry_PropertyA (_In_ DEVINST dnDevInst, _In_ ULONG ulProperty, _Out_opt_ PULONG pulRegDataType, _Out_writes_bytes_opt_(*pulLength) PVOID Buffer, _Inout_ PULONG pulLength, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Get_DevNode_Registry_PropertyW (_In_ DEVINST dnDevInst, _In_ ULONG ulProperty, _Out_opt_ PULONG pulRegDataType, _Out_writes_bytes_opt_(*pulLength) PVOID Buffer, _Inout_ PULONG pulLength, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Get_DevNode_Registry_Property_ExA (_In_ DEVINST dnDevInst, _In_ ULONG ulProperty, _Out_opt_ PULONG pulRegDataType, _Out_writes_bytes_opt_(*pulLength) PVOID Buffer, _Inout_ PULONG pulLength, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Get_DevNode_Registry_Property_ExW (_In_ DEVINST dnDevInst, _In_ ULONG ulProperty, _Out_opt_ PULONG pulRegDataType, _Out_writes_bytes_opt_(*pulLength) PVOID Buffer, _Inout_ PULONG pulLength, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Get_DevNode_Custom_PropertyA (_In_ DEVINST dnDevInst, _In_ PCSTR pszCustomPropertyName, _Out_opt_ PULONG pulRegDataType, _Out_writes_bytes_opt_(*pulLength) PVOID Buffer, _Inout_ PULONG pulLength, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Get_DevNode_Custom_PropertyW (_In_ DEVINST dnDevInst, _In_ PCWSTR pszCustomPropertyName, _Out_opt_ PULONG pulRegDataType, _Out_writes_bytes_opt_(*pulLength) PVOID Buffer, _Inout_ PULONG pulLength, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Get_DevNode_Custom_Property_ExA (_In_ DEVINST dnDevInst, _In_ PCSTR pszCustomPropertyName, _Out_opt_ PULONG pulRegDataType, _Out_writes_bytes_opt_(*pulLength) PVOID Buffer, _Inout_ PULONG pulLength, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Get_DevNode_Custom_Property_ExW (_In_ DEVINST dnDevInst, _In_ PCWSTR pszCustomPropertyName, _Out_opt_ PULONG pulRegDataType, _Out_writes_bytes_opt_(*pulLength) PVOID Buffer, _Inout_ PULONG pulLength, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Get_DevNode_Status (_Out_ PULONG pulStatus, _Out_ PULONG pulProblemNumber, _In_ DEVINST dnDevInst, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Get_DevNode_Status_Ex (_Out_ PULONG pulStatus, _Out_ PULONG pulProblemNumber, _In_ DEVINST dnDevInst, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Get_First_Log_Conf (_Out_opt_ PLOG_CONF plcLogConf, _In_ DEVINST dnDevInst, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Get_First_Log_Conf_Ex (_Out_opt_ PLOG_CONF plcLogConf, _In_ DEVINST dnDevInst, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Get_Global_State (_Out_ PULONG pulState, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Get_Global_State_Ex (_Out_ PULONG pulState, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Get_Hardware_Profile_InfoA (_In_ ULONG ulIndex, _Out_ PHWPROFILEINFO_A pHWProfileInfo, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Get_Hardware_Profile_Info_ExA (_In_ ULONG ulIndex, _Out_ PHWPROFILEINFO_A pHWProfileInfo, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Get_Hardware_Profile_InfoW (_In_ ULONG ulIndex, _Out_ PHWPROFILEINFO_W pHWProfileInfo, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Get_Hardware_Profile_Info_ExW (_In_ ULONG ulIndex, _Out_ PHWPROFILEINFO_W pHWProfileInfo, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Get_HW_Prof_FlagsA (_In_ DEVINSTID_A szDevInstName, _In_ ULONG ulHardwareProfile, _Out_ PULONG pulValue, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Get_HW_Prof_FlagsW (_In_ DEVINSTID_W szDevInstName, _In_ ULONG ulHardwareProfile, _Out_ PULONG pulValue, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Get_HW_Prof_Flags_ExA (_In_ DEVINSTID_A szDevInstName, _In_ ULONG ulHardwareProfile, _Out_ PULONG pulValue, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Get_HW_Prof_Flags_ExW (_In_ DEVINSTID_W szDevInstName, _In_ ULONG ulHardwareProfile, _Out_ PULONG pulValue, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Get_Device_Interface_AliasA (_In_ LPCSTR pszDeviceInterface, _In_ LPGUID AliasInterfaceGuid, _Out_writes_(*pulLength) LPSTR pszAliasDeviceInterface, _Inout_ PULONG pulLength, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Get_Device_Interface_AliasW (_In_ LPCWSTR pszDeviceInterface, _In_ LPGUID AliasInterfaceGuid, _Out_writes_(*pulLength) LPWSTR pszAliasDeviceInterface, _Inout_ PULONG pulLength, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Get_Device_Interface_Alias_ExA (_In_ LPCSTR pszDeviceInterface, _In_ LPGUID AliasInterfaceGuid, _Out_writes_(*pulLength) LPSTR pszAliasDeviceInterface, _Inout_ PULONG pulLength, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Get_Device_Interface_Alias_ExW (_In_ LPCWSTR pszDeviceInterface, _In_ LPGUID AliasInterfaceGuid, _Out_writes_(*pulLength) LPWSTR pszAliasDeviceInterface, _Inout_ PULONG pulLength, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Get_Device_Interface_ListA (_In_ LPGUID InterfaceClassGuid, _In_opt_ DEVINSTID_A pDeviceID, _Out_writes_(BufferLen) PCHAR Buffer, _In_ ULONG BufferLen, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Get_Device_Interface_ListW (_In_ LPGUID InterfaceClassGuid, _In_opt_ DEVINSTID_W pDeviceID, _Out_writes_(BufferLen) PWCHAR Buffer, _In_ ULONG BufferLen, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Get_Device_Interface_List_ExA (_In_ LPGUID InterfaceClassGuid, _In_opt_ DEVINSTID_A pDeviceID, _Out_writes_(BufferLen) PCHAR Buffer, _In_ ULONG BufferLen, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Get_Device_Interface_List_ExW (_In_ LPGUID InterfaceClassGuid, _In_opt_ DEVINSTID_W pDeviceID, _Out_writes_(BufferLen) PWCHAR Buffer, _In_ ULONG BufferLen, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Get_Device_Interface_List_SizeA (_Out_ PULONG pulLen, _In_ LPGUID InterfaceClassGuid, _In_opt_ DEVINSTID_A pDeviceID, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Get_Device_Interface_List_SizeW (_Out_ PULONG pulLen, _In_ LPGUID InterfaceClassGuid, _In_opt_ DEVINSTID_W pDeviceID, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Get_Device_Interface_List_Size_ExA (_Out_ PULONG pulLen, _In_ LPGUID InterfaceClassGuid, _In_opt_ DEVINSTID_A pDeviceID, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Get_Device_Interface_List_Size_ExW (_Out_ PULONG pulLen, _In_ LPGUID InterfaceClassGuid, _In_opt_ DEVINSTID_W pDeviceID, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Get_Log_Conf_Priority (_In_ LOG_CONF lcLogConf, _Out_ PPRIORITY pPriority, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Get_Log_Conf_Priority_Ex (_In_ LOG_CONF lcLogConf, _Out_ PPRIORITY pPriority, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Get_Next_Log_Conf (_Out_opt_ PLOG_CONF plcLogConf, _In_ LOG_CONF lcLogConf, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Get_Next_Log_Conf_Ex (_Out_opt_ PLOG_CONF plcLogConf, _In_ LOG_CONF lcLogConf, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Get_Next_Res_Des (_Out_ PRES_DES prdResDes, _In_ RES_DES rdResDes, _In_ RESOURCEID ForResource, _Out_opt_ PRESOURCEID pResourceID, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Get_Next_Res_Des_Ex (_Out_ PRES_DES prdResDes, _In_ RES_DES rdResDes, _In_ RESOURCEID ForResource, _Out_opt_ PRESOURCEID pResourceID, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Get_Parent (_Out_ PDEVINST pdnDevInst, _In_ DEVINST dnDevInst, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Get_Parent_Ex (_Out_ PDEVINST pdnDevInst, _In_ DEVINST dnDevInst, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Get_Res_Des_Data (_In_ RES_DES rdResDes, _Out_writes_bytes_(BufferLen) PVOID Buffer, _In_ ULONG BufferLen, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Get_Res_Des_Data_Ex (_In_ RES_DES rdResDes, _Out_writes_bytes_(BufferLen) PVOID Buffer, _In_ ULONG BufferLen, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Get_Res_Des_Data_Size (_Out_ PULONG pulSize, _In_ RES_DES rdResDes, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Get_Res_Des_Data_Size_Ex (_Out_ PULONG pulSize, _In_ RES_DES rdResDes, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Get_Resource_Conflict_Count (_In_ CONFLICT_LIST clConflictList, _Out_ PULONG pulCount)
 
CMAPI CONFIGRET WINAPI CM_Get_Resource_Conflict_DetailsA (_In_ CONFLICT_LIST clConflictList, _In_ ULONG ulIndex, _Inout_ PCONFLICT_DETAILS_A pConflictDetails)
 
CMAPI CONFIGRET WINAPI CM_Get_Resource_Conflict_DetailsW (_In_ CONFLICT_LIST clConflictList, _In_ ULONG ulIndex, _Inout_ PCONFLICT_DETAILS_W pConflictDetails)
 
CMAPI CONFIGRET WINAPI CM_Get_Class_Registry_PropertyW (_In_ LPGUID ClassGuid, _In_ ULONG ulProperty, _Out_opt_ PULONG pulRegDataType, _Out_writes_bytes_opt_(*pulLength) PVOID Buffer, _Inout_ PULONG pulLength, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Set_Class_Registry_PropertyW (_In_ LPGUID ClassGuid, _In_ ULONG ulProperty, _In_reads_bytes_opt_(ulLength) PCVOID Buffer, _In_ ULONG ulLength, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Get_Class_Registry_PropertyA (_In_ LPGUID ClassGuid, _In_ ULONG ulProperty, _Out_opt_ PULONG pulRegDataType, _Out_writes_bytes_opt_(*pulLength) PVOID Buffer, _Inout_ PULONG pulLength, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Set_Class_Registry_PropertyA (_In_ LPGUID ClassGuid, _In_ ULONG ulProperty, _In_reads_bytes_opt_(ulLength) PCVOID Buffer, _In_ ULONG ulLength, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Get_Sibling (_Out_ PDEVINST pdnDevInst, _In_ DEVINST DevInst, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Get_Sibling_Ex (_Out_ PDEVINST pdnDevInst, _In_ DEVINST DevInst, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI WORD WINAPI CM_Get_Version (VOID)
 
CMAPI WORD WINAPI CM_Get_Version_Ex (_In_opt_ HMACHINE hMachine)
 
CMAPI BOOL WINAPI CM_Is_Version_Available (_In_ WORD wVersion)
 
CMAPI BOOL WINAPI CM_Is_Version_Available_Ex (_In_ WORD wVersion, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Intersect_Range_List (_In_ RANGE_LIST rlhOld1, _In_ RANGE_LIST rlhOld2, _In_ RANGE_LIST rlhNew, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Invert_Range_List (_In_ RANGE_LIST rlhOld, _In_ RANGE_LIST rlhNew, _In_ DWORDLONG ullMaxValue, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Is_Dock_Station_Present (_Out_ PBOOL pbPresent)
 
CMAPI CONFIGRET WINAPI CM_Is_Dock_Station_Present_Ex (_Out_ PBOOL pbPresent, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Locate_DevNodeA (_Out_ PDEVINST pdnDevInst, _In_opt_ DEVINSTID_A pDeviceID, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Locate_DevNode_ExA (_Out_ PDEVINST pdnDevInst, _In_opt_ DEVINSTID_A pDeviceID, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Locate_DevNode_ExW (_Out_ PDEVINST pdnDevInst, _In_opt_ DEVINSTID_W pDeviceID, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Locate_DevNodeW (_Out_ PDEVINST pdnDevInst, _In_opt_ DEVINSTID_W pDeviceID, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Merge_Range_List (_In_ RANGE_LIST rlhOld1, _In_ RANGE_LIST rlhOld2, _In_ RANGE_LIST rlhNew, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Modify_Res_Des (_Out_ PRES_DES prdResDes, _In_ RES_DES rdResDes, _In_ RESOURCEID ResourceID, _In_reads_bytes_(ResourceLen) PCVOID ResourceData, _In_ ULONG ResourceLen, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Modify_Res_Des_Ex (_Out_ PRES_DES prdResDes, _In_ RES_DES rdResDes, _In_ RESOURCEID ResourceID, _In_reads_bytes_(ResourceLen) PCVOID ResourceData, _In_ ULONG ResourceLen, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Move_DevNode (_In_ DEVINST dnFromDevInst, _In_ DEVINST dnToDevInst, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Move_DevNode_Ex (_In_ DEVINST dnFromDevInst, _In_ DEVINST dnToDevInst, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Next_Range (_Inout_ PRANGE_ELEMENT preElement, _Out_ PDWORDLONG pullStart, _Out_ PDWORDLONG pullEnd, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Open_Class_KeyA (_In_opt_ LPGUID ClassGuid, _In_opt_ LPCSTR pszClassName, _In_ REGSAM samDesired, _In_ REGDISPOSITION Disposition, _Out_ PHKEY phkClass, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Open_Class_KeyW (_In_opt_ LPGUID ClassGuid, _In_opt_ LPCWSTR pszClassName, _In_ REGSAM samDesired, _In_ REGDISPOSITION Disposition, _Out_ PHKEY phkClass, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Open_Class_Key_ExA (_In_opt_ LPGUID pszClassGuid, _In_opt_ LPCSTR pszClassName, _In_ REGSAM samDesired, _In_ REGDISPOSITION Disposition, _Out_ PHKEY phkClass, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Open_Class_Key_ExW (_In_opt_ LPGUID pszClassGuid, _In_opt_ LPCWSTR pszClassName, _In_ REGSAM samDesired, _In_ REGDISPOSITION Disposition, _Out_ PHKEY phkClass, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Open_DevNode_Key (_In_ DEVINST dnDevNode, _In_ REGSAM samDesired, _In_ ULONG ulHardwareProfile, _In_ REGDISPOSITION Disposition, _Out_ PHKEY phkDevice, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Open_DevNode_Key_Ex (_In_ DEVINST dnDevNode, _In_ REGSAM samDesired, _In_ ULONG ulHardwareProfile, _In_ REGDISPOSITION Disposition, _Out_ PHKEY phkDevice, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Open_Device_Interface_KeyA (_In_ LPCSTR pszDeviceInterface, _In_ REGSAM samDesired, _In_ REGDISPOSITION Disposition, _Out_ PHKEY phkDeviceInterface, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Open_Device_Interface_KeyW (_In_ LPCWSTR pszDeviceInterface, _In_ REGSAM samDesired, _In_ REGDISPOSITION Disposition, _Out_ PHKEY phkDeviceInterface, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Open_Device_Interface_Key_ExA (_In_ LPCSTR pszDeviceInterface, _In_ REGSAM samDesired, _In_ REGDISPOSITION Disposition, _Out_ PHKEY phkDeviceInterface, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Open_Device_Interface_Key_ExW (_In_ LPCWSTR pszDeviceInterface, _In_ REGSAM samDesired, _In_ REGDISPOSITION Disposition, _Out_ PHKEY phkDeviceInterface, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Delete_Device_Interface_KeyA (_In_ LPCSTR pszDeviceInterface, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Delete_Device_Interface_KeyW (_In_ LPCWSTR pszDeviceInterface, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Delete_Device_Interface_Key_ExA (_In_ LPCSTR pszDeviceInterface, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Delete_Device_Interface_Key_ExW (_In_ LPCWSTR pszDeviceInterface, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Query_Arbitrator_Free_Data (_Out_writes_bytes_(DataLen) PVOID pData, _In_ ULONG DataLen, _In_ DEVINST dnDevInst, _In_ RESOURCEID ResourceID, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Query_Arbitrator_Free_Data_Ex (_Out_writes_bytes_(DataLen) PVOID pData, _In_ ULONG DataLen, _In_ DEVINST dnDevInst, _In_ RESOURCEID ResourceID, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Query_Arbitrator_Free_Size (_Out_ PULONG pulSize, _In_ DEVINST dnDevInst, _In_ RESOURCEID ResourceID, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Query_Arbitrator_Free_Size_Ex (_Out_ PULONG pulSize, _In_ DEVINST dnDevInst, _In_ RESOURCEID ResourceID, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Query_Remove_SubTree (_In_ DEVINST dnAncestor, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Query_Remove_SubTree_Ex (_In_ DEVINST dnAncestor, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Query_And_Remove_SubTreeA (_In_ DEVINST dnAncestor, _Out_opt_ PPNP_VETO_TYPE pVetoType, _Out_writes_opt_(ulNameLength) LPSTR pszVetoName, _In_ ULONG ulNameLength, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Query_And_Remove_SubTreeW (_In_ DEVINST dnAncestor, _Out_opt_ PPNP_VETO_TYPE pVetoType, _Out_writes_opt_(ulNameLength) LPWSTR pszVetoName, _In_ ULONG ulNameLength, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Query_And_Remove_SubTree_ExA (_In_ DEVINST dnAncestor, _Out_opt_ PPNP_VETO_TYPE pVetoType, _Out_writes_opt_(ulNameLength) LPSTR pszVetoName, _In_ ULONG ulNameLength, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Query_And_Remove_SubTree_ExW (_In_ DEVINST dnAncestor, _Out_opt_ PPNP_VETO_TYPE pVetoType, _Out_writes_opt_(ulNameLength) LPWSTR pszVetoName, _In_ ULONG ulNameLength, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Query_Resource_Conflict_List (_Out_ PCONFLICT_LIST pclConflictList, _In_ DEVINST dnDevInst, _In_ RESOURCEID ResourceID, _In_reads_bytes_(ResourceLen) PCVOID ResourceData, _In_ ULONG ResourceLen, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Reenumerate_DevNode (_In_ DEVINST dnDevInst, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Reenumerate_DevNode_Ex (_In_ DEVINST dnDevInst, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Register_Device_InterfaceA (_In_ DEVINST dnDevInst, _In_ LPGUID InterfaceClassGuid, _In_opt_ LPCSTR pszReference, _Out_writes_(*pulLength) LPSTR pszDeviceInterface, _Inout_ PULONG pulLength, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Register_Device_InterfaceW (_In_ DEVINST dnDevInst, _In_ LPGUID InterfaceClassGuid, _In_opt_ LPCWSTR pszReference, _Out_writes_(*pulLength) LPWSTR pszDeviceInterface, _Inout_ PULONG pulLength, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Register_Device_Interface_ExA (_In_ DEVINST dnDevInst, _In_ LPGUID InterfaceClassGuid, _In_opt_ LPCSTR pszReference, _Out_writes_(*pulLength) LPSTR pszDeviceInterface, _Inout_ PULONG pulLength, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Register_Device_Interface_ExW (_In_ DEVINST dnDevInst, _In_ LPGUID InterfaceClassGuid, _In_opt_ LPCWSTR pszReference, _Out_writes_(*pulLength) LPWSTR pszDeviceInterface, _Inout_ PULONG pulLength, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Request_Device_EjectA (_In_ DEVINST dnDevInst, _Out_opt_ PPNP_VETO_TYPE pVetoType, _Out_writes_opt_(ulNameLength) LPSTR pszVetoName, _In_ ULONG ulNameLength, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Request_Device_Eject_ExW (_In_ DEVINST dnDevInst, _Out_opt_ PPNP_VETO_TYPE pVetoType, _Out_writes_opt_(ulNameLength) LPWSTR pszVetoName, _In_ ULONG ulNameLength, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Request_Device_Eject_ExA (_In_ DEVINST dnDevInst, _Out_opt_ PPNP_VETO_TYPE pVetoType, _Out_writes_opt_(ulNameLength) LPSTR pszVetoName, _In_ ULONG ulNameLength, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Request_Device_EjectW (_In_ DEVINST dnDevInst, _Out_opt_ PPNP_VETO_TYPE pVetoType, _Out_writes_opt_(ulNameLength) LPWSTR pszVetoName, _In_ ULONG ulNameLength, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Request_Eject_PC (VOID)
 
CMAPI CONFIGRET WINAPI CM_Request_Eject_PC_Ex (_In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Run_Detection (_In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Run_Detection_Ex (_In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CONFIGRET CM_Apply_PowerScheme (VOID)
 
CONFIGRET CM_Write_UserPowerKey (_In_opt_ CONST GUID *SchemeGuid, _In_opt_ CONST GUID *SubGroupOfPowerSettingsGuid, _In_opt_ CONST GUID *PowerSettingGuid, _In_ ULONG AccessFlags, _In_ ULONG Type, _In_reads_bytes_(BufferSize) UCHAR *Buffer, _In_ DWORD BufferSize, _Out_ PDWORD Error)
 
CONFIGRET CM_Set_ActiveScheme (_In_ CONST GUID *SchemeGuid, _Out_ PDWORD Error)
 
CONFIGRET CM_Restore_DefaultPowerScheme (_In_ CONST GUID *SchemeGuid, _Out_ PDWORD Error)
 
CONFIGRET CM_RestoreAll_DefaultPowerSchemes (_Out_ PDWORD Error)
 
CONFIGRET CM_Duplicate_PowerScheme (_In_ CONST GUID *SourceSchemeGuid, _Inout_ GUID **DestinationSchemeGuid, _Out_ PDWORD Error)
 
CONFIGRET CM_Delete_PowerScheme (_In_ CONST GUID *SchemeGuid, _Out_ PDWORD Error)
 
CONFIGRET CM_Import_PowerScheme (_In_ LPCWSTR ImportFileNamePath, _Inout_ GUID **DestinationSchemeGuid, _Out_ PDWORD Error)
 
CMAPI CONFIGRET WINAPI CM_Set_DevNode_Problem (_In_ DEVINST dnDevInst, _In_ ULONG ulProblem, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Set_DevNode_Problem_Ex (_In_ DEVINST dnDevInst, _In_ ULONG ulProblem, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Unregister_Device_InterfaceA (_In_ LPCSTR pszDeviceInterface, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Unregister_Device_InterfaceW (_In_ LPCWSTR pszDeviceInterface, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Unregister_Device_Interface_ExA (_In_ LPCSTR pszDeviceInterface, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Unregister_Device_Interface_ExW (_In_ LPCWSTR pszDeviceInterface, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Register_Device_Driver (_In_ DEVINST dnDevInst, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Register_Device_Driver_Ex (_In_ DEVINST dnDevInst, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Remove_SubTree (_In_ DEVINST dnAncestor, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Remove_SubTree_Ex (_In_ DEVINST dnAncestor, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Set_DevNode_Registry_PropertyA (_In_ DEVINST dnDevInst, _In_ ULONG ulProperty, _In_reads_bytes_opt_(ulLength) PCVOID Buffer, _In_ ULONG ulLength, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Set_DevNode_Registry_PropertyW (_In_ DEVINST dnDevInst, _In_ ULONG ulProperty, _In_reads_bytes_opt_(ulLength) PCVOID Buffer, _In_ ULONG ulLength, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Set_DevNode_Registry_Property_ExA (_In_ DEVINST dnDevInst, _In_ ULONG ulProperty, _In_reads_bytes_opt_(ulLength) PCVOID Buffer, _In_ ULONG ulLength, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Set_DevNode_Registry_Property_ExW (_In_ DEVINST dnDevInst, _In_ ULONG ulProperty, _In_reads_bytes_opt_(ulLength) PCVOID Buffer, _In_ ULONG ulLength, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Set_HW_Prof (_In_ ULONG ulHardwareProfile, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Set_HW_Prof_Ex (_In_ ULONG ulHardwareProfile, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Set_HW_Prof_FlagsA (_In_ DEVINSTID_A szDevInstName, _In_ ULONG ulConfig, _In_ ULONG ulValue, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Set_HW_Prof_FlagsW (_In_ DEVINSTID_W szDevInstName, _In_ ULONG ulConfig, _In_ ULONG ulValue, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Set_HW_Prof_Flags_ExA (_In_ DEVINSTID_A szDevInstName, _In_ ULONG ulConfig, _In_ ULONG ulValue, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Set_HW_Prof_Flags_ExW (_In_ DEVINSTID_W szDevInstName, _In_ ULONG ulConfig, _In_ ULONG ulValue, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Setup_DevNode (_In_ DEVINST dnDevInst, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Setup_DevNode_Ex (_In_ DEVINST dnDevInst, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI CONFIGRET WINAPI CM_Test_Range_Available (_In_ DWORDLONG ullStartValue, _In_ DWORDLONG ullEndValue, _In_ RANGE_LIST rlh, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Uninstall_DevNode (_In_ DEVINST dnPhantom, _In_ ULONG ulFlags)
 
CMAPI CONFIGRET WINAPI CM_Uninstall_DevNode_Ex (_In_ DEVINST dnPhantom, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
 
CMAPI DWORD WINAPI CMP_WaitNoPendingInstallEvents (_In_ DWORD dwTimeout)
 

Macro Definition Documentation

◆ _CFGMGR32_H_

#define _CFGMGR32_H_

Definition at line 26 of file cfgmgr32.h.

◆ ALLOC_LOG_CONF

#define ALLOC_LOG_CONF   0x00000002

Definition at line 598 of file cfgmgr32.h.

◆ BASIC_LOG_CONF

#define BASIC_LOG_CONF   0x00000000

Definition at line 596 of file cfgmgr32.h.

◆ BOOT_LOG_CONF

#define BOOT_LOG_CONF   0x00000003

Definition at line 599 of file cfgmgr32.h.

◆ BusNumberType_Range

#define BusNumberType_Range   sizeof(BUSNUMBER_RANGE)

Definition at line 542 of file cfgmgr32.h.

◆ CM_Add_ID

#define CM_Add_ID   CM_Add_IDA

Definition at line 1021 of file cfgmgr32.h.

◆ CM_ADD_ID_BITS

#define CM_ADD_ID_BITS   0x00000001

Definition at line 616 of file cfgmgr32.h.

◆ CM_ADD_ID_COMPATIBLE

#define CM_ADD_ID_COMPATIBLE   0x00000001

Definition at line 615 of file cfgmgr32.h.

◆ CM_Add_ID_Ex

#define CM_Add_ID_Ex   CM_Add_ID_ExA

Definition at line 1022 of file cfgmgr32.h.

◆ CM_ADD_ID_HARDWARE

#define CM_ADD_ID_HARDWARE   0x00000000

Definition at line 614 of file cfgmgr32.h.

◆ CM_ADD_RANGE_ADDIFCONFLICT

#define CM_ADD_RANGE_ADDIFCONFLICT   0x00000000

Definition at line 592 of file cfgmgr32.h.

◆ CM_ADD_RANGE_BITS

#define CM_ADD_RANGE_BITS   0x00000001

Definition at line 594 of file cfgmgr32.h.

◆ CM_ADD_RANGE_DONOTADDIFCONFLICT

#define CM_ADD_RANGE_DONOTADDIFCONFLICT   0x00000001

Definition at line 593 of file cfgmgr32.h.

◆ CM_CDFLAGS_DRIVER

#define CM_CDFLAGS_DRIVER   0x00000001

Definition at line 148 of file cfgmgr32.h.

◆ CM_CDFLAGS_RESERVED

#define CM_CDFLAGS_RESERVED   0x00000004

Definition at line 150 of file cfgmgr32.h.

◆ CM_CDFLAGS_ROOT_OWNED

#define CM_CDFLAGS_ROOT_OWNED   0x00000002

Definition at line 149 of file cfgmgr32.h.

◆ CM_CDMASK_DESCRIPTION

#define CM_CDMASK_DESCRIPTION   0x00000008

Definition at line 144 of file cfgmgr32.h.

◆ CM_CDMASK_DEVINST

#define CM_CDMASK_DEVINST   0x00000001

Definition at line 141 of file cfgmgr32.h.

◆ CM_CDMASK_FLAGS

#define CM_CDMASK_FLAGS   0x00000004

Definition at line 143 of file cfgmgr32.h.

◆ CM_CDMASK_RESDES

#define CM_CDMASK_RESDES   0x00000002

Definition at line 142 of file cfgmgr32.h.

◆ CM_CDMASK_VALID

#define CM_CDMASK_VALID   0x0000000F

Definition at line 145 of file cfgmgr32.h.

◆ CM_Connect_Machine

#define CM_Connect_Machine   CM_Connect_MachineA

Definition at line 1074 of file cfgmgr32.h.

◆ CM_Create_DevInst

#define CM_Create_DevInst   CM_Create_DevNodeA

Definition at line 1126 of file cfgmgr32.h.

◆ CM_CREATE_DEVINST_BITS

#define CM_CREATE_DEVINST_BITS   CM_CREATE_DEVNODE_BITS

Definition at line 631 of file cfgmgr32.h.

◆ CM_CREATE_DEVINST_DO_NOT_INSTALL

#define CM_CREATE_DEVINST_DO_NOT_INSTALL   CM_CREATE_DEVNODE_DO_NOT_INSTALL

Definition at line 630 of file cfgmgr32.h.

◆ CM_Create_DevInst_Ex

#define CM_Create_DevInst_Ex   CM_Create_DevNode_ExA

Definition at line 1128 of file cfgmgr32.h.

◆ CM_Create_DevInst_ExA

#define CM_Create_DevInst_ExA   CM_Create_DevNode_ExA

Definition at line 1118 of file cfgmgr32.h.

◆ CM_Create_DevInst_ExW

#define CM_Create_DevInst_ExW   CM_Create_DevNode_ExW

Definition at line 1117 of file cfgmgr32.h.

◆ CM_CREATE_DEVINST_GENERATE_ID

#define CM_CREATE_DEVINST_GENERATE_ID   CM_CREATE_DEVNODE_GENERATE_ID

Definition at line 629 of file cfgmgr32.h.

◆ CM_CREATE_DEVINST_NO_WAIT_INSTALL

#define CM_CREATE_DEVINST_NO_WAIT_INSTALL   CM_CREATE_DEVNODE_NO_WAIT_INSTALL

Definition at line 627 of file cfgmgr32.h.

◆ CM_CREATE_DEVINST_NORMAL

#define CM_CREATE_DEVINST_NORMAL   CM_CREATE_DEVNODE_NORMAL

Definition at line 626 of file cfgmgr32.h.

◆ CM_CREATE_DEVINST_PHANTOM

#define CM_CREATE_DEVINST_PHANTOM   CM_CREATE_DEVNODE_PHANTOM

Definition at line 628 of file cfgmgr32.h.

◆ CM_Create_DevInstA

#define CM_Create_DevInstA   CM_Create_DevNodeA

Definition at line 1116 of file cfgmgr32.h.

◆ CM_Create_DevInstW

#define CM_Create_DevInstW   CM_Create_DevNodeW

Definition at line 1115 of file cfgmgr32.h.

◆ CM_Create_DevNode

#define CM_Create_DevNode   CM_Create_DevNodeA

Definition at line 1125 of file cfgmgr32.h.

◆ CM_CREATE_DEVNODE_BITS

#define CM_CREATE_DEVNODE_BITS   0x0000000F

Definition at line 624 of file cfgmgr32.h.

◆ CM_CREATE_DEVNODE_DO_NOT_INSTALL

#define CM_CREATE_DEVNODE_DO_NOT_INSTALL   0x00000008

Definition at line 623 of file cfgmgr32.h.

◆ CM_Create_DevNode_Ex

#define CM_Create_DevNode_Ex   CM_Create_DevNode_ExA

Definition at line 1127 of file cfgmgr32.h.

◆ CM_CREATE_DEVNODE_GENERATE_ID

#define CM_CREATE_DEVNODE_GENERATE_ID   0x00000004

Definition at line 622 of file cfgmgr32.h.

◆ CM_CREATE_DEVNODE_NO_WAIT_INSTALL

#define CM_CREATE_DEVNODE_NO_WAIT_INSTALL   0x00000001

Definition at line 620 of file cfgmgr32.h.

◆ CM_CREATE_DEVNODE_NORMAL

#define CM_CREATE_DEVNODE_NORMAL   0x00000000

Definition at line 619 of file cfgmgr32.h.

◆ CM_CREATE_DEVNODE_PHANTOM

#define CM_CREATE_DEVNODE_PHANTOM   0x00000002

Definition at line 621 of file cfgmgr32.h.

◆ CM_CRP_CHARACTERISTICS

#define CM_CRP_CHARACTERISTICS   CM_DRP_CHARACTERISTICS

Definition at line 714 of file cfgmgr32.h.

◆ CM_CRP_DEVTYPE

#define CM_CRP_DEVTYPE   CM_DRP_DEVTYPE

Definition at line 710 of file cfgmgr32.h.

◆ CM_CRP_EXCLUSIVE

#define CM_CRP_EXCLUSIVE   CM_DRP_EXCLUSIVE

Definition at line 712 of file cfgmgr32.h.

◆ CM_CRP_LOWERFILTERS

#define CM_CRP_LOWERFILTERS   CM_DRP_LOWERFILTERS

Definition at line 699 of file cfgmgr32.h.

◆ CM_CRP_MAX

#define CM_CRP_MAX   CM_DRP_MAX

Definition at line 733 of file cfgmgr32.h.

◆ CM_CRP_MIN

#define CM_CRP_MIN   CM_DRP_MIN

Definition at line 731 of file cfgmgr32.h.

◆ CM_CRP_SECURITY

#define CM_CRP_SECURITY   CM_DRP_SECURITY

Definition at line 706 of file cfgmgr32.h.

◆ CM_CRP_SECURITY_SDS

#define CM_CRP_SECURITY_SDS   CM_DRP_SECURITY_SDS

Definition at line 708 of file cfgmgr32.h.

◆ CM_CRP_UPPERFILTERS

#define CM_CRP_UPPERFILTERS   CM_DRP_UPPERFILTERS

Definition at line 695 of file cfgmgr32.h.

◆ CM_CUSTOMDEVPROP_BITS

#define CM_CUSTOMDEVPROP_BITS   0x00000001

Definition at line 836 of file cfgmgr32.h.

◆ CM_CUSTOMDEVPROP_MERGE_MULTISZ

#define CM_CUSTOMDEVPROP_MERGE_MULTISZ   0x00000001

Definition at line 835 of file cfgmgr32.h.

◆ CM_DELETE_CLASS_BITS

#define CM_DELETE_CLASS_BITS   0x00000003

Definition at line 639 of file cfgmgr32.h.

◆ CM_DELETE_CLASS_INTERFACE

#define CM_DELETE_CLASS_INTERFACE   0x00000002

Definition at line 637 of file cfgmgr32.h.

◆ CM_DELETE_CLASS_ONLY

#define CM_DELETE_CLASS_ONLY   0x00000000

Definition at line 634 of file cfgmgr32.h.

◆ CM_DELETE_CLASS_SUBKEYS

#define CM_DELETE_CLASS_SUBKEYS   0x00000001

Definition at line 635 of file cfgmgr32.h.

◆ CM_Delete_Device_Interface_Key

#define CM_Delete_Device_Interface_Key   CM_Delete_Device_Interface_KeyA

Definition at line 2636 of file cfgmgr32.h.

◆ CM_Delete_Device_Interface_Key_Ex

#define CM_Delete_Device_Interface_Key_Ex   CM_Delete_Device_Interface_Key_ExA

Definition at line 2637 of file cfgmgr32.h.

◆ CM_Delete_DevInst_Key

#define CM_Delete_DevInst_Key   CM_Delete_DevNode_Key

Definition at line 1170 of file cfgmgr32.h.

◆ CM_Delete_DevInst_Key_Ex

#define CM_Delete_DevInst_Key_Ex   CM_Delete_DevNode_Key_Ex

Definition at line 1171 of file cfgmgr32.h.

◆ CM_DETECT_BITS

#define CM_DETECT_BITS   0x80000007

Definition at line 646 of file cfgmgr32.h.

◆ CM_DETECT_CRASHED

#define CM_DETECT_CRASHED   0x00000002

Definition at line 643 of file cfgmgr32.h.

◆ CM_DETECT_HWPROF_FIRST_BOOT

#define CM_DETECT_HWPROF_FIRST_BOOT   0x00000004

Definition at line 644 of file cfgmgr32.h.

◆ CM_DETECT_NEW_PROFILE

#define CM_DETECT_NEW_PROFILE   0x00000001

Definition at line 642 of file cfgmgr32.h.

◆ CM_DETECT_RUN

#define CM_DETECT_RUN   0x80000000

Definition at line 645 of file cfgmgr32.h.

◆ CM_DEVCAP_DOCKDEVICE

#define CM_DEVCAP_DOCKDEVICE   0x00000008

Definition at line 738 of file cfgmgr32.h.

◆ CM_DEVCAP_EJECTSUPPORTED

#define CM_DEVCAP_EJECTSUPPORTED   0x00000002

Definition at line 736 of file cfgmgr32.h.

◆ CM_DEVCAP_HARDWAREDISABLED

#define CM_DEVCAP_HARDWAREDISABLED   0x00000100

Definition at line 743 of file cfgmgr32.h.

◆ CM_DEVCAP_LOCKSUPPORTED

#define CM_DEVCAP_LOCKSUPPORTED   0x00000001

Definition at line 735 of file cfgmgr32.h.

◆ CM_DEVCAP_NONDYNAMIC

#define CM_DEVCAP_NONDYNAMIC   0x00000200

Definition at line 744 of file cfgmgr32.h.

◆ CM_DEVCAP_RAWDEVICEOK

#define CM_DEVCAP_RAWDEVICEOK   0x00000040

Definition at line 741 of file cfgmgr32.h.

◆ CM_DEVCAP_REMOVABLE

#define CM_DEVCAP_REMOVABLE   0x00000004

Definition at line 737 of file cfgmgr32.h.

◆ CM_DEVCAP_SILENTINSTALL

#define CM_DEVCAP_SILENTINSTALL   0x00000020

Definition at line 740 of file cfgmgr32.h.

◆ CM_DEVCAP_SURPRISEREMOVALOK

#define CM_DEVCAP_SURPRISEREMOVALOK   0x00000080

Definition at line 742 of file cfgmgr32.h.

◆ CM_DEVCAP_UNIQUEID

#define CM_DEVCAP_UNIQUEID   0x00000010

Definition at line 739 of file cfgmgr32.h.

◆ CM_DISABLE_ABSOLUTE

#define CM_DISABLE_ABSOLUTE   0x00000001

Definition at line 649 of file cfgmgr32.h.

◆ CM_DISABLE_BITS

#define CM_DISABLE_BITS   0x00000007

Definition at line 652 of file cfgmgr32.h.

◆ CM_Disable_DevInst

#define CM_Disable_DevInst   CM_Disable_DevNode

Definition at line 1220 of file cfgmgr32.h.

◆ CM_Disable_DevInst_Ex

#define CM_Disable_DevInst_Ex   CM_Disable_DevNode_Ex

Definition at line 1221 of file cfgmgr32.h.

◆ CM_DISABLE_HARDWARE

#define CM_DISABLE_HARDWARE   0x00000002

Definition at line 650 of file cfgmgr32.h.

◆ CM_DISABLE_POLITE

#define CM_DISABLE_POLITE   0x00000000

Definition at line 648 of file cfgmgr32.h.

◆ CM_DISABLE_UI_NOT_OK

#define CM_DISABLE_UI_NOT_OK   0x00000004

Definition at line 651 of file cfgmgr32.h.

◆ CM_DRP_ADDRESS

#define CM_DRP_ADDRESS   0x0000001D

Definition at line 715 of file cfgmgr32.h.

◆ CM_DRP_BASE_CONTAINERID

#define CM_DRP_BASE_CONTAINERID   0x00000025

Definition at line 728 of file cfgmgr32.h.

◆ CM_DRP_BUSNUMBER

#define CM_DRP_BUSNUMBER   0x00000016

Definition at line 703 of file cfgmgr32.h.

◆ CM_DRP_BUSTYPEGUID

#define CM_DRP_BUSTYPEGUID   0x00000014

Definition at line 701 of file cfgmgr32.h.

◆ CM_DRP_CAPABILITIES

#define CM_DRP_CAPABILITIES   0x00000010

Definition at line 691 of file cfgmgr32.h.

◆ CM_DRP_CHARACTERISTICS

#define CM_DRP_CHARACTERISTICS   0x0000001C

Definition at line 713 of file cfgmgr32.h.

◆ CM_DRP_CLASS

#define CM_DRP_CLASS   0x00000008

Definition at line 683 of file cfgmgr32.h.

◆ CM_DRP_CLASSGUID

#define CM_DRP_CLASSGUID   0x00000009

Definition at line 684 of file cfgmgr32.h.

◆ CM_DRP_COMPATIBLEIDS

#define CM_DRP_COMPATIBLEIDS   0x00000003

Definition at line 678 of file cfgmgr32.h.

◆ CM_DRP_CONFIGFLAGS

#define CM_DRP_CONFIGFLAGS   0x0000000B

Definition at line 686 of file cfgmgr32.h.

◆ CM_DRP_DEVICE_POWER_DATA

#define CM_DRP_DEVICE_POWER_DATA   0x0000001F

Definition at line 718 of file cfgmgr32.h.

◆ CM_DRP_DEVICEDESC

#define CM_DRP_DEVICEDESC   0x00000001

Definition at line 676 of file cfgmgr32.h.

◆ CM_DRP_DEVTYPE

#define CM_DRP_DEVTYPE   0x0000001A

Definition at line 709 of file cfgmgr32.h.

◆ CM_DRP_DRIVER

#define CM_DRP_DRIVER   0x0000000A

Definition at line 685 of file cfgmgr32.h.

◆ CM_DRP_ENUMERATOR_NAME

#define CM_DRP_ENUMERATOR_NAME   0x00000017

Definition at line 704 of file cfgmgr32.h.

◆ CM_DRP_EXCLUSIVE

#define CM_DRP_EXCLUSIVE   0x0000001B

Definition at line 711 of file cfgmgr32.h.

◆ CM_DRP_FRIENDLYNAME

#define CM_DRP_FRIENDLYNAME   0x0000000D

Definition at line 688 of file cfgmgr32.h.

◆ CM_DRP_HARDWAREID

#define CM_DRP_HARDWAREID   0x00000002

Definition at line 677 of file cfgmgr32.h.

◆ CM_DRP_INSTALL_STATE

#define CM_DRP_INSTALL_STATE   0x00000023

Definition at line 722 of file cfgmgr32.h.

◆ CM_DRP_LEGACYBUSTYPE

#define CM_DRP_LEGACYBUSTYPE   0x00000015

Definition at line 702 of file cfgmgr32.h.

◆ CM_DRP_LOCATION_INFORMATION

#define CM_DRP_LOCATION_INFORMATION   0x0000000E

Definition at line 689 of file cfgmgr32.h.

◆ CM_DRP_LOCATION_PATHS

#define CM_DRP_LOCATION_PATHS   0x00000024

Definition at line 725 of file cfgmgr32.h.

◆ CM_DRP_LOWERFILTERS

#define CM_DRP_LOWERFILTERS   0x00000013

Definition at line 697 of file cfgmgr32.h.

◆ CM_DRP_MAX

#define CM_DRP_MAX   0x00000025

Definition at line 732 of file cfgmgr32.h.

◆ CM_DRP_MFG

#define CM_DRP_MFG   0x0000000C

Definition at line 687 of file cfgmgr32.h.

◆ CM_DRP_MIN

#define CM_DRP_MIN   0x00000001

Definition at line 730 of file cfgmgr32.h.

◆ CM_DRP_PHYSICAL_DEVICE_OBJECT_NAME

#define CM_DRP_PHYSICAL_DEVICE_OBJECT_NAME   0x0000000F

Definition at line 690 of file cfgmgr32.h.

◆ CM_DRP_REMOVAL_POLICY

#define CM_DRP_REMOVAL_POLICY   0x00000020

Definition at line 719 of file cfgmgr32.h.

◆ CM_DRP_REMOVAL_POLICY_HW_DEFAULT

#define CM_DRP_REMOVAL_POLICY_HW_DEFAULT   0x00000021

Definition at line 720 of file cfgmgr32.h.

◆ CM_DRP_REMOVAL_POLICY_OVERRIDE

#define CM_DRP_REMOVAL_POLICY_OVERRIDE   0x00000022

Definition at line 721 of file cfgmgr32.h.

◆ CM_DRP_SECURITY

#define CM_DRP_SECURITY   0x00000018

Definition at line 705 of file cfgmgr32.h.

◆ CM_DRP_SECURITY_SDS

#define CM_DRP_SECURITY_SDS   0x00000019

Definition at line 707 of file cfgmgr32.h.

◆ CM_DRP_SERVICE

#define CM_DRP_SERVICE   0x00000005

Definition at line 680 of file cfgmgr32.h.

◆ CM_DRP_UI_NUMBER

#define CM_DRP_UI_NUMBER   0x00000011

Definition at line 692 of file cfgmgr32.h.

◆ CM_DRP_UI_NUMBER_DESC_FORMAT

#define CM_DRP_UI_NUMBER_DESC_FORMAT   0x0000001E

Definition at line 716 of file cfgmgr32.h.

◆ CM_DRP_UNUSED0

#define CM_DRP_UNUSED0   0x00000004

Definition at line 679 of file cfgmgr32.h.

◆ CM_DRP_UNUSED1

#define CM_DRP_UNUSED1   0x00000006

Definition at line 681 of file cfgmgr32.h.

◆ CM_DRP_UNUSED2

#define CM_DRP_UNUSED2   0x00000007

Definition at line 682 of file cfgmgr32.h.

◆ CM_DRP_UPPERFILTERS

#define CM_DRP_UPPERFILTERS   0x00000012

Definition at line 693 of file cfgmgr32.h.

◆ CM_Enable_DevInst

#define CM_Enable_DevInst   CM_Enable_DevNode

Definition at line 1252 of file cfgmgr32.h.

◆ CM_Enable_DevInst_Ex

#define CM_Enable_DevInst_Ex   CM_Enable_DevNode_Ex

Definition at line 1253 of file cfgmgr32.h.

◆ CM_Enumerate_Enumerators

#define CM_Enumerate_Enumerators   CM_Enumerate_EnumeratorsA

Definition at line 1314 of file cfgmgr32.h.

◆ CM_Enumerate_Enumerators_Ex

#define CM_Enumerate_Enumerators_Ex   CM_Enumerate_Enumerators_ExA

Definition at line 1315 of file cfgmgr32.h.

◆ CM_Get_Class_Key_Name

#define CM_Get_Class_Key_Name   CM_Get_Class_Key_NameA

Definition at line 1502 of file cfgmgr32.h.

◆ CM_Get_Class_Key_Name_Ex

#define CM_Get_Class_Key_Name_Ex   CM_Get_Class_Key_Name_ExA

Definition at line 1503 of file cfgmgr32.h.

◆ CM_Get_Class_Name

#define CM_Get_Class_Name   CM_Get_Class_NameA

Definition at line 1456 of file cfgmgr32.h.

◆ CM_Get_Class_Name_Ex

#define CM_Get_Class_Name_Ex   CM_Get_Class_Name_ExA

Definition at line 1457 of file cfgmgr32.h.

◆ CM_Get_Class_Registry_Property

#define CM_Get_Class_Registry_Property   CM_Get_Class_Registry_PropertyA

Definition at line 2278 of file cfgmgr32.h.

◆ CM_Get_Device_ID

#define CM_Get_Device_ID   CM_Get_Device_IDA

Definition at line 1565 of file cfgmgr32.h.

◆ CM_Get_Device_ID_Ex

#define CM_Get_Device_ID_Ex   CM_Get_Device_ID_ExA

Definition at line 1566 of file cfgmgr32.h.

◆ CM_Get_Device_ID_List

#define CM_Get_Device_ID_List   CM_Get_Device_ID_ListA

Definition at line 1611 of file cfgmgr32.h.

◆ CM_Get_Device_ID_List_Ex

#define CM_Get_Device_ID_List_Ex   CM_Get_Device_ID_List_ExA

Definition at line 1612 of file cfgmgr32.h.

◆ CM_Get_Device_ID_List_Size

#define CM_Get_Device_ID_List_Size   CM_Get_Device_ID_List_SizeA

Definition at line 1653 of file cfgmgr32.h.

◆ CM_Get_Device_ID_List_Size_Ex

#define CM_Get_Device_ID_List_Size_Ex   CM_Get_Device_ID_List_Size_ExA

Definition at line 1654 of file cfgmgr32.h.

◆ CM_Get_Device_Interface_Alias

#define CM_Get_Device_Interface_Alias   CM_Get_Device_Interface_AliasA

Definition at line 1991 of file cfgmgr32.h.

◆ CM_Get_Device_Interface_Alias_Ex

#define CM_Get_Device_Interface_Alias_Ex   CM_Get_Device_Interface_Alias_ExA

Definition at line 1992 of file cfgmgr32.h.

◆ CM_Get_Device_Interface_List

#define CM_Get_Device_Interface_List   CM_Get_Device_Interface_ListA

Definition at line 2041 of file cfgmgr32.h.

◆ CM_GET_DEVICE_INTERFACE_LIST_ALL_DEVICES

#define CM_GET_DEVICE_INTERFACE_LIST_ALL_DEVICES   0x00000001

Definition at line 673 of file cfgmgr32.h.

◆ CM_GET_DEVICE_INTERFACE_LIST_BITS

#define CM_GET_DEVICE_INTERFACE_LIST_BITS   0x00000001

Definition at line 674 of file cfgmgr32.h.

◆ CM_Get_Device_Interface_List_Ex

#define CM_Get_Device_Interface_List_Ex   CM_Get_Device_Interface_List_ExA

Definition at line 2042 of file cfgmgr32.h.

◆ CM_GET_DEVICE_INTERFACE_LIST_PRESENT

#define CM_GET_DEVICE_INTERFACE_LIST_PRESENT   0x00000000

Definition at line 672 of file cfgmgr32.h.

◆ CM_Get_Device_Interface_List_Size

#define CM_Get_Device_Interface_List_Size   CM_Get_Device_Interface_List_SizeA

Definition at line 2087 of file cfgmgr32.h.

◆ CM_Get_Device_Interface_List_Size_Ex

#define CM_Get_Device_Interface_List_Size_Ex   CM_Get_Device_Interface_List_Size_ExA

Definition at line 2088 of file cfgmgr32.h.

◆ CM_Get_DevInst_Custom_Property

#define CM_Get_DevInst_Custom_Property   CM_Get_DevNode_Custom_PropertyA

Definition at line 1795 of file cfgmgr32.h.

◆ CM_Get_DevInst_Custom_Property_Ex

#define CM_Get_DevInst_Custom_Property_Ex   CM_Get_DevNode_Custom_Property_ExA

Definition at line 1796 of file cfgmgr32.h.

◆ CM_Get_DevInst_Custom_Property_ExA

#define CM_Get_DevInst_Custom_Property_ExA   CM_Get_DevNode_Custom_Property_ExA

Definition at line 1788 of file cfgmgr32.h.

◆ CM_Get_DevInst_Custom_Property_ExW

#define CM_Get_DevInst_Custom_Property_ExW   CM_Get_DevNode_Custom_Property_ExW

Definition at line 1787 of file cfgmgr32.h.

◆ CM_Get_DevInst_Custom_PropertyA

#define CM_Get_DevInst_Custom_PropertyA   CM_Get_DevNode_Custom_PropertyA

Definition at line 1786 of file cfgmgr32.h.

◆ CM_Get_DevInst_Custom_PropertyW

#define CM_Get_DevInst_Custom_PropertyW   CM_Get_DevNode_Custom_PropertyW

Definition at line 1785 of file cfgmgr32.h.

◆ CM_Get_DevInst_Registry_Property

#define CM_Get_DevInst_Registry_Property   CM_Get_DevNode_Registry_PropertyA

Definition at line 1731 of file cfgmgr32.h.

◆ CM_Get_DevInst_Registry_Property_Ex

#define CM_Get_DevInst_Registry_Property_Ex   CM_Get_DevNode_Registry_Property_ExA

Definition at line 1732 of file cfgmgr32.h.

◆ CM_Get_DevInst_Registry_Property_ExA

#define CM_Get_DevInst_Registry_Property_ExA   CM_Get_DevNode_Registry_Property_ExA

Definition at line 1723 of file cfgmgr32.h.

◆ CM_Get_DevInst_Registry_Property_ExW

#define CM_Get_DevInst_Registry_Property_ExW   CM_Get_DevNode_Registry_Property_ExW

Definition at line 1722 of file cfgmgr32.h.

◆ CM_Get_DevInst_Registry_PropertyA

#define CM_Get_DevInst_Registry_PropertyA   CM_Get_DevNode_Registry_PropertyA

Definition at line 1721 of file cfgmgr32.h.

◆ CM_Get_DevInst_Registry_PropertyW

#define CM_Get_DevInst_Registry_PropertyW   CM_Get_DevNode_Registry_PropertyW

Definition at line 1720 of file cfgmgr32.h.

◆ CM_Get_DevInst_Status

#define CM_Get_DevInst_Status   CM_Get_DevNode_Status

Definition at line 1822 of file cfgmgr32.h.

◆ CM_Get_DevInst_Status_Ex

#define CM_Get_DevInst_Status_Ex   CM_Get_DevNode_Status_Ex

Definition at line 1823 of file cfgmgr32.h.

◆ CM_Get_DevNode_Custom_Property

#define CM_Get_DevNode_Custom_Property   CM_Get_DevNode_Custom_PropertyA

Definition at line 1797 of file cfgmgr32.h.

◆ CM_Get_DevNode_Custom_Property_Ex

#define CM_Get_DevNode_Custom_Property_Ex   CM_Get_DevNode_Custom_Property_ExA

Definition at line 1798 of file cfgmgr32.h.

◆ CM_Get_DevNode_Registry_Property

#define CM_Get_DevNode_Registry_Property   CM_Get_DevNode_Registry_PropertyA

Definition at line 1733 of file cfgmgr32.h.

◆ CM_Get_DevNode_Registry_Property_Ex

#define CM_Get_DevNode_Registry_Property_Ex   CM_Get_DevNode_Registry_Property_ExA

Definition at line 1734 of file cfgmgr32.h.

◆ CM_Get_Hardware_Profile_Info

#define CM_Get_Hardware_Profile_Info   CM_Get_Hardware_Profile_InfoA

Definition at line 1895 of file cfgmgr32.h.

◆ CM_Get_Hardware_Profile_Info_Ex

#define CM_Get_Hardware_Profile_Info_Ex   CM_Get_Hardware_Profile_Info_ExA

Definition at line 1896 of file cfgmgr32.h.

◆ CM_Get_HW_Prof_Flags

#define CM_Get_HW_Prof_Flags   CM_Get_HW_Prof_FlagsA

Definition at line 1941 of file cfgmgr32.h.

◆ CM_Get_HW_Prof_Flags_Ex

#define CM_Get_HW_Prof_Flags_Ex   CM_Get_HW_Prof_Flags_ExA

Definition at line 1942 of file cfgmgr32.h.

◆ CM_Get_Resource_Conflict_Details

#define CM_Get_Resource_Conflict_Details   CM_Get_Resource_Conflict_DetailsA

Definition at line 2225 of file cfgmgr32.h.

◆ CM_GETIDLIST_DONOTGENERATE

#define CM_GETIDLIST_DONOTGENERATE   0x10000040

Definition at line 661 of file cfgmgr32.h.

◆ CM_GETIDLIST_FILTER_BITS [1/2]

#define CM_GETIDLIST_FILTER_BITS   0x1000007F

Definition at line 669 of file cfgmgr32.h.

◆ CM_GETIDLIST_FILTER_BITS [2/2]

#define CM_GETIDLIST_FILTER_BITS   0x100003FF

Definition at line 669 of file cfgmgr32.h.

◆ CM_GETIDLIST_FILTER_BUSRELATIONS

#define CM_GETIDLIST_FILTER_BUSRELATIONS   0x00000020

Definition at line 660 of file cfgmgr32.h.

◆ CM_GETIDLIST_FILTER_CLASS

#define CM_GETIDLIST_FILTER_CLASS   0x00000200

Definition at line 668 of file cfgmgr32.h.

◆ CM_GETIDLIST_FILTER_EJECTRELATIONS

#define CM_GETIDLIST_FILTER_EJECTRELATIONS   0x00000004

Definition at line 657 of file cfgmgr32.h.

◆ CM_GETIDLIST_FILTER_ENUMERATOR

#define CM_GETIDLIST_FILTER_ENUMERATOR   0x00000001

Definition at line 655 of file cfgmgr32.h.

◆ CM_GETIDLIST_FILTER_NONE

#define CM_GETIDLIST_FILTER_NONE   0x00000000

Definition at line 654 of file cfgmgr32.h.

◆ CM_GETIDLIST_FILTER_POWERRELATIONS

#define CM_GETIDLIST_FILTER_POWERRELATIONS   0x00000010

Definition at line 659 of file cfgmgr32.h.

◆ CM_GETIDLIST_FILTER_PRESENT

#define CM_GETIDLIST_FILTER_PRESENT   0x00000100

Definition at line 667 of file cfgmgr32.h.

◆ CM_GETIDLIST_FILTER_REMOVALRELATIONS

#define CM_GETIDLIST_FILTER_REMOVALRELATIONS   0x00000008

Definition at line 658 of file cfgmgr32.h.

◆ CM_GETIDLIST_FILTER_SERVICE

#define CM_GETIDLIST_FILTER_SERVICE   0x00000002

Definition at line 656 of file cfgmgr32.h.

◆ CM_GETIDLIST_FILTER_TRANSPORTRELATIONS

#define CM_GETIDLIST_FILTER_TRANSPORTRELATIONS   0x00000080

Definition at line 666 of file cfgmgr32.h.

◆ CM_GLOBAL_STATE_CAN_DO_UI

#define CM_GLOBAL_STATE_CAN_DO_UI   0x00000001

Definition at line 908 of file cfgmgr32.h.

◆ CM_GLOBAL_STATE_DETECTION_PENDING

#define CM_GLOBAL_STATE_DETECTION_PENDING   0x00000010

Definition at line 912 of file cfgmgr32.h.

◆ CM_GLOBAL_STATE_ON_BIG_STACK

#define CM_GLOBAL_STATE_ON_BIG_STACK   0x00000002

Definition at line 909 of file cfgmgr32.h.

◆ CM_GLOBAL_STATE_REBOOT_REQUIRED

#define CM_GLOBAL_STATE_REBOOT_REQUIRED   0x00000020

Definition at line 914 of file cfgmgr32.h.

◆ CM_GLOBAL_STATE_SERVICES_AVAILABLE

#define CM_GLOBAL_STATE_SERVICES_AVAILABLE   0x00000004

Definition at line 910 of file cfgmgr32.h.

◆ CM_GLOBAL_STATE_SHUTTING_DOWN

#define CM_GLOBAL_STATE_SHUTTING_DOWN   0x00000008

Definition at line 911 of file cfgmgr32.h.

◆ CM_HWPI_DOCKED

#define CM_HWPI_DOCKED   0x00000002

Definition at line 551 of file cfgmgr32.h.

◆ CM_HWPI_NOT_DOCKABLE

#define CM_HWPI_NOT_DOCKABLE   0x00000000

Definition at line 549 of file cfgmgr32.h.

◆ CM_HWPI_UNDOCKED

#define CM_HWPI_UNDOCKED   0x00000001

Definition at line 550 of file cfgmgr32.h.

◆ CM_INSTALL_STATE_FAILED_INSTALL

#define CM_INSTALL_STATE_FAILED_INSTALL   2

Definition at line 754 of file cfgmgr32.h.

◆ CM_INSTALL_STATE_FINISH_INSTALL

#define CM_INSTALL_STATE_FINISH_INSTALL   3

Definition at line 755 of file cfgmgr32.h.

◆ CM_INSTALL_STATE_INSTALLED

#define CM_INSTALL_STATE_INSTALLED   0

Definition at line 752 of file cfgmgr32.h.

◆ CM_INSTALL_STATE_NEEDS_REINSTALL

#define CM_INSTALL_STATE_NEEDS_REINSTALL   1

Definition at line 753 of file cfgmgr32.h.

◆ CM_Locate_DevInst

#define CM_Locate_DevInst   CM_Locate_DevNodeA

Definition at line 2404 of file cfgmgr32.h.

◆ CM_LOCATE_DEVINST_BITS

#define CM_LOCATE_DEVINST_BITS   CM_LOCATE_DEVNODE_BITS

Definition at line 770 of file cfgmgr32.h.

◆ CM_LOCATE_DEVINST_CANCELREMOVE

#define CM_LOCATE_DEVINST_CANCELREMOVE   CM_LOCATE_DEVNODE_CANCELREMOVE

Definition at line 768 of file cfgmgr32.h.

◆ CM_Locate_DevInst_Ex

#define CM_Locate_DevInst_Ex   CM_Locate_DevNode_ExA

Definition at line 2406 of file cfgmgr32.h.

◆ CM_Locate_DevInst_ExA

#define CM_Locate_DevInst_ExA   CM_Locate_DevNode_ExA

Definition at line 2394 of file cfgmgr32.h.

◆ CM_Locate_DevInst_ExW

#define CM_Locate_DevInst_ExW   CM_Locate_DevNode_ExW

Definition at line 2395 of file cfgmgr32.h.

◆ CM_LOCATE_DEVINST_NORMAL

#define CM_LOCATE_DEVINST_NORMAL   CM_LOCATE_DEVNODE_NORMAL

Definition at line 766 of file cfgmgr32.h.

◆ CM_LOCATE_DEVINST_NOVALIDATION

#define CM_LOCATE_DEVINST_NOVALIDATION   CM_LOCATE_DEVNODE_NOVALIDATION

Definition at line 769 of file cfgmgr32.h.

◆ CM_LOCATE_DEVINST_PHANTOM

#define CM_LOCATE_DEVINST_PHANTOM   CM_LOCATE_DEVNODE_PHANTOM

Definition at line 767 of file cfgmgr32.h.

◆ CM_Locate_DevInstA

#define CM_Locate_DevInstA   CM_Locate_DevNodeA

Definition at line 2392 of file cfgmgr32.h.

◆ CM_Locate_DevInstW

#define CM_Locate_DevInstW   CM_Locate_DevNodeW

Definition at line 2393 of file cfgmgr32.h.

◆ CM_Locate_DevNode

#define CM_Locate_DevNode   CM_Locate_DevNodeA

Definition at line 2403 of file cfgmgr32.h.

◆ CM_LOCATE_DEVNODE_BITS

#define CM_LOCATE_DEVNODE_BITS   0x00000007

Definition at line 764 of file cfgmgr32.h.

◆ CM_LOCATE_DEVNODE_CANCELREMOVE

#define CM_LOCATE_DEVNODE_CANCELREMOVE   0x00000002

Definition at line 762 of file cfgmgr32.h.

◆ CM_Locate_DevNode_Ex

#define CM_Locate_DevNode_Ex   CM_Locate_DevNode_ExA

Definition at line 2405 of file cfgmgr32.h.

◆ CM_LOCATE_DEVNODE_NORMAL

#define CM_LOCATE_DEVNODE_NORMAL   0x00000000

Definition at line 760 of file cfgmgr32.h.

◆ CM_LOCATE_DEVNODE_NOVALIDATION

#define CM_LOCATE_DEVNODE_NOVALIDATION   0x00000004

Definition at line 763 of file cfgmgr32.h.

◆ CM_LOCATE_DEVNODE_PHANTOM

#define CM_LOCATE_DEVNODE_PHANTOM   0x00000001

Definition at line 761 of file cfgmgr32.h.

◆ CM_Move_DevInst

#define CM_Move_DevInst   CM_Move_DevNode

Definition at line 2458 of file cfgmgr32.h.

◆ CM_Move_DevInst_Ex

#define CM_Move_DevInst_Ex   CM_Move_DevNode_Ex

Definition at line 2459 of file cfgmgr32.h.

◆ CM_NAME_ATTRIBUTE_NAME_RETRIEVED_FROM_DEVICE

#define CM_NAME_ATTRIBUTE_NAME_RETRIEVED_FROM_DEVICE   0x1

Definition at line 839 of file cfgmgr32.h.

◆ CM_NAME_ATTRIBUTE_USER_ASSIGNED_NAME

#define CM_NAME_ATTRIBUTE_USER_ASSIGNED_NAME   0x2

Definition at line 840 of file cfgmgr32.h.

◆ CM_Open_Class_Key

#define CM_Open_Class_Key   CM_Open_Class_KeyA

Definition at line 2520 of file cfgmgr32.h.

◆ CM_OPEN_CLASS_KEY_BITS

#define CM_OPEN_CLASS_KEY_BITS   0x00000001

Definition at line 774 of file cfgmgr32.h.

◆ CM_Open_Class_Key_Ex

#define CM_Open_Class_Key_Ex   CM_Open_Class_Key_ExA

Definition at line 2521 of file cfgmgr32.h.

◆ CM_OPEN_CLASS_KEY_INSTALLER

#define CM_OPEN_CLASS_KEY_INSTALLER   0x00000000

Definition at line 772 of file cfgmgr32.h.

◆ CM_OPEN_CLASS_KEY_INTERFACE

#define CM_OPEN_CLASS_KEY_INTERFACE   0x00000001

Definition at line 773 of file cfgmgr32.h.

◆ CM_Open_Device_Interface_Key

#define CM_Open_Device_Interface_Key   CM_Open_Device_Interface_KeyA

Definition at line 2598 of file cfgmgr32.h.

◆ CM_Open_Device_Interface_Key_Ex

#define CM_Open_Device_Interface_Key_Ex   CM_Open_Device_Interface_Key_ExA

Definition at line 2599 of file cfgmgr32.h.

◆ CM_Open_DevInst_Key

#define CM_Open_DevInst_Key   CM_Open_DevNode_Key

Definition at line 2547 of file cfgmgr32.h.

◆ CM_Open_DevInst_Key_Ex

#define CM_Open_DevInst_Key_Ex   CM_Open_DevNode_Key_Ex

Definition at line 2548 of file cfgmgr32.h.

◆ CM_Query_And_Remove_SubTree

#define CM_Query_And_Remove_SubTree   CM_Query_And_Remove_SubTreeA

Definition at line 2743 of file cfgmgr32.h.

◆ CM_Query_And_Remove_SubTree_Ex

#define CM_Query_And_Remove_SubTree_Ex   CM_Query_And_Remove_SubTree_ExA

Definition at line 2744 of file cfgmgr32.h.

◆ CM_QUERY_ARBITRATOR_BITS

#define CM_QUERY_ARBITRATOR_BITS   0x00000001

Definition at line 832 of file cfgmgr32.h.

◆ CM_QUERY_ARBITRATOR_RAW

#define CM_QUERY_ARBITRATOR_RAW   0x00000000

Definition at line 830 of file cfgmgr32.h.

◆ CM_QUERY_ARBITRATOR_TRANSLATED

#define CM_QUERY_ARBITRATOR_TRANSLATED   0x00000001

Definition at line 831 of file cfgmgr32.h.

◆ CM_QUERY_REMOVE_BITS

Definition at line 784 of file cfgmgr32.h.

◆ CM_QUERY_REMOVE_UI_NOT_OK

#define CM_QUERY_REMOVE_UI_NOT_OK   (CM_REMOVE_UI_NOT_OK)

Definition at line 783 of file cfgmgr32.h.

◆ CM_QUERY_REMOVE_UI_OK

#define CM_QUERY_REMOVE_UI_OK   (CM_REMOVE_UI_OK)

Definition at line 782 of file cfgmgr32.h.

◆ CM_REENUMERATE_ASYNCHRONOUS

#define CM_REENUMERATE_ASYNCHRONOUS   0x00000004

Definition at line 791 of file cfgmgr32.h.

◆ CM_REENUMERATE_BITS

#define CM_REENUMERATE_BITS   0x00000007

Definition at line 793 of file cfgmgr32.h.

◆ CM_Reenumerate_DevInst

#define CM_Reenumerate_DevInst   CM_Reenumerate_DevNode

Definition at line 2774 of file cfgmgr32.h.

◆ CM_Reenumerate_DevInst_Ex

#define CM_Reenumerate_DevInst_Ex   CM_Reenumerate_DevNode_Ex

Definition at line 2775 of file cfgmgr32.h.

◆ CM_REENUMERATE_NORMAL

#define CM_REENUMERATE_NORMAL   0x00000000

Definition at line 787 of file cfgmgr32.h.

◆ CM_REENUMERATE_RETRY_INSTALLATION

#define CM_REENUMERATE_RETRY_INSTALLATION   0x00000002

Definition at line 790 of file cfgmgr32.h.

◆ CM_REENUMERATE_SYNCHRONOUS

#define CM_REENUMERATE_SYNCHRONOUS   0x00000001

Definition at line 788 of file cfgmgr32.h.

◆ CM_REGISTER_DEVICE_DRIVER_BITS

#define CM_REGISTER_DEVICE_DRIVER_BITS   0x00000003

Definition at line 798 of file cfgmgr32.h.

◆ CM_REGISTER_DEVICE_DRIVER_DISABLEABLE

#define CM_REGISTER_DEVICE_DRIVER_DISABLEABLE   0x00000001

Definition at line 796 of file cfgmgr32.h.

◆ CM_REGISTER_DEVICE_DRIVER_REMOVABLE

#define CM_REGISTER_DEVICE_DRIVER_REMOVABLE   0x00000002

Definition at line 797 of file cfgmgr32.h.

◆ CM_REGISTER_DEVICE_DRIVER_STATIC

#define CM_REGISTER_DEVICE_DRIVER_STATIC   0x00000000

Definition at line 795 of file cfgmgr32.h.

◆ CM_Register_Device_Interface

#define CM_Register_Device_Interface   CM_Register_Device_InterfaceA

Definition at line 2827 of file cfgmgr32.h.

◆ CM_Register_Device_Interface_Ex

#define CM_Register_Device_Interface_Ex   CM_Register_Device_Interface_ExA

Definition at line 2828 of file cfgmgr32.h.

◆ CM_REGISTRY_BITS

#define CM_REGISTRY_BITS   0x00000301

Definition at line 804 of file cfgmgr32.h.

◆ CM_REGISTRY_CONFIG

#define CM_REGISTRY_CONFIG   0x00000200

Definition at line 803 of file cfgmgr32.h.

◆ CM_REGISTRY_HARDWARE

#define CM_REGISTRY_HARDWARE   0x00000000

Definition at line 800 of file cfgmgr32.h.

◆ CM_REGISTRY_SOFTWARE

#define CM_REGISTRY_SOFTWARE   0x00000001

Definition at line 801 of file cfgmgr32.h.

◆ CM_REGISTRY_USER

#define CM_REGISTRY_USER   0x00000100

Definition at line 802 of file cfgmgr32.h.

◆ CM_REMOVAL_POLICY_EXPECT_NO_REMOVAL

#define CM_REMOVAL_POLICY_EXPECT_NO_REMOVAL   1

Definition at line 748 of file cfgmgr32.h.

◆ CM_REMOVAL_POLICY_EXPECT_ORDERLY_REMOVAL

#define CM_REMOVAL_POLICY_EXPECT_ORDERLY_REMOVAL   2

Definition at line 749 of file cfgmgr32.h.

◆ CM_REMOVAL_POLICY_EXPECT_SURPRISE_REMOVAL

#define CM_REMOVAL_POLICY_EXPECT_SURPRISE_REMOVAL   3

Definition at line 750 of file cfgmgr32.h.

◆ CM_REMOVE_BITS

#define CM_REMOVE_BITS   0x00000003

Definition at line 780 of file cfgmgr32.h.

◆ CM_REMOVE_NO_RESTART

#define CM_REMOVE_NO_RESTART   0x00000002

Definition at line 779 of file cfgmgr32.h.

◆ CM_REMOVE_UI_NOT_OK

#define CM_REMOVE_UI_NOT_OK   0x00000001

Definition at line 778 of file cfgmgr32.h.

◆ CM_REMOVE_UI_OK

#define CM_REMOVE_UI_OK   0x00000000

Definition at line 777 of file cfgmgr32.h.

◆ CM_Request_Device_Eject

#define CM_Request_Device_Eject   CM_Request_Device_EjectA

Definition at line 2877 of file cfgmgr32.h.

◆ CM_Request_Device_Eject_Ex

#define CM_Request_Device_Eject_Ex   CM_Request_Device_Eject_ExA

Definition at line 2878 of file cfgmgr32.h.

◆ CM_RESDES_WIDTH_32

#define CM_RESDES_WIDTH_32   0x00000001

Definition at line 400 of file cfgmgr32.h.

◆ CM_RESDES_WIDTH_64

#define CM_RESDES_WIDTH_64   0x00000002

Definition at line 401 of file cfgmgr32.h.

◆ CM_RESDES_WIDTH_BITS

#define CM_RESDES_WIDTH_BITS   0x00000003

Definition at line 402 of file cfgmgr32.h.

◆ CM_RESDES_WIDTH_DEFAULT

#define CM_RESDES_WIDTH_DEFAULT   0x00000000

Definition at line 399 of file cfgmgr32.h.

◆ CM_Set_Class_Registry_Property

#define CM_Set_Class_Registry_Property   CM_Set_Class_Registry_PropertyA

Definition at line 2279 of file cfgmgr32.h.

◆ CM_Set_DevInst_Problem

#define CM_Set_DevInst_Problem   CM_Set_DevNode_Problem

Definition at line 2971 of file cfgmgr32.h.

◆ CM_SET_DEVINST_PROBLEM_BITS

#define CM_SET_DEVINST_PROBLEM_BITS   CM_SET_DEVNODE_PROBLEM_BITS

Definition at line 812 of file cfgmgr32.h.

◆ CM_Set_DevInst_Problem_Ex

#define CM_Set_DevInst_Problem_Ex   CM_Set_DevNode_Problem_Ex

Definition at line 2972 of file cfgmgr32.h.

◆ CM_SET_DEVINST_PROBLEM_NORMAL

#define CM_SET_DEVINST_PROBLEM_NORMAL   CM_SET_DEVNODE_PROBLEM_NORMAL

Definition at line 810 of file cfgmgr32.h.

◆ CM_SET_DEVINST_PROBLEM_OVERRIDE

#define CM_SET_DEVINST_PROBLEM_OVERRIDE   CM_SET_DEVNODE_PROBLEM_OVERRIDE

Definition at line 811 of file cfgmgr32.h.

◆ CM_Set_DevInst_Registry_Property

#define CM_Set_DevInst_Registry_Property   CM_Set_DevNode_Registry_PropertyA

Definition at line 3095 of file cfgmgr32.h.

◆ CM_Set_DevInst_Registry_Property_Ex

#define CM_Set_DevInst_Registry_Property_Ex   CM_Set_DevNode_Registry_Property_ExA

Definition at line 3096 of file cfgmgr32.h.

◆ CM_Set_DevInst_Registry_Property_ExA

#define CM_Set_DevInst_Registry_Property_ExA   CM_Set_DevNode_Registry_Property_ExA

Definition at line 3087 of file cfgmgr32.h.

◆ CM_Set_DevInst_Registry_Property_ExW

#define CM_Set_DevInst_Registry_Property_ExW   CM_Set_DevNode_Registry_Property_ExW

Definition at line 3086 of file cfgmgr32.h.

◆ CM_Set_DevInst_Registry_PropertyA

#define CM_Set_DevInst_Registry_PropertyA   CM_Set_DevNode_Registry_PropertyA

Definition at line 3085 of file cfgmgr32.h.

◆ CM_Set_DevInst_Registry_PropertyW

#define CM_Set_DevInst_Registry_PropertyW   CM_Set_DevNode_Registry_PropertyW

Definition at line 3084 of file cfgmgr32.h.

◆ CM_SET_DEVNODE_PROBLEM_BITS

#define CM_SET_DEVNODE_PROBLEM_BITS   0x00000001

Definition at line 808 of file cfgmgr32.h.

◆ CM_SET_DEVNODE_PROBLEM_NORMAL

#define CM_SET_DEVNODE_PROBLEM_NORMAL   0x00000000

Definition at line 806 of file cfgmgr32.h.

◆ CM_SET_DEVNODE_PROBLEM_OVERRIDE

#define CM_SET_DEVNODE_PROBLEM_OVERRIDE   0x00000001

Definition at line 807 of file cfgmgr32.h.

◆ CM_Set_DevNode_Registry_Property

#define CM_Set_DevNode_Registry_Property   CM_Set_DevNode_Registry_PropertyA

Definition at line 3097 of file cfgmgr32.h.

◆ CM_Set_DevNode_Registry_Property_Ex

#define CM_Set_DevNode_Registry_Property_Ex   CM_Set_DevNode_Registry_Property_ExA

Definition at line 3098 of file cfgmgr32.h.

◆ CM_Set_HW_Prof_Flags

#define CM_Set_HW_Prof_Flags   CM_Set_HW_Prof_FlagsA

Definition at line 3158 of file cfgmgr32.h.

◆ CM_SET_HW_PROF_FLAGS_BITS

#define CM_SET_HW_PROF_FLAGS_BITS   0x00000001

Definition at line 816 of file cfgmgr32.h.

◆ CM_Set_HW_Prof_Flags_Ex

#define CM_Set_HW_Prof_Flags_Ex   CM_Set_HW_Prof_Flags_ExA

Definition at line 3159 of file cfgmgr32.h.

◆ CM_SET_HW_PROF_FLAGS_UI_NOT_OK

#define CM_SET_HW_PROF_FLAGS_UI_NOT_OK   0x00000001

Definition at line 815 of file cfgmgr32.h.

◆ CM_SETUP_BITS

#define CM_SETUP_BITS   0x00000007

Definition at line 828 of file cfgmgr32.h.

◆ CM_Setup_DevInst

#define CM_Setup_DevInst   CM_Setup_DevNode

Definition at line 3177 of file cfgmgr32.h.

◆ CM_Setup_DevInst_Ex

#define CM_Setup_DevInst_Ex   CM_Setup_DevNode_Ex

Definition at line 3178 of file cfgmgr32.h.

◆ CM_SETUP_DEVINST_READY

#define CM_SETUP_DEVINST_READY   CM_SETUP_DEVNODE_READY

Definition at line 820 of file cfgmgr32.h.

◆ CM_SETUP_DEVINST_RESET

#define CM_SETUP_DEVINST_RESET   CM_SETUP_DEVNODE_RESET

Definition at line 826 of file cfgmgr32.h.

◆ CM_SETUP_DEVNODE_READY

#define CM_SETUP_DEVNODE_READY   0x00000000

Definition at line 819 of file cfgmgr32.h.

◆ CM_SETUP_DEVNODE_RESET

#define CM_SETUP_DEVNODE_RESET   0x00000004

Definition at line 825 of file cfgmgr32.h.

◆ CM_SETUP_DOWNLOAD

#define CM_SETUP_DOWNLOAD   0x00000001

Definition at line 821 of file cfgmgr32.h.

◆ CM_SETUP_PROP_CHANGE

#define CM_SETUP_PROP_CHANGE   0x00000003

Definition at line 823 of file cfgmgr32.h.

◆ CM_SETUP_WRITE_LOG_CONFS

#define CM_SETUP_WRITE_LOG_CONFS   0x00000002

Definition at line 822 of file cfgmgr32.h.

◆ CM_Uninstall_DevInst

#define CM_Uninstall_DevInst   CM_Uninstall_DevNode

Definition at line 3204 of file cfgmgr32.h.

◆ CM_Uninstall_DevInst_Ex

#define CM_Uninstall_DevInst_Ex   CM_Uninstall_DevNode_Ex

Definition at line 3205 of file cfgmgr32.h.

◆ CM_Unregister_Device_Interface

#define CM_Unregister_Device_Interface   CM_Unregister_Device_InterfaceA

Definition at line 3008 of file cfgmgr32.h.

◆ CM_Unregister_Device_Interface_Ex

#define CM_Unregister_Device_Interface_Ex   CM_Unregister_Device_Interface_ExA

Definition at line 3009 of file cfgmgr32.h.

◆ CM_WaitNoPendingInstallEvents

#define CM_WaitNoPendingInstallEvents   CMP_WaitNoPendingInstallEvents

Definition at line 3210 of file cfgmgr32.h.

◆ CMAPI

#define CMAPI   DECLSPEC_IMPORT

Definition at line 41 of file cfgmgr32.h.

◆ CONFIGMG_VERSION

#define CONFIGMG_VERSION   0x0400

Definition at line 64 of file cfgmgr32.h.

◆ CR_ACCESS_DENIED

#define CR_ACCESS_DENIED   0x00000033

Definition at line 897 of file cfgmgr32.h.

◆ CR_ALREADY_SUCH_DEVINST

#define CR_ALREADY_SUCH_DEVINST   CR_ALREADY_SUCH_DEVNODE

Definition at line 862 of file cfgmgr32.h.

◆ CR_ALREADY_SUCH_DEVNODE

#define CR_ALREADY_SUCH_DEVNODE   0x00000010

Definition at line 861 of file cfgmgr32.h.

◆ CR_APM_VETOED

#define CR_APM_VETOED   0x00000018

Definition at line 870 of file cfgmgr32.h.

◆ CR_BUFFER_SMALL

#define CR_BUFFER_SMALL   0x0000001A

Definition at line 872 of file cfgmgr32.h.

◆ CR_CALL_NOT_IMPLEMENTED

#define CR_CALL_NOT_IMPLEMENTED   0x00000034

Definition at line 898 of file cfgmgr32.h.

◆ CR_CANT_SHARE_IRQ

#define CR_CANT_SHARE_IRQ   0x0000002B

Definition at line 889 of file cfgmgr32.h.

◆ CR_CREATE_BLOCKED

#define CR_CREATE_BLOCKED   0x00000015

Definition at line 867 of file cfgmgr32.h.

◆ CR_DEFAULT

#define CR_DEFAULT   0x00000001

Definition at line 843 of file cfgmgr32.h.

◆ CR_DEVICE_INTERFACE_ACTIVE

#define CR_DEVICE_INTERFACE_ACTIVE   0x00000036

Definition at line 900 of file cfgmgr32.h.

◆ CR_DEVICE_NOT_THERE

#define CR_DEVICE_NOT_THERE   0x00000024

Definition at line 882 of file cfgmgr32.h.

◆ CR_DEVINST_HAS_REQS

#define CR_DEVINST_HAS_REQS   CR_DEVNODE_HAS_REQS

Definition at line 854 of file cfgmgr32.h.

◆ CR_DEVLOADER_NOT_READY

#define CR_DEVLOADER_NOT_READY   0x00000021

Definition at line 879 of file cfgmgr32.h.

◆ CR_DEVNODE_HAS_REQS

#define CR_DEVNODE_HAS_REQS   0x0000000A

Definition at line 853 of file cfgmgr32.h.

◆ CR_DLVXD_NOT_FOUND

#define CR_DLVXD_NOT_FOUND   0x0000000C

Definition at line 856 of file cfgmgr32.h.

◆ CR_FAILURE

#define CR_FAILURE   0x00000013

Definition at line 865 of file cfgmgr32.h.

◆ CR_FREE_RESOURCES

#define CR_FREE_RESOURCES   0x00000029

Definition at line 887 of file cfgmgr32.h.

◆ CR_INVALID_API

#define CR_INVALID_API   0x00000020

Definition at line 878 of file cfgmgr32.h.

◆ CR_INVALID_ARBITRATOR

#define CR_INVALID_ARBITRATOR   0x00000008

Definition at line 851 of file cfgmgr32.h.

◆ CR_INVALID_CONFLICT_LIST

#define CR_INVALID_CONFLICT_LIST   0x00000039

Definition at line 903 of file cfgmgr32.h.

◆ CR_INVALID_DATA

#define CR_INVALID_DATA   0x0000001F

Definition at line 877 of file cfgmgr32.h.

◆ CR_INVALID_DEVICE_ID

#define CR_INVALID_DEVICE_ID   0x0000001E

Definition at line 876 of file cfgmgr32.h.

◆ CR_INVALID_DEVINST

#define CR_INVALID_DEVINST   CR_INVALID_DEVNODE

Definition at line 848 of file cfgmgr32.h.

◆ CR_INVALID_DEVNODE

#define CR_INVALID_DEVNODE   0x00000005

Definition at line 847 of file cfgmgr32.h.

◆ CR_INVALID_FLAG

#define CR_INVALID_FLAG   0x00000004

Definition at line 846 of file cfgmgr32.h.

◆ CR_INVALID_INDEX

#define CR_INVALID_INDEX   0x0000003A

Definition at line 904 of file cfgmgr32.h.

◆ CR_INVALID_LOAD_TYPE

#define CR_INVALID_LOAD_TYPE   0x00000019

Definition at line 871 of file cfgmgr32.h.

◆ CR_INVALID_LOG_CONF

#define CR_INVALID_LOG_CONF   0x00000007

Definition at line 850 of file cfgmgr32.h.

◆ CR_INVALID_MACHINENAME

#define CR_INVALID_MACHINENAME   0x0000002F

Definition at line 893 of file cfgmgr32.h.

◆ CR_INVALID_NODELIST

#define CR_INVALID_NODELIST   0x00000009

Definition at line 852 of file cfgmgr32.h.

◆ CR_INVALID_POINTER

#define CR_INVALID_POINTER   0x00000003

Definition at line 845 of file cfgmgr32.h.

◆ CR_INVALID_PRIORITY

#define CR_INVALID_PRIORITY   0x00000027

Definition at line 885 of file cfgmgr32.h.

◆ CR_INVALID_PROPERTY

#define CR_INVALID_PROPERTY   0x00000035

Definition at line 899 of file cfgmgr32.h.

◆ CR_INVALID_RANGE

#define CR_INVALID_RANGE   0x00000012

Definition at line 864 of file cfgmgr32.h.

◆ CR_INVALID_RANGE_LIST

#define CR_INVALID_RANGE_LIST   0x00000011

Definition at line 863 of file cfgmgr32.h.

◆ CR_INVALID_REFERENCE_STRING

#define CR_INVALID_REFERENCE_STRING   0x00000038

Definition at line 902 of file cfgmgr32.h.

◆ CR_INVALID_RES_DES

#define CR_INVALID_RES_DES   0x00000006

Definition at line 849 of file cfgmgr32.h.

◆ CR_INVALID_RESOURCEID

#define CR_INVALID_RESOURCEID   0x0000000B

Definition at line 855 of file cfgmgr32.h.

◆ CR_INVALID_STRUCTURE_SIZE

#define CR_INVALID_STRUCTURE_SIZE   0x0000003B

Definition at line 905 of file cfgmgr32.h.

◆ CR_MACHINE_UNAVAILABLE

#define CR_MACHINE_UNAVAILABLE   0x00000031

Definition at line 895 of file cfgmgr32.h.

◆ CR_NEED_RESTART

#define CR_NEED_RESTART   0x00000022

Definition at line 880 of file cfgmgr32.h.

◆ CR_NO_ARBITRATOR

#define CR_NO_ARBITRATOR   0x0000001B

Definition at line 873 of file cfgmgr32.h.

◆ CR_NO_CM_SERVICES

#define CR_NO_CM_SERVICES   0x00000032

Definition at line 896 of file cfgmgr32.h.

◆ CR_NO_DEPENDENT

#define CR_NO_DEPENDENT   0x0000002C

Definition at line 890 of file cfgmgr32.h.

◆ CR_NO_MORE_HW_PROFILES

#define CR_NO_MORE_HW_PROFILES   0x00000023

Definition at line 881 of file cfgmgr32.h.

◆ CR_NO_MORE_LOG_CONF

#define CR_NO_MORE_LOG_CONF   0x0000000E

Definition at line 859 of file cfgmgr32.h.

◆ CR_NO_MORE_RES_DES

#define CR_NO_MORE_RES_DES   0x0000000F

Definition at line 860 of file cfgmgr32.h.

◆ CR_NO_REGISTRY_HANDLE

#define CR_NO_REGISTRY_HANDLE   0x0000001C

Definition at line 874 of file cfgmgr32.h.

◆ CR_NO_SUCH_DEVICE_INTERFACE

#define CR_NO_SUCH_DEVICE_INTERFACE   0x00000037

Definition at line 901 of file cfgmgr32.h.

◆ CR_NO_SUCH_DEVINST

#define CR_NO_SUCH_DEVINST   CR_NO_SUCH_DEVNODE

Definition at line 858 of file cfgmgr32.h.

◆ CR_NO_SUCH_DEVNODE

#define CR_NO_SUCH_DEVNODE   0x0000000D

Definition at line 857 of file cfgmgr32.h.

◆ CR_NO_SUCH_LOGICAL_DEV

#define CR_NO_SUCH_LOGICAL_DEV   0x00000014

Definition at line 866 of file cfgmgr32.h.

◆ CR_NO_SUCH_REGISTRY_KEY

#define CR_NO_SUCH_REGISTRY_KEY   0x0000002E

Definition at line 892 of file cfgmgr32.h.

◆ CR_NO_SUCH_VALUE

#define CR_NO_SUCH_VALUE   0x00000025

Definition at line 883 of file cfgmgr32.h.

◆ CR_NOT_DISABLEABLE

#define CR_NOT_DISABLEABLE   0x00000028

Definition at line 886 of file cfgmgr32.h.

◆ CR_NOT_SYSTEM_VM

#define CR_NOT_SYSTEM_VM   0x00000016

Definition at line 868 of file cfgmgr32.h.

◆ CR_OUT_OF_MEMORY

#define CR_OUT_OF_MEMORY   0x00000002

Definition at line 844 of file cfgmgr32.h.

◆ CR_QUERY_VETOED

#define CR_QUERY_VETOED   0x0000002A

Definition at line 888 of file cfgmgr32.h.

◆ CR_REGISTRY_ERROR

#define CR_REGISTRY_ERROR   0x0000001D

Definition at line 875 of file cfgmgr32.h.

◆ CR_REMOTE_COMM_FAILURE

#define CR_REMOTE_COMM_FAILURE   0x00000030

Definition at line 894 of file cfgmgr32.h.

◆ CR_REMOVE_VETOED

#define CR_REMOVE_VETOED   0x00000017

Definition at line 869 of file cfgmgr32.h.

◆ CR_SAME_RESOURCES

#define CR_SAME_RESOURCES   0x0000002D

Definition at line 891 of file cfgmgr32.h.

◆ CR_SUCCESS

#define CR_SUCCESS   0x00000000

Definition at line 842 of file cfgmgr32.h.

◆ CR_WRONG_TYPE

#define CR_WRONG_TYPE   0x00000026

Definition at line 884 of file cfgmgr32.h.

◆ DType_Range

#define DType_Range   sizeof(DMA_RANGE)

Definition at line 314 of file cfgmgr32.h.

◆ DWORD_MAX

#define DWORD_MAX   0xffffffffUL

Definition at line 61 of file cfgmgr32.h.

◆ DWORDLONG_MAX

#define DWORDLONG_MAX   0xffffffffffffffffui64

Definition at line 62 of file cfgmgr32.h.

◆ fDD_BusMaster

#define fDD_BusMaster   0x4

Definition at line 293 of file cfgmgr32.h.

◆ fDD_BYTE

#define fDD_BYTE   0x0

Definition at line 286 of file cfgmgr32.h.

◆ fDD_BYTE_AND_WORD

#define fDD_BYTE_AND_WORD   0x3

Definition at line 289 of file cfgmgr32.h.

◆ fDD_DWORD

#define fDD_DWORD   0x2

Definition at line 288 of file cfgmgr32.h.

◆ fDD_NoBusMaster

#define fDD_NoBusMaster   0x0

Definition at line 292 of file cfgmgr32.h.

◆ fDD_TypeA

#define fDD_TypeA   0x08

Definition at line 297 of file cfgmgr32.h.

◆ fDD_TypeB

#define fDD_TypeB   0x10

Definition at line 298 of file cfgmgr32.h.

◆ fDD_TypeF

#define fDD_TypeF   0x18

Definition at line 299 of file cfgmgr32.h.

◆ fDD_TypeStandard

#define fDD_TypeStandard   0x00

Definition at line 296 of file cfgmgr32.h.

◆ fDD_WORD

#define fDD_WORD   0x1

Definition at line 287 of file cfgmgr32.h.

◆ FILTERED_LOG_CONF

#define FILTERED_LOG_CONF   0x00000001

Definition at line 597 of file cfgmgr32.h.

◆ fIOD_10_BIT_DECODE

#define fIOD_10_BIT_DECODE   0x0004

Definition at line 244 of file cfgmgr32.h.

◆ fIOD_12_BIT_DECODE

#define fIOD_12_BIT_DECODE   0x0008

Definition at line 245 of file cfgmgr32.h.

◆ fIOD_16_BIT_DECODE

#define fIOD_16_BIT_DECODE   0x0010

Definition at line 246 of file cfgmgr32.h.

◆ fIOD_DECODE

#define fIOD_DECODE   0x00fc

Definition at line 243 of file cfgmgr32.h.

◆ fIOD_IO

#define fIOD_IO   0x1

Definition at line 242 of file cfgmgr32.h.

◆ fIOD_Memory

#define fIOD_Memory   0x0

Definition at line 241 of file cfgmgr32.h.

◆ fIOD_PASSIVE_DECODE

#define fIOD_PASSIVE_DECODE   0x0040

Definition at line 248 of file cfgmgr32.h.

◆ fIOD_PORT_BAR

#define fIOD_PORT_BAR   0x0100

Definition at line 250 of file cfgmgr32.h.

◆ fIOD_PortType

#define fIOD_PortType   0x1

Definition at line 240 of file cfgmgr32.h.

◆ fIOD_POSITIVE_DECODE

#define fIOD_POSITIVE_DECODE   0x0020

Definition at line 247 of file cfgmgr32.h.

◆ fIOD_WINDOW_DECODE

#define fIOD_WINDOW_DECODE   0x0080

Definition at line 249 of file cfgmgr32.h.

◆ fIRQD_Edge

#define fIRQD_Edge   0x2

Definition at line 331 of file cfgmgr32.h.

◆ fIRQD_Exclusive

#define fIRQD_Exclusive   0x0

Definition at line 323 of file cfgmgr32.h.

◆ fIRQD_Level

#define fIRQD_Level   0x0

Definition at line 330 of file cfgmgr32.h.

◆ fIRQD_Level_Bit

#define fIRQD_Level_Bit   1

Definition at line 327 of file cfgmgr32.h.

◆ fIRQD_Share

#define fIRQD_Share   0x1

Definition at line 324 of file cfgmgr32.h.

◆ fIRQD_Share_Bit

#define fIRQD_Share_Bit   0

Definition at line 326 of file cfgmgr32.h.

◆ fMD_24

#define fMD_24   0x0

Definition at line 164 of file cfgmgr32.h.

◆ fMD_32

#define fMD_32   0x2

Definition at line 165 of file cfgmgr32.h.

◆ fMD_32_24

#define fMD_32_24   mMD_32_24

Definition at line 163 of file cfgmgr32.h.

◆ fMD_Cacheable

#define fMD_Cacheable   0x20

Definition at line 185 of file cfgmgr32.h.

◆ fMD_CombinedWrite

#define fMD_CombinedWrite   mMD_CombinedWrite

Definition at line 179 of file cfgmgr32.h.

◆ fMD_CombinedWriteAllowed

#define fMD_CombinedWriteAllowed   0x10

Definition at line 181 of file cfgmgr32.h.

◆ fMD_CombinedWriteDisallowed

#define fMD_CombinedWriteDisallowed   0x0

Definition at line 180 of file cfgmgr32.h.

◆ fMD_MEMORY_BAR

#define fMD_MEMORY_BAR   0x80

Definition at line 187 of file cfgmgr32.h.

◆ fMD_MemoryType

#define fMD_MemoryType   mMD_MemoryType

Definition at line 158 of file cfgmgr32.h.

◆ fMD_NonCacheable

#define fMD_NonCacheable   0x0

Definition at line 184 of file cfgmgr32.h.

◆ fMD_Pref

#define fMD_Pref   mMD_Prefetchable

Definition at line 169 of file cfgmgr32.h.

◆ fMD_Prefetchable

#define fMD_Prefetchable   mMD_Prefetchable

Definition at line 168 of file cfgmgr32.h.

◆ fMD_PrefetchAllowed

#define fMD_PrefetchAllowed   0x4

Definition at line 171 of file cfgmgr32.h.

◆ fMD_PrefetchDisallowed

#define fMD_PrefetchDisallowed   0x0

Definition at line 170 of file cfgmgr32.h.

◆ fMD_RAM

#define fMD_RAM   0x1

Definition at line 160 of file cfgmgr32.h.

◆ fMD_Readable

#define fMD_Readable   mMD_Readable

Definition at line 174 of file cfgmgr32.h.

◆ fMD_ReadAllowed

#define fMD_ReadAllowed   0x0

Definition at line 175 of file cfgmgr32.h.

◆ fMD_ReadDisallowed

#define fMD_ReadDisallowed   0x8

Definition at line 176 of file cfgmgr32.h.

◆ fMD_ROM

#define fMD_ROM   0x0

Definition at line 159 of file cfgmgr32.h.

◆ fMD_WINDOW_DECODE

#define fMD_WINDOW_DECODE   0x40

Definition at line 186 of file cfgmgr32.h.

◆ FORCED_LOG_CONF

#define FORCED_LOG_CONF   0x00000004

Definition at line 600 of file cfgmgr32.h.

◆ fPCD_ATTRIBUTES_PER_WINDOW

#define fPCD_ATTRIBUTES_PER_WINDOW   0x8000

Definition at line 461 of file cfgmgr32.h.

◆ fPCD_IO1_16

#define fPCD_IO1_16   0x00010000

Definition at line 463 of file cfgmgr32.h.

◆ fPCD_IO1_SRC_16

#define fPCD_IO1_SRC_16   0x00040000

Definition at line 465 of file cfgmgr32.h.

◆ fPCD_IO1_WS_16

#define fPCD_IO1_WS_16   0x00080000

Definition at line 466 of file cfgmgr32.h.

◆ fPCD_IO1_ZW_8

#define fPCD_IO1_ZW_8   0x00020000

Definition at line 464 of file cfgmgr32.h.

◆ fPCD_IO2_16

#define fPCD_IO2_16   0x00100000

Definition at line 468 of file cfgmgr32.h.

◆ fPCD_IO2_SRC_16

#define fPCD_IO2_SRC_16   0x00400000

Definition at line 470 of file cfgmgr32.h.

◆ fPCD_IO2_WS_16

#define fPCD_IO2_WS_16   0x00800000

Definition at line 471 of file cfgmgr32.h.

◆ fPCD_IO2_ZW_8

#define fPCD_IO2_ZW_8   0x00200000

Definition at line 469 of file cfgmgr32.h.

◆ fPCD_IO_16

#define fPCD_IO_16   0x1

Definition at line 442 of file cfgmgr32.h.

◆ fPCD_IO_8

#define fPCD_IO_8   0x0

Definition at line 441 of file cfgmgr32.h.

◆ fPCD_IO_SRC_16

#define fPCD_IO_SRC_16   0x20

Definition at line 450 of file cfgmgr32.h.

◆ fPCD_IO_WS_16

#define fPCD_IO_WS_16   0x40

Definition at line 451 of file cfgmgr32.h.

◆ fPCD_IO_ZW_8

#define fPCD_IO_ZW_8   0x10

Definition at line 449 of file cfgmgr32.h.

◆ fPCD_MEM1_16

#define fPCD_MEM1_16   0x04000000

Definition at line 477 of file cfgmgr32.h.

◆ fPCD_MEM1_A

#define fPCD_MEM1_A   0x4

Definition at line 447 of file cfgmgr32.h.

◆ fPCD_MEM1_WS_ONE

#define fPCD_MEM1_WS_ONE   0x01000000

Definition at line 474 of file cfgmgr32.h.

◆ fPCD_MEM1_WS_THREE

#define fPCD_MEM1_WS_THREE   0x03000000

Definition at line 476 of file cfgmgr32.h.

◆ fPCD_MEM1_WS_TWO

#define fPCD_MEM1_WS_TWO   0x02000000

Definition at line 475 of file cfgmgr32.h.

◆ fPCD_MEM2_16

#define fPCD_MEM2_16   0x40000000

Definition at line 483 of file cfgmgr32.h.

◆ fPCD_MEM2_A

#define fPCD_MEM2_A   0x8

Definition at line 448 of file cfgmgr32.h.

◆ fPCD_MEM2_WS_ONE

#define fPCD_MEM2_WS_ONE   0x10000000

Definition at line 480 of file cfgmgr32.h.

◆ fPCD_MEM2_WS_THREE

#define fPCD_MEM2_WS_THREE   0x30000000

Definition at line 482 of file cfgmgr32.h.

◆ fPCD_MEM2_WS_TWO

#define fPCD_MEM2_WS_TWO   0x20000000

Definition at line 481 of file cfgmgr32.h.

◆ fPCD_MEM_16

#define fPCD_MEM_16   0x2

Definition at line 445 of file cfgmgr32.h.

◆ fPCD_MEM_8

#define fPCD_MEM_8   0x0

Definition at line 444 of file cfgmgr32.h.

◆ fPCD_MEM_A

#define fPCD_MEM_A   0x4

Definition at line 459 of file cfgmgr32.h.

◆ fPCD_MEM_WS_ONE

#define fPCD_MEM_WS_ONE   0x100

Definition at line 453 of file cfgmgr32.h.

◆ fPCD_MEM_WS_THREE

#define fPCD_MEM_WS_THREE   0x300

Definition at line 455 of file cfgmgr32.h.

◆ fPCD_MEM_WS_TWO

#define fPCD_MEM_WS_TWO   0x200

Definition at line 454 of file cfgmgr32.h.

◆ fPMF_AUDIO_ENABLE

#define fPMF_AUDIO_ENABLE   0x8

Definition at line 510 of file cfgmgr32.h.

◆ IO_ALIAS_10_BIT_DECODE

#define IO_ALIAS_10_BIT_DECODE   0x00000004

Definition at line 253 of file cfgmgr32.h.

◆ IO_ALIAS_12_BIT_DECODE

#define IO_ALIAS_12_BIT_DECODE   0x00000010

Definition at line 254 of file cfgmgr32.h.

◆ IO_ALIAS_16_BIT_DECODE

#define IO_ALIAS_16_BIT_DECODE   0x00000000

Definition at line 255 of file cfgmgr32.h.

◆ IO_ALIAS_POSITIVE_DECODE

#define IO_ALIAS_POSITIVE_DECODE   0x000000FF

Definition at line 256 of file cfgmgr32.h.

◆ IOA_Local

#define IOA_Local   0xff

Definition at line 280 of file cfgmgr32.h.

◆ IOType_Range

#define IOType_Range   sizeof(IO_RANGE)

Definition at line 282 of file cfgmgr32.h.

◆ IRQType_Range

#define IRQType_Range   sizeof(IRQ_RANGE)

Definition at line 396 of file cfgmgr32.h.

◆ LOG_CONF_BITS

#define LOG_CONF_BITS   0x00000007

Definition at line 603 of file cfgmgr32.h.

◆ MAX_CLASS_NAME_LEN

#define MAX_CLASS_NAME_LEN   32

Definition at line 52 of file cfgmgr32.h.

◆ MAX_CONFIG_VALUE

#define MAX_CONFIG_VALUE   9999

Definition at line 46 of file cfgmgr32.h.

◆ MAX_DEVICE_ID_LEN

#define MAX_DEVICE_ID_LEN   200

Definition at line 49 of file cfgmgr32.h.

◆ MAX_DEVNODE_ID_LEN

#define MAX_DEVNODE_ID_LEN   MAX_DEVICE_ID_LEN

Definition at line 50 of file cfgmgr32.h.

◆ MAX_DMA_CHANNELS

#define MAX_DMA_CHANNELS   7

Definition at line 59 of file cfgmgr32.h.

◆ MAX_GUID_STRING_LEN

#define MAX_GUID_STRING_LEN   39

Definition at line 53 of file cfgmgr32.h.

◆ MAX_INSTANCE_VALUE

#define MAX_INSTANCE_VALUE   9999

Definition at line 47 of file cfgmgr32.h.

◆ MAX_IO_PORTS

#define MAX_IO_PORTS   20

Definition at line 57 of file cfgmgr32.h.

◆ MAX_IRQS

#define MAX_IRQS   7

Definition at line 58 of file cfgmgr32.h.

◆ MAX_MEM_REGISTERS

#define MAX_MEM_REGISTERS   9

Definition at line 56 of file cfgmgr32.h.

◆ MAX_PROFILE_LEN

#define MAX_PROFILE_LEN   80

Definition at line 54 of file cfgmgr32.h.

◆ mDD_BusMaster

#define mDD_BusMaster   0x4

Definition at line 291 of file cfgmgr32.h.

◆ mDD_Type

#define mDD_Type   0x18

Definition at line 295 of file cfgmgr32.h.

◆ mDD_Width

#define mDD_Width   0x3

Definition at line 285 of file cfgmgr32.h.

◆ mIRQD_Edge_Level

#define mIRQD_Edge_Level   0x2

Definition at line 329 of file cfgmgr32.h.

◆ mIRQD_Share

#define mIRQD_Share   0x1

Definition at line 322 of file cfgmgr32.h.

◆ MLType_Range

#define MLType_Range   sizeof(struct Mem_Large_Range_s)

Definition at line 237 of file cfgmgr32.h.

◆ mMD_32_24

#define mMD_32_24   0x2

Definition at line 162 of file cfgmgr32.h.

◆ mMD_Cacheable

#define mMD_Cacheable   0x20

Definition at line 183 of file cfgmgr32.h.

◆ mMD_CombinedWrite

#define mMD_CombinedWrite   0x10

Definition at line 178 of file cfgmgr32.h.

◆ mMD_MemoryType

#define mMD_MemoryType   0x1

Definition at line 157 of file cfgmgr32.h.

◆ mMD_Prefetchable

#define mMD_Prefetchable   0x4

Definition at line 167 of file cfgmgr32.h.

◆ mMD_Readable

#define mMD_Readable   0x8

Definition at line 173 of file cfgmgr32.h.

◆ mPCD_IO_8_16

#define mPCD_IO_8_16   0x1

Definition at line 440 of file cfgmgr32.h.

◆ mPCD_MEM1_WS

#define mPCD_MEM1_WS   0x03000000

Definition at line 473 of file cfgmgr32.h.

◆ mPCD_MEM2_WS

#define mPCD_MEM2_WS   0x30000000

Definition at line 479 of file cfgmgr32.h.

◆ mPCD_MEM_8_16

#define mPCD_MEM_8_16   0x2

Definition at line 443 of file cfgmgr32.h.

◆ mPCD_MEM_A_C

#define mPCD_MEM_A_C   0xC

Definition at line 446 of file cfgmgr32.h.

◆ mPCD_MEM_WS

#define mPCD_MEM_WS   0x300

Definition at line 452 of file cfgmgr32.h.

◆ mPMF_AUDIO_ENABLE

#define mPMF_AUDIO_ENABLE   fPMF_AUDIO_ENABLE

Definition at line 511 of file cfgmgr32.h.

◆ MType_Range

#define MType_Range   sizeof(MEM_RANGE)

Definition at line 212 of file cfgmgr32.h.

◆ NUM_CR_RESULTS

#define NUM_CR_RESULTS   0x0000003C

Definition at line 906 of file cfgmgr32.h.

◆ NUM_LOG_CONF

#define NUM_LOG_CONF   0x00000006

Definition at line 602 of file cfgmgr32.h.

◆ OVERRIDE_LOG_CONF

#define OVERRIDE_LOG_CONF   0x00000005

Definition at line 601 of file cfgmgr32.h.

◆ PCD_MAX_IO

#define PCD_MAX_IO   2

Definition at line 486 of file cfgmgr32.h.

◆ PCD_MAX_MEMORY

#define PCD_MAX_MEMORY   2

Definition at line 485 of file cfgmgr32.h.

◆ PRIORITY_BIT

#define PRIORITY_BIT   0x00000008

Definition at line 607 of file cfgmgr32.h.

◆ PRIORITY_EQUAL_FIRST

#define PRIORITY_EQUAL_FIRST   0x00000008

Definition at line 605 of file cfgmgr32.h.

◆ PRIORITY_EQUAL_LAST

#define PRIORITY_EQUAL_LAST   0x00000000

Definition at line 606 of file cfgmgr32.h.

◆ PType_Range

#define PType_Range   sizeof(DEVPRIVATE_RANGE)

Definition at line 420 of file cfgmgr32.h.

◆ RegDisposition_Bits

#define RegDisposition_Bits   0x00000001

Definition at line 611 of file cfgmgr32.h.

◆ RegDisposition_OpenAlways

#define RegDisposition_OpenAlways   0x00000000

Definition at line 609 of file cfgmgr32.h.

◆ RegDisposition_OpenExisting

#define RegDisposition_OpenExisting   0x00000001

Definition at line 610 of file cfgmgr32.h.

◆ ResType_All

#define ResType_All   0x00000000

Definition at line 575 of file cfgmgr32.h.

◆ ResType_BusNumber

#define ResType_BusNumber   0x00000006

Definition at line 582 of file cfgmgr32.h.

◆ ResType_ClassSpecific

#define ResType_ClassSpecific   0x0000FFFF

Definition at line 586 of file cfgmgr32.h.

◆ ResType_DevicePrivate

#define ResType_DevicePrivate   0x00008001

Definition at line 588 of file cfgmgr32.h.

◆ ResType_DMA

#define ResType_DMA   0x00000003

Definition at line 579 of file cfgmgr32.h.

◆ ResType_DoNotUse

#define ResType_DoNotUse   0x00000005

Definition at line 581 of file cfgmgr32.h.

◆ ResType_Ignored_Bit

#define ResType_Ignored_Bit   0x00008000

Definition at line 585 of file cfgmgr32.h.

◆ ResType_IO

#define ResType_IO   0x00000002

Definition at line 578 of file cfgmgr32.h.

◆ ResType_IRQ

#define ResType_IRQ   0x00000004

Definition at line 580 of file cfgmgr32.h.

◆ ResType_MAX

#define ResType_MAX   0x00000007

Definition at line 584 of file cfgmgr32.h.

◆ ResType_Mem

#define ResType_Mem   0x00000001

Definition at line 577 of file cfgmgr32.h.

◆ ResType_MemLarge

#define ResType_MemLarge   0x00000007

Definition at line 583 of file cfgmgr32.h.

◆ ResType_MfCardConfig

#define ResType_MfCardConfig   0x00008003

Definition at line 590 of file cfgmgr32.h.

◆ ResType_None

#define ResType_None   0x00000000

Definition at line 576 of file cfgmgr32.h.

◆ ResType_PcCardConfig

#define ResType_PcCardConfig   0x00008002

Definition at line 589 of file cfgmgr32.h.

◆ ResType_Reserved

#define ResType_Reserved   0x00008000

Definition at line 587 of file cfgmgr32.h.

Typedef Documentation

◆ BUSNUMBER_DES

◆ BUSNUMBER_RANGE

◆ BUSNUMBER_RESOURCE

◆ CONFIGRET

Definition at line 74 of file cfgmgr32.h.

◆ CONFLICT_DETAILS

Definition at line 136 of file cfgmgr32.h.

◆ CONFLICT_DETAILS_A

◆ CONFLICT_DETAILS_W

◆ CONFLICT_LIST

Definition at line 111 of file cfgmgr32.h.

◆ CS_DES

◆ CS_RESOURCE

◆ DEVINST

typedef DWORD DEVINST

Definition at line 76 of file cfgmgr32.h.

◆ DEVINSTID

Definition at line 87 of file cfgmgr32.h.

◆ DEVINSTID_A

Definition at line 79 of file cfgmgr32.h.

◆ DEVINSTID_W

Definition at line 80 of file cfgmgr32.h.

◆ DEVNODE

typedef DWORD DEVNODE

Definition at line 76 of file cfgmgr32.h.

◆ DEVNODEID

Definition at line 86 of file cfgmgr32.h.

◆ DEVNODEID_A

Definition at line 79 of file cfgmgr32.h.

◆ DEVNODEID_W

Definition at line 80 of file cfgmgr32.h.

◆ DEVPRIVATE_DES

◆ DEVPRIVATE_RANGE

◆ DEVPRIVATE_RESOURCE

◆ DMA_DES

◆ DMA_RANGE

◆ DMA_RESOURCE

◆ HMACHINE

typedef HANDLE HMACHINE

Definition at line 108 of file cfgmgr32.h.

◆ HWPROFILEINFO

Definition at line 569 of file cfgmgr32.h.

◆ HWPROFILEINFO_A

◆ HWPROFILEINFO_W

◆ IO_DES

◆ IO_RANGE

◆ IO_RESOURCE

◆ IRQ_DES

Definition at line 374 of file cfgmgr32.h.

◆ IRQ_DES_32

◆ IRQ_DES_64

◆ IRQ_RANGE

◆ IRQ_RESOURCE

Definition at line 392 of file cfgmgr32.h.

◆ IRQ_RESOURCE_32

◆ IRQ_RESOURCE_64

◆ LOG_CONF

Definition at line 90 of file cfgmgr32.h.

◆ MEM_DES

◆ MEM_LARGE_DES

◆ MEM_LARGE_RANGE

◆ MEM_LARGE_RESOURCE

◆ MEM_RANGE

◆ MEM_RESOURCE

◆ MFCARD_DES

◆ MFCARD_RESOURCE

◆ PBUSNUMBER_DES

◆ PBUSNUMBER_RANGE

◆ PBUSNUMBER_RESOURCE

◆ PCCARD_DES

◆ PCCARD_RESOURCE

◆ PCONFLICT_DETAILS

Definition at line 137 of file cfgmgr32.h.

◆ PCONFLICT_DETAILS_A

◆ PCONFLICT_DETAILS_W

◆ PCONFLICT_LIST

Definition at line 112 of file cfgmgr32.h.

◆ PCS_DES

typedef struct CS_Des_s * PCS_DES

◆ PCS_RESOURCE

◆ PCVOID

typedef CONST VOID* PCVOID

Definition at line 44 of file cfgmgr32.h.

◆ PDEVINST

typedef DEVNODE * PDEVINST

Definition at line 77 of file cfgmgr32.h.

◆ PDEVNODE

typedef DEVNODE* PDEVNODE

Definition at line 77 of file cfgmgr32.h.

◆ PDEVPRIVATE_DES

◆ PDEVPRIVATE_RANGE

◆ PDEVPRIVATE_RESOURCE

◆ PDMA_DES

◆ PDMA_RANGE

◆ PDMA_RESOURCE

◆ PHMACHINE

typedef HMACHINE* PHMACHINE

Definition at line 109 of file cfgmgr32.h.

◆ PHWPROFILEINFO

Definition at line 570 of file cfgmgr32.h.

◆ PHWPROFILEINFO_A

◆ PHWPROFILEINFO_W

◆ PIO_DES

typedef struct IO_Des_s * PIO_DES

◆ PIO_RANGE

◆ PIO_RESOURCE

◆ PIRQ_DES

Definition at line 375 of file cfgmgr32.h.

◆ PIRQ_DES_32

◆ PIRQ_DES_64

◆ PIRQ_RANGE

◆ PIRQ_RESOURCE

Definition at line 393 of file cfgmgr32.h.

◆ PIRQ_RESOURCE_32

◆ PIRQ_RESOURCE_64

◆ PLOG_CONF

typedef LOG_CONF* PLOG_CONF

Definition at line 91 of file cfgmgr32.h.

◆ PMEM_DES

◆ PMEM_LARGE_DES

◆ PMEM_LARGE_RANGE

◆ PMEM_LARGE_RESOURCE

◆ PMEM_RANGE

◆ PMEM_RESOURCE

◆ PMFCARD_DES

◆ PMFCARD_RESOURCE

◆ PPCCARD_DES

◆ PPCCARD_RESOURCE

◆ PPRIORITY

typedef PRIORITY* PPRIORITY

Definition at line 100 of file cfgmgr32.h.

◆ PRANGE_ELEMENT

Definition at line 106 of file cfgmgr32.h.

◆ PRANGE_LIST

Definition at line 103 of file cfgmgr32.h.

◆ PRES_DES

typedef RES_DES* PRES_DES

Definition at line 94 of file cfgmgr32.h.

◆ PRESOURCEID

Definition at line 97 of file cfgmgr32.h.

◆ PRIORITY

typedef ULONG PRIORITY

Definition at line 99 of file cfgmgr32.h.

◆ RANGE_ELEMENT

Definition at line 105 of file cfgmgr32.h.

◆ RANGE_LIST

Definition at line 102 of file cfgmgr32.h.

◆ REGDISPOSITION

Definition at line 152 of file cfgmgr32.h.

◆ RES_DES

typedef DWORD_PTR RES_DES

Definition at line 93 of file cfgmgr32.h.

◆ RESOURCEID

typedef ULONG RESOURCEID

Definition at line 96 of file cfgmgr32.h.

Function Documentation

◆ _Return_type_success_()

typedef _Return_type_success_ ( return  = =0)

◆ CM_Add_Empty_Log_Conf()

CMAPI CONFIGRET WINAPI CM_Add_Empty_Log_Conf ( _Out_ PLOG_CONF  plcLogConf,
_In_ DEVINST  dnDevInst,
_In_ PRIORITY  Priority,
_In_ ULONG  ulFlags 
)

Definition at line 865 of file cfgmgr.c.

870{
871 TRACE("CM_Add_Empty_Log_Conf(%p %p %lu %lx)\n",
872 plcLogConf, dnDevInst, Priority, ulFlags);
873
874 return CM_Add_Empty_Log_Conf_Ex(plcLogConf, dnDevInst, Priority,
875 ulFlags, NULL);
876}
CONFIGRET WINAPI CM_Add_Empty_Log_Conf_Ex(_Out_ PLOG_CONF plcLogConf, _In_ DEVINST dnDevInst, _In_ PRIORITY Priority, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:884
#define NULL
Definition: types.h:112
#define TRACE(s)
Definition: solgame.cpp:4
_In_ WDFINTERRUPT _In_ WDF_INTERRUPT_POLICY _In_ WDF_INTERRUPT_PRIORITY Priority
Definition: wdfinterrupt.h:655

◆ CM_Add_Empty_Log_Conf_Ex()

CMAPI CONFIGRET WINAPI CM_Add_Empty_Log_Conf_Ex ( _Out_ PLOG_CONF  plcLogConf,
_In_ DEVINST  dnDevInst,
_In_ PRIORITY  Priority,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 884 of file cfgmgr.c.

890{
892 HSTRING_TABLE StringTable = NULL;
893 ULONG ulLogConfTag = 0;
894 LPWSTR lpDevInst;
895 PLOG_CONF_INFO pLogConfInfo;
897
898 FIXME("CM_Add_Empty_Log_Conf_Ex(%p %p %lu %lx %p)\n",
899 plcLogConf, dnDevInst, Priority, ulFlags, hMachine);
900
901 if (!pSetupIsUserAdmin())
902 return CR_ACCESS_DENIED;
903
904 if (plcLogConf == NULL)
905 return CR_INVALID_POINTER;
906
907 if (dnDevInst == 0)
908 return CR_INVALID_DEVINST;
909
910 if (Priority > 0xFFFF)
911 return CR_INVALID_PRIORITY;
912
913 if (ulFlags & ~(LOG_CONF_BITS | PRIORITY_BIT))
914 return CR_INVALID_FLAG;
915
916 if (hMachine != NULL)
917 {
918 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
919 if (BindingHandle == NULL)
920 return CR_FAILURE;
921
922 StringTable = ((PMACHINE_INFO)hMachine)->StringTable;
923 if (StringTable == 0)
924 return CR_FAILURE;
925 }
926 else
927 {
928 if (!PnpGetLocalHandles(&BindingHandle, &StringTable))
929 return CR_FAILURE;
930 }
931
932 lpDevInst = pSetupStringTableStringFromId(StringTable, dnDevInst);
933 if (lpDevInst == NULL)
934 return CR_INVALID_DEVNODE;
935
937 {
939 &ulLogConfTag, ulFlags);
940 }
942 {
944 }
946
947 if (ret == CR_SUCCESS)
948 {
949 pLogConfInfo = HeapAlloc(GetProcessHeap(), 0, sizeof(LOG_CONF_INFO));
950 if (pLogConfInfo == NULL)
951 {
953 }
954 else
955 {
956 pLogConfInfo->ulMagic = LOG_CONF_MAGIC;
957 pLogConfInfo->dnDevInst = dnDevInst;
958 pLogConfInfo->ulType = ulFlags;
959 pLogConfInfo->ulTag = ulLogConfTag;
960
961 *plcLogConf = (LOG_CONF)pLogConfInfo;
962
963 ret = CR_SUCCESS;
964 }
965 }
966
967 return ret;
968}
DWORD WINAPI PNP_AddEmptyLogConf(handle_t hBinding, LPWSTR pDeviceID, DWORD ulPriority, DWORD *pulLogConfTag, DWORD ulFlags)
Definition: rpcserver.c:4161
#define FIXME(fmt,...)
Definition: debug.h:111
#define CR_OUT_OF_MEMORY
Definition: cfgmgr32.h:844
#define CR_INVALID_PRIORITY
Definition: cfgmgr32.h:885
DWORD_PTR LOG_CONF
Definition: cfgmgr32.h:90
#define CR_FAILURE
Definition: cfgmgr32.h:865
#define CR_INVALID_DEVINST
Definition: cfgmgr32.h:848
#define LOG_CONF_BITS
Definition: cfgmgr32.h:603
#define PRIORITY_BIT
Definition: cfgmgr32.h:607
#define CR_ACCESS_DENIED
Definition: cfgmgr32.h:897
#define CR_INVALID_FLAG
Definition: cfgmgr32.h:846
RETURN_TYPE CONFIGRET
Definition: cfgmgr32.h:74
#define CR_INVALID_POINTER
Definition: cfgmgr32.h:845
#define CR_SUCCESS
Definition: cfgmgr32.h:842
#define CR_INVALID_DEVNODE
Definition: cfgmgr32.h:847
static CONFIGRET RpcStatusToCmStatus(_In_ RPC_STATUS Status)
Definition: cfgmgr.c:136
#define LOG_CONF_MAGIC
Definition: cfgmgr.c:71
struct _MACHINE_INFO * PMACHINE_INFO
#define GetProcessHeap()
Definition: compat.h:736
#define HeapAlloc
Definition: compat.h:733
BOOL WINAPI pSetupIsUserAdmin(VOID)
Definition: misc.c:1817
BOOL PnpGetLocalHandles(RPC_BINDING_HANDLE *BindingHandle, HSTRING_TABLE *StringTable)
Definition: rpc.c:66
LPWSTR WINAPI pSetupStringTableStringFromId(HSTRING_TABLE hStringTable, DWORD dwId)
Definition: stringtable.c:722
#define EXCEPTION_EXECUTE_HANDLER
Definition: excpt.h:85
#define RpcEndExcept
Definition: rpc.h:128
#define RpcTryExcept
Definition: rpc.h:126
#define RpcExcept(expr)
Definition: rpc.h:127
#define RpcExceptionCode()
Definition: rpc.h:132
ULONG ulTag
Definition: cfgmgr.c:68
ULONG ulType
Definition: cfgmgr.c:67
DEVINST dnDevInst
Definition: cfgmgr.c:66
ULONG ulMagic
Definition: cfgmgr.c:65
_In_ ULONG _Out_ HANDLE * BindingHandle
Definition: tdikrnl.h:1147
uint32_t ULONG
Definition: typedefs.h:59
int ret
WCHAR * LPWSTR
Definition: xmlstorage.h:184

Referenced by CM_Add_Empty_Log_Conf().

◆ CM_Add_ID_ExA()

CMAPI CONFIGRET WINAPI CM_Add_ID_ExA ( _In_ DEVINST  dnDevInst,
_In_ PSTR  pszID,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 1010 of file cfgmgr.c.

1015{
1016 PWSTR pszIDW;
1017 CONFIGRET ret;
1018
1019 TRACE("CM_Add_ID_ExA(%p %s %lx %p)\n",
1020 dnDevInst, debugstr_a(pszID), ulFlags, hMachine);
1021
1022 if (pSetupCaptureAndConvertAnsiArg(pszID, &pszIDW))
1023 return CR_INVALID_DATA;
1024
1025 ret = CM_Add_ID_ExW(dnDevInst, pszIDW, ulFlags, hMachine);
1026
1027 MyFree(pszIDW);
1028
1029 return ret;
1030}
#define CR_INVALID_DATA
Definition: cfgmgr32.h:877
CONFIGRET WINAPI CM_Add_ID_ExW(_In_ DEVINST dnDevInst, _In_ PWSTR pszID, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:1038
DWORD WINAPI pSetupCaptureAndConvertAnsiArg(LPCSTR pSrc, LPWSTR *pDst)
Definition: misc.c:574
VOID WINAPI MyFree(LPVOID lpMem)
Definition: misc.c:128
#define debugstr_a
Definition: kernel32.h:31
uint16_t * PWSTR
Definition: typedefs.h:56

Referenced by CM_Add_IDA().

◆ CM_Add_ID_ExW()

CMAPI CONFIGRET WINAPI CM_Add_ID_ExW ( _In_ DEVINST  dnDevInst,
_In_ PWSTR  pszID,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 1038 of file cfgmgr.c.

1043{
1045 HSTRING_TABLE StringTable = NULL;
1046 LPWSTR lpDevInst;
1047 CONFIGRET ret;
1048
1049 TRACE("CM_Add_ID_ExW(%p %s %lx %p)\n",
1050 dnDevInst, debugstr_w(pszID), ulFlags, hMachine);
1051
1052 if (!pSetupIsUserAdmin())
1053 return CR_ACCESS_DENIED;
1054
1055 if (dnDevInst == 0)
1056 return CR_INVALID_DEVINST;
1057
1058 if (pszID == NULL)
1059 return CR_INVALID_POINTER;
1060
1061 if (ulFlags & ~CM_ADD_ID_BITS)
1062 return CR_INVALID_FLAG;
1063
1064 if (hMachine != NULL)
1065 {
1066 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
1067 if (BindingHandle == NULL)
1068 return CR_FAILURE;
1069
1070 StringTable = ((PMACHINE_INFO)hMachine)->StringTable;
1071 if (StringTable == 0)
1072 return CR_FAILURE;
1073 }
1074 else
1075 {
1076 if (!PnpGetLocalHandles(&BindingHandle, &StringTable))
1077 return CR_FAILURE;
1078 }
1079
1080 lpDevInst = pSetupStringTableStringFromId(StringTable, dnDevInst);
1081 if (lpDevInst == NULL)
1082 return CR_INVALID_DEVNODE;
1083
1085 {
1087 lpDevInst,
1088 pszID,
1089 ulFlags);
1090 }
1092 {
1094 }
1096
1097 return ret;
1098}
DWORD WINAPI PNP_AddID(handle_t hBinding, LPWSTR pszDeviceID, LPWSTR pszID, DWORD ulFlags)
Definition: rpcserver.c:3627
#define CM_ADD_ID_BITS
Definition: cfgmgr32.h:616
#define debugstr_w
Definition: kernel32.h:32

Referenced by CM_Add_ID_ExA(), and CM_Add_IDW().

◆ CM_Add_IDA()

CMAPI CONFIGRET WINAPI CM_Add_IDA ( _In_ DEVINST  dnDevInst,
_In_ PSTR  pszID,
_In_ ULONG  ulFlags 
)

Definition at line 976 of file cfgmgr.c.

980{
981 TRACE("CM_Add_IDA(%p %s %lx)\n",
982 dnDevInst, debugstr_a(pszID), ulFlags);
983
984 return CM_Add_ID_ExA(dnDevInst, pszID, ulFlags, NULL);
985}
CONFIGRET WINAPI CM_Add_ID_ExA(_In_ DEVINST dnDevInst, _In_ PSTR pszID, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:1010

◆ CM_Add_IDW()

CMAPI CONFIGRET WINAPI CM_Add_IDW ( _In_ DEVINST  dnDevInst,
_In_ PWSTR  pszID,
_In_ ULONG  ulFlags 
)

Definition at line 993 of file cfgmgr.c.

997{
998 TRACE("CM_Add_IDW(%p %s %lx)\n",
999 dnDevInst, debugstr_w(pszID), ulFlags);
1000
1001 return CM_Add_ID_ExW(dnDevInst, pszID, ulFlags, NULL);
1002}

◆ CM_Add_Range()

CMAPI CONFIGRET WINAPI CM_Add_Range ( _In_ DWORDLONG  ullStartValue,
_In_ DWORDLONG  ullEndValue,
_In_ RANGE_LIST  rlh,
_In_ ULONG  ulFlags 
)

Definition at line 1106 of file cfgmgr.c.

1111{
1112 PINTERNAL_RANGE_LIST pRangeList;
1113 PINTERNAL_RANGE pRange;
1115
1116 FIXME("CM_Add_Range(%I64u %I64u %p %lx)\n",
1117 ullStartValue, ullEndValue, rlh, ulFlags);
1118
1119 pRangeList = (PINTERNAL_RANGE_LIST)rlh;
1120
1121 if (!IsValidRangeList(pRangeList))
1122 return CR_INVALID_RANGE_LIST;
1123
1124 if (ulFlags & ~CM_ADD_RANGE_BITS)
1125 return CR_INVALID_FLAG;
1126
1127 if (ullEndValue < ullStartValue)
1128 return CR_INVALID_RANGE;
1129
1130 /* Lock the range list */
1131 WaitForSingleObject(pRangeList->hMutex, INFINITE);
1132
1133 /* Allocate the new range */
1134 pRange = HeapAlloc(GetProcessHeap(), 0, sizeof(INTERNAL_RANGE));
1135 if (pRange == NULL)
1136 {
1138 goto done;
1139 }
1140
1141 pRange->pRangeList = pRangeList;
1142 pRange->ullStart = ullStartValue;
1143 pRange->ullEnd = ullEndValue;
1144
1145 /* Insert the range */
1146 if (IsListEmpty(&pRangeList->ListHead))
1147 {
1148 InsertTailList(&pRangeList->ListHead, &pRange->ListEntry);
1149 }
1150 else
1151 {
1152 HeapFree(GetProcessHeap(), 0, pRange);
1154 }
1155
1156done:
1157 /* Unlock the range list */
1158 ReleaseMutex(pRangeList->hMutex);
1159
1160 return ret;
1161}
#define UNIMPLEMENTED
Definition: debug.h:115
#define CM_ADD_RANGE_BITS
Definition: cfgmgr32.h:594
#define CR_INVALID_RANGE
Definition: cfgmgr32.h:864
#define CR_INVALID_RANGE_LIST
Definition: cfgmgr32.h:863
struct _INTERNAL_RANGE_LIST * PINTERNAL_RANGE_LIST
BOOL IsValidRangeList(_In_opt_ PINTERNAL_RANGE_LIST pRangeList)
Definition: cfgmgr.c:390
#define HeapFree(x, y, z)
Definition: compat.h:735
#define INFINITE
Definition: serial.h:102
#define InsertTailList(ListHead, Entry)
#define IsListEmpty(ListHead)
Definition: env_spec_w32.h:954
LIST_ENTRY ListHead
Definition: cfgmgr.c:95
DWORDLONG ullEnd
Definition: cfgmgr.c:88
DWORDLONG ullStart
Definition: cfgmgr.c:87
struct _INTERNAL_RANGE_LIST * pRangeList
Definition: cfgmgr.c:86
LIST_ENTRY ListEntry
Definition: cfgmgr.c:85
DWORD WINAPI WaitForSingleObject(IN HANDLE hHandle, IN DWORD dwMilliseconds)
Definition: synch.c:82
BOOL WINAPI DECLSPEC_HOTPATCH ReleaseMutex(IN HANDLE hMutex)
Definition: synch.c:618

◆ CM_Add_Res_Des()

CMAPI CONFIGRET WINAPI CM_Add_Res_Des ( _Out_opt_ PRES_DES  prdResDes,
_In_ LOG_CONF  lcLogConf,
_In_ RESOURCEID  ResourceID,
_In_reads_bytes_(ResourceLen) PCVOID  ResourceData,
_In_ ULONG  ResourceLen,
_In_ ULONG  ulFlags 
)

Definition at line 1169 of file cfgmgr.c.

1176{
1177 TRACE("CM_Add_Res_Des(%p %p %lu %p %lu %lx)\n",
1178 prdResDes, lcLogConf, ResourceID, ResourceData, ResourceLen, ulFlags);
1179
1180 return CM_Add_Res_Des_Ex(prdResDes, lcLogConf, ResourceID, ResourceData,
1181 ResourceLen, ulFlags, NULL);
1182}
CONFIGRET WINAPI CM_Add_Res_Des_Ex(_Out_opt_ PRES_DES prdResDes, _In_ LOG_CONF lcLogConf, _In_ RESOURCEID ResourceID, _In_reads_bytes_(ResourceLen) PCVOID ResourceData, _In_ ULONG ResourceLen, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:1190

◆ CM_Add_Res_Des_Ex()

CMAPI CONFIGRET WINAPI CM_Add_Res_Des_Ex ( _Out_opt_ PRES_DES  prdResDes,
_In_ LOG_CONF  lcLogConf,
_In_ RESOURCEID  ResourceID,
_In_reads_bytes_(ResourceLen) PCVOID  ResourceData,
_In_ ULONG  ResourceLen,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 1190 of file cfgmgr.c.

1198{
1199 FIXME("CM_Add_Res_Des_Ex(%p %p %lu %p %lu %lx %p)\n",
1200 prdResDes, lcLogConf, ResourceID,
1201 ResourceData, ResourceLen, ulFlags, hMachine);
1202
1204}
#define CR_CALL_NOT_IMPLEMENTED
Definition: cfgmgr32.h:898

Referenced by CM_Add_Res_Des().

◆ CM_Apply_PowerScheme()

CONFIGRET CM_Apply_PowerScheme ( VOID  )

◆ CM_Connect_MachineA()

CMAPI CONFIGRET WINAPI CM_Connect_MachineA ( _In_opt_ PCSTR  UNCServerName,
_Out_ PHMACHINE  phMachine 
)

Definition at line 1212 of file cfgmgr.c.

1215{
1216 PWSTR pServerNameW;
1217 CONFIGRET ret;
1218
1219 TRACE("CM_Connect_MachineA(%s %p)\n",
1220 debugstr_a(UNCServerName), phMachine);
1221
1222 if (UNCServerName == NULL || *UNCServerName == 0)
1223 return CM_Connect_MachineW(NULL, phMachine);
1224
1225 if (pSetupCaptureAndConvertAnsiArg(UNCServerName, &pServerNameW))
1226 return CR_INVALID_DATA;
1227
1228 ret = CM_Connect_MachineW(pServerNameW, phMachine);
1229
1230 MyFree(pServerNameW);
1231
1232 return ret;
1233}
CONFIGRET WINAPI CM_Connect_MachineW(_In_opt_ PCWSTR UNCServerName, _Out_ PHMACHINE phMachine)
Definition: cfgmgr.c:1241

◆ CM_Connect_MachineW()

CMAPI CONFIGRET WINAPI CM_Connect_MachineW ( _In_opt_ PCWSTR  UNCServerName,
_Out_ PHMACHINE  phMachine 
)

Definition at line 1241 of file cfgmgr.c.

1244{
1245 PMACHINE_INFO pMachine;
1246
1247 TRACE("CM_Connect_MachineW(%s %p)\n",
1248 debugstr_w(UNCServerName), phMachine);
1249
1250 if (phMachine == NULL)
1251 return CR_INVALID_POINTER;
1252
1253 *phMachine = NULL;
1254
1255 pMachine = HeapAlloc(GetProcessHeap(), 0, sizeof(MACHINE_INFO));
1256 if (pMachine == NULL)
1257 return CR_OUT_OF_MEMORY;
1258
1259 if (UNCServerName == NULL || *UNCServerName == 0)
1260 {
1261 pMachine->bLocal = TRUE;
1262
1263 /* FIXME: store the computers name in pMachine->szMachineName */
1264
1265 if (!PnpGetLocalHandles(&pMachine->BindingHandle,
1266 &pMachine->StringTable))
1267 {
1268 HeapFree(GetProcessHeap(), 0, pMachine);
1269 return CR_FAILURE;
1270 }
1271 }
1272 else
1273 {
1274 pMachine->bLocal = FALSE;
1275 if (wcslen(UNCServerName) >= SP_MAX_MACHINENAME_LENGTH - 1)
1276 {
1277 HeapFree(GetProcessHeap(), 0, pMachine);
1279 }
1280 lstrcpyW(pMachine->szMachineName, UNCServerName);
1281
1283 if (pMachine->StringTable == NULL)
1284 {
1285 HeapFree(GetProcessHeap(), 0, pMachine);
1286 return CR_FAILURE;
1287 }
1288
1289 pSetupStringTableAddString(pMachine->StringTable, L"PLT", 1);
1290
1291 if (!PnpBindRpc(UNCServerName, &pMachine->BindingHandle))
1292 {
1294 HeapFree(GetProcessHeap(), 0, pMachine);
1296 }
1297 }
1298
1299 *phMachine = (PHMACHINE)pMachine;
1300
1301 return CR_SUCCESS;
1302}
HMACHINE * PHMACHINE
Definition: cfgmgr32.h:109
#define CR_INVALID_MACHINENAME
Definition: cfgmgr32.h:893
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
#define lstrcpyW
Definition: compat.h:749
RPC_STATUS PnpBindRpc(LPCWSTR pszMachine, RPC_BINDING_HANDLE *BindingHandle)
Definition: rpc.c:28
HSTRING_TABLE WINAPI pSetupStringTableInitialize(VOID)
Definition: stringtable.c:54
DWORD WINAPI pSetupStringTableAddString(HSTRING_TABLE hStringTable, LPWSTR lpString, DWORD dwFlags)
Definition: stringtable.c:196
VOID WINAPI pSetupStringTableDestroy(HSTRING_TABLE hStringTable)
Definition: stringtable.c:145
_CRTIMP size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
#define L(x)
Definition: ntvdm.h:50
#define SP_MAX_MACHINENAME_LENGTH
Definition: setupapi.h:27
WCHAR szMachineName[SP_MAX_MACHINENAME_LENGTH]
Definition: cfgmgr.c:56
HSTRING_TABLE StringTable
Definition: cfgmgr.c:58
RPC_BINDING_HANDLE BindingHandle
Definition: cfgmgr.c:57
BOOL bLocal
Definition: cfgmgr.c:59

Referenced by CM_Connect_MachineA(), SetupDiBuildClassInfoListExW(), and SetupDiCreateDeviceInfoListExW().

◆ CM_Create_DevNode_ExA()

CMAPI CONFIGRET WINAPI CM_Create_DevNode_ExA ( _Out_ PDEVINST  pdnDevInst,
_In_ DEVINSTID_A  pDeviceID,
_In_ DEVINST  dnParent,
_In_ ULONG  ulFlags,
_In_opt_ HANDLE  hMachine 
)

Definition at line 1348 of file cfgmgr.c.

1354{
1355 DEVINSTID_W pDeviceIDW;
1356 CONFIGRET ret;
1357
1358 TRACE("CM_Create_DevNode_ExA(%p %s %p %lx %p)\n",
1359 pdnDevInst, debugstr_a(pDeviceID), dnParent, ulFlags, hMachine);
1360
1361 if (pSetupCaptureAndConvertAnsiArg(pDeviceID, &pDeviceIDW))
1362 return CR_INVALID_DATA;
1363
1364 ret = CM_Create_DevNode_ExW(pdnDevInst, pDeviceIDW, dnParent, ulFlags,
1365 hMachine);
1366
1367 MyFree(pDeviceIDW);
1368
1369 return ret;
1370}
_Null_terminated_ WCHAR * DEVINSTID_W
Definition: cfgmgr32.h:80
CONFIGRET WINAPI CM_Create_DevNode_ExW(_Out_ PDEVINST pdnDevInst, _In_ DEVINSTID_W pDeviceID, _In_ DEVINST dnParent, _In_ ULONG ulFlags, _In_opt_ HANDLE hMachine)
Definition: cfgmgr.c:1378

Referenced by CM_Create_DevNodeA().

◆ CM_Create_DevNode_ExW()

CMAPI CONFIGRET WINAPI CM_Create_DevNode_ExW ( _Out_ PDEVINST  pdnDevInst,
_In_ DEVINSTID_W  pDeviceID,
_In_ DEVINST  dnParent,
_In_ ULONG  ulFlags,
_In_opt_ HANDLE  hMachine 
)

Definition at line 1378 of file cfgmgr.c.

1384{
1386 HSTRING_TABLE StringTable = NULL;
1387 LPWSTR lpParentDevInst;
1389 WCHAR szLocalDeviceID[MAX_DEVICE_ID_LEN];
1390
1391 TRACE("CM_Create_DevNode_ExW(%p %s %p %lx %p)\n",
1392 pdnDevInst, debugstr_w(pDeviceID), dnParent, ulFlags, hMachine);
1393
1394 if (!pSetupIsUserAdmin())
1395 return CR_ACCESS_DENIED;
1396
1397 if (pdnDevInst == NULL)
1398 return CR_INVALID_POINTER;
1399
1400 if (pDeviceID == NULL || wcslen(pDeviceID) == 0 || wcslen(pDeviceID) >= MAX_DEVICE_ID_LEN)
1401 return CR_INVALID_DEVICE_ID;
1402
1403 if (dnParent == 0)
1404 return CR_INVALID_DEVNODE;
1405
1406 if (ulFlags & ~CM_CREATE_DEVNODE_BITS)
1407 return CR_INVALID_FLAG;
1408
1409 if (hMachine != NULL)
1410 {
1411 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
1412 if (BindingHandle == NULL)
1413 return CR_FAILURE;
1414
1415 StringTable = ((PMACHINE_INFO)hMachine)->StringTable;
1416 if (StringTable == 0)
1417 return CR_FAILURE;
1418 }
1419 else
1420 {
1421 if (!PnpGetLocalHandles(&BindingHandle, &StringTable))
1422 return CR_FAILURE;
1423 }
1424
1425 lpParentDevInst = pSetupStringTableStringFromId(StringTable, dnParent);
1426 if (lpParentDevInst == NULL)
1427 return CR_INVALID_DEVNODE;
1428
1429 wcscpy(szLocalDeviceID, pDeviceID);
1430
1432 {
1434 szLocalDeviceID,
1435 lpParentDevInst,
1437 ulFlags);
1438 }
1440 {
1442 }
1444
1445 if (ret == CR_SUCCESS)
1446 {
1447 /* If CM_CREATE_DEVINST_GENERATE_ID was passed in, PNP_CreateDevInst
1448 * will return the generated device ID in szLocalDeviceID */
1449 *pdnDevInst = pSetupStringTableAddString(StringTable, szLocalDeviceID, 1);
1450 if (*pdnDevInst == 0)
1452 }
1453
1454 return ret;
1455}
DWORD WINAPI PNP_CreateDevInst(handle_t hBinding, LPWSTR pszDeviceID, LPWSTR pszParentDeviceID, PNP_RPC_STRING_LEN ulLength, DWORD ulFlags)
Definition: rpcserver.c:3126
#define CR_INVALID_DEVICE_ID
Definition: cfgmgr32.h:876
#define CR_NO_SUCH_DEVNODE
Definition: cfgmgr32.h:857
#define CM_CREATE_DEVNODE_BITS
Definition: cfgmgr32.h:624
#define MAX_DEVICE_ID_LEN
Definition: devaction.c:40
_CRTIMP wchar_t *__cdecl wcscpy(_Out_writes_z_(_String_length_(_Source)+1) wchar_t *_Dest, _In_z_ const wchar_t *_Source)
__wchar_t WCHAR
Definition: xmlstorage.h:180

Referenced by CM_Create_DevNode_ExA(), and CM_Create_DevNodeW().

◆ CM_Create_DevNodeA()

CMAPI CONFIGRET WINAPI CM_Create_DevNodeA ( _Out_ PDEVINST  pdnDevInst,
_In_ DEVINSTID_A  pDeviceID,
_In_ DEVINST  dnParent,
_In_ ULONG  ulFlags 
)

Definition at line 1310 of file cfgmgr.c.

1315{
1316 TRACE("CM_Create_DevNodeA(%p %s %p %lx)\n",
1317 pdnDevInst, debugstr_a(pDeviceID), dnParent, ulFlags);
1318
1319 return CM_Create_DevNode_ExA(pdnDevInst, pDeviceID, dnParent,
1320 ulFlags, NULL);
1321}
CONFIGRET WINAPI CM_Create_DevNode_ExA(_Out_ PDEVINST pdnDevInst, _In_ DEVINSTID_A pDeviceID, _In_ DEVINST dnParent, _In_ ULONG ulFlags, _In_opt_ HANDLE hMachine)
Definition: cfgmgr.c:1348

◆ CM_Create_DevNodeW()

CMAPI CONFIGRET WINAPI CM_Create_DevNodeW ( _Out_ PDEVINST  pdnDevInst,
_In_ DEVINSTID_W  pDeviceID,
_In_ DEVINST  dnParent,
_In_ ULONG  ulFlags 
)

Definition at line 1329 of file cfgmgr.c.

1334{
1335 TRACE("CM_Create_DevNodeW(%p %s %p %lx)\n",
1336 pdnDevInst, debugstr_w(pDeviceID), dnParent, ulFlags);
1337
1338 return CM_Create_DevNode_ExW(pdnDevInst, pDeviceID, dnParent,
1339 ulFlags, NULL);
1340}

◆ CM_Create_Range_List()

CMAPI CONFIGRET WINAPI CM_Create_Range_List ( _Out_ PRANGE_LIST  prlh,
_In_ ULONG  ulFlags 
)

Definition at line 1463 of file cfgmgr.c.

1466{
1467 PINTERNAL_RANGE_LIST pRangeList;
1468
1469 FIXME("CM_Create_Range_List(%p %lx)\n",
1470 prlh, ulFlags);
1471
1472 if (ulFlags != 0)
1473 return CR_INVALID_FLAG;
1474
1475 if (prlh == NULL)
1476 return CR_INVALID_POINTER;
1477
1478 /* Allocate the range list */
1480 if (pRangeList == NULL)
1481 return CR_OUT_OF_MEMORY;
1482
1483 /* Set the magic value */
1484 pRangeList->ulMagic = RANGE_LIST_MAGIC;
1485
1486 /* Initialize the mutex for synchonized access */
1487 pRangeList->hMutex = CreateMutex(NULL, FALSE, NULL);
1488 if (pRangeList->hMutex == NULL)
1489 {
1490 HeapFree(GetProcessHeap(), 0, pRangeList);
1491 return CR_FAILURE;
1492 }
1493
1494 InitializeListHead(&pRangeList->ListHead);
1495
1496 *prlh = (RANGE_LIST)pRangeList;
1497
1498 return CR_SUCCESS;
1499}
DWORD_PTR RANGE_LIST
Definition: cfgmgr32.h:102
#define RANGE_LIST_MAGIC
Definition: cfgmgr.c:98
#define HEAP_ZERO_MEMORY
Definition: compat.h:134
#define InitializeListHead(ListHead)
Definition: env_spec_w32.h:944
#define CreateMutex
Definition: winbase.h:3691

◆ CM_Delete_Class_Key()

CMAPI CONFIGRET WINAPI CM_Delete_Class_Key ( _In_ LPGUID  ClassGuid,
_In_ ULONG  ulFlags 
)

Definition at line 1507 of file cfgmgr.c.

1510{
1511 TRACE("CM_Delete_Class_Key(%p %lx)\n",
1512 ClassGuid, ulFlags);
1513
1514 return CM_Delete_Class_Key_Ex(ClassGuid, ulFlags, NULL);
1515}
CONFIGRET WINAPI CM_Delete_Class_Key_Ex(_In_ LPGUID ClassGuid, _In_ ULONG ulFlags, _In_opt_ HANDLE hMachine)
Definition: cfgmgr.c:1523

◆ CM_Delete_Class_Key_Ex()

CMAPI CONFIGRET WINAPI CM_Delete_Class_Key_Ex ( _In_ LPGUID  ClassGuid,
_In_ ULONG  ulFlags,
_In_opt_ HANDLE  hMachine 
)

Definition at line 1523 of file cfgmgr.c.

1527{
1528 WCHAR szGuidString[MAX_GUID_STRING_LEN];
1530 CONFIGRET ret;
1531
1532 TRACE("CM_Delete_Class_Key_Ex(%p %lx %p)\n",
1533 ClassGuid, ulFlags, hMachine);
1534
1535 if (ClassGuid == NULL)
1536 return CR_INVALID_POINTER;
1537
1538 if (ulFlags & ~CM_DELETE_CLASS_BITS)
1539 return CR_INVALID_FLAG;
1540
1541 if (!GuidToString(ClassGuid, szGuidString))
1542 return CR_INVALID_DATA;
1543
1544 if (hMachine != NULL)
1545 {
1546 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
1547 if (BindingHandle == NULL)
1548 return CR_FAILURE;
1549 }
1550 else
1551 {
1553 return CR_FAILURE;
1554 }
1555
1557 {
1559 szGuidString,
1560 ulFlags);
1561 }
1563 {
1565 }
1567
1568 return ret;
1569}
DWORD WINAPI PNP_DeleteClassKey(handle_t hBinding, LPWSTR pszClassGuid, DWORD ulFlags)
Definition: rpcserver.c:2552
#define CM_DELETE_CLASS_BITS
Definition: cfgmgr32.h:639
static BOOL GuidToString(_In_ LPGUID Guid, _Out_ LPWSTR String)
Definition: cfgmgr.c:113
#define MAX_GUID_STRING_LEN
Definition: apphelp.c:29

Referenced by CM_Delete_Class_Key().

◆ CM_Delete_Device_Interface_Key_ExA()

CMAPI CONFIGRET WINAPI CM_Delete_Device_Interface_Key_ExA ( _In_ LPCSTR  pszDeviceInterface,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

◆ CM_Delete_Device_Interface_Key_ExW()

CMAPI CONFIGRET WINAPI CM_Delete_Device_Interface_Key_ExW ( _In_ LPCWSTR  pszDeviceInterface,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

◆ CM_Delete_Device_Interface_KeyA()

CMAPI CONFIGRET WINAPI CM_Delete_Device_Interface_KeyA ( _In_ LPCSTR  pszDeviceInterface,
_In_ ULONG  ulFlags 
)

◆ CM_Delete_Device_Interface_KeyW()

CMAPI CONFIGRET WINAPI CM_Delete_Device_Interface_KeyW ( _In_ LPCWSTR  pszDeviceInterface,
_In_ ULONG  ulFlags 
)

◆ CM_Delete_DevNode_Key()

CMAPI CONFIGRET WINAPI CM_Delete_DevNode_Key ( _In_ DEVNODE  dnDevNode,
_In_ ULONG  ulHardwareProfile,
_In_ ULONG  ulFlags 
)

Definition at line 1577 of file cfgmgr.c.

1581{
1582 TRACE("CM_Delete_DevNode_Key(%p %lu %lx)\n",
1583 dnDevInst, ulHardwareProfile, ulFlags);
1584
1585 return CM_Delete_DevNode_Key_Ex(dnDevInst, ulHardwareProfile, ulFlags,
1586 NULL);
1587}
CONFIGRET WINAPI CM_Delete_DevNode_Key_Ex(_In_ DEVINST dnDevInst, _In_ ULONG ulHardwareProfile, _In_ ULONG ulFlags, _In_opt_ HANDLE hMachine)
Definition: cfgmgr.c:1595

◆ CM_Delete_DevNode_Key_Ex()

CMAPI CONFIGRET WINAPI CM_Delete_DevNode_Key_Ex ( _In_ DEVNODE  dnDevNode,
_In_ ULONG  ulHardwareProfile,
_In_ ULONG  ulFlags,
_In_opt_ HANDLE  hMachine 
)

Definition at line 1595 of file cfgmgr.c.

1600{
1602 HSTRING_TABLE StringTable = NULL;
1603 PWSTR pszDevInst, pszKeyPath = NULL, pszInstancePath = NULL;
1604 CONFIGRET ret;
1605
1606 FIXME("CM_Delete_DevNode_Key_Ex(%p %lu %lx %p)\n",
1607 dnDevInst, ulHardwareProfile, ulFlags, hMachine);
1608
1609 if (dnDevInst == 0)
1610 return CR_INVALID_DEVINST;
1611
1612 if (ulFlags & ~CM_REGISTRY_BITS)
1613 return CR_INVALID_FLAG;
1614
1615 if ((ulFlags & CM_REGISTRY_USER) && (ulFlags & CM_REGISTRY_CONFIG))
1616 return CR_INVALID_FLAG;
1617
1618 if (hMachine != NULL)
1619 {
1620 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
1621 if (BindingHandle == NULL)
1622 return CR_FAILURE;
1623
1624 StringTable = ((PMACHINE_INFO)hMachine)->StringTable;
1625 if (StringTable == 0)
1626 return CR_FAILURE;
1627 }
1628 else
1629 {
1630 if (!PnpGetLocalHandles(&BindingHandle, &StringTable))
1631 return CR_FAILURE;
1632 }
1633
1634 pszDevInst = pSetupStringTableStringFromId(StringTable, dnDevInst);
1635 if (pszDevInst == NULL)
1636 return CR_INVALID_DEVNODE;
1637
1638 TRACE("pszDevInst: %S\n", pszDevInst);
1639
1640 pszKeyPath = MyMalloc(512 * sizeof(WCHAR));
1641 if (pszKeyPath == NULL)
1642 {
1644 goto done;
1645 }
1646
1647 pszInstancePath = MyMalloc(512 * sizeof(WCHAR));
1648 if (pszInstancePath == NULL)
1649 {
1651 goto done;
1652 }
1653
1655 pszDevInst,
1656 pszKeyPath,
1657 pszInstancePath,
1658 ulHardwareProfile,
1659 ulFlags);
1660 if (ret != CR_SUCCESS)
1661 goto done;
1662
1663 TRACE("pszKeyPath: %S\n", pszKeyPath);
1664 TRACE("pszInstancePath: %S\n", pszInstancePath);
1665
1666 if (ulFlags & CM_REGISTRY_USER)
1667 {
1668 FIXME("The CM_REGISTRY_USER flag is not supported yet!\n");
1669 }
1670 else
1671 {
1672#if 0
1673 if (!pSetupIsUserAdmin())
1674 {
1676 goto done;
1677 }
1678#endif
1679
1680 if (!(ulFlags & CM_REGISTRY_CONFIG))
1681 ulHardwareProfile = 0;
1682
1684 {
1686 pszDevInst,
1687 pszKeyPath,
1688 pszInstancePath,
1689 ulHardwareProfile);
1690 }
1692 {
1694 }
1696 }
1697
1698done:
1699 if (pszInstancePath != NULL)
1700 MyFree(pszInstancePath);
1701
1702 if (pszKeyPath != NULL)
1703 MyFree(pszKeyPath);
1704
1705 return ret;
1706}
DWORD WINAPI PNP_DeleteRegistryKey(handle_t hBinding, LPWSTR pszDeviceID, LPWSTR pszParentKey, LPWSTR pszChildKey, DWORD ulFlags)
Definition: rpcserver.c:2434
#define CM_REGISTRY_BITS
Definition: cfgmgr32.h:804
#define CM_REGISTRY_USER
Definition: cfgmgr32.h:802
#define CM_REGISTRY_CONFIG
Definition: cfgmgr32.h:803
static CONFIGRET GetDeviceInstanceKeyPath(_In_ RPC_BINDING_HANDLE BindingHandle, _In_ PWSTR pszDeviceInst, _Out_ PWSTR pszKeyPath, _Out_ PWSTR pszInstancePath, _In_ ULONG ulHardwareProfile, _In_ ULONG ulFlags)
Definition: cfgmgr.c:224
LPVOID WINAPI MyMalloc(DWORD dwSize)
Definition: misc.c:147

Referenced by CM_Delete_DevNode_Key().

◆ CM_Delete_PowerScheme()

CONFIGRET CM_Delete_PowerScheme ( _In_ CONST GUID SchemeGuid,
_Out_ PDWORD  Error 
)

◆ CM_Delete_Range()

CMAPI CONFIGRET WINAPI CM_Delete_Range ( _In_ DWORDLONG  ullStartValue,
_In_ DWORDLONG  ullEndValue,
_In_ RANGE_LIST  rlh,
_In_ ULONG  ulFlags 
)

Definition at line 1714 of file cfgmgr.c.

1719{
1720 FIXME("CM_Delete_Range(%I64u %I64u %p %lx)\n",
1721 ullStartValue, ullEndValue, rlh, ulFlags);
1722
1724}

◆ CM_Detect_Resource_Conflict()

CMAPI CONFIGRET WINAPI CM_Detect_Resource_Conflict ( _In_ DEVINST  dnDevInst,
_In_ RESOURCEID  ResourceID,
_In_reads_bytes_(ResourceLen) PCVOID  ResourceData,
_In_ ULONG  ResourceLen,
_Out_ PBOOL  pbConflictDetected,
_In_ ULONG  ulFlags 
)

Definition at line 1732 of file cfgmgr.c.

1739{
1740 TRACE("CM_Detect_Resource_Conflict(%p %lu %p %lu %p 0x%lx)\n",
1741 dnDevInst, ResourceID, ResourceData, ResourceLen,
1742 pbConflictDetected, ulFlags);
1743
1744 return CM_Detect_Resource_Conflict_Ex(dnDevInst,
1745 ResourceID,
1746 ResourceData,
1747 ResourceLen,
1748 pbConflictDetected,
1749 ulFlags,
1750 NULL);
1751}
CONFIGRET WINAPI CM_Detect_Resource_Conflict_Ex(_In_ DEVINST dnDevInst, _In_ RESOURCEID ResourceID, _In_reads_bytes_(ResourceLen) PCVOID ResourceData, _In_ ULONG ResourceLen, _Out_ PBOOL pbConflictDetected, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:1759

◆ CM_Detect_Resource_Conflict_Ex()

CMAPI CONFIGRET WINAPI CM_Detect_Resource_Conflict_Ex ( _In_ DEVINST  dnDevInst,
_In_ RESOURCEID  ResourceID,
_In_reads_bytes_(ResourceLen) PCVOID  ResourceData,
_In_ ULONG  ResourceLen,
_Out_ PBOOL  pbConflictDetected,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 1759 of file cfgmgr.c.

1767{
1768 FIXME("CM_Detect_Resource_Conflict_Ex(%p %lu %p %lu %p 0x%lx %p)\n",
1769 dnDevInst, ResourceID, ResourceData, ResourceLen,
1770 pbConflictDetected, ulFlags, hMachine);
1771
1773}

Referenced by CM_Detect_Resource_Conflict().

◆ CM_Disable_DevNode()

CMAPI CONFIGRET WINAPI CM_Disable_DevNode ( _In_ DEVINST  dnDevInst,
_In_ ULONG  ulFlags 
)

Definition at line 1781 of file cfgmgr.c.

1784{
1785 TRACE("CM_Disable_DevNode(%p %lx)\n",
1786 dnDevInst, ulFlags);
1787
1788 return CM_Disable_DevNode_Ex(dnDevInst, ulFlags, NULL);
1789}
CONFIGRET WINAPI CM_Disable_DevNode_Ex(_In_ DEVINST dnDevInst, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:1797

◆ CM_Disable_DevNode_Ex()

CMAPI CONFIGRET WINAPI CM_Disable_DevNode_Ex ( _In_ DEVINST  dnDevInst,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 1797 of file cfgmgr.c.

1801{
1803 HSTRING_TABLE StringTable = NULL;
1804 LPWSTR lpDevInst;
1805 CONFIGRET ret;
1806
1807 TRACE("CM_Disable_DevNode_Ex(%p %lx %p)\n",
1808 dnDevInst, ulFlags, hMachine);
1809
1810 if (!pSetupIsUserAdmin())
1811 return CR_ACCESS_DENIED;
1812
1813 if (dnDevInst == 0)
1814 return CR_INVALID_DEVINST;
1815
1816 if (ulFlags != 0)
1817 return CR_INVALID_FLAG;
1818
1819 if (hMachine != NULL)
1820 {
1821 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
1822 if (BindingHandle == NULL)
1823 return CR_FAILURE;
1824
1825 StringTable = ((PMACHINE_INFO)hMachine)->StringTable;
1826 if (StringTable == 0)
1827 return CR_FAILURE;
1828 }
1829 else
1830 {
1831 if (!PnpGetLocalHandles(&BindingHandle, &StringTable))
1832 return CR_FAILURE;
1833 }
1834
1835 lpDevInst = pSetupStringTableStringFromId(StringTable, dnDevInst);
1836 if (lpDevInst == NULL)
1837 return CR_INVALID_DEVNODE;
1838
1840 {
1842 lpDevInst,
1843 NULL,
1844 NULL,
1845 0,
1846 ulFlags);
1847 }
1849 {
1851 }
1853
1854 return ret;
1855}
DWORD WINAPI PNP_DisableDevInst(handle_t hBinding, LPWSTR pDeviceID, PPNP_VETO_TYPE pVetoType, LPWSTR pszVetoName, DWORD ulNameLength, DWORD ulFlags)
Definition: rpcserver.c:3542

Referenced by CM_Disable_DevNode(), and StopDevice().

◆ CM_Disconnect_Machine()

CMAPI CONFIGRET WINAPI CM_Disconnect_Machine ( _In_opt_ HMACHINE  hMachine)

Definition at line 1863 of file cfgmgr.c.

1865{
1866 PMACHINE_INFO pMachine;
1867
1868 TRACE("CM_Disconnect_Machine(%p)\n", hMachine);
1869
1870 pMachine = (PMACHINE_INFO)hMachine;
1871 if (pMachine == NULL)
1872 return CR_SUCCESS;
1873
1874 if (pMachine->bLocal == FALSE)
1875 {
1876 if (pMachine->StringTable != NULL)
1878
1879 if (!PnpUnbindRpc(pMachine->BindingHandle))
1880 return CR_ACCESS_DENIED;
1881 }
1882
1883 HeapFree(GetProcessHeap(), 0, pMachine);
1884
1885 return CR_SUCCESS;
1886}
RPC_STATUS PnpUnbindRpc(RPC_BINDING_HANDLE *BindingHandle)
Definition: rpc.c:53

Referenced by DestroyDeviceInfoSet(), DeviceProblemWizardW(), DisplayDeviceAdvancedProperties(), and SetupDiBuildClassInfoListExW().

◆ CM_Dup_Range_List()

CMAPI CONFIGRET WINAPI CM_Dup_Range_List ( _In_ RANGE_LIST  rlhOld,
_In_ RANGE_LIST  rlhNew,
_In_ ULONG  ulFlags 
)

Definition at line 1894 of file cfgmgr.c.

1898{
1899 FIXME("CM_Dup_Range_List(%p %p %lx)\n",
1900 rlhOld, rlhNew, ulFlags);
1901
1903}

◆ CM_Duplicate_PowerScheme()

CONFIGRET CM_Duplicate_PowerScheme ( _In_ CONST GUID SourceSchemeGuid,
_Inout_ GUID **  DestinationSchemeGuid,
_Out_ PDWORD  Error 
)

◆ CM_Enable_DevNode()

CMAPI CONFIGRET WINAPI CM_Enable_DevNode ( _In_ DEVINST  dnDevInst,
_In_ ULONG  ulFlags 
)

Definition at line 1911 of file cfgmgr.c.

1914{
1915 TRACE("CM_Enable_DevNode(%p %lx)\n",
1916 dnDevInst, ulFlags);
1917
1918 return CM_Enable_DevNode_Ex(dnDevInst, ulFlags, NULL);
1919}
CONFIGRET WINAPI CM_Enable_DevNode_Ex(_In_ DEVINST dnDevInst, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:1927

◆ CM_Enable_DevNode_Ex()

CMAPI CONFIGRET WINAPI CM_Enable_DevNode_Ex ( _In_ DEVINST  dnDevInst,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 1927 of file cfgmgr.c.

1931{
1933 HSTRING_TABLE StringTable = NULL;
1934 LPWSTR lpDevInst;
1935 CONFIGRET ret;
1936
1937 TRACE("CM_Enable_DevNode_Ex(%p %lx %p)\n",
1938 dnDevInst, ulFlags, hMachine);
1939
1940 if (!pSetupIsUserAdmin())
1941 return CR_ACCESS_DENIED;
1942
1943 if (dnDevInst == 0)
1944 return CR_INVALID_DEVINST;
1945
1946 if (ulFlags != 0)
1947 return CR_INVALID_FLAG;
1948
1949 if (hMachine != NULL)
1950 {
1951 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
1952 if (BindingHandle == NULL)
1953 return CR_FAILURE;
1954
1955 StringTable = ((PMACHINE_INFO)hMachine)->StringTable;
1956 if (StringTable == 0)
1957 return CR_FAILURE;
1958 }
1959 else
1960 {
1961 if (!PnpGetLocalHandles(&BindingHandle, &StringTable))
1962 return CR_FAILURE;
1963 }
1964
1965 lpDevInst = pSetupStringTableStringFromId(StringTable, dnDevInst);
1966 if (lpDevInst == NULL)
1967 return CR_INVALID_DEVNODE;
1968
1970 {
1972 PNP_DEVINST_ENABLE,
1973 ulFlags,
1974 lpDevInst,
1975 NULL);
1976 }
1978 {
1980 }
1982
1983 return ret;
1984}
DWORD WINAPI PNP_DeviceInstanceAction(handle_t hBinding, DWORD ulMajorAction, DWORD ulMinorAction, LPWSTR pszDeviceInstance1, LPWSTR pszDeviceInstance2)
Definition: rpcserver.c:3366

Referenced by CM_Enable_DevNode(), ResetDevice(), and SetupDiRestartDevices().

◆ CM_Enumerate_Classes()

CMAPI CONFIGRET WINAPI CM_Enumerate_Classes ( _In_ ULONG  ulClassIndex,
_Out_ LPGUID  ClassGuid,
_In_ ULONG  ulFlags 
)

Definition at line 1992 of file cfgmgr.c.

1996{
1997 TRACE("CM_Enumerate_Classes(%lx %p %lx)\n",
1998 ulClassIndex, ClassGuid, ulFlags);
1999
2000 return CM_Enumerate_Classes_Ex(ulClassIndex, ClassGuid, ulFlags, NULL);
2001}
CONFIGRET WINAPI CM_Enumerate_Classes_Ex(_In_ ULONG ulClassIndex, _Out_ LPGUID ClassGuid, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:2009

Referenced by EnumDeviceClasses(), and CDeviceView::GetNextClass().

◆ CM_Enumerate_Classes_Ex()

CMAPI CONFIGRET WINAPI CM_Enumerate_Classes_Ex ( _In_ ULONG  ulClassIndex,
_Out_ LPGUID  ClassGuid,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 2009 of file cfgmgr.c.

2014{
2015 WCHAR szBuffer[MAX_GUID_STRING_LEN];
2018 ULONG ulLength = MAX_GUID_STRING_LEN;
2019
2020 TRACE("CM_Enumerate_Classes_Ex(%lx %p %lx %p)\n",
2021 ulClassIndex, ClassGuid, ulFlags, hMachine);
2022
2023 if (ClassGuid == NULL)
2024 return CR_INVALID_POINTER;
2025
2026 if (ulFlags != 0)
2027 return CR_INVALID_FLAG;
2028
2029 if (hMachine != NULL)
2030 {
2031 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
2032 if (BindingHandle == NULL)
2033 return CR_FAILURE;
2034 }
2035 else
2036 {
2038 return CR_FAILURE;
2039 }
2040
2042 {
2044 PNP_CLASS_SUBKEYS,
2045 ulClassIndex,
2046 szBuffer,
2048 &ulLength,
2049 ulFlags);
2050 }
2052 {
2054 }
2056
2057 if (ret == CR_SUCCESS)
2058 {
2059 /* Remove the {} */
2060 szBuffer[MAX_GUID_STRING_LEN - 2] = UNICODE_NULL;
2061
2062 /* Convert the buffer to a GUID */
2063 if (UuidFromStringW(&szBuffer[1], ClassGuid) != RPC_S_OK)
2064 return CR_FAILURE;
2065 }
2066
2067 return ret;
2068}
DWORD WINAPI PNP_EnumerateSubKeys(handle_t hBinding, DWORD ulBranch, DWORD ulIndex, LPWSTR Buffer, PNP_RPC_STRING_LEN ulLength, PNP_RPC_STRING_LEN *pulRequiredLen, DWORD ulFlags)
Definition: rpcserver.c:925
#define UNICODE_NULL
#define RPC_S_OK
Definition: rpcnterr.h:22
RPC_STATUS WINAPI UuidFromStringW(RPC_WSTR s, UUID *uuid)
Definition: rpcrt4_main.c:614

Referenced by CM_Enumerate_Classes(), and SetupDiBuildClassInfoListExW().

◆ CM_Enumerate_Enumerators_ExA()

CMAPI CONFIGRET WINAPI CM_Enumerate_Enumerators_ExA ( _In_ ULONG  ulEnumIndex,
_Out_writes_ *pulLength PCHAR  Buffer,
_Inout_ PULONG  pulLength,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 2114 of file cfgmgr.c.

2120{
2121 WCHAR szBuffer[MAX_DEVICE_ID_LEN];
2122 ULONG ulOrigLength;
2123 ULONG ulLength;
2125
2126 TRACE("CM_Enumerate_Enumerators_ExA(%lu %p %p %lx %p)\n",
2127 ulEnumIndex, Buffer, pulLength, ulFlags, hMachine);
2128
2129 if (Buffer == NULL || pulLength == NULL)
2130 return CR_INVALID_POINTER;
2131
2132 if (ulFlags != 0)
2133 return CR_INVALID_FLAG;
2134
2135 ulOrigLength = *pulLength;
2136 *pulLength = 0;
2137
2138 ulLength = MAX_DEVICE_ID_LEN;
2139 ret = CM_Enumerate_Enumerators_ExW(ulEnumIndex, szBuffer, &ulLength,
2140 ulFlags, hMachine);
2141 if (ret == CR_SUCCESS)
2142 {
2144 0,
2145 szBuffer,
2146 ulLength,
2147 Buffer,
2148 ulOrigLength,
2149 NULL,
2150 NULL) == 0)
2151 ret = CR_FAILURE;
2152 else
2153 *pulLength = lstrlenA(Buffer) + 1;
2154 }
2155
2156 return ret;
2157}
CONFIGRET WINAPI CM_Enumerate_Enumerators_ExW(_In_ ULONG ulEnumIndex, _Out_writes_(*pulLength) PWCHAR Buffer, _Inout_ PULONG pulLength, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:2165
Definition: bufpool.h:45
#define CP_ACP
Definition: compat.h:109
#define WideCharToMultiByte
Definition: compat.h:111
int WINAPI lstrlenA(LPCSTR lpString)
Definition: lstring.c:145

Referenced by CM_Enumerate_EnumeratorsA().

◆ CM_Enumerate_Enumerators_ExW()

CMAPI CONFIGRET WINAPI CM_Enumerate_Enumerators_ExW ( _In_ ULONG  ulEnumIndex,
_Out_writes_ *pulLength PWCHAR  Buffer,
_Inout_ PULONG  pulLength,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 2165 of file cfgmgr.c.

2171{
2173 CONFIGRET ret;
2174
2175 TRACE("CM_Enumerate_Enumerators_ExW(%lu %p %p %lx %p)\n",
2176 ulEnumIndex, Buffer, pulLength, ulFlags, hMachine);
2177
2178 if (Buffer == NULL || pulLength == NULL)
2179 return CR_INVALID_POINTER;
2180
2181 if (ulFlags != 0)
2182 return CR_INVALID_FLAG;
2183
2185
2186 if (hMachine != NULL)
2187 {
2188 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
2189 if (BindingHandle == NULL)
2190 return CR_FAILURE;
2191 }
2192 else
2193 {
2195 return CR_FAILURE;
2196 }
2197
2199 {
2201 PNP_ENUMERATOR_SUBKEYS,
2202 ulEnumIndex,
2203 Buffer,
2204 *pulLength,
2205 pulLength,
2206 ulFlags);
2207 }
2209 {
2211 }
2213
2214 return ret;
2215}

Referenced by CM_Enumerate_Enumerators_ExA(), and CM_Enumerate_EnumeratorsW().

◆ CM_Enumerate_EnumeratorsA()

CMAPI CONFIGRET WINAPI CM_Enumerate_EnumeratorsA ( _In_ ULONG  ulEnumIndex,
_Out_writes_ *pulLength PCHAR  Buffer,
_Inout_ PULONG  pulLength,
_In_ ULONG  ulFlags 
)

Definition at line 2076 of file cfgmgr.c.

2081{
2082 TRACE("CM_Enumerate_EnumeratorsA(%lu %p %p %lx)\n",
2083 ulEnumIndex, Buffer, pulLength, ulFlags);
2084
2085 return CM_Enumerate_Enumerators_ExA(ulEnumIndex, Buffer, pulLength,
2086 ulFlags, NULL);
2087}
CONFIGRET WINAPI CM_Enumerate_Enumerators_ExA(_In_ ULONG ulEnumIndex, _Out_writes_(*pulLength) PCHAR Buffer, _Inout_ PULONG pulLength, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:2114

◆ CM_Enumerate_EnumeratorsW()

CMAPI CONFIGRET WINAPI CM_Enumerate_EnumeratorsW ( _In_ ULONG  ulEnumIndex,
_Out_writes_ *pulLength PWCHAR  Buffer,
_Inout_ PULONG  pulLength,
_In_ ULONG  ulFlags 
)

Definition at line 2095 of file cfgmgr.c.

2100{
2101 TRACE("CM_Enumerate_EnumeratorsW(%lu %p %p %lx)\n",
2102 ulEnumIndex, Buffer, pulLength, ulFlags);
2103
2104 return CM_Enumerate_Enumerators_ExW(ulEnumIndex, Buffer, pulLength,
2105 ulFlags, NULL);
2106}

◆ CM_Find_Range()

CMAPI CONFIGRET WINAPI CM_Find_Range ( _Out_ PDWORDLONG  pullStart,
_In_ DWORDLONG  ullStart,
_In_ ULONG  ulLength,
_In_ DWORDLONG  ullAlignment,
_In_ DWORDLONG  ullEnd,
_In_ RANGE_LIST  rlh,
_In_ ULONG  ulFlags 
)

Definition at line 2223 of file cfgmgr.c.

2231{
2232 FIXME("CM_Find_Range(%p %I64u %lu %I64u %I64u %p %lx)\n",
2233 pullStart, ullStart, ulLength, ullAlignment, ullEnd, rlh, ulFlags);
2234
2236}

◆ CM_First_Range()

CMAPI CONFIGRET WINAPI CM_First_Range ( _In_ RANGE_LIST  rlh,
_Out_ PDWORDLONG  pullStart,
_Out_ PDWORDLONG  pullEnd,
_Out_ PRANGE_ELEMENT  preElement,
_In_ ULONG  ulFlags 
)

Definition at line 2244 of file cfgmgr.c.

2250{
2251 PINTERNAL_RANGE_LIST pRangeList;
2252 PINTERNAL_RANGE pRange;
2253 PLIST_ENTRY ListEntry;
2255
2256 FIXME("CM_First_Range(%p %p %p %p %lx)\n",
2257 rlh, pullStart, pullEnd, preElement, ulFlags);
2258
2259 pRangeList = (PINTERNAL_RANGE_LIST)rlh;
2260
2261 if (!IsValidRangeList(pRangeList))
2262 return CR_INVALID_RANGE_LIST;
2263
2264 if (pullStart == NULL || pullEnd == NULL || preElement == NULL)
2265 return CR_INVALID_POINTER;
2266
2267 if (ulFlags != 0)
2268 return CR_INVALID_FLAG;
2269
2270 /* Lock the range list */
2271 WaitForSingleObject(pRangeList->hMutex, INFINITE);
2272
2273 /* Fail, if the list is empty */
2274 if (IsListEmpty(&pRangeList->ListHead))
2275 {
2276 ret = CR_FAILURE;
2277 goto done;
2278 }
2279
2280 /* Get the first range */
2281 ListEntry = pRangeList->ListHead.Flink;
2282 pRange = CONTAINING_RECORD(ListEntry, INTERNAL_RANGE, ListEntry);
2283
2284 /* Return the range data */
2285 *pullStart = pRange->ullStart;
2286 *pullEnd = pRange->ullEnd;
2287 *preElement = (RANGE_ELEMENT)pRange;
2288
2289done:
2290 /* Unlock the range list */
2291 ReleaseMutex(pRangeList->hMutex);
2292
2293 return ret;
2294}
DWORD_PTR RANGE_ELEMENT
Definition: cfgmgr32.h:105
Definition: typedefs.h:120
struct _LIST_ENTRY * Flink
Definition: typedefs.h:121
#define CONTAINING_RECORD(address, type, field)
Definition: typedefs.h:260

◆ CM_Free_Log_Conf()

CMAPI CONFIGRET WINAPI CM_Free_Log_Conf ( _In_ LOG_CONF  lcLogConfToBeFreed,
_In_ ULONG  ulFlags 
)

Definition at line 2302 of file cfgmgr.c.

2305{
2306 TRACE("CM_Free_Log_Conf(%lx %lx)\n",
2307 lcLogConfToBeFreed, ulFlags);
2308
2309 return CM_Free_Log_Conf_Ex(lcLogConfToBeFreed, ulFlags, NULL);
2310}
CONFIGRET WINAPI CM_Free_Log_Conf_Ex(_In_ LOG_CONF lcLogConfToBeFreed, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:2318

◆ CM_Free_Log_Conf_Ex()

CMAPI CONFIGRET WINAPI CM_Free_Log_Conf_Ex ( _In_ LOG_CONF  lcLogConfToBeFreed,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 2318 of file cfgmgr.c.

2322{
2324 HSTRING_TABLE StringTable = NULL;
2325 LPWSTR lpDevInst;
2326 PLOG_CONF_INFO pLogConfInfo;
2327 CONFIGRET ret;
2328
2329 TRACE("CM_Free_Log_Conf_Ex(%lx %lx %p)\n",
2330 lcLogConfToBeFreed, ulFlags, hMachine);
2331
2332 if (!pSetupIsUserAdmin())
2333 return CR_ACCESS_DENIED;
2334
2335 pLogConfInfo = (PLOG_CONF_INFO)lcLogConfToBeFreed;
2336 if (!IsValidLogConf(pLogConfInfo))
2337 return CR_INVALID_LOG_CONF;
2338
2339 if (ulFlags != 0)
2340 return CR_INVALID_FLAG;
2341
2342 if (hMachine != NULL)
2343 {
2344 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
2345 if (BindingHandle == NULL)
2346 return CR_FAILURE;
2347
2348 StringTable = ((PMACHINE_INFO)hMachine)->StringTable;
2349 if (StringTable == 0)
2350 return CR_FAILURE;
2351 }
2352 else
2353 {
2354 if (!PnpGetLocalHandles(&BindingHandle, &StringTable))
2355 return CR_FAILURE;
2356 }
2357
2358 lpDevInst = pSetupStringTableStringFromId(StringTable, pLogConfInfo->dnDevInst);
2359 if (lpDevInst == NULL)
2360 return CR_INVALID_DEVNODE;
2361
2363 {
2365 lpDevInst,
2366 pLogConfInfo->ulType,
2367 pLogConfInfo->ulTag,
2368 0);
2369 }
2371 {
2373 }
2375
2376 return ret;
2377}
DWORD WINAPI PNP_FreeLogConf(handle_t hBinding, LPWSTR pDeviceID, DWORD ulLogConfType, DWORD ulLogConfTag, DWORD ulFlags)
Definition: rpcserver.c:4176
#define CR_INVALID_LOG_CONF
Definition: cfgmgr32.h:850
BOOL IsValidLogConf(_In_opt_ PLOG_CONF_INFO pLogConfInfo)
Definition: cfgmgr.c:414
struct _LOG_CONF_INFO * PLOG_CONF_INFO

Referenced by CM_Free_Log_Conf().

◆ CM_Free_Log_Conf_Handle()

CMAPI CONFIGRET WINAPI CM_Free_Log_Conf_Handle ( _In_ LOG_CONF  lcLogConf)

Definition at line 2385 of file cfgmgr.c.

2387{
2388 PLOG_CONF_INFO pLogConfInfo;
2389
2390 TRACE("CM_Free_Log_Conf_Handle(%lx)\n", lcLogConf);
2391
2392 pLogConfInfo = (PLOG_CONF_INFO)lcLogConf;
2393 if (!IsValidLogConf(pLogConfInfo))
2394 return CR_INVALID_LOG_CONF;
2395
2396 HeapFree(GetProcessHeap(), 0, pLogConfInfo);
2397
2398 return CR_SUCCESS;
2399}

◆ CM_Free_Range_List()

CMAPI CONFIGRET WINAPI CM_Free_Range_List ( _In_ RANGE_LIST  rlh,
_In_ ULONG  ulFlags 
)

Definition at line 2407 of file cfgmgr.c.

2410{
2411 PINTERNAL_RANGE_LIST pRangeList;
2412 PINTERNAL_RANGE pRange;
2413 PLIST_ENTRY ListEntry;
2414
2415 FIXME("CM_Free_Range_List(%p %lx)\n",
2416 RangeList, ulFlags);
2417
2418 pRangeList = (PINTERNAL_RANGE_LIST)RangeList;
2419
2420 if (!IsValidRangeList(pRangeList))
2421 return CR_INVALID_RANGE_LIST;
2422
2423 if (ulFlags != 0)
2424 return CR_INVALID_FLAG;
2425
2426 /* Lock the range list */
2427 WaitForSingleObject(pRangeList->hMutex, INFINITE);
2428
2429 /* Free the list of ranges */
2430 while (!IsListEmpty(&pRangeList->ListHead))
2431 {
2432 ListEntry = RemoveHeadList(&pRangeList->ListHead);
2433 pRange = CONTAINING_RECORD(ListEntry, INTERNAL_RANGE, ListEntry);
2434 HeapFree(GetProcessHeap(), 0, pRange);
2435 }
2436
2437 /* Unlock the range list */
2438 ReleaseMutex(pRangeList->hMutex);
2439
2440 /* Close the mutex */
2441 CloseHandle(pRangeList->hMutex);
2442
2443 /* Free the range list */
2444 HeapFree(GetProcessHeap(), 0, pRangeList);
2445
2446 return CR_SUCCESS;
2447}
#define CloseHandle
Definition: compat.h:739
#define RemoveHeadList(ListHead)
Definition: env_spec_w32.h:964

◆ CM_Free_Res_Des()

CMAPI CONFIGRET WINAPI CM_Free_Res_Des ( _Out_opt_ PRES_DES  prdResDes,
_In_ RES_DES  rdResDes,
_In_ ULONG  ulFlags 
)

◆ CM_Free_Res_Des_Ex()

CMAPI CONFIGRET WINAPI CM_Free_Res_Des_Ex ( _Out_opt_ PRES_DES  prdResDes,
_In_ RES_DES  rdResDes,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

◆ CM_Free_Res_Des_Handle()

CMAPI CONFIGRET WINAPI CM_Free_Res_Des_Handle ( _In_ RES_DES  rdResDes)

Definition at line 2490 of file cfgmgr.c.

2492{
2493 FIXME("CM_Free_Res_Des_Handle(%p)\n", rdResDes);
2494
2496}

◆ CM_Free_Resource_Conflict_Handle()

CMAPI CONFIGRET WINAPI CM_Free_Resource_Conflict_Handle ( _In_ CONFLICT_LIST  clConflictList)

Definition at line 2504 of file cfgmgr.c.

2506{
2507 PCONFLICT_DATA pConflictData;
2508
2509 FIXME("CM_Free_Resource_Conflict_Handle(%p)\n",
2510 clConflictList);
2511
2512 pConflictData = (PCONFLICT_DATA)clConflictList;
2513 if (!IsValidConflictData(pConflictData))
2515
2516 if (pConflictData->pConflictList != NULL)
2517 MyFree(pConflictData->pConflictList);
2518
2519 MyFree(pConflictData);
2520
2521 return CR_SUCCESS;
2522}
#define CR_INVALID_CONFLICT_LIST
Definition: cfgmgr32.h:903
BOOL IsValidConflictData(_In_opt_ PCONFLICT_DATA pConflictData)
Definition: cfgmgr.c:438
struct _CONFLICT_DATA * PCONFLICT_DATA
PPNP_CONFLICT_LIST pConflictList
Definition: cfgmgr.c:103

◆ CM_Get_Child()

CMAPI CONFIGRET WINAPI CM_Get_Child ( _Out_ PDEVINST  pdnDevInst,
_In_ DEVINST  dnDevInst,
_In_ ULONG  ulFlags 
)

Definition at line 2530 of file cfgmgr.c.

2534{
2535 TRACE("CM_Get_Child(%p %p %lx)\n",
2536 pdnDevInst, dnDevInst, ulFlags);
2537
2538 return CM_Get_Child_Ex(pdnDevInst, dnDevInst, ulFlags, NULL);
2539}
CONFIGRET WINAPI CM_Get_Child_Ex(_Out_ PDEVINST pdnDevInst, _In_ DEVINST dnDevInst, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:2547

Referenced by CfmListRecursiveInsertSubDevices(), DevTreeRecursiveInsertSubDevices(), CDeviceView::GetChildDevice(), and GetMonitorDevInstID().

◆ CM_Get_Child_Ex()

CMAPI CONFIGRET WINAPI CM_Get_Child_Ex ( _Out_ PDEVINST  pdnDevInst,
_In_ DEVINST  dnDevInst,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 2547 of file cfgmgr.c.

2552{
2553 WCHAR szRelatedDevInst[MAX_DEVICE_ID_LEN];
2555 HSTRING_TABLE StringTable = NULL;
2556 LPWSTR lpDevInst;
2557 DWORD dwIndex, dwLength = MAX_DEVICE_ID_LEN;
2558 CONFIGRET ret;
2559
2560 TRACE("CM_Get_Child_Ex(%p %lx %lx %p)\n",
2561 pdnDevInst, dnDevInst, ulFlags, hMachine);
2562
2563 if (pdnDevInst == NULL)
2564 return CR_INVALID_POINTER;
2565
2566 if (dnDevInst == 0)
2567 return CR_INVALID_DEVINST;
2568
2569 if (ulFlags != 0)
2570 return CR_INVALID_FLAG;
2571
2572 *pdnDevInst = -1;
2573
2574 if (hMachine != NULL)
2575 {
2576 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
2577 if (BindingHandle == NULL)
2578 return CR_FAILURE;
2579
2580 StringTable = ((PMACHINE_INFO)hMachine)->StringTable;
2581 if (StringTable == 0)
2582 return CR_FAILURE;
2583 }
2584 else
2585 {
2586 if (!PnpGetLocalHandles(&BindingHandle, &StringTable))
2587 return CR_FAILURE;
2588 }
2589
2590 lpDevInst = pSetupStringTableStringFromId(StringTable, dnDevInst);
2591 if (lpDevInst == NULL)
2592 return CR_INVALID_DEVNODE;
2593
2595 {
2597 PNP_GET_CHILD_DEVICE_INSTANCE,
2598 lpDevInst,
2599 szRelatedDevInst,
2600 &dwLength,
2601 0);
2602 }
2604 {
2606 }
2608
2609 if (ret != CR_SUCCESS)
2610 return ret;
2611
2612 TRACE("szRelatedDevInst: %s\n", debugstr_w(szRelatedDevInst));
2613
2614 dwIndex = pSetupStringTableAddString(StringTable, szRelatedDevInst, 1);
2615 if (dwIndex == -1)
2616 return CR_FAILURE;
2617
2618 *pdnDevInst = dwIndex;
2619
2620 return CR_SUCCESS;
2621}
DWORD WINAPI PNP_GetRelatedDeviceInstance(handle_t hBinding, DWORD ulRelationship, LPWSTR pDeviceID, LPWSTR pRelatedDeviceId, PNP_RPC_STRING_LEN *pulLength, DWORD ulFlags)
Definition: rpcserver.c:847
static DWORD DWORD * dwLength
Definition: fusion.c:86
unsigned long DWORD
Definition: ntddk_ex.h:95

Referenced by CM_Get_Child().

◆ CM_Get_Class_Key_Name_ExA()

CMAPI CONFIGRET WINAPI CM_Get_Class_Key_Name_ExA ( _In_ LPGUID  ClassGuid,
_Out_writes_opt_ *pulLength LPSTR  pszKeyName,
_Inout_ PULONG  pulLength,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 2667 of file cfgmgr.c.

2673{
2674 WCHAR szBuffer[MAX_GUID_STRING_LEN];
2676 ULONG ulLength;
2677 ULONG ulOrigLength;
2678
2679 TRACE("CM_Get_Class_Key_Name_ExA(%p %p %p %lx %p)\n",
2680 ClassGuid, pszKeyName, pulLength, ulFlags, hMachine);
2681
2682 if (ClassGuid == NULL || pszKeyName == NULL || pulLength == NULL)
2683 return CR_INVALID_POINTER;
2684
2685 ulOrigLength = *pulLength;
2686 *pulLength = 0;
2687
2688 ulLength = MAX_GUID_STRING_LEN;
2689 ret = CM_Get_Class_Key_Name_ExW(ClassGuid, szBuffer, &ulLength,
2690 ulFlags, hMachine);
2691 if (ret == CR_SUCCESS)
2692 {
2694 0,
2695 szBuffer,
2696 ulLength,
2697 pszKeyName,
2698 ulOrigLength,
2699 NULL,
2700 NULL) == 0)
2701 ret = CR_FAILURE;
2702 else
2703 *pulLength = lstrlenA(pszKeyName) + 1;
2704 }
2705
2706 return CR_SUCCESS;
2707}
CONFIGRET WINAPI CM_Get_Class_Key_Name_ExW(_In_ LPGUID ClassGuid, _Out_writes_opt_(*pulLength) LPWSTR pszKeyName, _Inout_ PULONG pulLength, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:2715

Referenced by CM_Get_Class_Key_NameA().

◆ CM_Get_Class_Key_Name_ExW()

CMAPI CONFIGRET WINAPI CM_Get_Class_Key_Name_ExW ( _In_ LPGUID  ClassGuid,
_Out_writes_opt_ *pulLength LPWSTR  pszKeyName,
_Inout_ PULONG  pulLength,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 2715 of file cfgmgr.c.

2721{
2722 TRACE("CM_Get_Class_Key_Name_ExW(%p %p %p %lx %p)\n",
2723 ClassGuid, pszKeyName, pulLength, ulFlags, hMachine);
2724
2725 if (ClassGuid == NULL || pszKeyName == NULL || pulLength == NULL)
2726 return CR_INVALID_POINTER;
2727
2728 if (ulFlags != 0)
2729 return CR_INVALID_FLAG;
2730
2731 if (*pulLength < MAX_GUID_STRING_LEN)
2732 {
2733 *pulLength = 0;
2734 return CR_BUFFER_SMALL;
2735 }
2736
2737 if (!GuidToString(ClassGuid, pszKeyName))
2738 return CR_INVALID_DATA;
2739
2740 *pulLength = MAX_GUID_STRING_LEN;
2741
2742 return CR_SUCCESS;
2743}
#define CR_BUFFER_SMALL
Definition: cfgmgr32.h:872

Referenced by CM_Get_Class_Key_Name_ExA(), and CM_Get_Class_Key_NameW().

◆ CM_Get_Class_Key_NameA()

CMAPI CONFIGRET WINAPI CM_Get_Class_Key_NameA ( _In_ LPGUID  ClassGuid,
_Out_writes_opt_ *pulLength LPSTR  pszKeyName,
_Inout_ PULONG  pulLength,
_In_ ULONG  ulFlags 
)

Definition at line 2629 of file cfgmgr.c.

2634{
2635 TRACE("CM_Get_Class_Key_NameA(%p %p %p %lx)\n",
2636 ClassGuid, pszKeyName, pulLength, ulFlags);
2637
2638 return CM_Get_Class_Key_Name_ExA(ClassGuid, pszKeyName, pulLength,
2639 ulFlags, NULL);
2640}
CONFIGRET WINAPI CM_Get_Class_Key_Name_ExA(_In_ LPGUID ClassGuid, _Out_writes_opt_(*pulLength) LPSTR pszKeyName, _Inout_ PULONG pulLength, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:2667

◆ CM_Get_Class_Key_NameW()

CMAPI CONFIGRET WINAPI CM_Get_Class_Key_NameW ( _In_ LPGUID  ClassGuid,
_Out_writes_opt_ *pulLength LPWSTR  pszKeyName,
_Inout_ PULONG  pulLength,
_In_ ULONG  ulFlags 
)

Definition at line 2648 of file cfgmgr.c.

2653{
2654 TRACE("CM_Get_Class_Key_NameW(%p %p %p %lx)\n",
2655 ClassGuid, pszKeyName, pulLength, ulFlags);
2656
2657 return CM_Get_Class_Key_Name_ExW(ClassGuid, pszKeyName, pulLength,
2658 ulFlags, NULL);
2659}

◆ CM_Get_Class_Name_ExA()

CMAPI CONFIGRET WINAPI CM_Get_Class_Name_ExA ( _In_ LPGUID  ClassGuid,
_Out_writes_opt_ *pulLength PCHAR  Buffer,
_Inout_ PULONG  pulLength,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 2789 of file cfgmgr.c.

2795{
2796 WCHAR szBuffer[MAX_CLASS_NAME_LEN];
2798 ULONG ulLength;
2799 ULONG ulOrigLength;
2800
2801 TRACE("CM_Get_Class_Name_ExA(%p %p %p %lx %p)\n",
2802 ClassGuid, Buffer, pulLength, ulFlags, hMachine);
2803
2804 if (ClassGuid == NULL || Buffer == NULL || pulLength == NULL)
2805 return CR_INVALID_POINTER;
2806
2807 ulOrigLength = *pulLength;
2808 *pulLength = 0;
2809
2810 ulLength = MAX_CLASS_NAME_LEN;
2811 ret = CM_Get_Class_Name_ExW(ClassGuid, szBuffer, &ulLength,
2812 ulFlags, hMachine);
2813 if (ret == CR_SUCCESS)
2814 {
2816 0,
2817 szBuffer,
2818 ulLength,
2819 Buffer,
2820 ulOrigLength,
2821 NULL,
2822 NULL) == 0)
2823 ret = CR_FAILURE;
2824 else
2825 *pulLength = lstrlenA(Buffer) + 1;
2826 }
2827
2828 return ret;
2829}
#define MAX_CLASS_NAME_LEN
Definition: cfgmgr32.h:52
CONFIGRET WINAPI CM_Get_Class_Name_ExW(_In_ LPGUID ClassGuid, _Out_writes_opt_(*pulLength) PWCHAR Buffer, _Inout_ PULONG pulLength, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:2837

Referenced by CM_Get_Class_NameA().

◆ CM_Get_Class_Name_ExW()

CMAPI CONFIGRET WINAPI CM_Get_Class_Name_ExW ( _In_ LPGUID  ClassGuid,
_Out_writes_opt_ *pulLength PWCHAR  Buffer,
_Inout_ PULONG  pulLength,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 2837 of file cfgmgr.c.

2843{
2844 WCHAR szGuidString[MAX_GUID_STRING_LEN];
2846 CONFIGRET ret;
2847
2848 TRACE("CM_Get_Class_Name_ExW(%p %p %p %lx %p\n",
2849 ClassGuid, Buffer, pulLength, ulFlags, hMachine);
2850
2851 if (ClassGuid == NULL || Buffer == NULL || pulLength == NULL)
2852 return CR_INVALID_POINTER;
2853
2854 if (ulFlags != 0)
2855 return CR_INVALID_FLAG;
2856
2857 if (!GuidToString(ClassGuid, szGuidString))
2858 return CR_INVALID_DATA;
2859
2860 TRACE("Guid %s\n", debugstr_w(szGuidString));
2861
2862 if (hMachine != NULL)
2863 {
2864 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
2865 if (BindingHandle == NULL)
2866 return CR_FAILURE;
2867 }
2868 else
2869 {
2871 return CR_FAILURE;
2872 }
2873
2875 {
2877 szGuidString,
2878 Buffer,
2879 pulLength,
2880 ulFlags);
2881 }
2883 {
2885 }
2887
2888 return ret;
2889}
DWORD WINAPI PNP_GetClassName(handle_t hBinding, LPWSTR pszClassGuid, LPWSTR Buffer, PNP_RPC_STRING_LEN *pulLength, DWORD ulFlags)
Definition: rpcserver.c:2494

Referenced by CM_Get_Class_Name_ExA(), and CM_Get_Class_NameW().

◆ CM_Get_Class_NameA()

CMAPI CONFIGRET WINAPI CM_Get_Class_NameA ( _In_ LPGUID  ClassGuid,
_Out_writes_opt_ *pulLength PCHAR  Buffer,
_Inout_ PULONG  pulLength,
_In_ ULONG  ulFlags 
)

Definition at line 2751 of file cfgmgr.c.

2756{
2757 TRACE("CM_Get_Class_NameA(%p %p %p %lx)\n",
2758 ClassGuid, Buffer, pulLength, ulFlags);
2759
2760 return CM_Get_Class_Name_ExA(ClassGuid, Buffer, pulLength, ulFlags,
2761 NULL);
2762}
CONFIGRET WINAPI CM_Get_Class_Name_ExA(_In_ LPGUID ClassGuid, _Out_writes_opt_(*pulLength) PCHAR Buffer, _Inout_ PULONG pulLength, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:2789

◆ CM_Get_Class_NameW()

CMAPI CONFIGRET WINAPI CM_Get_Class_NameW ( _In_ LPGUID  ClassGuid,
_Out_writes_opt_ *pulLength PWCHAR  Buffer,
_Inout_ PULONG  pulLength,
_In_ ULONG  ulFlags 
)

Definition at line 2770 of file cfgmgr.c.

2775{
2776 TRACE("CM_Get_Class_NameW(%p %p %p %lx)\n",
2777 ClassGuid, Buffer, pulLength, ulFlags);
2778
2779 return CM_Get_Class_Name_ExW(ClassGuid, Buffer, pulLength, ulFlags,
2780 NULL);
2781}

◆ CM_Get_Class_Registry_PropertyA()

CMAPI CONFIGRET WINAPI CM_Get_Class_Registry_PropertyA ( _In_ LPGUID  ClassGuid,
_In_ ULONG  ulProperty,
_Out_opt_ PULONG  pulRegDataType,
_Out_writes_bytes_opt_ *pulLength PVOID  Buffer,
_Inout_ PULONG  pulLength,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

◆ CM_Get_Class_Registry_PropertyW()

CMAPI CONFIGRET WINAPI CM_Get_Class_Registry_PropertyW ( _In_ LPGUID  ClassGuid,
_In_ ULONG  ulProperty,
_Out_opt_ PULONG  pulRegDataType,
_Out_writes_bytes_opt_ *pulLength PVOID  Buffer,
_Inout_ PULONG  pulLength,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

◆ CM_Get_Depth()

CMAPI CONFIGRET WINAPI CM_Get_Depth ( _Out_ PULONG  pulDepth,
_In_ DEVINST  dnDevInst,
_In_ ULONG  ulFlags 
)

Definition at line 3055 of file cfgmgr.c.

3059{
3060 TRACE("CM_Get_Depth(%p %lx %lx)\n",
3061 pulDepth, dnDevInst, ulFlags);
3062
3063 return CM_Get_Depth_Ex(pulDepth, dnDevInst, ulFlags, NULL);
3064}
CONFIGRET WINAPI CM_Get_Depth_Ex(_Out_ PULONG pulDepth, _In_ DEVINST dnDevInst, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:3072

◆ CM_Get_Depth_Ex()

CMAPI CONFIGRET WINAPI CM_Get_Depth_Ex ( _Out_ PULONG  pulDepth,
_In_ DEVINST  dnDevInst,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 3072 of file cfgmgr.c.

3077{
3079 HSTRING_TABLE StringTable = NULL;
3080 LPWSTR lpDevInst;
3081 CONFIGRET ret;
3082
3083 TRACE("CM_Get_Depth_Ex(%p %lx %lx %p)\n",
3084 pulDepth, dnDevInst, ulFlags, hMachine);
3085
3086 if (pulDepth == NULL)
3087 return CR_INVALID_POINTER;
3088
3089 if (dnDevInst == 0)
3090 return CR_INVALID_DEVINST;
3091
3092 if (ulFlags != 0)
3093 return CR_INVALID_FLAG;
3094
3095 if (hMachine != NULL)
3096 {
3097 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
3098 if (BindingHandle == NULL)
3099 return CR_FAILURE;
3100
3101 StringTable = ((PMACHINE_INFO)hMachine)->StringTable;
3102 if (StringTable == 0)
3103 return CR_FAILURE;
3104 }
3105 else
3106 {
3107 if (!PnpGetLocalHandles(&BindingHandle, &StringTable))
3108 return CR_FAILURE;
3109 }
3110
3111 lpDevInst = pSetupStringTableStringFromId(StringTable, dnDevInst);
3112 if (lpDevInst == NULL)
3113 return CR_INVALID_DEVNODE;
3114
3116 {
3118 lpDevInst,
3119 pulDepth,
3120 ulFlags);
3121 }
3123 {
3125 }
3127
3128 return ret;
3129}
DWORD WINAPI PNP_GetDepth(handle_t hBinding, LPWSTR pszDeviceID, DWORD *pulDepth, DWORD ulFlags)
Definition: rpcserver.c:1792

Referenced by CM_Get_Depth().

◆ CM_Get_Device_ID_ExA()

CMAPI CONFIGRET WINAPI CM_Get_Device_ID_ExA ( _In_ DEVINST  dnDevInst,
_Out_writes_(BufferLen) PCHAR  Buffer,
_In_ ULONG  BufferLen,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 3694 of file cfgmgr.c.

3700{
3701 WCHAR szBufferW[MAX_DEVICE_ID_LEN];
3703
3704 TRACE("CM_Get_Device_ID_ExA(%lx %p %lu %lx %p)\n",
3705 dnDevInst, Buffer, BufferLen, ulFlags, hMachine);
3706
3707 if (Buffer == NULL)
3708 return CR_INVALID_POINTER;
3709
3710 ret = CM_Get_Device_ID_ExW(dnDevInst,
3711 szBufferW,
3713 ulFlags,
3714 hMachine);
3715 if (ret == CR_SUCCESS)
3716 {
3718 0,
3719 szBufferW,
3720 lstrlenW(szBufferW) + 1,
3721 Buffer,
3722 BufferLen,
3723 NULL,
3724 NULL) == 0)
3725 ret = CR_FAILURE;
3726 }
3727
3728 return ret;
3729}
CONFIGRET WINAPI CM_Get_Device_ID_ExW(_In_ DEVINST dnDevInst, _Out_writes_(BufferLen) PWCHAR Buffer, _In_ ULONG BufferLen, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:3737
#define lstrlenW
Definition: compat.h:750

Referenced by CM_Get_Device_IDA().

◆ CM_Get_Device_ID_ExW()

CMAPI CONFIGRET WINAPI CM_Get_Device_ID_ExW ( _In_ DEVINST  dnDevInst,
_Out_writes_(BufferLen) PWCHAR  Buffer,
_In_ ULONG  BufferLen,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 3737 of file cfgmgr.c.

3743{
3744 HSTRING_TABLE StringTable = NULL;
3745
3746 TRACE("CM_Get_Device_ID_ExW(%lx %p %lu %lx %p)\n",
3747 dnDevInst, Buffer, BufferLen, ulFlags, hMachine);
3748
3749 if (dnDevInst == 0)
3750 return CR_INVALID_DEVINST;
3751
3752 if (Buffer == NULL)
3753 return CR_INVALID_POINTER;
3754
3755 if (ulFlags != 0)
3756 return CR_INVALID_FLAG;
3757
3758 if (hMachine != NULL)
3759 {
3760 StringTable = ((PMACHINE_INFO)hMachine)->StringTable;
3761 if (StringTable == NULL)
3762 return CR_FAILURE;
3763 }
3764 else
3765 {
3766 if (!PnpGetLocalHandles(NULL, &StringTable))
3767 return CR_FAILURE;
3768 }
3769
3770 if (!pSetupStringTableStringFromIdEx(StringTable,
3771 dnDevInst,
3772 Buffer,
3773 &BufferLen))
3774 return CR_FAILURE;
3775
3776 return CR_SUCCESS;
3777}
BOOL WINAPI pSetupStringTableStringFromIdEx(HSTRING_TABLE hStringTable, DWORD dwId, LPWSTR lpBuffer, LPDWORD lpBufferLength)
Definition: stringtable.c:760

Referenced by CM_Get_Device_ID_ExA(), and CM_Get_Device_IDW().

◆ CM_Get_Device_ID_List_ExA()

CMAPI CONFIGRET WINAPI CM_Get_Device_ID_List_ExA ( _In_opt_ PCSTR  pszFilter,
_Out_writes_(BufferLen) PCHAR  Buffer,
_In_ ULONG  BufferLen,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

◆ CM_Get_Device_ID_List_ExW()

CMAPI CONFIGRET WINAPI CM_Get_Device_ID_List_ExW ( _In_opt_ PCWSTR  pszFilter,
_Out_writes_(BufferLen) PWCHAR  Buffer,
_In_ ULONG  BufferLen,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

◆ CM_Get_Device_ID_List_Size_ExA()

CMAPI CONFIGRET WINAPI CM_Get_Device_ID_List_Size_ExA ( _Out_ PULONG  pulLen,
_In_opt_ PCSTR  pszFilter,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 3978 of file cfgmgr.c.

3983{
3984 LPWSTR pszFilterW = NULL;
3986
3987 FIXME("CM_Get_Device_ID_List_Size_ExA(%p %s %lx %p)\n",
3988 pulLen, debugstr_a(pszFilter), ulFlags, hMachine);
3989
3990 if (pszFilter == NULL)
3991 {
3993 NULL,
3994 ulFlags,
3995 hMachine);
3996 }
3997 else
3998 {
3999 if (pSetupCaptureAndConvertAnsiArg(pszFilter, &pszFilterW))
4000 return CR_INVALID_DEVICE_ID;
4001
4003 pszFilterW,
4004 ulFlags,
4005 hMachine);
4006
4007 MyFree(pszFilterW);
4008 }
4009
4010 return ret;
4011}
CONFIGRET WINAPI CM_Get_Device_ID_List_Size_ExW(_Out_ PULONG pulLen, _In_opt_ PCWSTR pszFilter, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:4019

Referenced by CM_Get_Device_ID_List_SizeA().

◆ CM_Get_Device_ID_List_Size_ExW()

CMAPI CONFIGRET WINAPI CM_Get_Device_ID_List_Size_ExW ( _Out_ PULONG  pulLen,
_In_opt_ PCWSTR  pszFilter,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 4019 of file cfgmgr.c.

4024{
4026 CONFIGRET ret;
4027
4028 FIXME("CM_Get_Device_ID_List_Size_ExW(%p %s %lx %p)\n",
4029 pulLen, debugstr_w(pszFilter), ulFlags, hMachine);
4030
4031 if (pulLen == NULL)
4032 return CR_INVALID_POINTER;
4033
4034 if (ulFlags & ~CM_GETIDLIST_FILTER_BITS)
4035 return CR_INVALID_FLAG;
4036
4037 if (hMachine != NULL)
4038 {
4039 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
4040 if (BindingHandle == NULL)
4041 return CR_FAILURE;
4042 }
4043 else
4044 {
4046 return CR_FAILURE;
4047 }
4048
4049 *pulLen = 0;
4050
4052 {
4054 (LPWSTR)pszFilter,
4055 pulLen,
4056 ulFlags);
4057 }
4059 {
4061 }
4063
4064 return ret;
4065}
DWORD WINAPI PNP_GetDeviceListSize(handle_t hBinding, LPWSTR pszFilter, PNP_RPC_BUFFER_SIZE *pulLength, DWORD ulFlags)
Definition: rpcserver.c:1717
#define CM_GETIDLIST_FILTER_BITS
Definition: cfgmgr32.h:669

Referenced by CM_Get_Device_ID_List_Size_ExA(), CM_Get_Device_ID_List_SizeW(), and DisplayDeviceRelations().

◆ CM_Get_Device_ID_List_SizeA()

CMAPI CONFIGRET WINAPI CM_Get_Device_ID_List_SizeA ( _Out_ PULONG  pulLen,
_In_opt_ PCSTR  pszFilter,
_In_ ULONG  ulFlags 
)

Definition at line 3944 of file cfgmgr.c.

3948{
3949 TRACE("CM_Get_Device_ID_List_SizeA(%p %s %lx)\n",
3950 pulLen, debugstr_a(pszFilter), ulFlags);
3951
3952 return CM_Get_Device_ID_List_Size_ExA(pulLen, pszFilter, ulFlags, NULL);
3953}
CONFIGRET WINAPI CM_Get_Device_ID_List_Size_ExA(_Out_ PULONG pulLen, _In_opt_ PCSTR pszFilter, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:3978

◆ CM_Get_Device_ID_List_SizeW()

CMAPI CONFIGRET WINAPI CM_Get_Device_ID_List_SizeW ( _Out_ PULONG  pulLen,
_In_opt_ PCWSTR  pszFilter,
_In_ ULONG  ulFlags 
)

Definition at line 3961 of file cfgmgr.c.

3965{
3966 TRACE("CM_Get_Device_ID_List_SizeW(%p %s %lx)\n",
3967 pulLen, debugstr_w(pszFilter), ulFlags);
3968
3969 return CM_Get_Device_ID_List_Size_ExW(pulLen, pszFilter, ulFlags, NULL);
3970}

◆ CM_Get_Device_ID_ListA()

CMAPI CONFIGRET WINAPI CM_Get_Device_ID_ListA ( _In_opt_ PCSTR  pszFilter,
_Out_writes_(BufferLen) PCHAR  Buffer,
_In_ ULONG  BufferLen,
_In_ ULONG  ulFlags 
)

◆ CM_Get_Device_ID_ListW()

CMAPI CONFIGRET WINAPI CM_Get_Device_ID_ListW ( _In_opt_ PCWSTR  pszFilter,
_Out_writes_(BufferLen) PWCHAR  Buffer,
_In_ ULONG  BufferLen,
_In_ ULONG  ulFlags 
)

◆ CM_Get_Device_ID_Size()

CMAPI CONFIGRET WINAPI CM_Get_Device_ID_Size ( _Out_ PULONG  pulLen,
_In_ DEVINST  dnDevInst,
_In_ ULONG  ulFlags 
)

Definition at line 4073 of file cfgmgr.c.

4077{
4078 TRACE("CM_Get_Device_ID_Size(%p %lx %lx)\n",
4079 pulLen, dnDevInst, ulFlags);
4080
4081 return CM_Get_Device_ID_Size_Ex(pulLen, dnDevInst, ulFlags, NULL);
4082}
CONFIGRET WINAPI CM_Get_Device_ID_Size_Ex(_Out_ PULONG pulLen, _In_ DEVINST dnDevInst, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:4090

Referenced by GetMonitorDevInstID(), CDeviceNode::SetupNode(), and ShowDeviceProperties().

◆ CM_Get_Device_ID_Size_Ex()

CMAPI CONFIGRET WINAPI CM_Get_Device_ID_Size_Ex ( _Out_ PULONG  pulLen,
_In_ DEVINST  dnDevInst,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 4090 of file cfgmgr.c.

4095{
4096 HSTRING_TABLE StringTable = NULL;
4097 LPWSTR DeviceId;
4098
4099 TRACE("CM_Get_Device_ID_Size_Ex(%p %lx %lx %p)\n",
4100 pulLen, dnDevInst, ulFlags, hMachine);
4101
4102 if (pulLen == NULL)
4103 return CR_INVALID_POINTER;
4104
4105 if (dnDevInst == 0)
4106 return CR_INVALID_DEVINST;
4107
4108 if (ulFlags != 0)
4109 return CR_INVALID_FLAG;
4110
4111 if (hMachine != NULL)
4112 {
4113 StringTable = ((PMACHINE_INFO)hMachine)->StringTable;
4114 if (StringTable == NULL)
4115 return CR_FAILURE;
4116 }
4117 else
4118 {
4119 if (!PnpGetLocalHandles(NULL, &StringTable))
4120 return CR_FAILURE;
4121 }
4122
4123 DeviceId = pSetupStringTableStringFromId(StringTable, dnDevInst);
4124 if (DeviceId == NULL)
4125 {
4126 *pulLen = 0;
4127 return CR_SUCCESS;
4128 }
4129
4130 *pulLen = lstrlenW(DeviceId);
4131
4132 return CR_SUCCESS;
4133}

Referenced by CM_Get_Device_ID_Size().

◆ CM_Get_Device_IDA()

CMAPI CONFIGRET WINAPI CM_Get_Device_IDA ( _In_ DEVINST  dnDevInst,
_Out_writes_(BufferLen) PCHAR  Buffer,
_In_ ULONG  BufferLen,
_In_ ULONG  ulFlags 
)

Definition at line 3658 of file cfgmgr.c.

3663{
3664 TRACE("CM_Get_Device_IDA(%lx %p %lu %lx)\n",
3665 dnDevInst, Buffer, BufferLen, ulFlags);
3666
3667 return CM_Get_Device_ID_ExA(dnDevInst, Buffer, BufferLen, ulFlags, NULL);
3668}
CONFIGRET WINAPI CM_Get_Device_ID_ExA(_In_ DEVINST dnDevInst, _Out_writes_(BufferLen) PCHAR Buffer, _In_ ULONG BufferLen, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:3694

Referenced by test_devnode().

◆ CM_Get_Device_IDW()

CMAPI CONFIGRET WINAPI CM_Get_Device_IDW ( _In_ DEVINST  dnDevInst,
_Out_writes_(BufferLen) PWCHAR  Buffer,
_In_ ULONG  BufferLen,
_In_ ULONG  ulFlags 
)

Definition at line 3676 of file cfgmgr.c.

3681{
3682 TRACE("CM_Get_Device_IDW(%lx %p %lu %lx)\n",
3683 dnDevInst, Buffer, BufferLen, ulFlags);
3684
3685 return CM_Get_Device_ID_ExW(dnDevInst, Buffer, BufferLen, ulFlags, NULL);
3686}

Referenced by CDeviceNode::SetupNode(), and ShowDeviceProperties().

◆ CM_Get_Device_Interface_Alias_ExA()

CMAPI CONFIGRET WINAPI CM_Get_Device_Interface_Alias_ExA ( _In_ LPCSTR  pszDeviceInterface,
_In_ LPGUID  AliasInterfaceGuid,
_Out_writes_ *pulLength LPSTR  pszAliasDeviceInterface,
_Inout_ PULONG  pulLength,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 4185 of file cfgmgr.c.

4192{
4193 FIXME("CM_Get_Device_Interface_Alias_ExA(%p %p %p %p %lx %p)\n",
4194 pszDeviceInterface, AliasInterfaceGuid,
4195 pszAliasDeviceInterface, pulLength, ulFlags, hMachine);
4196
4198}

Referenced by CM_Get_Device_Interface_AliasA().

◆ CM_Get_Device_Interface_Alias_ExW()

CMAPI CONFIGRET WINAPI CM_Get_Device_Interface_Alias_ExW ( _In_ LPCWSTR  pszDeviceInterface,
_In_ LPGUID  AliasInterfaceGuid,
_Out_writes_ *pulLength LPWSTR  pszAliasDeviceInterface,
_Inout_ PULONG  pulLength,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 4206 of file cfgmgr.c.

4213{
4215 ULONG ulTransferLength;
4217
4218 TRACE("CM_Get_Device_Interface_Alias_ExW(%p %p %p %p %lx %p)\n",
4219 pszDeviceInterface, AliasInterfaceGuid,
4220 pszAliasDeviceInterface, pulLength, ulFlags, hMachine);
4221
4222 if (pszDeviceInterface == NULL ||
4223 AliasInterfaceGuid == NULL ||
4224 pszAliasDeviceInterface == NULL ||
4225 pulLength == NULL)
4226 return CR_INVALID_POINTER;
4227
4228 if (ulFlags != 0)
4229 return CR_INVALID_FLAG;
4230
4231 if (hMachine != NULL)
4232 {
4233 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
4234 if (BindingHandle == NULL)
4235 return CR_FAILURE;
4236 }
4237 else
4238 {
4240 return CR_FAILURE;
4241 }
4242
4243 ulTransferLength = *pulLength;
4244
4246 {
4248 (LPWSTR)pszDeviceInterface,
4249 AliasInterfaceGuid,
4250 pszAliasDeviceInterface,
4251 pulLength,
4252 &ulTransferLength,
4253 0);
4254 }
4256 {
4258 }
4260
4261 return ret;
4262}
DWORD WINAPI PNP_GetInterfaceDeviceAlias(handle_t hBinding, LPWSTR pszInterfaceDevice, GUID *AliasInterfaceGuid, LPWSTR pszAliasInterfaceDevice, PNP_RPC_STRING_LEN *pulLength, PNP_RPC_STRING_LEN *pulTransferLen, DWORD ulFlags)
Definition: rpcserver.c:2584

Referenced by CM_Get_Device_Interface_AliasW().

◆ CM_Get_Device_Interface_AliasA()

CMAPI CONFIGRET WINAPI CM_Get_Device_Interface_AliasA ( _In_ LPCSTR  pszDeviceInterface,
_In_ LPGUID  AliasInterfaceGuid,
_Out_writes_ *pulLength LPSTR  pszAliasDeviceInterface,
_Inout_ PULONG  pulLength,
_In_ ULONG  ulFlags 
)

Definition at line 4141 of file cfgmgr.c.

4147{
4148 TRACE("CM_Get_Device_Interface_AliasA(%p %p %p %p %lx)\n",
4149 pszDeviceInterface, AliasInterfaceGuid,
4150 pszAliasDeviceInterface, pulLength, ulFlags);
4151
4152 return CM_Get_Device_Interface_Alias_ExA(pszDeviceInterface,
4153 AliasInterfaceGuid, pszAliasDeviceInterface, pulLength,
4154 ulFlags, NULL);
4155}
CONFIGRET WINAPI CM_Get_Device_Interface_Alias_ExA(_In_ LPCSTR pszDeviceInterface, _In_ LPGUID AliasInterfaceGuid, _Out_writes_(*pulLength) LPSTR pszAliasDeviceInterface, _Inout_ PULONG pulLength, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:4185

◆ CM_Get_Device_Interface_AliasW()

CMAPI CONFIGRET WINAPI CM_Get_Device_Interface_AliasW ( _In_ LPCWSTR  pszDeviceInterface,
_In_ LPGUID  AliasInterfaceGuid,
_Out_writes_ *pulLength LPWSTR  pszAliasDeviceInterface,
_Inout_ PULONG  pulLength,
_In_ ULONG  ulFlags 
)

Definition at line 4163 of file cfgmgr.c.

4169{
4170 TRACE("CM_Get_Device_Interface_AliasW(%p %p %p %p %lx)\n",
4171 pszDeviceInterface, AliasInterfaceGuid,
4172 pszAliasDeviceInterface, pulLength, ulFlags);
4173
4174 return CM_Get_Device_Interface_Alias_ExW(pszDeviceInterface,
4175 AliasInterfaceGuid, pszAliasDeviceInterface, pulLength,
4176 ulFlags, NULL);
4177}
CONFIGRET WINAPI CM_Get_Device_Interface_Alias_ExW(_In_ LPCWSTR pszDeviceInterface, _In_ LPGUID AliasInterfaceGuid, _Out_writes_(*pulLength) LPWSTR pszAliasDeviceInterface, _Inout_ PULONG pulLength, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:4206

◆ CM_Get_Device_Interface_List_ExA()

CMAPI CONFIGRET WINAPI CM_Get_Device_Interface_List_ExA ( _In_ LPGUID  InterfaceClassGuid,
_In_opt_ DEVINSTID_A  pDeviceID,
_Out_writes_(BufferLen) PCHAR  Buffer,
_In_ ULONG  BufferLen,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 4312 of file cfgmgr.c.

4319{
4320 DEVINSTID_W pDeviceIdW = NULL;
4321 PWCHAR BufferW = NULL;
4323
4324 TRACE("CM_Get_Device_Interface_List_ExA(%s %s %p %lu 0x%08lx %p)\n",
4326 Buffer, BufferLen, ulFlags, hMachine);
4327
4328 if (Buffer == NULL ||
4329 BufferLen == 0)
4330 return CR_INVALID_POINTER;
4331
4332 if (pDeviceID != NULL)
4333 {
4334 if (!pSetupCaptureAndConvertAnsiArg(pDeviceID, &pDeviceIdW))
4335 return CR_INVALID_DEVICE_ID;
4336 }
4337
4338 BufferW = MyMalloc(BufferLen * sizeof(WCHAR));
4339 if (BufferW == NULL)
4340 {
4342 goto Done;
4343 }
4344
4346 BufferW, BufferLen, ulFlags,
4347 hMachine);
4348 if (ret != CR_SUCCESS)
4349 goto Done;
4350
4352 0,
4353 BufferW,
4354 BufferLen,
4355 Buffer,
4356 BufferLen,
4357 NULL,
4358 NULL) == 0)
4359 ret = CR_FAILURE;
4360
4361Done:
4362 if (BufferW != NULL)
4363 MyFree(BufferW);
4364
4365 if (pDeviceIdW != NULL)
4366 MyFree(pDeviceIdW);
4367
4368 return ret;
4369}
CONFIGRET WINAPI CM_Get_Device_Interface_List_ExW(_In_ LPGUID InterfaceClassGuid, _In_opt_ DEVINSTID_W pDeviceID, _Out_writes_(BufferLen) PWCHAR Buffer, _In_ ULONG BufferLen, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:4377
#define debugstr_guid
Definition: kernel32.h:35
uint16_t * PWCHAR
Definition: typedefs.h:56
_In_ CONST GUID * InterfaceClassGuid
Definition: iofuncs.h:1136

Referenced by CM_Get_Device_Interface_ListA().

◆ CM_Get_Device_Interface_List_ExW()

CMAPI CONFIGRET WINAPI CM_Get_Device_Interface_List_ExW ( _In_ LPGUID  InterfaceClassGuid,
_In_opt_ DEVINSTID_W  pDeviceID,
_Out_writes_(BufferLen) PWCHAR  Buffer,
_In_ ULONG  BufferLen,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 4377 of file cfgmgr.c.

4384{
4388
4389 TRACE("CM_Get_Device_Interface_List_ExW(%s %s %p %lu 0x%08lx %p)\n",
4391 Buffer, BufferLen, ulFlags, hMachine);
4392
4393 if (Buffer == NULL ||
4394 BufferLen == 0)
4395 return CR_INVALID_POINTER;
4396
4397 if (ulFlags & ~CM_GET_DEVICE_INTERFACE_LIST_BITS)
4398 return CR_INVALID_FLAG;
4399
4400 if (hMachine != NULL)
4401 {
4402 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
4403 if (BindingHandle == NULL)
4404 return CR_FAILURE;
4405 }
4406 else
4407 {
4409 return CR_FAILURE;
4410 }
4411
4412 *Buffer = 0;
4413 BufferSize = BufferLen;
4414
4416 {
4419 pDeviceID,
4420 (LPBYTE)Buffer,
4421 &BufferSize,
4422 ulFlags);
4423 }
4425 {
4427 }
4429
4430 return ret;
4431}
DWORD WINAPI PNP_GetInterfaceDeviceList(handle_t hBinding, GUID *InterfaceGuid, LPWSTR pszDeviceID, BYTE *Buffer, PNP_RPC_BUFFER_SIZE *pulLength, DWORD ulFlags)
Definition: rpcserver.c:2601
#define CM_GET_DEVICE_INTERFACE_LIST_BITS
Definition: cfgmgr32.h:674
unsigned long PNP_RPC_BUFFER_SIZE
Definition: pnp.idl:34
unsigned char * LPBYTE
Definition: typedefs.h:53
_In_ WDFMEMORY _Out_opt_ size_t * BufferSize
Definition: wdfmemory.h:254

Referenced by CM_Get_Device_Interface_List_ExA(), and CM_Get_Device_Interface_ListW().

◆ CM_Get_Device_Interface_List_Size_ExA()

CMAPI CONFIGRET WINAPI CM_Get_Device_Interface_List_Size_ExA ( _Out_ PULONG  pulLen,
_In_ LPGUID  InterfaceClassGuid,
_In_opt_ DEVINSTID_A  pDeviceID,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 4477 of file cfgmgr.c.

4483{
4484 DEVINSTID_W pDeviceIdW = NULL;
4486
4487 TRACE("CM_Get_Device_Interface_List_Size_ExA(%p %p %s 0x%08lx %p)\n",
4488 pulLen, InterfaceClassGuid, debugstr_a(pDeviceID), ulFlags, hMachine);
4489
4490 if (pulLen == NULL)
4491 return CR_INVALID_POINTER;
4492
4493 if (pDeviceID != NULL)
4494 {
4495 if (!pSetupCaptureAndConvertAnsiArg(pDeviceID, &pDeviceIdW))
4496 return CR_INVALID_DEVICE_ID;
4497 }
4498
4499 *pulLen = 0;
4500
4502 pDeviceIdW, ulFlags, hMachine);
4503
4504 if (pDeviceIdW != NULL)
4505 MyFree(pDeviceIdW);
4506
4507 return ret;
4508}
CONFIGRET WINAPI CM_Get_Device_Interface_List_Size_ExW(_Out_ PULONG pulLen, _In_ LPGUID InterfaceClassGuid, _In_opt_ DEVINSTID_W pDeviceID, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:4516

Referenced by CM_Get_Device_Interface_List_SizeA().

◆ CM_Get_Device_Interface_List_Size_ExW()

CMAPI CONFIGRET WINAPI CM_Get_Device_Interface_List_Size_ExW ( _Out_ PULONG  pulLen,
_In_ LPGUID  InterfaceClassGuid,
_In_opt_ DEVINSTID_W  pDeviceID,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 4516 of file cfgmgr.c.

4522{
4525
4526 TRACE("CM_Get_Device_Interface_List_Size_ExW(%p %p %s 0x%08lx %p)\n",
4527 pulLen, InterfaceClassGuid, debugstr_w(pDeviceID), ulFlags, hMachine);
4528
4529 if (pulLen == NULL)
4530 return CR_INVALID_POINTER;
4531
4532 if (ulFlags & ~CM_GET_DEVICE_INTERFACE_LIST_BITS)
4533 return CR_INVALID_FLAG;
4534
4535 if (hMachine != NULL)
4536 {
4537 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
4538 if (BindingHandle == NULL)
4539 return CR_FAILURE;
4540 }
4541 else
4542 {
4544 return CR_FAILURE;
4545 }
4546
4547 *pulLen = 0;
4548
4550 {
4552 pulLen,
4554 pDeviceID,
4555 ulFlags);
4556 }
4558 {
4560 }
4562
4563 return ret;
4564}
DWORD WINAPI PNP_GetInterfaceDeviceListSize(handle_t hBinding, PNP_RPC_BUFFER_SIZE *pulLen, GUID *InterfaceGuid, LPWSTR pszDeviceID, DWORD ulFlags)
Definition: rpcserver.c:2649

Referenced by CM_Get_Device_Interface_List_Size_ExA(), and CM_Get_Device_Interface_List_SizeW().

◆ CM_Get_Device_Interface_List_SizeA()

CMAPI CONFIGRET WINAPI CM_Get_Device_Interface_List_SizeA ( _Out_ PULONG  pulLen,
_In_ LPGUID  InterfaceClassGuid,
_In_opt_ DEVINSTID_A  pDeviceID,
_In_ ULONG  ulFlags 
)

Definition at line 4439 of file cfgmgr.c.

4444{
4445 TRACE("CM_Get_Device_Interface_List_SizeA(%p %p %s 0x%08lx)\n",
4446 pulLen, InterfaceClassGuid, debugstr_a(pDeviceID), ulFlags);
4447
4449 pDeviceID, ulFlags, NULL);
4450}
CONFIGRET WINAPI CM_Get_Device_Interface_List_Size_ExA(_Out_ PULONG pulLen, _In_ LPGUID InterfaceClassGuid, _In_opt_ DEVINSTID_A pDeviceID, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:4477

◆ CM_Get_Device_Interface_List_SizeW()

CMAPI CONFIGRET WINAPI CM_Get_Device_Interface_List_SizeW ( _Out_ PULONG  pulLen,
_In_ LPGUID  InterfaceClassGuid,
_In_opt_ DEVINSTID_W  pDeviceID,
_In_ ULONG  ulFlags 
)

Definition at line 4458 of file cfgmgr.c.

4463{
4464 TRACE("CM_Get_Device_Interface_List_SizeW(%p %p %s 0x%08lx)\n",
4465 pulLen, InterfaceClassGuid, debugstr_w(pDeviceID), ulFlags);
4466
4468 pDeviceID, ulFlags, NULL);
4469}

◆ CM_Get_Device_Interface_ListA()

CMAPI CONFIGRET WINAPI CM_Get_Device_Interface_ListA ( _In_ LPGUID  InterfaceClassGuid,
_In_opt_ DEVINSTID_A  pDeviceID,
_Out_writes_(BufferLen) PCHAR  Buffer,
_In_ ULONG  BufferLen,
_In_ ULONG  ulFlags 
)

Definition at line 4270 of file cfgmgr.c.

4276{
4277 TRACE("CM_Get_Device_Interface_ListA(%s %s %p %lu 0x%08lx)\n",
4279 Buffer, BufferLen, ulFlags);
4280
4282 Buffer, BufferLen, ulFlags, NULL);
4283}
CONFIGRET WINAPI CM_Get_Device_Interface_List_ExA(_In_ LPGUID InterfaceClassGuid, _In_opt_ DEVINSTID_A pDeviceID, _Out_writes_(BufferLen) PCHAR Buffer, _In_ ULONG BufferLen, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:4312

◆ CM_Get_Device_Interface_ListW()

CMAPI CONFIGRET WINAPI CM_Get_Device_Interface_ListW ( _In_ LPGUID  InterfaceClassGuid,
_In_opt_ DEVINSTID_W  pDeviceID,
_Out_writes_(BufferLen) PWCHAR  Buffer,
_In_ ULONG  BufferLen,
_In_ ULONG  ulFlags 
)

Definition at line 4291 of file cfgmgr.c.

4297{
4298 TRACE("CM_Get_Device_Interface_ListW(%s %s %p %lu 0x%08lx)\n",
4300 Buffer, BufferLen, ulFlags);
4301
4303 Buffer, BufferLen, ulFlags, NULL);
4304}

◆ CM_Get_DevNode_Custom_Property_ExA()

CMAPI CONFIGRET WINAPI CM_Get_DevNode_Custom_Property_ExA ( _In_ DEVINST  dnDevInst,
_In_ PCSTR  pszCustomPropertyName,
_Out_opt_ PULONG  pulRegDataType,
_Out_writes_bytes_opt_ *pulLength PVOID  Buffer,
_Inout_ PULONG  pulLength,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 3183 of file cfgmgr.c.

3191{
3192 LPWSTR pszPropertyNameW;
3193 PVOID BufferW;
3194 ULONG ulLengthW;
3195 ULONG ulDataType = REG_NONE;
3196 CONFIGRET ret;
3197
3198 TRACE("CM_Get_DevNode_Custom_Property_ExA(%lx %s %p %p %p %lx %p)\n",
3199 dnDevInst, pszCustomPropertyName, pulRegDataType,
3200 Buffer, pulLength, ulFlags, hMachine);
3201
3202 if (!pulLength)
3203 return CR_INVALID_POINTER;
3204
3205 ulLengthW = *pulLength * sizeof(WCHAR);
3206 BufferW = HeapAlloc(GetProcessHeap(), 0, ulLengthW);
3207 if (!BufferW)
3208 return CR_OUT_OF_MEMORY;
3209
3210 pszPropertyNameW = pSetupMultiByteToUnicode(pszCustomPropertyName,
3211 CP_ACP);
3212 if (pszPropertyNameW == NULL)
3213 {
3214 HeapFree(GetProcessHeap(), 0, BufferW);
3215 return CR_OUT_OF_MEMORY;
3216 }
3217
3219 pszPropertyNameW,
3220 &ulDataType,
3221 BufferW,
3222 &ulLengthW,
3223 ulFlags,
3224 hMachine);
3225 if (ret == CR_SUCCESS)
3226 {
3227 if (ulDataType == REG_SZ ||
3228 ulDataType == REG_EXPAND_SZ ||
3229 ulDataType == REG_MULTI_SZ)
3230 {
3231 /* Do W->A conversion */
3232 *pulLength = WideCharToMultiByte(CP_ACP,
3233 0,
3234 BufferW,
3235 lstrlenW(BufferW) + 1,
3236 Buffer,
3237 *pulLength,
3238 NULL,
3239 NULL);
3240 if (*pulLength == 0)
3241 ret = CR_FAILURE;
3242 }
3243 else
3244 {
3245 /* Directly copy the value */
3246 if (ulLengthW <= *pulLength)
3247 memcpy(Buffer, BufferW, ulLengthW);
3248 else
3249 {
3250 *pulLength = ulLengthW;
3252 }
3253 }
3254 }
3255
3256 if (pulRegDataType)
3257 *pulRegDataType = ulDataType;
3258
3259 HeapFree(GetProcessHeap(), 0, BufferW);
3260 MyFree(pszPropertyNameW);
3261
3262 return ret;
3263}
CONFIGRET WINAPI CM_Get_DevNode_Custom_Property_ExW(_In_ DEVINST dnDevInst, _In_ PCWSTR pszCustomPropertyName, _Out_opt_ PULONG pulRegDataType, _Out_writes_bytes_opt_(*pulLength) PVOID Buffer, _Inout_ PULONG pulLength, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:3271
LPWSTR WINAPI pSetupMultiByteToUnicode(LPCSTR lpMultiByteStr, UINT uCodePage)
Definition: misc.c:281
#define REG_SZ
Definition: layer.c:22
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
#define REG_MULTI_SZ
Definition: nt_native.h:1501
#define REG_NONE
Definition: nt_native.h:1492
#define REG_EXPAND_SZ
Definition: nt_native.h:1494

Referenced by CM_Get_DevNode_Custom_PropertyA().

◆ CM_Get_DevNode_Custom_Property_ExW()

CMAPI CONFIGRET WINAPI CM_Get_DevNode_Custom_Property_ExW ( _In_ DEVINST  dnDevInst,
_In_ PCWSTR  pszCustomPropertyName,
_Out_opt_ PULONG  pulRegDataType,
_Out_writes_bytes_opt_ *pulLength PVOID  Buffer,
_Inout_ PULONG  pulLength,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 3271 of file cfgmgr.c.

3279{
3281 HSTRING_TABLE StringTable = NULL;
3282 LPWSTR lpDevInst;
3283 ULONG ulDataType = REG_NONE;
3284 ULONG ulTransferLength;
3286
3287 TRACE("CM_Get_DevNode_Custom_Property_ExW(%lx %s %p %p %p %lx %p)\n",
3288 dnDevInst, debugstr_w(pszCustomPropertyName), pulRegDataType,
3289 Buffer, pulLength, ulFlags, hMachine);
3290
3291 if (dnDevInst == 0)
3292 return CR_INVALID_DEVNODE;
3293
3294 if (pszCustomPropertyName == NULL ||
3295 pulLength == NULL ||
3296 *pulLength == 0)
3297 return CR_INVALID_POINTER;
3298
3299 if (ulFlags & ~CM_CUSTOMDEVPROP_BITS)
3300 return CR_INVALID_FLAG;
3301
3302 if (hMachine != NULL)
3303 {
3304 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
3305 if (BindingHandle == NULL)
3306 return CR_FAILURE;
3307
3308 StringTable = ((PMACHINE_INFO)hMachine)->StringTable;
3309 if (StringTable == 0)
3310 return CR_FAILURE;
3311 }
3312 else
3313 {
3314 if (!PnpGetLocalHandles(&BindingHandle, &StringTable))
3315 return CR_FAILURE;
3316 }
3317
3318 lpDevInst = pSetupStringTableStringFromId(StringTable, dnDevInst);
3319 if (lpDevInst == NULL)
3320 return CR_INVALID_DEVNODE;
3321
3322 ulTransferLength = *pulLength;
3323
3325 {
3327 lpDevInst,
3328 (LPWSTR)pszCustomPropertyName,
3329 &ulDataType,
3330 Buffer,
3331 &ulTransferLength,
3332 pulLength,
3333 ulFlags);
3334 }
3336 {
3338 }
3340
3341 if (ret == CR_SUCCESS)
3342 {
3343 if (pulRegDataType != NULL)
3344 *pulRegDataType = ulDataType;
3345 }
3346
3347 return ret;
3348}
DWORD WINAPI PNP_GetCustomDevProp(handle_t hBinding, LPWSTR pDeviceID, LPWSTR CustomPropName, DWORD *pulRegDataType, BYTE *Buffer, PNP_RPC_STRING_LEN *pulTransferLen, PNP_RPC_STRING_LEN *pulLength, DWORD ulFlags)
Definition: rpcserver.c:4807
#define CM_CUSTOMDEVPROP_BITS
Definition: cfgmgr32.h:836

Referenced by CM_Get_DevNode_Custom_Property_ExA(), and CM_Get_DevNode_Custom_PropertyW().

◆ CM_Get_DevNode_Custom_PropertyA()

CMAPI CONFIGRET WINAPI CM_Get_DevNode_Custom_PropertyA ( _In_ DEVINST  dnDevInst,
_In_ PCSTR  pszCustomPropertyName,
_Out_opt_ PULONG  pulRegDataType,
_Out_writes_bytes_opt_ *pulLength PVOID  Buffer,
_Inout_ PULONG  pulLength,
_In_ ULONG  ulFlags 
)

Definition at line 3137 of file cfgmgr.c.

3144{
3145 TRACE("CM_Get_DevNode_Custom_PropertyA(%lx %s %p %p %p %lx)\n",
3146 dnDevInst, pszCustomPropertyName, pulRegDataType,
3147 Buffer, pulLength, ulFlags);
3148
3149 return CM_Get_DevNode_Custom_Property_ExA(dnDevInst, pszCustomPropertyName,
3150 pulRegDataType, Buffer,
3151 pulLength, ulFlags, NULL);
3152}
CONFIGRET WINAPI CM_Get_DevNode_Custom_Property_ExA(_In_ DEVINST dnDevInst, _In_ PCSTR pszCustomPropertyName, _Out_opt_ PULONG pulRegDataType, _Out_writes_bytes_opt_(*pulLength) PVOID Buffer, _Inout_ PULONG pulLength, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:3183

◆ CM_Get_DevNode_Custom_PropertyW()

CMAPI CONFIGRET WINAPI CM_Get_DevNode_Custom_PropertyW ( _In_ DEVINST  dnDevInst,
_In_ PCWSTR  pszCustomPropertyName,
_Out_opt_ PULONG  pulRegDataType,
_Out_writes_bytes_opt_ *pulLength PVOID  Buffer,
_Inout_ PULONG  pulLength,
_In_ ULONG  ulFlags 
)

Definition at line 3160 of file cfgmgr.c.

3167{
3168 TRACE("CM_Get_DevNode_Custom_PropertyW(%lx %s %p %p %p %lx)\n",
3169 dnDevInst, debugstr_w(pszCustomPropertyName), pulRegDataType,
3170 Buffer, pulLength, ulFlags);
3171
3172 return CM_Get_DevNode_Custom_Property_ExW(dnDevInst, pszCustomPropertyName,
3173 pulRegDataType, Buffer,
3174 pulLength, ulFlags, NULL);
3175}

◆ CM_Get_DevNode_Registry_Property_ExA()

CMAPI CONFIGRET WINAPI CM_Get_DevNode_Registry_Property_ExA ( _In_ DEVINST  dnDevInst,
_In_ ULONG  ulProperty,
_Out_opt_ PULONG  pulRegDataType,
_Out_writes_bytes_opt_ *pulLength PVOID  Buffer,
_Inout_ PULONG  pulLength,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 3400 of file cfgmgr.c.

3408{
3409 PVOID BufferW;
3410 ULONG LengthW;
3411 ULONG ulDataType = REG_NONE;
3412 CONFIGRET ret;
3413
3414 TRACE("CM_Get_DevNode_Registry_Property_ExA(%lx %lu %p %p %p %lx %p)\n",
3415 dnDevInst, ulProperty, pulRegDataType, Buffer, pulLength,
3416 ulFlags, hMachine);
3417
3418 if (!pulLength)
3419 return CR_INVALID_POINTER;
3420
3421 LengthW = *pulLength * sizeof(WCHAR);
3422 BufferW = HeapAlloc(GetProcessHeap(), 0, LengthW);
3423 if (!BufferW)
3424 return CR_OUT_OF_MEMORY;
3425
3427 ulProperty,
3428 &ulDataType,
3429 BufferW,
3430 &LengthW,
3431 ulFlags,
3432 hMachine);
3433
3434 if (ret == CR_SUCCESS)
3435 {
3436 if (ulDataType == REG_SZ ||
3437 ulDataType == REG_EXPAND_SZ ||
3438 ulDataType == REG_MULTI_SZ)
3439 {
3440 /* Do W->A conversion */
3441 *pulLength = WideCharToMultiByte(CP_ACP,
3442 0,
3443 BufferW,
3444 lstrlenW(BufferW) + 1,
3445 Buffer,
3446 *pulLength,
3447 NULL,
3448 NULL);
3449 if (*pulLength == 0)
3450 ret = CR_FAILURE;
3451 }
3452 else
3453 {
3454 /* Directly copy the value */
3455 if (LengthW <= *pulLength)
3456 memcpy(Buffer, BufferW, LengthW);
3457 else
3458 {
3459 *pulLength = LengthW;
3461 }
3462 }
3463 }
3464
3465 if (pulRegDataType)
3466 *pulRegDataType = ulDataType;
3467
3468 HeapFree(GetProcessHeap(), 0, BufferW);
3469
3470 return ret;
3471}
CONFIGRET WINAPI CM_Get_DevNode_Registry_Property_ExW(_In_ DEVINST dnDevInst, _In_ ULONG ulProperty, _Out_opt_ PULONG pulRegDataType, _Out_writes_bytes_opt_(*pulLength) PVOID Buffer, _Inout_ PULONG pulLength, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:3479

Referenced by CM_Get_DevNode_Registry_PropertyA().

◆ CM_Get_DevNode_Registry_Property_ExW()

CMAPI CONFIGRET WINAPI CM_Get_DevNode_Registry_Property_ExW ( _In_ DEVINST  dnDevInst,
_In_ ULONG  ulProperty,
_Out_opt_ PULONG  pulRegDataType,
_Out_writes_bytes_opt_ *pulLength PVOID  Buffer,
_Inout_ PULONG  pulLength,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 3479 of file cfgmgr.c.

3487{
3489 HSTRING_TABLE StringTable = NULL;
3491 LPWSTR lpDevInst;
3492 ULONG ulDataType = REG_NONE;
3493 ULONG ulTransferLength = 0;
3494
3495 TRACE("CM_Get_DevNode_Registry_Property_ExW(%lx %lu %p %p %p %lx %p)\n",
3496 dnDevInst, ulProperty, pulRegDataType, Buffer, pulLength,
3497 ulFlags, hMachine);
3498
3499 if (dnDevInst == 0)
3500 return CR_INVALID_DEVNODE;
3501
3502 if (ulProperty < CM_DRP_MIN || ulProperty > CM_DRP_MAX)
3503 return CR_INVALID_PROPERTY;
3504
3505 /* pulRegDataType is optional */
3506
3507 /* Buffer is optional */
3508
3509 if (pulLength == NULL)
3510 return CR_INVALID_POINTER;
3511
3512 if (*pulLength == 0)
3513 return CR_INVALID_POINTER;
3514
3515 if (ulFlags != 0)
3516 return CR_INVALID_FLAG;
3517
3518 if (hMachine != NULL)
3519 {
3520 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
3521 if (BindingHandle == NULL)
3522 return CR_FAILURE;
3523
3524 StringTable = ((PMACHINE_INFO)hMachine)->StringTable;
3525 if (StringTable == 0)
3526 return CR_FAILURE;
3527 }
3528 else
3529 {
3530 if (!PnpGetLocalHandles(&BindingHandle, &StringTable))
3531 return CR_FAILURE;
3532 }
3533
3534 lpDevInst = pSetupStringTableStringFromId(StringTable, dnDevInst);
3535 if (lpDevInst == NULL)
3536 return CR_INVALID_DEVNODE;
3537
3538 ulTransferLength = *pulLength;
3539
3541 {
3543 lpDevInst,
3544 ulProperty,
3545 &ulDataType,
3546 Buffer,
3547 &ulTransferLength,
3548 pulLength,
3549 ulFlags);
3550 }
3552 {
3554 }
3556
3557 if (ret == CR_SUCCESS)
3558 {
3559 if (pulRegDataType != NULL)
3560 *pulRegDataType = ulDataType;
3561 }
3562
3563 return ret;
3564}
DWORD WINAPI PNP_GetDeviceRegProp(handle_t hBinding, LPWSTR pDeviceID, DWORD ulProperty, DWORD *pulRegDataType, BYTE *Buffer, PNP_PROP_SIZE *pulTransferLen, PNP_PROP_SIZE *pulLength, DWORD ulFlags)
Definition: rpcserver.c:1835
#define CR_INVALID_PROPERTY
Definition: cfgmgr32.h:899
#define CM_DRP_MAX
Definition: cfgmgr32.h:732

Referenced by CM_Get_DevNode_Registry_Property_ExA(), CM_Get_DevNode_Registry_PropertyW(), DisplayDevNodeEnumerator(), SETUP_CreateDevicesList(), and SetupDiGetDeviceRegistryPropertyW().

◆ CM_Get_DevNode_Registry_PropertyA()

CMAPI CONFIGRET WINAPI CM_Get_DevNode_Registry_PropertyA ( _In_ DEVINST  dnDevInst,
_In_ ULONG  ulProperty,
_Out_opt_ PULONG  pulRegDataType,
_Out_writes_bytes_opt_ *pulLength PVOID  Buffer,
_Inout_ PULONG  pulLength,
_In_ ULONG  ulFlags 
)

Definition at line 3356 of file cfgmgr.c.

3363{
3364 TRACE("CM_Get_DevNode_Registry_PropertyA(%lx %lu %p %p %p %lx)\n",
3365 dnDevInst, ulProperty, pulRegDataType, Buffer, pulLength, ulFlags);
3366
3367 return CM_Get_DevNode_Registry_Property_ExA(dnDevInst, ulProperty,
3368 pulRegDataType, Buffer,
3369 pulLength, ulFlags, NULL);
3370}
CONFIGRET WINAPI CM_Get_DevNode_Registry_Property_ExA(_In_ DEVINST dnDevInst, _In_ ULONG ulProperty, _Out_opt_ PULONG pulRegDataType, _Out_writes_bytes_opt_(*pulLength) PVOID Buffer, _Inout_ PULONG pulLength, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:3400

◆ CM_Get_DevNode_Registry_PropertyW()

CMAPI CONFIGRET WINAPI CM_Get_DevNode_Registry_PropertyW ( _In_ DEVINST  dnDevInst,
_In_ ULONG  ulProperty,
_Out_opt_ PULONG  pulRegDataType,
_Out_writes_bytes_opt_ *pulLength PVOID  Buffer,
_Inout_ PULONG  pulLength,
_In_ ULONG  ulFlags 
)

Definition at line 3378 of file cfgmgr.c.

3385{
3386 TRACE("CM_Get_DevNode_Registry_PropertyW(%lx %lu %p %p %p %lx)\n",
3387 dnDevInst, ulProperty, pulRegDataType, Buffer, pulLength, ulFlags);
3388
3389 return CM_Get_DevNode_Registry_Property_ExW(dnDevInst, ulProperty,
3390 pulRegDataType, Buffer,
3391 pulLength, ulFlags, NULL);
3392}

Referenced by GetDeviceDisplayInfo(), and CDeviceNode::SetupNode().

◆ CM_Get_DevNode_Status()

CMAPI CONFIGRET WINAPI CM_Get_DevNode_Status ( _Out_ PULONG  pulStatus,
_Out_ PULONG  pulProblemNumber,
_In_ DEVINST  dnDevInst,
_In_ ULONG  ulFlags 
)

Definition at line 3572 of file cfgmgr.c.

3577{
3578 TRACE("CM_Get_DevNode_Status(%p %p %lx %lx)\n",
3579 pulStatus, pulProblemNumber, dnDevInst, ulFlags);
3580
3581 return CM_Get_DevNode_Status_Ex(pulStatus, pulProblemNumber, dnDevInst,
3582 ulFlags, NULL);
3583}
CONFIGRET WINAPI CM_Get_DevNode_Status_Ex(_Out_ PULONG pulStatus, _Out_ PULONG pulProblemNumber, _In_ DEVINST dnDevInst, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:3591

Referenced by EnumHotpluggedDevices(), and StorageCoInstaller().

◆ CM_Get_DevNode_Status_Ex()

CMAPI CONFIGRET WINAPI CM_Get_DevNode_Status_Ex ( _Out_ PULONG  pulStatus,
_Out_ PULONG  pulProblemNumber,
_In_ DEVINST  dnDevInst,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 3591 of file cfgmgr.c.

3597{
3599 HSTRING_TABLE StringTable = NULL;
3600 LPWSTR lpDevInst;
3601 CONFIGRET ret;
3602
3603 TRACE("CM_Get_DevNode_Status_Ex(%p %p %lx %lx %p)\n",
3604 pulStatus, pulProblemNumber, dnDevInst, ulFlags, hMachine);
3605
3606 if (pulStatus == NULL || pulProblemNumber == NULL)
3607 return CR_INVALID_POINTER;
3608
3609 if (dnDevInst == 0)
3610 return CR_INVALID_DEVINST;
3611
3612 if (ulFlags != 0)
3613 return CR_INVALID_FLAG;
3614
3615 if (hMachine != NULL)
3616 {
3617 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
3618 if (BindingHandle == NULL)
3619 return CR_FAILURE;
3620
3621 StringTable = ((PMACHINE_INFO)hMachine)->StringTable;
3622 if (StringTable == 0)
3623 return CR_FAILURE;
3624 }
3625 else
3626 {
3627 if (!PnpGetLocalHandles(&BindingHandle, &StringTable))
3628 return CR_FAILURE;
3629 }
3630
3631 lpDevInst = pSetupStringTableStringFromId(StringTable, dnDevInst);
3632 if (lpDevInst == NULL)
3633 return CR_INVALID_DEVNODE;
3634
3636 {
3638 lpDevInst,
3639 pulStatus,
3640 pulProblemNumber,
3641 ulFlags);
3642 }
3644 {
3646 }
3648
3649 return ret;
3650}
DWORD WINAPI PNP_GetDeviceStatus(handle_t hBinding, LPWSTR pDeviceID, DWORD *pulStatus, DWORD *pulProblem, DWORD ulFlags)
Definition: rpcserver.c:3411

Referenced by CDeviceNode::CanDisable(), CanDisableDevice(), CDeviceNode::CanUninstall(), CM_Get_DevNode_Status(), DisplayDevNodeFlags(), GetDeviceStatusString(), CDeviceNode::HasProblem(), InitProbeListPage(), IsDeviceHidden(), IsDeviceStarted(), CDeviceNode::IsDisabled(), IsDriverInstalled(), CDeviceNode::IsHidden(), CDeviceNode::IsInstalled(), CDeviceNode::IsStarted(), ShowDeviceProblemWizard(), UpdateDevInfo(), and UpdateDriverDlg().

◆ CM_Get_First_Log_Conf()

CMAPI CONFIGRET WINAPI CM_Get_First_Log_Conf ( _Out_opt_ PLOG_CONF  plcLogConf,
_In_ DEVINST  dnDevInst,
_In_ ULONG  ulFlags 
)

Definition at line 4572 of file cfgmgr.c.

4576{
4577 TRACE("CM_Get_First_Log_Conf(%p %lx %lx)\n",
4578 plcLogConf, dnDevInst, ulFlags);
4579
4580 return CM_Get_First_Log_Conf_Ex(plcLogConf, dnDevInst, ulFlags, NULL);
4581}
CONFIGRET WINAPI CM_Get_First_Log_Conf_Ex(_Out_opt_ PLOG_CONF plcLogConf, _In_ DEVINST dnDevInst, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:4589

◆ CM_Get_First_Log_Conf_Ex()

CMAPI CONFIGRET WINAPI CM_Get_First_Log_Conf_Ex ( _Out_opt_ PLOG_CONF  plcLogConf,
_In_ DEVINST  dnDevInst,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 4589 of file cfgmgr.c.

4594{
4596 HSTRING_TABLE StringTable = NULL;
4597 LPWSTR lpDevInst = NULL;
4599 ULONG ulTag;
4600 PLOG_CONF_INFO pLogConfInfo;
4601
4602 FIXME("CM_Get_First_Log_Conf_Ex(%p %lx %lx %p)\n",
4603 plcLogConf, dnDevInst, ulFlags, hMachine);
4604
4605 if (dnDevInst == 0)
4606 return CR_INVALID_DEVINST;
4607
4608 if (ulFlags & ~LOG_CONF_BITS)
4609 return CR_INVALID_FLAG;
4610
4611 if (plcLogConf)
4612 *plcLogConf = 0;
4613
4614 if (hMachine != NULL)
4615 {
4616 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
4617 if (BindingHandle == NULL)
4618 return CR_FAILURE;
4619
4620 StringTable = ((PMACHINE_INFO)hMachine)->StringTable;
4621 if (StringTable == 0)
4622 return CR_FAILURE;
4623 }
4624 else
4625 {
4626 if (!PnpGetLocalHandles(&BindingHandle, &StringTable))
4627 return CR_FAILURE;
4628 }
4629
4630 lpDevInst = pSetupStringTableStringFromId(StringTable, dnDevInst);
4631 if (lpDevInst == NULL)
4632 return CR_INVALID_DEVNODE;
4633
4635 {
4637 lpDevInst,
4638 ulFlags,
4639 &ulTag,
4640 ulFlags);
4641 }
4643 {
4645 }
4647
4648 if (ret != CR_SUCCESS)
4649 return ret;
4650
4651 if (plcLogConf)
4652 {
4653 pLogConfInfo = HeapAlloc(GetProcessHeap(), 0, sizeof(LOG_CONF_INFO));
4654 if (pLogConfInfo == NULL)
4655 return CR_OUT_OF_MEMORY;
4656
4657 pLogConfInfo->ulMagic = LOG_CONF_MAGIC;
4658 pLogConfInfo->dnDevInst = dnDevInst;
4659 pLogConfInfo->ulType = ulFlags;
4660 pLogConfInfo->ulTag = ulTag;
4661
4662 *plcLogConf = (LOG_CONF)pLogConfInfo;
4663 }
4664
4665 return CR_SUCCESS;
4666}
DWORD WINAPI PNP_GetFirstLogConf(handle_t hBinding, LPWSTR pDeviceID, DWORD ulLogConfType, DWORD *pulLogConfTag, DWORD ulFlags)
Definition: rpcserver.c:4191
_In_ ULONG _In_ ULONG ulTag
Definition: winddi.h:3942

Referenced by CM_Get_First_Log_Conf().

◆ CM_Get_Global_State()

CMAPI CONFIGRET WINAPI CM_Get_Global_State ( _Out_ PULONG  pulState,
_In_ ULONG  ulFlags 
)

Definition at line 4674 of file cfgmgr.c.

4677{
4678 TRACE("CM_Get_Global_State(%p %lx)\n",
4679 pulState, ulFlags);
4680
4681 return CM_Get_Global_State_Ex(pulState, ulFlags, NULL);
4682}
CONFIGRET WINAPI CM_Get_Global_State_Ex(_Out_ PULONG pulState, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:4690

◆ CM_Get_Global_State_Ex()

CMAPI CONFIGRET WINAPI CM_Get_Global_State_Ex ( _Out_ PULONG  pulState,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 4690 of file cfgmgr.c.

4694{
4696 CONFIGRET ret;
4697
4698 TRACE("CM_Get_Global_State_Ex(%p %lx %p)\n",
4699 pulState, ulFlags, hMachine);
4700
4701 if (pulState == NULL)
4702 return CR_INVALID_POINTER;
4703
4704 if (ulFlags != 0)
4705 return CR_INVALID_FLAG;
4706
4707 if (hMachine != NULL)
4708 {
4709 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
4710 if (BindingHandle == NULL)
4711 return CR_FAILURE;
4712 }
4713 else
4714 {
4716 return CR_FAILURE;
4717 }
4718
4720 {
4721 ret = PNP_GetGlobalState(BindingHandle, pulState, ulFlags);
4722 }
4724 {
4726 }
4728
4729 return ret;
4730}
DWORD WINAPI PNP_GetGlobalState(handle_t hBinding, DWORD *pulState, DWORD ulFlags)
Definition: rpcserver.c:675

Referenced by CM_Get_Global_State().

◆ CM_Get_Hardware_Profile_Info_ExA()

CMAPI CONFIGRET WINAPI CM_Get_Hardware_Profile_Info_ExA ( _In_ ULONG  ulIndex,
_Out_ PHWPROFILEINFO_A  pHWProfileInfo,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 4899 of file cfgmgr.c.

4904{
4905 HWPROFILEINFO_W LocalProfileInfo;
4906 CONFIGRET ret;
4907
4908 TRACE("CM_Get_Hardware_Profile_Info_ExA(%lu %p %lx %p)\n",
4909 ulIndex, pHWProfileInfo, ulFlags, hMachine);
4910
4911 if (pHWProfileInfo == NULL)
4912 return CR_INVALID_POINTER;
4913
4914 ret = CM_Get_Hardware_Profile_Info_ExW(ulIndex, &LocalProfileInfo,
4915 ulFlags, hMachine);
4916 if (ret == CR_SUCCESS)
4917 {
4918 pHWProfileInfo->HWPI_ulHWProfile = LocalProfileInfo.HWPI_ulHWProfile;
4919 pHWProfileInfo->HWPI_dwFlags = LocalProfileInfo.HWPI_dwFlags;
4920
4922 0,
4923 LocalProfileInfo.HWPI_szFriendlyName,
4924 lstrlenW(LocalProfileInfo.HWPI_szFriendlyName) + 1,
4925 pHWProfileInfo->HWPI_szFriendlyName,
4927 NULL,
4928 NULL) == 0)
4929 ret = CR_FAILURE;
4930 }
4931
4932 return ret;
4933}
#define MAX_PROFILE_LEN
Definition: cfgmgr32.h:54
CONFIGRET WINAPI CM_Get_Hardware_Profile_Info_ExW(_In_ ULONG ulIndex, _Out_ PHWPROFILEINFO_W pHWProfileInfo, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:4941
ULONG HWPI_ulHWProfile
Definition: cfgmgr32.h:560
DWORD HWPI_dwFlags
Definition: cfgmgr32.h:562
WCHAR HWPI_szFriendlyName[MAX_PROFILE_LEN]
Definition: cfgmgr32.h:561

Referenced by CM_Get_Hardware_Profile_InfoA().

◆ CM_Get_Hardware_Profile_Info_ExW()

CMAPI CONFIGRET WINAPI CM_Get_Hardware_Profile_Info_ExW ( _In_ ULONG  ulIndex,
_Out_ PHWPROFILEINFO_W  pHWProfileInfo,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 4941 of file cfgmgr.c.

4946{
4948 CONFIGRET ret;
4949
4950 TRACE("CM_Get_Hardware_Profile_Info_ExW(%lu %p %lx %p)\n",
4951 ulIndex, pHWProfileInfo, ulFlags, hMachine);
4952
4953 if (pHWProfileInfo == NULL)
4954 return CR_INVALID_POINTER;
4955
4956 if (ulFlags != 0)
4957 return CR_INVALID_FLAG;
4958
4959 if (hMachine != NULL)
4960 {
4961 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
4962 if (BindingHandle == NULL)
4963 return CR_FAILURE;
4964 }
4965 else
4966 {
4968 return CR_FAILURE;
4969 }
4970
4972 {
4973 ret = PNP_GetHwProfInfo(BindingHandle, ulIndex, pHWProfileInfo,
4974 sizeof(HWPROFILEINFO_W), 0);
4975 }
4977 {
4979 }
4981
4982 return ret;
4983}
DWORD WINAPI PNP_GetHwProfInfo(handle_t hBinding, DWORD ulIndex, HWPROFILEINFO *pHWProfileInfo, DWORD ulProfileInfoSize, DWORD ulFlags)
Definition: rpcserver.c:4026

Referenced by CM_Get_Hardware_Profile_Info_ExA(), and CM_Get_Hardware_Profile_InfoW().

◆ CM_Get_Hardware_Profile_InfoA()

CMAPI CONFIGRET WINAPI CM_Get_Hardware_Profile_InfoA ( _In_ ULONG  ulIndex,
_Out_ PHWPROFILEINFO_A  pHWProfileInfo,
_In_ ULONG  ulFlags 
)

Definition at line 4863 of file cfgmgr.c.

4867{
4868 TRACE("CM_Get_Hardware_Profile_InfoA(%lu %p %lx)\n",
4869 ulIndex, pHWProfileInfo, ulFlags);
4870
4871 return CM_Get_Hardware_Profile_Info_ExA(ulIndex, pHWProfileInfo,
4872 ulFlags, NULL);
4873}
CONFIGRET WINAPI CM_Get_Hardware_Profile_Info_ExA(_In_ ULONG ulIndex, _Out_ PHWPROFILEINFO_A pHWProfileInfo, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:4899

◆ CM_Get_Hardware_Profile_InfoW()

CMAPI CONFIGRET WINAPI CM_Get_Hardware_Profile_InfoW ( _In_ ULONG  ulIndex,
_Out_ PHWPROFILEINFO_W  pHWProfileInfo,
_In_ ULONG  ulFlags 
)

Definition at line 4881 of file cfgmgr.c.

4885{
4886 TRACE("CM_Get_Hardware_Profile_InfoW(%lu %p %lx)\n",
4887 ulIndex, pHWProfileInfo, ulFlags);
4888
4889 return CM_Get_Hardware_Profile_Info_ExW(ulIndex, pHWProfileInfo,
4890 ulFlags, NULL);
4891}

◆ CM_Get_HW_Prof_Flags_ExA()

CMAPI CONFIGRET WINAPI CM_Get_HW_Prof_Flags_ExA ( _In_ DEVINSTID_A  szDevInstName,
_In_ ULONG  ulHardwareProfile,
_Out_ PULONG  pulValue,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 4776 of file cfgmgr.c.

4782{
4783 DEVINSTID_W pszDevIdW = NULL;
4785
4786 TRACE("CM_Get_HW_Prof_Flags_ExA(%s %lu %p %lx %p)\n",
4787 debugstr_a(szDevInstName), ulHardwareProfile, pulValue, ulFlags, hMachine);
4788
4789 if (szDevInstName != NULL)
4790 {
4791 if (pSetupCaptureAndConvertAnsiArg(szDevInstName, &pszDevIdW))
4792 return CR_INVALID_DEVICE_ID;
4793 }
4794
4795 ret = CM_Get_HW_Prof_Flags_ExW(pszDevIdW, ulHardwareProfile,
4796 pulValue, ulFlags, hMachine);
4797
4798 if (pszDevIdW != NULL)
4799 MyFree(pszDevIdW);
4800
4801 return ret;
4802}
CONFIGRET WINAPI CM_Get_HW_Prof_Flags_ExW(_In_ DEVINSTID_W szDevInstName, _In_ ULONG ulHardwareProfile, _Out_ PULONG pulValue, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:4810

Referenced by CM_Get_HW_Prof_FlagsA().

◆ CM_Get_HW_Prof_Flags_ExW()

CMAPI CONFIGRET WINAPI CM_Get_HW_Prof_Flags_ExW ( _In_ DEVINSTID_W  szDevInstName,
_In_ ULONG  ulHardwareProfile,
_Out_ PULONG  pulValue,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 4810 of file cfgmgr.c.

4816{
4818 CONFIGRET ret;
4819
4820 FIXME("CM_Get_HW_Prof_Flags_ExW(%s %lu %p %lx %p)\n",
4821 debugstr_w(szDevInstName), ulHardwareProfile, pulValue, ulFlags, hMachine);
4822
4823 if ((szDevInstName == NULL) || (pulValue == NULL))
4824 return CR_INVALID_POINTER;
4825
4826 if (ulFlags != 0)
4827 return CR_INVALID_FLAG;
4828
4829 /* FIXME: Check whether szDevInstName is valid */
4830
4831 if (hMachine != NULL)
4832 {
4833 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
4834 if (BindingHandle == NULL)
4835 return CR_FAILURE;
4836 }
4837 else
4838 {
4840 return CR_FAILURE;
4841 }
4842
4844 {
4845 ret = PNP_HwProfFlags(BindingHandle, PNP_GET_HWPROFFLAGS, szDevInstName,
4846 ulHardwareProfile, pulValue, NULL, NULL, 0, 0);
4847 }
4849 {
4851 }
4853
4854 return ret;
4855}
DWORD WINAPI PNP_HwProfFlags(handle_t hBinding, DWORD ulAction, LPWSTR pDeviceID, DWORD ulConfig, DWORD *pulValue, PPNP_VETO_TYPE pVetoType, LPWSTR pszVetoName, DWORD ulNameLength, DWORD ulFlags)
Definition: rpcserver.c:3942

Referenced by CM_Get_HW_Prof_Flags_ExA(), and CM_Get_HW_Prof_FlagsW().

◆ CM_Get_HW_Prof_FlagsA()

CMAPI CONFIGRET WINAPI CM_Get_HW_Prof_FlagsA ( _In_ DEVINSTID_A  szDevInstName,
_In_ ULONG  ulHardwareProfile,
_Out_ PULONG  pulValue,
_In_ ULONG  ulFlags 
)

Definition at line 4738 of file cfgmgr.c.

4743{
4744 TRACE("CM_Get_HW_Prof_FlagsA(%s %lu %p %lx)\n",
4745 debugstr_a(szDevInstName), ulHardwareProfile, pulValue, ulFlags);
4746
4747 return CM_Get_HW_Prof_Flags_ExA(szDevInstName, ulHardwareProfile,
4748 pulValue, ulFlags, NULL);
4749}
CONFIGRET WINAPI CM_Get_HW_Prof_Flags_ExA(_In_ DEVINSTID_A szDevInstName, _In_ ULONG ulHardwareProfile, _Out_ PULONG pulValue, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:4776

◆ CM_Get_HW_Prof_FlagsW()

CMAPI CONFIGRET WINAPI CM_Get_HW_Prof_FlagsW ( _In_ DEVINSTID_W  szDevInstName,
_In_ ULONG  ulHardwareProfile,
_Out_ PULONG  pulValue,
_In_ ULONG  ulFlags 
)

Definition at line 4757 of file cfgmgr.c.

4762{
4763 TRACE("CM_Get_HW_Prof_FlagsW(%s %lu %p %lx)\n",
4764 debugstr_w(szDevInstName), ulHardwareProfile, pulValue, ulFlags);
4765
4766 return CM_Get_HW_Prof_Flags_ExW(szDevInstName, ulHardwareProfile,
4767 pulValue, ulFlags, NULL);
4768}

◆ CM_Get_Log_Conf_Priority()

CMAPI CONFIGRET WINAPI CM_Get_Log_Conf_Priority ( _In_ LOG_CONF  lcLogConf,
_Out_ PPRIORITY  pPriority,
_In_ ULONG  ulFlags 
)

Definition at line 4991 of file cfgmgr.c.

4995{
4996 TRACE("CM_Get_Log_Conf_Priority(%p %p %lx)\n",
4997 lcLogConf, pPriority, ulFlags);
4998
4999 return CM_Get_Log_Conf_Priority_Ex(lcLogConf, pPriority, ulFlags, NULL);
5000}
CONFIGRET WINAPI CM_Get_Log_Conf_Priority_Ex(_In_ LOG_CONF lcLogConf, _Out_ PPRIORITY pPriority, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:5008

◆ CM_Get_Log_Conf_Priority_Ex()

CMAPI CONFIGRET WINAPI CM_Get_Log_Conf_Priority_Ex ( _In_ LOG_CONF  lcLogConf,
_Out_ PPRIORITY  pPriority,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 5008 of file cfgmgr.c.

5013{
5015 HSTRING_TABLE StringTable = NULL;
5016 PLOG_CONF_INFO pLogConfInfo;
5017 LPWSTR lpDevInst;
5018 CONFIGRET ret;
5019
5020 FIXME("CM_Get_Log_Conf_Priority_Ex(%p %p %lx %p)\n",
5021 lcLogConf, pPriority, ulFlags, hMachine);
5022
5023 pLogConfInfo = (PLOG_CONF_INFO)lcLogConf;
5024 if (!IsValidLogConf(pLogConfInfo))
5025 return CR_INVALID_LOG_CONF;
5026
5027 if (pPriority == NULL)
5028 return CR_INVALID_POINTER;
5029
5030 if (ulFlags != 0)
5031 return CR_INVALID_FLAG;
5032
5033 if (hMachine != NULL)
5034 {
5035 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
5036 if (BindingHandle == NULL)
5037 return CR_FAILURE;
5038
5039 StringTable = ((PMACHINE_INFO)hMachine)->StringTable;
5040 if (StringTable == 0)
5041 return CR_FAILURE;
5042 }
5043 else
5044 {
5045 if (!PnpGetLocalHandles(&BindingHandle, &StringTable))
5046 return CR_FAILURE;
5047 }
5048
5049 lpDevInst = pSetupStringTableStringFromId(StringTable, pLogConfInfo->dnDevInst);
5050 if (lpDevInst == NULL)
5051 return CR_INVALID_DEVNODE;
5052
5054 {
5056 lpDevInst,
5057 pLogConfInfo->ulType,
5058 pLogConfInfo->ulTag,
5059 pPriority,
5060 0);
5061 }
5063 {
5065 }
5067
5068 return ret;
5069}
DWORD WINAPI PNP_GetLogConfPriority(handle_t hBinding, LPWSTR pDeviceID, DWORD ulType, DWORD ulTag, DWORD *pPriority, DWORD ulFlags)
Definition: rpcserver.c:4390

Referenced by CM_Get_Log_Conf_Priority().

◆ CM_Get_Next_Log_Conf()

CMAPI CONFIGRET WINAPI CM_Get_Next_Log_Conf ( _Out_opt_ PLOG_CONF  plcLogConf,
_In_ LOG_CONF  lcLogConf,
_In_ ULONG  ulFlags 
)

Definition at line 5077 of file cfgmgr.c.

5081{
5082 TRACE("CM_Get_Next_Log_Conf(%p %p %lx)\n",
5083 plcLogConf, lcLogConf, ulFlags);
5084
5085 return CM_Get_Next_Log_Conf_Ex(plcLogConf, lcLogConf, ulFlags, NULL);
5086}
CONFIGRET WINAPI CM_Get_Next_Log_Conf_Ex(_Out_opt_ PLOG_CONF plcLogConf, _In_ LOG_CONF lcLogConf, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:5094

◆ CM_Get_Next_Log_Conf_Ex()

CMAPI CONFIGRET WINAPI CM_Get_Next_Log_Conf_Ex ( _Out_opt_ PLOG_CONF  plcLogConf,
_In_ LOG_CONF  lcLogConf,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 5094 of file cfgmgr.c.

5099{
5101 HSTRING_TABLE StringTable = NULL;
5102 PLOG_CONF_INFO pLogConfInfo;
5103 PLOG_CONF_INFO pNewLogConfInfo;
5104 ULONG ulNewTag;
5105 LPWSTR lpDevInst;
5106 CONFIGRET ret;
5107
5108 FIXME("CM_Get_Next_Log_Conf_Ex(%p %p %lx %p)\n",
5109 plcLogConf, lcLogConf, ulFlags, hMachine);
5110
5111 if (plcLogConf)
5112 *plcLogConf = 0;
5113
5114 pLogConfInfo = (PLOG_CONF_INFO)lcLogConf;
5115 if (!IsValidLogConf(pLogConfInfo))
5116 return CR_INVALID_LOG_CONF;
5117
5118 if (ulFlags != 0)
5119 return CR_INVALID_FLAG;
5120
5121 if (hMachine != NULL)
5122 {
5123 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
5124 if (BindingHandle == NULL)
5125 return CR_FAILURE;
5126
5127 StringTable = ((PMACHINE_INFO)hMachine)->StringTable;
5128 if (StringTable == 0)
5129 return CR_FAILURE;
5130 }
5131 else
5132 {
5133 if (!PnpGetLocalHandles(&BindingHandle, &StringTable))
5134 return CR_FAILURE;
5135 }
5136
5137 lpDevInst = pSetupStringTableStringFromId(StringTable, pLogConfInfo->dnDevInst);
5138 if (lpDevInst == NULL)
5139 return CR_INVALID_DEVNODE;
5140
5142 {
5144 lpDevInst,
5145 pLogConfInfo->ulType,
5146 pLogConfInfo->ulTag,
5147 &ulNewTag,
5148 0);
5149 }
5151 {
5153 }
5155
5156 if (ret != CR_SUCCESS)
5157 return ret;
5158
5159 if (plcLogConf)
5160 {
5161 pNewLogConfInfo = HeapAlloc(GetProcessHeap(), 0, sizeof(LOG_CONF_INFO));
5162 if (pNewLogConfInfo == NULL)
5163 return CR_OUT_OF_MEMORY;
5164
5165 pNewLogConfInfo->ulMagic = LOG_CONF_MAGIC;
5166 pNewLogConfInfo->dnDevInst = pLogConfInfo->dnDevInst;
5167 pNewLogConfInfo->ulType = pLogConfInfo->ulType;
5168 pNewLogConfInfo->ulTag = ulNewTag;
5169
5170 *plcLogConf = (LOG_CONF)pNewLogConfInfo;
5171 }
5172
5173 return CR_SUCCESS;
5174}
DWORD WINAPI PNP_GetNextLogConf(handle_t hBinding, LPWSTR pDeviceID, DWORD ulLogConfType, DWORD ulCurrentTag, DWORD *pulNextTag, DWORD ulFlags)
Definition: rpcserver.c:4285

Referenced by CM_Get_Next_Log_Conf().

◆ CM_Get_Next_Res_Des()

CMAPI CONFIGRET WINAPI CM_Get_Next_Res_Des ( _Out_ PRES_DES  prdResDes,
_In_ RES_DES  rdResDes,
_In_ RESOURCEID  ForResource,
_Out_opt_ PRESOURCEID  pResourceID,
_In_ ULONG  ulFlags 
)

Definition at line 5182 of file cfgmgr.c.

5188{
5189 TRACE("CM_Get_Next_Res_Des(%p %p %lu %p %lx)\n",
5190 prdResDes, rdResDes, ForResource, pResourceID, ulFlags);
5191
5192 return CM_Get_Next_Res_Des_Ex(prdResDes, rdResDes, ForResource,
5193 pResourceID, ulFlags, NULL);
5194}
CONFIGRET WINAPI CM_Get_Next_Res_Des_Ex(_Out_ PRES_DES prdResDes, _In_ RES_DES rdResDes, _In_ RESOURCEID ForResource, _Out_opt_ PRESOURCEID pResourceID, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:5202

◆ CM_Get_Next_Res_Des_Ex()

CMAPI CONFIGRET WINAPI CM_Get_Next_Res_Des_Ex ( _Out_ PRES_DES  prdResDes,
_In_ RES_DES  rdResDes,
_In_ RESOURCEID  ForResource,
_Out_opt_ PRESOURCEID  pResourceID,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 5202 of file cfgmgr.c.

5209{
5211 HSTRING_TABLE StringTable = NULL;
5212 ULONG ulInTag, ulOutTag = 0;
5213 ULONG ulInType, ulOutType = 0;
5214 LPWSTR lpDevInst;
5215 DEVINST dnDevInst;
5216 CONFIGRET ret;
5217
5218 FIXME("CM_Get_Next_Res_Des_Ex(%p %p %lu %p %lx %p)\n",
5219 prdResDes, rdResDes, ForResource, pResourceID, ulFlags, hMachine);
5220
5221 if (prdResDes == NULL)
5222 return CR_INVALID_POINTER;
5223
5224 if (IsValidLogConf((PLOG_CONF_INFO)rdResDes))
5225 {
5226 FIXME("LogConf found!\n");
5227 dnDevInst = ((PLOG_CONF_INFO)rdResDes)->dnDevInst;
5228 ulInTag = ((PLOG_CONF_INFO)rdResDes)->ulTag;
5229 ulInType = ((PLOG_CONF_INFO)rdResDes)->ulType;
5230 }
5231#if 0
5232 else if (IsValidResDes((PRES_DES_INFO)rdResDes))
5233 {
5234 FIXME("ResDes found!\n");
5235 dnDevInst = ((PRES_DES_INFO)rdResDes)->dnDevInst;
5236 ulInTag = ((PRES_DES_INFO)rdResDes)->ulTag;
5237 ulInType = ((PRES_DES_INFO)rdResDes)->ulType;
5238 }
5239#endif
5240 else
5241 {
5242 return CR_INVALID_RES_DES;
5243 }
5244
5245 if (hMachine != NULL)
5246 {
5247 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
5248 if (BindingHandle == NULL)
5249 return CR_FAILURE;
5250
5251 StringTable = ((PMACHINE_INFO)hMachine)->StringTable;
5252 if (StringTable == 0)
5253 return CR_FAILURE;
5254 }
5255 else
5256 {
5257 if (!PnpGetLocalHandles(&BindingHandle, &StringTable))
5258 return CR_FAILURE;
5259 }
5260
5261 lpDevInst = pSetupStringTableStringFromId(StringTable, dnDevInst);
5262 if (lpDevInst == NULL)
5263 return CR_INVALID_DEVNODE;
5264
5266 {
5268 lpDevInst,
5269 ulInTag,
5270 ulInType,
5271 ForResource,
5272 0, /* unsigned long ulResourceTag, */
5273 &ulOutTag,
5274 &ulOutType,
5275 0);
5276 }
5278 {
5280 }
5282
5283 if (ret != CR_SUCCESS)
5284 return ret;
5285
5286 /* FIXME: Create the ResDes handle */
5287
5288 return CR_SUCCESS;
5289}
DWORD WINAPI PNP_GetNextResDes(handle_t hBinding, LPWSTR pDeviceID, DWORD ulLogConfTag, DWORD ulLogConfType, RESOURCEID ResourceID, DWORD ulResourceTag, DWORD *pulNextResType, DWORD *pulNextResTag, DWORD ulFlags)
Definition: rpcserver.c:4444
#define CR_INVALID_RES_DES
Definition: cfgmgr32.h:849
DWORD DEVINST
Definition: cfgmgr32.h:76

Referenced by CM_Get_Next_Res_Des().

◆ CM_Get_Parent()

CMAPI CONFIGRET WINAPI CM_Get_Parent ( _Out_ PDEVINST  pdnDevInst,
_In_ DEVINST  dnDevInst,
_In_ ULONG  ulFlags 
)

Definition at line 5297 of file cfgmgr.c.

5301{
5302 TRACE("CM_Get_Parent(%p %p %lx)\n",
5303 pdnDevInst, dnDevInst, ulFlags);
5304
5305 return CM_Get_Parent_Ex(pdnDevInst, dnDevInst, ulFlags, NULL);
5306}
CONFIGRET WINAPI CM_Get_Parent_Ex(_Out_ PDEVINST pdnDevInst, _In_ DEVINST dnDevInst, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:5314

◆ CM_Get_Parent_Ex()

CMAPI CONFIGRET WINAPI CM_Get_Parent_Ex ( _Out_ PDEVINST  pdnDevInst,
_In_ DEVINST  dnDevInst,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 5314 of file cfgmgr.c.

5319{
5320 WCHAR szRelatedDevInst[MAX_DEVICE_ID_LEN];
5322 HSTRING_TABLE StringTable = NULL;
5323 LPWSTR lpDevInst;
5324 DWORD dwIndex, dwLength = MAX_DEVICE_ID_LEN;
5325 CONFIGRET ret;
5326
5327 TRACE("CM_Get_Parent_Ex(%p %lx %lx %p)\n",
5328 pdnDevInst, dnDevInst, ulFlags, hMachine);
5329
5330 if (pdnDevInst == NULL)
5331 return CR_INVALID_POINTER;
5332
5333 if (dnDevInst == 0)
5334 return CR_INVALID_DEVINST;
5335
5336 if (ulFlags != 0)
5337 return CR_INVALID_FLAG;
5338
5339 *pdnDevInst = -1;
5340
5341 if (hMachine != NULL)
5342 {
5343 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
5344 if (BindingHandle == NULL)
5345 return CR_FAILURE;
5346
5347 StringTable = ((PMACHINE_INFO)hMachine)->StringTable;
5348 if (StringTable == 0)
5349 return CR_FAILURE;
5350 }
5351 else
5352 {
5353 if (!PnpGetLocalHandles(&BindingHandle, &StringTable))
5354 return CR_FAILURE;
5355 }
5356
5357 lpDevInst = pSetupStringTableStringFromId(StringTable, dnDevInst);
5358 if (lpDevInst == NULL)
5359 return CR_INVALID_DEVNODE;
5360
5362 {
5364 PNP_GET_PARENT_DEVICE_INSTANCE,
5365 lpDevInst,
5366 szRelatedDevInst,
5367 &dwLength,
5368 0);
5369 }
5371 {
5373 }
5375
5376 if (ret != CR_SUCCESS)
5377 return ret;
5378
5379 TRACE("szRelatedDevInst: %s\n", debugstr_w(szRelatedDevInst));
5380
5381 dwIndex = pSetupStringTableAddString(StringTable, szRelatedDevInst, 1);
5382 if (dwIndex == -1)
5383 return CR_FAILURE;
5384
5385 *pdnDevInst = dwIndex;
5386
5387 return CR_SUCCESS;
5388}

Referenced by CM_Get_Parent(), SetupDiRegisterDeviceInfo(), and UpdateDevInfo().

◆ CM_Get_Res_Des_Data()

CMAPI CONFIGRET WINAPI CM_Get_Res_Des_Data ( _In_ RES_DES  rdResDes,
_Out_writes_bytes_(BufferLen) PVOID  Buffer,
_In_ ULONG  BufferLen,
_In_ ULONG  ulFlags 
)

Definition at line 5396 of file cfgmgr.c.

5401{
5402 TRACE("CM_Get_Res_Des_Data(%p %p %lu %lx)\n",
5403 rdResDes, Buffer, BufferLen, ulFlags);
5404
5405 return CM_Get_Res_Des_Data_Ex(rdResDes, Buffer, BufferLen, ulFlags, NULL);
5406}
CONFIGRET WINAPI CM_Get_Res_Des_Data_Ex(_In_ RES_DES rdResDes, _Out_writes_bytes_(BufferLen) PVOID Buffer, _In_ ULONG BufferLen, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:5414

◆ CM_Get_Res_Des_Data_Ex()

CMAPI CONFIGRET WINAPI CM_Get_Res_Des_Data_Ex ( _In_ RES_DES  rdResDes,
_Out_writes_bytes_(BufferLen) PVOID  Buffer,
_In_ ULONG  BufferLen,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 5414 of file cfgmgr.c.

5420{
5421 FIXME("CM_Get_Res_Des_Data_Ex(%p %p %lu %lx %p)\n",
5422 rdResDes, Buffer, BufferLen, ulFlags, hMachine);
5423
5425}

Referenced by CM_Get_Res_Des_Data().

◆ CM_Get_Res_Des_Data_Size()

CMAPI CONFIGRET WINAPI CM_Get_Res_Des_Data_Size ( _Out_ PULONG  pulSize,
_In_ RES_DES  rdResDes,
_In_ ULONG  ulFlags 
)

Definition at line 5433 of file cfgmgr.c.

5437{
5438 TRACE("CM_Get_Res_Des_Data_Size(%p %p %lx)\n",
5439 pulSize, rdResDes, ulFlags);
5440
5441 return CM_Get_Res_Des_Data_Size_Ex(pulSize, rdResDes, ulFlags, NULL);
5442}
CONFIGRET WINAPI CM_Get_Res_Des_Data_Size_Ex(_Out_ PULONG pulSize, _In_ RES_DES rdResDes, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:5450
_Check_return_ _Out_ PULONG pulSize
Definition: winddi.h:2120

◆ CM_Get_Res_Des_Data_Size_Ex()

CMAPI CONFIGRET WINAPI CM_Get_Res_Des_Data_Size_Ex ( _Out_ PULONG  pulSize,
_In_ RES_DES  rdResDes,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 5450 of file cfgmgr.c.

5455{
5456 TRACE("CM_Get_Res_Des_Data_Size_Ex(%p %p %lx %p)\n",
5457 pulSize, rdResDes, ulFlags, hMachine);
5458
5460}

Referenced by CM_Get_Res_Des_Data_Size().

◆ CM_Get_Resource_Conflict_Count()

CMAPI CONFIGRET WINAPI CM_Get_Resource_Conflict_Count ( _In_ CONFLICT_LIST  clConflictList,
_Out_ PULONG  pulCount 
)

Definition at line 5468 of file cfgmgr.c.

5471{
5472 PCONFLICT_DATA pConflictData;
5473
5474 FIXME("CM_Get_Resource_Conflict_Count(%p %p)\n",
5475 clConflictList, pulCount);
5476
5477 pConflictData = (PCONFLICT_DATA)clConflictList;
5478 if (!IsValidConflictData(pConflictData))
5480
5481 if (pulCount == NULL)
5482 return CR_INVALID_POINTER;
5483
5484 *pulCount = pConflictData->pConflictList->ConflictsListed;
5485
5486 return CR_SUCCESS;
5487}
DWORD ConflictsListed
Definition: pnp.idl:240

◆ CM_Get_Resource_Conflict_DetailsA()

CMAPI CONFIGRET WINAPI CM_Get_Resource_Conflict_DetailsA ( _In_ CONFLICT_LIST  clConflictList,
_In_ ULONG  ulIndex,
_Inout_ PCONFLICT_DETAILS_A  pConflictDetails 
)

Definition at line 5495 of file cfgmgr.c.

5499{
5500 FIXME("CM_Get_Resource_Conflict_CountA(%p %lu %p)\n",
5501 clConflictList, ulIndex, pConflictDetails);
5502
5504}

◆ CM_Get_Resource_Conflict_DetailsW()

CMAPI CONFIGRET WINAPI CM_Get_Resource_Conflict_DetailsW ( _In_ CONFLICT_LIST  clConflictList,
_In_ ULONG  ulIndex,
_Inout_ PCONFLICT_DETAILS_W  pConflictDetails 
)

Definition at line 5512 of file cfgmgr.c.

5516{
5517 FIXME("CM_Get_Resource_Conflict_CountW(%p %lu %p)\n",
5518 clConflictList, ulIndex, pConflictDetails);
5519
5521}

◆ CM_Get_Sibling()

CMAPI CONFIGRET WINAPI CM_Get_Sibling ( _Out_ PDEVINST  pdnDevInst,
_In_ DEVINST  DevInst,
_In_ ULONG  ulFlags 
)

Definition at line 5529 of file cfgmgr.c.

5533{
5534 TRACE("CM_Get_Sibling(%p %p %lx)\n",
5535 pdnDevInst, dnDevInst, ulFlags);
5536
5537 return CM_Get_Sibling_Ex(pdnDevInst, dnDevInst, ulFlags, NULL);
5538}
CONFIGRET WINAPI CM_Get_Sibling_Ex(_Out_ PDEVINST pdnDevInst, _In_ DEVINST dnDevInst, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:5546

Referenced by CfmListRecursiveInsertSubDevices(), DevTreeRecursiveInsertSubDevices(), GetMonitorDevInstID(), and CDeviceView::GetSiblingDevice().

◆ CM_Get_Sibling_Ex()

CMAPI CONFIGRET WINAPI CM_Get_Sibling_Ex ( _Out_ PDEVINST  pdnDevInst,
_In_ DEVINST  DevInst,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 5546 of file cfgmgr.c.

5551{
5552 WCHAR szRelatedDevInst[MAX_DEVICE_ID_LEN];
5554 HSTRING_TABLE StringTable = NULL;
5555 LPWSTR lpDevInst;
5556 DWORD dwIndex, dwLength = MAX_DEVICE_ID_LEN;
5557 CONFIGRET ret;
5558
5559 TRACE("CM_Get_Sibling_Ex(%p %lx %lx %p)\n",
5560 pdnDevInst, dnDevInst, ulFlags, hMachine);
5561
5562 if (pdnDevInst == NULL)
5563 return CR_INVALID_POINTER;
5564
5565 if (dnDevInst == 0)
5566 return CR_INVALID_DEVINST;
5567
5568 if (ulFlags != 0)
5569 return CR_INVALID_FLAG;
5570
5571 *pdnDevInst = -1;
5572
5573 if (hMachine != NULL)
5574 {
5575 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
5576 if (BindingHandle == NULL)
5577 return CR_FAILURE;
5578
5579 StringTable = ((PMACHINE_INFO)hMachine)->StringTable;
5580 if (StringTable == 0)
5581 return CR_FAILURE;
5582 }
5583 else
5584 {
5585 if (!PnpGetLocalHandles(&BindingHandle, &StringTable))
5586 return CR_FAILURE;
5587 }
5588
5589 lpDevInst = pSetupStringTableStringFromId(StringTable, dnDevInst);
5590 if (lpDevInst == NULL)
5591 return CR_INVALID_DEVNODE;
5592
5594 {
5596 PNP_GET_SIBLING_DEVICE_INSTANCE,
5597 lpDevInst,
5598 szRelatedDevInst,
5599 &dwLength,
5600 0);
5601 }
5603 {
5605 }
5607
5608 if (ret != CR_SUCCESS)
5609 return ret;
5610
5611 TRACE("szRelatedDevInst: %s\n", debugstr_w(szRelatedDevInst));
5612
5613 dwIndex = pSetupStringTableAddString(StringTable, szRelatedDevInst, 1);
5614 if (dwIndex == -1)
5615 return CR_FAILURE;
5616
5617 *pdnDevInst = dwIndex;
5618
5619 return CR_SUCCESS;
5620}

Referenced by CM_Get_Sibling().

◆ CM_Get_Version()

CMAPI WORD WINAPI CM_Get_Version ( VOID  )

Definition at line 5628 of file cfgmgr.c.

5629{
5630 TRACE("CM_Get_Version()\n");
5631
5632 return CM_Get_Version_Ex(NULL);
5633}
WORD WINAPI CM_Get_Version_Ex(_In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:5641

Referenced by test_CM_Get_Version().

◆ CM_Get_Version_Ex()

CMAPI WORD WINAPI CM_Get_Version_Ex ( _In_opt_ HMACHINE  hMachine)

Definition at line 5641 of file cfgmgr.c.

5643{
5645 WORD Version = 0;
5646 CONFIGRET ret;
5647
5648 TRACE("CM_Get_Version_Ex(%p)\n", hMachine);
5649
5650 if (hMachine != NULL)
5651 {
5652 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
5653 if (BindingHandle == NULL)
5654 return 0;
5655 }
5656 else
5657 {
5659 return CR_FAILURE;
5660 }
5661
5663 {
5665 }
5667 {
5669 }
5671
5672 if (ret != CR_SUCCESS)
5673 return 0;
5674
5675 return Version;
5676}
DWORD WINAPI PNP_GetVersion(handle_t hBinding, WORD *pVersion)
Definition: rpcserver.c:657
unsigned short WORD
Definition: ntddk_ex.h:93
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID _Out_ PINTERFACE _In_ USHORT _In_ USHORT Version
Definition: wdffdo.h:469

Referenced by CM_Get_Version().

◆ CM_Import_PowerScheme()

CONFIGRET CM_Import_PowerScheme ( _In_ LPCWSTR  ImportFileNamePath,
_Inout_ GUID **  DestinationSchemeGuid,
_Out_ PDWORD  Error 
)

◆ CM_Intersect_Range_List()

CMAPI CONFIGRET WINAPI CM_Intersect_Range_List ( _In_ RANGE_LIST  rlhOld1,
_In_ RANGE_LIST  rlhOld2,
_In_ RANGE_LIST  rlhNew,
_In_ ULONG  ulFlags 
)

Definition at line 5684 of file cfgmgr.c.

5689{
5690 FIXME("CM_Intersect_Range_List(%p %p %p %lx)\n",
5691 rlhOld1, rlhOld2, rlhNew, ulFlags);
5692
5694}

◆ CM_Invert_Range_List()

CMAPI CONFIGRET WINAPI CM_Invert_Range_List ( _In_ RANGE_LIST  rlhOld,
_In_ RANGE_LIST  rlhNew,
_In_ DWORDLONG  ullMaxValue,
_In_ ULONG  ulFlags 
)

Definition at line 5702 of file cfgmgr.c.

5707{
5708 FIXME("CM_Invert_Range_List(%p %p %I64u %lx)\n",
5709 rlhOld, rlhNew, ullMaxValue, ulFlags);
5710
5712}

◆ CM_Is_Dock_Station_Present()

CMAPI CONFIGRET WINAPI CM_Is_Dock_Station_Present ( _Out_ PBOOL  pbPresent)

Definition at line 5720 of file cfgmgr.c.

5722{
5723 TRACE("CM_Is_Dock_Station_Present(%p)\n",
5724 pbPresent);
5725
5726 return CM_Is_Dock_Station_Present_Ex(pbPresent, NULL);
5727}
CONFIGRET WINAPI CM_Is_Dock_Station_Present_Ex(_Out_ PBOOL pbPresent, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:5735

◆ CM_Is_Dock_Station_Present_Ex()

CMAPI CONFIGRET WINAPI CM_Is_Dock_Station_Present_Ex ( _Out_ PBOOL  pbPresent,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 5735 of file cfgmgr.c.

5738{
5740 CONFIGRET ret;
5741
5742 TRACE("CM_Is_Dock_Station_Present_Ex(%p %p)\n",
5743 pbPresent, hMachine);
5744
5745 if (pbPresent == NULL)
5746 return CR_INVALID_POINTER;
5747
5748 *pbPresent = FALSE;
5749
5750 if (hMachine != NULL)
5751 {
5752 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
5753 if (BindingHandle == NULL)
5754 return CR_FAILURE;
5755 }
5756 else
5757 {
5759 return CR_FAILURE;
5760 }
5761
5763 {
5765 pbPresent);
5766 }
5768 {
5770 }
5772
5773 return ret;
5774}
CONFIGRET WINAPI PNP_IsDockStationPresent(handle_t hBinding, BOOL *Present)
Definition: rpcserver.c:3854

Referenced by CM_Is_Dock_Station_Present().

◆ CM_Is_Version_Available()

CMAPI BOOL WINAPI CM_Is_Version_Available ( _In_ WORD  wVersion)

Definition at line 5782 of file cfgmgr.c.

5784{
5785 TRACE("CM_Is_Version_Available(%hu)\n",
5786 wVersion);
5787
5788 return CM_Is_Version_Available_Ex(wVersion, NULL);
5789}
BOOL WINAPI CM_Is_Version_Available_Ex(_In_ WORD wVersion, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:5797

◆ CM_Is_Version_Available_Ex()

CMAPI BOOL WINAPI CM_Is_Version_Available_Ex ( _In_ WORD  wVersion,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 5797 of file cfgmgr.c.

5800{
5802 WORD wServerVersion;
5803 CONFIGRET ret;
5804
5805 TRACE("CM_Is_Version_Available_Ex(%hu %p)\n",
5806 wVersion, hMachine);
5807
5808 if (wVersion <= 0x400)
5809 return TRUE;
5810
5811 if (hMachine != NULL)
5812 {
5813 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
5814 if (BindingHandle == NULL)
5815 return FALSE;
5816 }
5817 else
5818 {
5820 return FALSE;
5821 }
5822
5824 {
5825 ret = PNP_GetVersion(BindingHandle, &wServerVersion);
5826 }
5828 {
5830 }
5832
5833 if (ret != CR_SUCCESS)
5834 return FALSE;
5835
5836 return (wServerVersion >= wVersion);
5837}

Referenced by CM_Is_Version_Available().

◆ CM_Locate_DevNode_ExA()

CMAPI CONFIGRET WINAPI CM_Locate_DevNode_ExA ( _Out_ PDEVINST  pdnDevInst,
_In_opt_ DEVINSTID_A  pDeviceID,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 5879 of file cfgmgr.c.

5884{
5885 DEVINSTID_W pDevIdW = NULL;
5887
5888 TRACE("CM_Locate_DevNode_ExA(%p %s %lx %p)\n",
5889 pdnDevInst, debugstr_a(pDeviceID), ulFlags, hMachine);
5890
5891 if (pDeviceID != NULL)
5892 {
5893 if (pSetupCaptureAndConvertAnsiArg(pDeviceID, &pDevIdW))
5894 return CR_INVALID_DEVICE_ID;
5895 }
5896
5897 ret = CM_Locate_DevNode_ExW(pdnDevInst, pDevIdW, ulFlags, hMachine);
5898
5899 if (pDevIdW != NULL)
5900 MyFree(pDevIdW);
5901
5902 return ret;
5903}
CONFIGRET WINAPI CM_Locate_DevNode_ExW(_Out_ PDEVINST pdnDevInst, _In_opt_ DEVINSTID_W pDeviceID, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:5911

Referenced by CM_Locate_DevNodeA().

◆ CM_Locate_DevNode_ExW()

CMAPI CONFIGRET WINAPI CM_Locate_DevNode_ExW ( _Out_ PDEVINST  pdnDevInst,
_In_opt_ DEVINSTID_W  pDeviceID,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 5911 of file cfgmgr.c.

5916{
5917 WCHAR DeviceIdBuffer[MAX_DEVICE_ID_LEN];
5919 HSTRING_TABLE StringTable = NULL;
5921
5922 TRACE("CM_Locate_DevNode_ExW(%p %s %lx %p)\n",
5923 pdnDevInst, debugstr_w(pDeviceID), ulFlags, hMachine);
5924
5925 if (pdnDevInst == NULL)
5926 return CR_INVALID_POINTER;
5927
5928 if (ulFlags & ~CM_LOCATE_DEVNODE_BITS)
5929 return CR_INVALID_FLAG;
5930
5931 if (hMachine != NULL)
5932 {
5933 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
5934 if (BindingHandle == NULL)
5935 return CR_FAILURE;
5936
5937 StringTable = ((PMACHINE_INFO)hMachine)->StringTable;
5938 if (StringTable == 0)
5939 return CR_FAILURE;
5940 }
5941 else
5942 {
5943 if (!PnpGetLocalHandles(&BindingHandle, &StringTable))
5944 return CR_FAILURE;
5945 }
5946
5947 if (pDeviceID != NULL && lstrlenW(pDeviceID) != 0)
5948 {
5949 lstrcpyW(DeviceIdBuffer, pDeviceID);
5950
5952 {
5953 /* Validate the device ID */
5955 DeviceIdBuffer,
5956 ulFlags);
5957 }
5959 {
5961 }
5963 }
5964 else
5965 {
5967 {
5968 /* Get the root device ID */
5970 DeviceIdBuffer,
5972 }
5974 {
5976 }
5978 }
5979
5980 TRACE("DeviceIdBuffer: %s\n", debugstr_w(DeviceIdBuffer));
5981
5982 if (ret == CR_SUCCESS)
5983 {
5984 *pdnDevInst = pSetupStringTableAddString(StringTable, DeviceIdBuffer, 1);
5985 if (*pdnDevInst == -1)
5986 ret = CR_FAILURE;
5987 }
5988
5989 return ret;
5990}
DWORD WINAPI PNP_GetRootDeviceInstance(handle_t hBinding, LPWSTR pDeviceID, PNP_RPC_STRING_LEN ulLength)
Definition: rpcserver.c:810
DWORD WINAPI PNP_ValidateDeviceInstance(handle_t hBinding, LPWSTR pDeviceID, DWORD ulFlags)
Definition: rpcserver.c:767
#define CM_LOCATE_DEVNODE_BITS
Definition: cfgmgr32.h:764

Referenced by CM_Locate_DevNode_ExA(), CM_Locate_DevNodeW(), and CreateDeviceInfo().

◆ CM_Locate_DevNodeA()

CMAPI CONFIGRET WINAPI CM_Locate_DevNodeA ( _Out_ PDEVINST  pdnDevInst,
_In_opt_ DEVINSTID_A  pDeviceID,
_In_ ULONG  ulFlags 
)

Definition at line 5845 of file cfgmgr.c.

5849{
5850 TRACE("CM_Locate_DevNodeA(%p %s %lx)\n",
5851 pdnDevInst, debugstr_a(pDeviceID), ulFlags);
5852
5853 return CM_Locate_DevNode_ExA(pdnDevInst, pDeviceID, ulFlags, NULL);
5854}
CONFIGRET WINAPI CM_Locate_DevNode_ExA(_Out_ PDEVINST pdnDevInst, _In_opt_ DEVINSTID_A pDeviceID, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:5879

◆ CM_Locate_DevNodeW()

CMAPI CONFIGRET WINAPI CM_Locate_DevNodeW ( _Out_ PDEVINST  pdnDevInst,
_In_opt_ DEVINSTID_W  pDeviceID,
_In_ ULONG  ulFlags 
)

Definition at line 5862 of file cfgmgr.c.

5866{
5867 TRACE("CM_Locate_DevNodeW(%p %s %lx)\n",
5868 pdnDevInst, debugstr_w(pDeviceID), ulFlags);
5869
5870 return CM_Locate_DevNode_ExW(pdnDevInst, pDeviceID, ulFlags, NULL);
5871}

Referenced by CRootNode::SetupNode().

◆ CM_Merge_Range_List()

CMAPI CONFIGRET WINAPI CM_Merge_Range_List ( _In_ RANGE_LIST  rlhOld1,
_In_ RANGE_LIST  rlhOld2,
_In_ RANGE_LIST  rlhNew,
_In_ ULONG  ulFlags 
)

Definition at line 5998 of file cfgmgr.c.

6003{
6004 FIXME("CM_Merge_Range_List(%p %p %p %lx)\n",
6005 rlhOld1, rlhOld2, rlhNew, ulFlags);
6006
6008}

◆ CM_Modify_Res_Des()

CMAPI CONFIGRET WINAPI CM_Modify_Res_Des ( _Out_ PRES_DES  prdResDes,
_In_ RES_DES  rdResDes,
_In_ RESOURCEID  ResourceID,
_In_reads_bytes_(ResourceLen) PCVOID  ResourceData,
_In_ ULONG  ResourceLen,
_In_ ULONG  ulFlags 
)

Definition at line 6016 of file cfgmgr.c.

6023{
6024 TRACE("CM_Modify_Res_Des(%p %p %lx %p %lu %lx)\n",
6025 prdResDes, rdResDes, ResourceID, ResourceData,
6026 ResourceLen, ulFlags);
6027
6028 return CM_Modify_Res_Des_Ex(prdResDes, rdResDes, ResourceID, ResourceData,
6029 ResourceLen, ulFlags, NULL);
6030}
CONFIGRET WINAPI CM_Modify_Res_Des_Ex(_Out_ PRES_DES prdResDes, _In_ RES_DES rdResDes, _In_ RESOURCEID ResourceID, _In_reads_bytes_(ResourceLen) PCVOID ResourceData, _In_ ULONG ResourceLen, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:6038

◆ CM_Modify_Res_Des_Ex()

CMAPI CONFIGRET WINAPI CM_Modify_Res_Des_Ex ( _Out_ PRES_DES  prdResDes,
_In_ RES_DES  rdResDes,
_In_ RESOURCEID  ResourceID,
_In_reads_bytes_(ResourceLen) PCVOID  ResourceData,
_In_ ULONG  ResourceLen,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 6038 of file cfgmgr.c.

6046{
6047 FIXME("CM_Modify_Res_Des_Ex(%p %p %lx %p %lu %lx %p)\n",
6048 prdResDes, rdResDes, ResourceID, ResourceData,
6049 ResourceLen, ulFlags, hMachine);
6050
6052}

Referenced by CM_Modify_Res_Des().

◆ CM_Move_DevNode()

CMAPI CONFIGRET WINAPI CM_Move_DevNode ( _In_ DEVINST  dnFromDevInst,
_In_ DEVINST  dnToDevInst,
_In_ ULONG  ulFlags 
)

Definition at line 6060 of file cfgmgr.c.

6064{
6065 TRACE("CM_Move_DevNode(%lx %lx %lx)\n",
6066 dnFromDevInst, dnToDevInst, ulFlags);
6067
6068 return CM_Move_DevNode_Ex(dnFromDevInst, dnToDevInst, ulFlags, NULL);
6069}
CONFIGRET WINAPI CM_Move_DevNode_Ex(_In_ DEVINST dnFromDevInst, _In_ DEVINST dnToDevInst, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:6077

◆ CM_Move_DevNode_Ex()

CMAPI CONFIGRET WINAPI CM_Move_DevNode_Ex ( _In_ DEVINST  dnFromDevInst,
_In_ DEVINST  dnToDevInst,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 6077 of file cfgmgr.c.

6082{
6084 HSTRING_TABLE StringTable = NULL;
6085 LPWSTR lpFromDevInst;
6086 LPWSTR lpToDevInst;
6087 CONFIGRET ret;
6088
6089 FIXME("CM_Move_DevNode_Ex(%lx %lx %lx %p)\n",
6090 dnFromDevInst, dnToDevInst, ulFlags, hMachine);
6091
6092 if (!pSetupIsUserAdmin())
6093 return CR_ACCESS_DENIED;
6094
6095 if (dnFromDevInst == 0 || dnToDevInst == 0)
6096 return CR_INVALID_DEVNODE;
6097
6098 if (ulFlags != 0)
6099 return CR_INVALID_FLAG;
6100
6101 if (hMachine != NULL)
6102 {
6103 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
6104 if (BindingHandle == NULL)
6105 return CR_FAILURE;
6106
6107 StringTable = ((PMACHINE_INFO)hMachine)->StringTable;
6108 if (StringTable == 0)
6109 return CR_FAILURE;
6110 }
6111 else
6112 {
6113 if (!PnpGetLocalHandles(&BindingHandle, &StringTable))
6114 return CR_FAILURE;
6115 }
6116
6117 lpFromDevInst = pSetupStringTableStringFromId(StringTable, dnFromDevInst);
6118 if (lpFromDevInst == NULL)
6119 return CR_INVALID_DEVNODE;
6120
6121 lpToDevInst = pSetupStringTableStringFromId(StringTable, dnToDevInst);
6122 if (lpToDevInst == NULL)
6123 return CR_INVALID_DEVNODE;
6124
6126 {
6128 PNP_DEVINST_MOVE,
6129 ulFlags,
6130 lpFromDevInst,
6131 lpToDevInst);
6132 }
6134 {
6136 }
6138
6139 return ret;
6140}

Referenced by CM_Move_DevNode().

◆ CM_Next_Range()

CMAPI CONFIGRET WINAPI CM_Next_Range ( _Inout_ PRANGE_ELEMENT  preElement,
_Out_ PDWORDLONG  pullStart,
_Out_ PDWORDLONG  pullEnd,
_In_ ULONG  ulFlags 
)

Definition at line 6148 of file cfgmgr.c.

6153{
6154 PINTERNAL_RANGE_LIST pRangeList;
6155 PINTERNAL_RANGE pRange;
6156 PLIST_ENTRY ListEntry;
6158
6159 FIXME("CM_Next_Range(%p %p %p %lx)\n",
6160 preElement, pullStart, pullEnd, ulFlags);
6161
6162 pRange = (PINTERNAL_RANGE)preElement;
6163
6164 if (pRange == NULL || pRange->pRangeList == NULL)
6165 return CR_FAILURE;
6166
6167 if (pullStart == NULL || pullEnd == NULL)
6168 return CR_INVALID_POINTER;
6169
6170 if (ulFlags != 0)
6171 return CR_INVALID_FLAG;
6172
6173 pRangeList = pRange->pRangeList;
6174
6175 /* Lock the range list */
6176 WaitForSingleObject(pRangeList->hMutex, INFINITE);
6177
6178 /* Fail, if we reached the end of the list */
6179 if (pRange->ListEntry.Flink == &pRangeList->ListHead)
6180 {
6181 ret = CR_FAILURE;
6182 goto done;
6183 }
6184
6185 /* Get the next range */
6186 ListEntry = pRangeList->ListHead.Flink;
6187 pRange = CONTAINING_RECORD(ListEntry, INTERNAL_RANGE, ListEntry);
6188
6189 /* Return the range data */
6190 *pullStart = pRange->ullStart;
6191 *pullEnd = pRange->ullEnd;
6192 *preElement = (RANGE_ELEMENT)pRange;
6193
6194done:
6195 /* Unlock the range list */
6196 ReleaseMutex(pRangeList->hMutex);
6197
6198 return ret;
6199}
struct _INTERNAL_RANGE * PINTERNAL_RANGE

◆ CM_Open_Class_Key_ExA()

CMAPI CONFIGRET WINAPI CM_Open_Class_Key_ExA ( _In_opt_ LPGUID  pszClassGuid,
_In_opt_ LPCSTR  pszClassName,
_In_ REGSAM  samDesired,
_In_ REGDISPOSITION  Disposition,
_Out_ PHKEY  phkClass,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 6251 of file cfgmgr.c.

6259{
6260 LPWSTR pszClassNameW = NULL;
6261 CONFIGRET ret;
6262
6263 TRACE("CM_Open_Class_Key_ExA(%p %s %lx %lx %p %lx %p)\n",
6264 debugstr_guid(pClassGuid), debugstr_a(pszClassName),
6265 samDesired, Disposition, phkClass, ulFlags, hMachine);
6266
6267 if (pszClassName != NULL)
6268 {
6269 if (pSetupCaptureAndConvertAnsiArg(pszClassName, &pszClassNameW))
6270 return CR_INVALID_DATA;
6271 }
6272
6273 ret = CM_Open_Class_Key_ExW(pClassGuid, pszClassNameW, samDesired,
6274 Disposition, phkClass, ulFlags, hMachine);
6275
6276 if (pszClassNameW != NULL)
6277 MyFree(pszClassNameW);
6278
6279 return ret;
6280}
CONFIGRET WINAPI CM_Open_Class_Key_ExW(_In_opt_ LPGUID pClassGuid, _In_opt_ LPCWSTR pszClassName, _In_ REGSAM samDesired, _In_ REGDISPOSITION Disposition, _Out_ PHKEY phkClass, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:6288
_In_ ACCESS_MASK _In_ POBJECT_ATTRIBUTES _Reserved_ ULONG _In_opt_ PUNICODE_STRING _In_ ULONG _Out_opt_ PULONG Disposition
Definition: cmfuncs.h:56

Referenced by CM_Open_Class_KeyA().

◆ CM_Open_Class_Key_ExW()

CMAPI CONFIGRET WINAPI CM_Open_Class_Key_ExW ( _In_opt_ LPGUID  pszClassGuid,
_In_opt_ LPCWSTR  pszClassName,
_In_ REGSAM  samDesired,
_In_ REGDISPOSITION  Disposition,
_Out_ PHKEY  phkClass,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 6288 of file cfgmgr.c.

6296{
6297 WCHAR szKeyName[MAX_PATH];
6298 LPWSTR lpGuidString;
6299 DWORD dwDisposition;
6300 DWORD dwError;
6301 HKEY hKey;
6302
6303 TRACE("CM_Open_Class_Key_ExW(%p %s %lx %lx %p %lx %p)\n",
6304 debugstr_guid(pClassGuid), debugstr_w(pszClassName),
6305 samDesired, Disposition, phkClass, ulFlags, hMachine);
6306
6307 /* Check Disposition and ulFlags */
6309 (ulFlags & ~CM_OPEN_CLASS_KEY_BITS))
6310 return CR_INVALID_FLAG;
6311
6312 /* Check phkClass */
6313 if (phkClass == NULL)
6314 return CR_INVALID_POINTER;
6315
6316 *phkClass = NULL;
6317
6318 if (ulFlags == CM_OPEN_CLASS_KEY_INTERFACE &&
6319 pszClassName != NULL)
6320 return CR_INVALID_DATA;
6321
6322 if (hMachine == NULL)
6323 {
6325 }
6326 else
6327 {
6328 if (RegConnectRegistryW(((PMACHINE_INFO)hMachine)->szMachineName,
6330 &hKey))
6331 return CR_REGISTRY_ERROR;
6332 }
6333
6334 if (ulFlags & CM_OPEN_CLASS_KEY_INTERFACE)
6335 {
6336 lstrcpyW(szKeyName, DeviceClasses);
6337 }
6338 else
6339 {
6340 lstrcpyW(szKeyName, ControlClass);
6341 }
6342
6343 if (pClassGuid != NULL)
6344 {
6345 if (UuidToStringW((UUID*)pClassGuid, &lpGuidString) != RPC_S_OK)
6346 {
6348 return CR_INVALID_DATA;
6349 }
6350
6351 lstrcatW(szKeyName, BackslashOpenBrace);
6352 lstrcatW(szKeyName, lpGuidString);
6353 lstrcatW(szKeyName, CloseBrace);
6354 }
6355
6357 {
6358 dwError = RegCreateKeyExW(hKey, szKeyName, 0, NULL, 0, samDesired,
6359 NULL, phkClass, &dwDisposition);
6360 }
6361 else
6362 {
6363 dwError = RegOpenKeyExW(hKey, szKeyName, 0, samDesired, phkClass);
6364 }
6365
6367
6368 if (pClassGuid != NULL)
6369 RpcStringFreeW(&lpGuidString);
6370
6371 if (dwError != ERROR_SUCCESS)
6372 {
6373 *phkClass = NULL;
6375 }
6376
6377 if (pszClassName != NULL)
6378 {
6379 RegSetValueExW(*phkClass, Class, 0, REG_SZ, (LPBYTE)pszClassName,
6380 (lstrlenW(pszClassName) + 1) * sizeof(WCHAR));
6381 }
6382
6383 return CR_SUCCESS;
6384}
#define RegCloseKey(hKey)
Definition: registry.h:49
#define CM_OPEN_CLASS_KEY_INTERFACE
Definition: cfgmgr32.h:773
#define RegDisposition_Bits
Definition: cfgmgr32.h:611
#define CM_OPEN_CLASS_KEY_BITS
Definition: cfgmgr32.h:774
#define RegDisposition_OpenAlways
Definition: cfgmgr32.h:609
#define CR_NO_SUCH_REGISTRY_KEY
Definition: cfgmgr32.h:892
#define CR_REGISTRY_ERROR
Definition: cfgmgr32.h:875
static const WCHAR ControlClass[]
Definition: cfgmgr.c:44
static const WCHAR BackslashOpenBrace[]
Definition: cfgmgr.c:40
static const WCHAR DeviceClasses[]
Definition: cfgmgr.c:49
static const WCHAR CloseBrace[]
Definition: cfgmgr.c:41
#define ERROR_SUCCESS
Definition: deptool.c:10
LONG WINAPI RegCreateKeyExW(_In_ HKEY hKey, _In_ LPCWSTR lpSubKey, _In_ DWORD Reserved, _In_opt_ LPWSTR lpClass, _In_ DWORD dwOptions, _In_ REGSAM samDesired, _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes, _Out_ PHKEY phkResult, _Out_opt_ LPDWORD lpdwDisposition)
Definition: reg.c:1096
LONG WINAPI RegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult)
Definition: reg.c:3362
LONG WINAPI RegSetValueExW(_In_ HKEY hKey, _In_ LPCWSTR lpValueName, _In_ DWORD Reserved, _In_ DWORD dwType, _In_ CONST BYTE *lpData, _In_ DWORD cbData)
Definition: reg.c:4911
LONG WINAPI RegConnectRegistryW(LPCWSTR lpMachineName, HKEY hKey, PHKEY phkResult)
Definition: reg.c:874
#define MAX_PATH
Definition: compat.h:34
FxAutoRegKey hKey
LPWSTR WINAPI lstrcatW(LPWSTR lpString1, LPCWSTR lpString2)
Definition: lstring.c:274
RPC_STATUS WINAPI UuidToStringW(UUID *Uuid, RPC_WSTR *StringUuid)
Definition: rpcrt4_main.c:540
RPC_STATUS WINAPI RpcStringFreeW(RPC_WSTR *String)
Definition: rpcrt4_main.c:175
#define HKEY_LOCAL_MACHINE
Definition: winreg.h:12

Referenced by CM_Open_Class_Key_ExA(), CM_Open_Class_KeyW(), and SetupDiBuildClassInfoListExW().

◆ CM_Open_Class_KeyA()

CMAPI CONFIGRET WINAPI CM_Open_Class_KeyA ( _In_opt_ LPGUID  ClassGuid,
_In_opt_ LPCSTR  pszClassName,
_In_ REGSAM  samDesired,
_In_ REGDISPOSITION  Disposition,
_Out_ PHKEY  phkClass,
_In_ ULONG  ulFlags 
)

Definition at line 6207 of file cfgmgr.c.

6214{
6215 TRACE("CM_Open_Class_KeyA(%p %s %lx %lx %p %lx)\n",
6216 debugstr_guid(pClassGuid), debugstr_a(pszClassName),
6217 samDesired, Disposition, phkClass, ulFlags);
6218
6219 return CM_Open_Class_Key_ExA(pClassGuid, pszClassName, samDesired,
6220 Disposition, phkClass, ulFlags, NULL);
6221}
CONFIGRET WINAPI CM_Open_Class_Key_ExA(_In_opt_ LPGUID pClassGuid, _In_opt_ LPCSTR pszClassName, _In_ REGSAM samDesired, _In_ REGDISPOSITION Disposition, _Out_ PHKEY phkClass, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:6251

◆ CM_Open_Class_KeyW()

CMAPI CONFIGRET WINAPI CM_Open_Class_KeyW ( _In_opt_ LPGUID  ClassGuid,
_In_opt_ LPCWSTR  pszClassName,
_In_ REGSAM  samDesired,
_In_ REGDISPOSITION  Disposition,
_Out_ PHKEY  phkClass,
_In_ ULONG  ulFlags 
)

Definition at line 6229 of file cfgmgr.c.

6236{
6237 TRACE("CM_Open_Class_KeyW(%p %s %lx %lx %p %lx)\n",
6238 debugstr_guid(pClassGuid), debugstr_w(pszClassName),
6239 samDesired, Disposition, phkClass, ulFlags);
6240
6241 return CM_Open_Class_Key_ExW(pClassGuid, pszClassName, samDesired,
6242 Disposition, phkClass, ulFlags, NULL);
6243}

◆ CM_Open_Device_Interface_Key_ExA()

CMAPI CONFIGRET WINAPI CM_Open_Device_Interface_Key_ExA ( _In_ LPCSTR  pszDeviceInterface,
_In_ REGSAM  samDesired,
_In_ REGDISPOSITION  Disposition,
_Out_ PHKEY  phkDeviceInterface,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

◆ CM_Open_Device_Interface_Key_ExW()

CMAPI CONFIGRET WINAPI CM_Open_Device_Interface_Key_ExW ( _In_ LPCWSTR  pszDeviceInterface,
_In_ REGSAM  samDesired,
_In_ REGDISPOSITION  Disposition,
_Out_ PHKEY  phkDeviceInterface,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

◆ CM_Open_Device_Interface_KeyA()

CMAPI CONFIGRET WINAPI CM_Open_Device_Interface_KeyA ( _In_ LPCSTR  pszDeviceInterface,
_In_ REGSAM  samDesired,
_In_ REGDISPOSITION  Disposition,
_Out_ PHKEY  phkDeviceInterface,
_In_ ULONG  ulFlags 
)

◆ CM_Open_Device_Interface_KeyW()

CMAPI CONFIGRET WINAPI CM_Open_Device_Interface_KeyW ( _In_ LPCWSTR  pszDeviceInterface,
_In_ REGSAM  samDesired,
_In_ REGDISPOSITION  Disposition,
_Out_ PHKEY  phkDeviceInterface,
_In_ ULONG  ulFlags 
)

◆ CM_Open_DevNode_Key()

CMAPI CONFIGRET WINAPI CM_Open_DevNode_Key ( _In_ DEVINST  dnDevNode,
_In_ REGSAM  samDesired,
_In_ ULONG  ulHardwareProfile,
_In_ REGDISPOSITION  Disposition,
_Out_ PHKEY  phkDevice,
_In_ ULONG  ulFlags 
)

Definition at line 6392 of file cfgmgr.c.

6399{
6400 TRACE("CM_Open_DevNode_Key(%lx %lx %lu %lx %p %lx)\n",
6401 dnDevNode, samDesired, ulHardwareProfile, Disposition, phkDevice, ulFlags);
6402
6403 return CM_Open_DevNode_Key_Ex(dnDevNode, samDesired, ulHardwareProfile,
6404 Disposition, phkDevice, ulFlags, NULL);
6405}
CONFIGRET WINAPI CM_Open_DevNode_Key_Ex(_In_ DEVINST dnDevNode, _In_ REGSAM samDesired, _In_ ULONG ulHardwareProfile, _In_ REGDISPOSITION Disposition, _Out_ PHKEY phkDevice, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:6413

◆ CM_Open_DevNode_Key_Ex()

CMAPI CONFIGRET WINAPI CM_Open_DevNode_Key_Ex ( _In_ DEVINST  dnDevNode,
_In_ REGSAM  samDesired,
_In_ ULONG  ulHardwareProfile,
_In_ REGDISPOSITION  Disposition,
_Out_ PHKEY  phkDevice,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 6413 of file cfgmgr.c.

6421{
6423 HSTRING_TABLE StringTable = NULL;
6424 LPWSTR pszDevInst, pszKeyPath = NULL, pszInstancePath = NULL;
6425 LONG lError;
6426 DWORD dwDisposition;
6427 HKEY hRootKey = NULL;
6429
6430 TRACE("CM_Open_DevNode_Key_Ex(%lx %lx %lu %lx %p %lx %p)\n",
6431 dnDevNode, samDesired, ulHardwareProfile, Disposition, phkDevice, ulFlags, hMachine);
6432
6433 if (phkDevice == NULL)
6434 return CR_INVALID_POINTER;
6435
6436 *phkDevice = NULL;
6437
6438 if (dnDevNode == 0)
6439 return CR_INVALID_DEVNODE;
6440
6441 if (ulFlags & ~CM_REGISTRY_BITS)
6442 return CR_INVALID_FLAG;
6443
6445 return CR_INVALID_DATA;
6446
6447 if (hMachine != NULL)
6448 {
6449 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
6450 if (BindingHandle == NULL)
6451 return CR_FAILURE;
6452
6453 StringTable = ((PMACHINE_INFO)hMachine)->StringTable;
6454 if (StringTable == 0)
6455 return CR_FAILURE;
6456 }
6457 else
6458 {
6459 if (!PnpGetLocalHandles(&BindingHandle, &StringTable))
6460 return CR_FAILURE;
6461 }
6462
6463 pszDevInst = pSetupStringTableStringFromId(StringTable, dnDevNode);
6464 if (pszDevInst == NULL)
6465 return CR_INVALID_DEVNODE;
6466
6467 TRACE("pszDevInst: %S\n", pszDevInst);
6468
6469 pszKeyPath = MyMalloc(512 * sizeof(WCHAR));
6470 if (pszKeyPath == NULL)
6471 {
6473 goto done;
6474 }
6475
6476 pszInstancePath = MyMalloc(512 * sizeof(WCHAR));
6477 if (pszInstancePath == NULL)
6478 {
6480 goto done;
6481 }
6482
6484 pszDevInst,
6485 pszKeyPath,
6486 pszInstancePath,
6487 ulHardwareProfile,
6488 ulFlags);
6489 if (ret != CR_SUCCESS)
6490 goto done;
6491
6492 TRACE("pszKeyPath: %S\n", pszKeyPath);
6493 TRACE("pszInstancePath: %S\n", pszInstancePath);
6494
6495 wcscat(pszKeyPath, L"\\");
6496 wcscat(pszKeyPath, pszInstancePath);
6497
6498 TRACE("pszKeyPath: %S\n", pszKeyPath);
6499
6500 if (hMachine == NULL)
6501 {
6502 hRootKey = HKEY_LOCAL_MACHINE;
6503 }
6504 else
6505 {
6506 if (RegConnectRegistryW(((PMACHINE_INFO)hMachine)->szMachineName,
6508 &hRootKey))
6509 {
6511 goto done;
6512 }
6513 }
6514
6516 {
6517 lError = RegCreateKeyExW(hRootKey,
6518 pszKeyPath,
6519 0,
6520 NULL,
6521 0,
6522 samDesired,
6523 NULL,
6524 phkDevice,
6525 &dwDisposition);
6526 }
6527 else
6528 {
6529 lError = RegOpenKeyExW(hRootKey,
6530 pszKeyPath,
6531 0,
6532 samDesired,
6533 phkDevice);
6534 }
6535
6536 if (lError != ERROR_SUCCESS)
6537 {
6538 *phkDevice = NULL;
6540 }
6541
6542done:
6543 if ((hRootKey != NULL) && (hRootKey != HKEY_LOCAL_MACHINE))
6544 RegCloseKey(hRootKey);
6545
6546 if (pszInstancePath != NULL)
6547 MyFree(pszInstancePath);
6548
6549 if (pszKeyPath != NULL)
6550 MyFree(pszKeyPath);
6551
6552 return ret;
6553}
long LONG
Definition: pedump.c:60
_CRTIMP wchar_t *__cdecl wcscat(_Inout_updates_z_(_String_length_(_Dest)+_String_length_(_Source)+1) wchar_t *_Dest, _In_z_ const wchar_t *_Source)

Referenced by CM_Open_DevNode_Key().

◆ CM_Query_And_Remove_SubTree_ExA()

CMAPI CONFIGRET WINAPI CM_Query_And_Remove_SubTree_ExA ( _In_ DEVINST  dnAncestor,
_Out_opt_ PPNP_VETO_TYPE  pVetoType,
_Out_writes_opt_(ulNameLength) LPSTR  pszVetoName,
_In_ ULONG  ulNameLength,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 6601 of file cfgmgr.c.

6608{
6609 LPWSTR lpLocalVetoName;
6610 CONFIGRET ret;
6611
6612 TRACE("CM_Query_And_Remove_SubTree_ExA(%lx %p %p %lu %lx %p)\n",
6613 dnAncestor, pVetoType, pszVetoName, ulNameLength,
6614 ulFlags, hMachine);
6615
6616 if (pszVetoName == NULL && ulNameLength == 0)
6617 return CR_INVALID_POINTER;
6618
6619 lpLocalVetoName = HeapAlloc(GetProcessHeap(), 0, ulNameLength * sizeof(WCHAR));
6620 if (lpLocalVetoName == NULL)
6621 return CR_OUT_OF_MEMORY;
6622
6623 ret = CM_Query_And_Remove_SubTree_ExW(dnAncestor, pVetoType, lpLocalVetoName,
6624 ulNameLength, ulFlags, hMachine);
6625 if (ret == CR_REMOVE_VETOED)
6626 {
6628 0,
6629 lpLocalVetoName,
6630 ulNameLength,
6631 pszVetoName,
6632 ulNameLength,
6633 NULL,
6634 NULL) == 0)
6635 ret = CR_FAILURE;
6636 }
6637
6638 HeapFree(GetProcessHeap(), 0, lpLocalVetoName);
6639
6640 return ret;
6641}
#define CR_REMOVE_VETOED
Definition: cfgmgr32.h:869
CONFIGRET WINAPI CM_Query_And_Remove_SubTree_ExW(_In_ DEVINST dnAncestor, _Out_opt_ PPNP_VETO_TYPE pVetoType, _Out_writes_opt_(ulNameLength) LPWSTR pszVetoName, _In_ ULONG ulNameLength, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:6649

Referenced by CM_Query_And_Remove_SubTreeA().

◆ CM_Query_And_Remove_SubTree_ExW()

CMAPI CONFIGRET WINAPI CM_Query_And_Remove_SubTree_ExW ( _In_ DEVINST  dnAncestor,
_Out_opt_ PPNP_VETO_TYPE  pVetoType,
_Out_writes_opt_(ulNameLength) LPWSTR  pszVetoName,
_In_ ULONG  ulNameLength,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 6649 of file cfgmgr.c.

6656{
6658 HSTRING_TABLE StringTable = NULL;
6659 LPWSTR lpDevInst;
6660 CONFIGRET ret;
6661
6662 TRACE("CM_Query_And_Remove_SubTree_ExW(%lx %p %p %lu %lx %p)\n",
6663 dnAncestor, pVetoType, pszVetoName, ulNameLength,
6664 ulFlags, hMachine);
6665
6666 if (dnAncestor == 0)
6667 return CR_INVALID_DEVNODE;
6668
6669 if (ulFlags & ~CM_REMOVE_BITS)
6670 return CR_INVALID_FLAG;
6671
6672 if (pszVetoName == NULL && ulNameLength == 0)
6673 return CR_INVALID_POINTER;
6674
6675 if (hMachine != NULL)
6676 {
6677 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
6678 if (BindingHandle == NULL)
6679 return CR_FAILURE;
6680
6681 StringTable = ((PMACHINE_INFO)hMachine)->StringTable;
6682 if (StringTable == 0)
6683 return CR_FAILURE;
6684 }
6685 else
6686 {
6687 if (!PnpGetLocalHandles(&BindingHandle, &StringTable))
6688 return CR_FAILURE;
6689 }
6690
6691 lpDevInst = pSetupStringTableStringFromId(StringTable, dnAncestor);
6692 if (lpDevInst == NULL)
6693 return CR_INVALID_DEVNODE;
6694
6696 {
6698 lpDevInst,
6699 pVetoType,
6700 pszVetoName,
6701 ulNameLength,
6702 ulFlags);
6703 }
6705 {
6707 }
6709
6710 return ret;
6711}
DWORD WINAPI PNP_QueryRemove(handle_t hBinding, LPWSTR pszDeviceID, PPNP_VETO_TYPE pVetoType, LPWSTR pszVetoName, DWORD ulNameLength, DWORD ulFlags)
Definition: rpcserver.c:3757
#define CM_REMOVE_BITS
Definition: cfgmgr32.h:780

Referenced by CM_Query_And_Remove_SubTree_ExA(), and CM_Query_And_Remove_SubTreeW().

◆ CM_Query_And_Remove_SubTreeA()

CMAPI CONFIGRET WINAPI CM_Query_And_Remove_SubTreeA ( _In_ DEVINST  dnAncestor,
_Out_opt_ PPNP_VETO_TYPE  pVetoType,
_Out_writes_opt_(ulNameLength) LPSTR  pszVetoName,
_In_ ULONG  ulNameLength,
_In_ ULONG  ulFlags 
)

Definition at line 6561 of file cfgmgr.c.

6567{
6568 TRACE("CM_Query_And_Remove_SubTreeA(%lx %p %p %lu %lx)\n",
6569 dnAncestor, pVetoType, pszVetoName, ulNameLength, ulFlags);
6570
6571 return CM_Query_And_Remove_SubTree_ExA(dnAncestor, pVetoType, pszVetoName,
6572 ulNameLength, ulFlags, NULL);
6573}
CONFIGRET WINAPI CM_Query_And_Remove_SubTree_ExA(_In_ DEVINST dnAncestor, _Out_opt_ PPNP_VETO_TYPE pVetoType, _Out_writes_opt_(ulNameLength) LPSTR pszVetoName, _In_ ULONG ulNameLength, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:6601

◆ CM_Query_And_Remove_SubTreeW()

CMAPI CONFIGRET WINAPI CM_Query_And_Remove_SubTreeW ( _In_ DEVINST  dnAncestor,
_Out_opt_ PPNP_VETO_TYPE  pVetoType,
_Out_writes_opt_(ulNameLength) LPWSTR  pszVetoName,
_In_ ULONG  ulNameLength,
_In_ ULONG  ulFlags 
)

Definition at line 6581 of file cfgmgr.c.

6587{
6588 TRACE("CM_Query_And_Remove_SubTreeW(%lx %p %p %lu %lx)\n",
6589 dnAncestor, pVetoType, pszVetoName, ulNameLength, ulFlags);
6590
6591 return CM_Query_And_Remove_SubTree_ExW(dnAncestor, pVetoType, pszVetoName,
6592 ulNameLength, ulFlags, NULL);
6593}

◆ CM_Query_Arbitrator_Free_Data()

CMAPI CONFIGRET WINAPI CM_Query_Arbitrator_Free_Data ( _Out_writes_bytes_(DataLen) PVOID  pData,
_In_ ULONG  DataLen,
_In_ DEVINST  dnDevInst,
_In_ RESOURCEID  ResourceID,
_In_ ULONG  ulFlags 
)

Definition at line 6719 of file cfgmgr.c.

6725{
6726 TRACE("CM_Query_Arbitrator_Free_Data(%p %lu %lx %lu 0x%08lx)\n",
6727 pData, DataLen, dnDevInst, ResourceID, ulFlags);
6728
6729 return CM_Query_Arbitrator_Free_Data_Ex(pData, DataLen, dnDevInst,
6730 ResourceID, ulFlags, NULL);
6731}
CONFIGRET WINAPI CM_Query_Arbitrator_Free_Data_Ex(_Out_writes_bytes_(DataLen) PVOID pData, _In_ ULONG DataLen, _In_ DEVINST dnDevInst, _In_ RESOURCEID ResourceID, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:6739
TW_UINT32 TW_UINT16 TW_UINT16 TW_MEMREF pData
Definition: twain.h:1830

◆ CM_Query_Arbitrator_Free_Data_Ex()

CMAPI CONFIGRET WINAPI CM_Query_Arbitrator_Free_Data_Ex ( _Out_writes_bytes_(DataLen) PVOID  pData,
_In_ ULONG  DataLen,
_In_ DEVINST  dnDevInst,
_In_ RESOURCEID  ResourceID,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 6739 of file cfgmgr.c.

6746{
6748 HSTRING_TABLE StringTable = NULL;
6749 LPWSTR lpDevInst;
6750 CONFIGRET ret;
6751
6752 TRACE("CM_Query_Arbitrator_Free_Data_Ex(%p %lu %lx %lu 0x%08lx %p)\n",
6753 pData, DataLen, dnDevInst, ResourceID, ulFlags, hMachine);
6754
6755 if (pData == NULL || DataLen == 0)
6756 return CR_INVALID_POINTER;
6757
6758 if (dnDevInst == 0)
6759 return CR_INVALID_DEVINST;
6760
6761 if (ulFlags & ~CM_QUERY_ARBITRATOR_BITS)
6762 return CR_INVALID_FLAG;
6763
6764 if (hMachine != NULL)
6765 {
6766 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
6767 if (BindingHandle == NULL)
6768 return CR_FAILURE;
6769
6770 StringTable = ((PMACHINE_INFO)hMachine)->StringTable;
6771 if (StringTable == 0)
6772 return CR_FAILURE;
6773 }
6774 else
6775 {
6776 if (!PnpGetLocalHandles(&BindingHandle, &StringTable))
6777 return CR_FAILURE;
6778 }
6779
6780 lpDevInst = pSetupStringTableStringFromId(StringTable, dnDevInst);
6781 if (lpDevInst == NULL)
6782 return CR_INVALID_DEVNODE;
6783
6785 {
6787 pData,
6788 DataLen,
6789 lpDevInst,
6790 ResourceID,
6791 ulFlags);
6792 }
6794 {
6796 }
6798
6799 return ret;
6800}
DWORD WINAPI PNP_QueryArbitratorFreeData(handle_t hBinding, BYTE *pData, DWORD DataLen, LPWSTR pDeviceID, RESOURCEID ResourceID, DWORD ulFlags)
Definition: rpcserver.c:4647
#define CM_QUERY_ARBITRATOR_BITS
Definition: cfgmgr32.h:832

Referenced by CM_Query_Arbitrator_Free_Data().

◆ CM_Query_Arbitrator_Free_Size()

CMAPI CONFIGRET WINAPI CM_Query_Arbitrator_Free_Size ( _Out_ PULONG  pulSize,
_In_ DEVINST  dnDevInst,
_In_ RESOURCEID  ResourceID,
_In_ ULONG  ulFlags 
)

Definition at line 6808 of file cfgmgr.c.

6813{
6814 TRACE("CM_Query_Arbitrator_Free_Size(%p %lu %lx 0x%08lx)\n",
6815 pulSize, dnDevInst,ResourceID, ulFlags);
6816
6817 return CM_Query_Arbitrator_Free_Size_Ex(pulSize, dnDevInst, ResourceID,
6818 ulFlags, NULL);
6819}
CONFIGRET WINAPI CM_Query_Arbitrator_Free_Size_Ex(_Out_ PULONG pulSize, _In_ DEVINST dnDevInst, _In_ RESOURCEID ResourceID, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:6827

◆ CM_Query_Arbitrator_Free_Size_Ex()

CMAPI CONFIGRET WINAPI CM_Query_Arbitrator_Free_Size_Ex ( _Out_ PULONG  pulSize,
_In_ DEVINST  dnDevInst,
_In_ RESOURCEID  ResourceID,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 6827 of file cfgmgr.c.

6833{
6835 HSTRING_TABLE StringTable = NULL;
6836 LPWSTR lpDevInst;
6837 CONFIGRET ret;
6838
6839 TRACE("CM_Query_Arbitrator_Free_Size_Ex(%p %lu %lx 0x%08lx %p)\n",
6840 pulSize, dnDevInst,ResourceID, ulFlags, hMachine);
6841
6842 if (pulSize == NULL)
6843 return CR_INVALID_POINTER;
6844
6845 if (dnDevInst == 0)
6846 return CR_INVALID_DEVINST;
6847
6848 if (ulFlags & ~CM_QUERY_ARBITRATOR_BITS)
6849 return CR_INVALID_FLAG;
6850
6851 if (hMachine != NULL)
6852 {
6853 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
6854 if (BindingHandle == NULL)
6855 return CR_FAILURE;
6856
6857 StringTable = ((PMACHINE_INFO)hMachine)->StringTable;
6858 if (StringTable == 0)
6859 return CR_FAILURE;
6860 }
6861 else
6862 {
6863 if (!PnpGetLocalHandles(&BindingHandle, &StringTable))
6864 return CR_FAILURE;
6865 }
6866
6867 lpDevInst = pSetupStringTableStringFromId(StringTable, dnDevInst);
6868 if (lpDevInst == NULL)
6869 return CR_INVALID_DEVNODE;
6870
6872 {
6874 pulSize,
6875 lpDevInst,
6876 ResourceID,
6877 ulFlags);
6878 }
6880 {
6882 }
6884
6885 return ret;
6886}
DWORD WINAPI PNP_QueryArbitratorFreeSize(handle_t hBinding, DWORD *pulSize, LPWSTR pDeviceID, RESOURCEID ResourceID, DWORD ulFlags)
Definition: rpcserver.c:4662

Referenced by CM_Query_Arbitrator_Free_Size().

◆ CM_Query_Remove_SubTree()

CMAPI CONFIGRET WINAPI CM_Query_Remove_SubTree ( _In_ DEVINST  dnAncestor,
_In_ ULONG  ulFlags 
)

Definition at line 6896 of file cfgmgr.c.

6899{
6900 TRACE("CM_Query_Remove_SubTree(%lx %lx)\n",
6901 dnAncestor, ulFlags);
6902
6904}

◆ CM_Query_Remove_SubTree_Ex()

CMAPI CONFIGRET WINAPI CM_Query_Remove_SubTree_Ex ( _In_ DEVINST  dnAncestor,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 6914 of file cfgmgr.c.

6918{
6919 TRACE("CM_Query_Remove_SubTree_Ex(%lx %lx %p)\n",
6920 dnAncestor, ulFlags, hMachine);
6921
6923}

◆ CM_Query_Resource_Conflict_List()

CMAPI CONFIGRET WINAPI CM_Query_Resource_Conflict_List ( _Out_ PCONFLICT_LIST  pclConflictList,
_In_ DEVINST  dnDevInst,
_In_ RESOURCEID  ResourceID,
_In_reads_bytes_(ResourceLen) PCVOID  ResourceData,
_In_ ULONG  ResourceLen,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

◆ CM_Reenumerate_DevNode()

CMAPI CONFIGRET WINAPI CM_Reenumerate_DevNode ( _In_ DEVINST  dnDevInst,
_In_ ULONG  ulFlags 
)

Definition at line 7049 of file cfgmgr.c.

7052{
7053 TRACE("CM_Reenumerate_DevNode(%lx %lx)\n",
7054 dnDevInst, ulFlags);
7055
7056 return CM_Reenumerate_DevNode_Ex(dnDevInst, ulFlags, NULL);
7057}
CONFIGRET WINAPI CM_Reenumerate_DevNode_Ex(_In_ DEVINST dnDevInst, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:7064

◆ CM_Reenumerate_DevNode_Ex()

CMAPI CONFIGRET WINAPI CM_Reenumerate_DevNode_Ex ( _In_ DEVINST  dnDevInst,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 7064 of file cfgmgr.c.

7068{
7070 HSTRING_TABLE StringTable = NULL;
7071 LPWSTR lpDevInst;
7072 CONFIGRET ret;
7073
7074 FIXME("CM_Reenumerate_DevNode_Ex(%lx %lx %p)\n",
7075 dnDevInst, ulFlags, hMachine);
7076
7077 if (dnDevInst == 0)
7078 return CR_INVALID_DEVNODE;
7079
7080 if (ulFlags & ~CM_REENUMERATE_BITS)
7081 return CR_INVALID_FLAG;
7082
7083 if (hMachine != NULL)
7084 {
7085 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
7086 if (BindingHandle == NULL)
7087 return CR_FAILURE;
7088
7089 StringTable = ((PMACHINE_INFO)hMachine)->StringTable;
7090 if (StringTable == 0)
7091 return CR_FAILURE;
7092 }
7093 else
7094 {
7095 if (!PnpGetLocalHandles(&BindingHandle, &StringTable))
7096 return CR_FAILURE;
7097 }
7098
7099 lpDevInst = pSetupStringTableStringFromId(StringTable, dnDevInst);
7100 if (lpDevInst == NULL)
7101 return CR_INVALID_DEVNODE;
7102
7104 {
7106 PNP_DEVINST_REENUMERATE,
7107 ulFlags,
7108 lpDevInst,
7109 NULL);
7110 }
7112 {
7114 }
7116
7117 return ret;
7118}
#define CM_REENUMERATE_BITS
Definition: cfgmgr32.h:793

Referenced by CM_Reenumerate_DevNode().

◆ CM_Register_Device_Driver()

CMAPI CONFIGRET WINAPI CM_Register_Device_Driver ( _In_ DEVINST  dnDevInst,
_In_ ULONG  ulFlags 
)

Definition at line 7126 of file cfgmgr.c.

7129{
7130 TRACE("CM_Register_Device_Driver(%lx 0x%08lx)\n",
7131 dnDevInst, ulFlags);
7132
7133 return CM_Register_Device_Driver_Ex(dnDevInst, ulFlags, NULL);
7134}
CONFIGRET WINAPI CM_Register_Device_Driver_Ex(_In_ DEVINST dnDevInst, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:7142

◆ CM_Register_Device_Driver_Ex()

CMAPI CONFIGRET WINAPI CM_Register_Device_Driver_Ex ( _In_ DEVINST  dnDevInst,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 7142 of file cfgmgr.c.

7146{
7148 HSTRING_TABLE StringTable = NULL;
7149 LPWSTR lpDevInst;
7150 CONFIGRET ret;
7151
7152 TRACE("CM_Register_Device_Driver_Ex(%lx 0x%08lx %p)\n",
7153 dnDevInst, ulFlags, hMachine);
7154
7155 if (dnDevInst == 0)
7156 return CR_INVALID_DEVNODE;
7157
7158 if (ulFlags & ~CM_REGISTER_DEVICE_DRIVER_BITS)
7159 return CR_INVALID_FLAG;
7160
7161 if (hMachine != NULL)
7162 {
7163 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
7164 if (BindingHandle == NULL)
7165 return CR_FAILURE;
7166
7167 StringTable = ((PMACHINE_INFO)hMachine)->StringTable;
7168 if (StringTable == 0)
7169 return CR_FAILURE;
7170 }
7171 else
7172 {
7173 if (!PnpGetLocalHandles(&BindingHandle, &StringTable))
7174 return CR_FAILURE;
7175 }
7176
7177 lpDevInst = pSetupStringTableStringFromId(StringTable, dnDevInst);
7178 if (lpDevInst == NULL)
7179 return CR_INVALID_DEVNODE;
7180
7182 {
7184 lpDevInst,
7185 ulFlags);
7186 }
7188 {
7190 }
7192
7193 return ret;
7194}
DWORD WINAPI PNP_RegisterDriver(handle_t hBinding, LPWSTR pszDeviceID, DWORD ulFlags)
Definition: rpcserver.c:3734
#define CM_REGISTER_DEVICE_DRIVER_BITS
Definition: cfgmgr32.h:798

Referenced by CM_Register_Device_Driver().

◆ CM_Register_Device_Interface_ExA()

CMAPI CONFIGRET WINAPI CM_Register_Device_Interface_ExA ( _In_ DEVINST  dnDevInst,
_In_ LPGUID  InterfaceClassGuid,
_In_opt_ LPCSTR  pszReference,
_Out_writes_ *pulLength LPSTR  pszDeviceInterface,
_Inout_ PULONG  pulLength,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 7248 of file cfgmgr.c.

7256{
7257 LPWSTR pszReferenceW = NULL;
7258 LPWSTR pszDeviceInterfaceW;
7259 ULONG ulLength;
7260 CONFIGRET ret;
7261
7262 TRACE("CM_Register_Device_Interface_ExA(%lx %s %s %p %p %lx %p)\n",
7263 dnDevInst, debugstr_guid(InterfaceClassGuid), debugstr_a(pszReference),
7264 pszDeviceInterface, pulLength, ulFlags, hMachine);
7265
7266 if (pulLength == NULL || pszDeviceInterface == NULL)
7267 return CR_INVALID_POINTER;
7268
7269 if (pszReference != NULL)
7270 {
7271 if (pSetupCaptureAndConvertAnsiArg(pszReference, &pszReferenceW))
7272 return CR_INVALID_DATA;
7273 }
7274
7275 ulLength = *pulLength;
7276
7277 pszDeviceInterfaceW = HeapAlloc(GetProcessHeap(), 0, ulLength * sizeof(WCHAR));
7278 if (pszDeviceInterfaceW == NULL)
7279 {
7281 goto Done;
7282 }
7283
7286 pszReferenceW,
7287 pszDeviceInterfaceW,
7288 &ulLength,
7289 ulFlags,
7290 hMachine);
7291 if (ret == CR_SUCCESS)
7292 {
7294 0,
7295 pszDeviceInterfaceW,
7296 ulLength,
7297 pszDeviceInterface,
7298 *pulLength,
7299 NULL,
7300 NULL) == 0)
7301 ret = CR_FAILURE;
7302 }
7303
7304 *pulLength = ulLength;
7305
7306Done:
7307 if (pszDeviceInterfaceW != NULL)
7308 HeapFree(GetProcessHeap(), 0, pszDeviceInterfaceW);
7309
7310 if (pszReferenceW != NULL)
7311 MyFree(pszReferenceW);
7312
7313 return ret;
7314}
CONFIGRET WINAPI CM_Register_Device_Interface_ExW(_In_ DEVINST dnDevInst, _In_ LPGUID InterfaceClassGuid, _In_opt_ LPCWSTR pszReference, _Out_writes_(*pulLength) LPWSTR pszDeviceInterface, _Inout_ PULONG pulLength, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:7322

Referenced by CM_Register_Device_InterfaceA().

◆ CM_Register_Device_Interface_ExW()

CMAPI CONFIGRET WINAPI CM_Register_Device_Interface_ExW ( _In_ DEVINST  dnDevInst,
_In_ LPGUID  InterfaceClassGuid,
_In_opt_ LPCWSTR  pszReference,
_Out_writes_ *pulLength LPWSTR  pszDeviceInterface,
_Inout_ PULONG  pulLength,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 7322 of file cfgmgr.c.

7330{
7332 HSTRING_TABLE StringTable = NULL;
7333 LPWSTR lpDevInst;
7334 ULONG ulTransferLength;
7335 CONFIGRET ret;
7336
7337 TRACE("CM_Register_Device_Interface_ExW(%lx %s %s %p %p %lx %p)\n",
7338 dnDevInst, debugstr_guid(InterfaceClassGuid), debugstr_w(pszReference),
7339 pszDeviceInterface, pulLength, ulFlags, hMachine);
7340
7341 if (dnDevInst == 0)
7342 return CR_INVALID_DEVNODE;
7343
7344 if (InterfaceClassGuid == NULL ||
7345 pszDeviceInterface == NULL ||
7346 pulLength == NULL)
7347 return CR_INVALID_POINTER;
7348
7349 if (ulFlags != 0)
7350 return CR_INVALID_FLAG;
7351
7352 if (hMachine != NULL)
7353 {
7354 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
7355 if (BindingHandle == NULL)
7356 return CR_FAILURE;
7357
7358 StringTable = ((PMACHINE_INFO)hMachine)->StringTable;
7359 if (StringTable == 0)
7360 return CR_FAILURE;
7361 }
7362 else
7363 {
7364 if (!PnpGetLocalHandles(&BindingHandle, &StringTable))
7365 return CR_FAILURE;
7366 }
7367
7368 lpDevInst = pSetupStringTableStringFromId(StringTable, dnDevInst);
7369 if (lpDevInst == NULL)
7370 return CR_INVALID_DEVNODE;
7371
7372 ulTransferLength = *pulLength;
7373
7375 {
7377 lpDevInst,
7379 (LPWSTR)pszReference,
7380 pszDeviceInterface,
7381 pulLength,
7382 &ulTransferLength,
7383 0);
7384 }
7386 {
7388 }
7390
7391 return ret;
7392}
DWORD WINAPI PNP_RegisterDeviceClassAssociation(handle_t hBinding, LPWSTR pszDeviceID, GUID *InterfaceGuid, LPWSTR pszReference, LPWSTR pszSymLink, PNP_RPC_STRING_LEN *pulLength, PNP_RPC_STRING_LEN *pulTransferLen, DWORD ulFlags)
Definition: rpcserver.c:2696

Referenced by CM_Register_Device_Interface_ExA(), and CM_Register_Device_InterfaceW().

◆ CM_Register_Device_InterfaceA()

CMAPI CONFIGRET WINAPI CM_Register_Device_InterfaceA ( _In_ DEVINST  dnDevInst,
_In_ LPGUID  InterfaceClassGuid,
_In_opt_ LPCSTR  pszReference,
_Out_writes_ *pulLength LPSTR  pszDeviceInterface,
_Inout_ PULONG  pulLength,
_In_ ULONG  ulFlags 
)

Definition at line 7202 of file cfgmgr.c.

7209{
7210 TRACE("CM_Register_Device_InterfaceA(%lx %s %s %p %p %lx)\n",
7212 pszReference, pszDeviceInterface, pulLength, ulFlags);
7213
7215 pszReference, pszDeviceInterface,
7216 pulLength, ulFlags, NULL);
7217}
CONFIGRET WINAPI CM_Register_Device_Interface_ExA(_In_ DEVINST dnDevInst, _In_ LPGUID InterfaceClassGuid, _In_opt_ LPCSTR pszReference, _Out_writes_(*pulLength) LPSTR pszDeviceInterface, _Inout_ PULONG pulLength, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:7248

◆ CM_Register_Device_InterfaceW()

CMAPI CONFIGRET WINAPI CM_Register_Device_InterfaceW ( _In_ DEVINST  dnDevInst,
_In_ LPGUID  InterfaceClassGuid,
_In_opt_ LPCWSTR  pszReference,
_Out_writes_ *pulLength LPWSTR  pszDeviceInterface,
_Inout_ PULONG  pulLength,
_In_ ULONG  ulFlags 
)

Definition at line 7225 of file cfgmgr.c.

7232{
7233 TRACE("CM_Register_Device_InterfaceW(%lx %s %s %p %p %lx)\n",
7235 debugstr_w(pszReference), pszDeviceInterface, pulLength, ulFlags);
7236
7238 pszReference, pszDeviceInterface,
7239 pulLength, ulFlags, NULL);
7240}

◆ CM_Remove_SubTree()

CMAPI CONFIGRET WINAPI CM_Remove_SubTree ( _In_ DEVINST  dnAncestor,
_In_ ULONG  ulFlags 
)

Definition at line 7402 of file cfgmgr.c.

7405{
7406 TRACE("CM_Remove_SubTree(%lx %lx)\n",
7407 dnAncestor, ulFlags);
7408
7410}

◆ CM_Remove_SubTree_Ex()

CMAPI CONFIGRET WINAPI CM_Remove_SubTree_Ex ( _In_ DEVINST  dnAncestor,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 7420 of file cfgmgr.c.

7424{
7425 TRACE("CM_Remove_SubTree_Ex(%lx %lx %p)\n",
7426 dnAncestor, ulFlags, hMachine);
7427
7429}

◆ CM_Request_Device_Eject_ExA()

CMAPI CONFIGRET WINAPI CM_Request_Device_Eject_ExA ( _In_ DEVINST  dnDevInst,
_Out_opt_ PPNP_VETO_TYPE  pVetoType,
_Out_writes_opt_(ulNameLength) LPSTR  pszVetoName,
_In_ ULONG  ulNameLength,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 7477 of file cfgmgr.c.

7484{
7485 LPWSTR lpLocalVetoName = NULL;
7486 CONFIGRET ret;
7487
7488 TRACE("CM_Request_Device_Eject_ExA(%lx %p %p %lu %lx %p)\n",
7489 dnDevInst, pVetoType, pszVetoName, ulNameLength, ulFlags, hMachine);
7490
7491 if (ulNameLength != 0)
7492 {
7493 if (pszVetoName == NULL)
7494 return CR_INVALID_POINTER;
7495
7496 lpLocalVetoName = HeapAlloc(GetProcessHeap(), 0, ulNameLength * sizeof(WCHAR));
7497 if (lpLocalVetoName == NULL)
7498 return CR_OUT_OF_MEMORY;
7499 }
7500
7501 ret = CM_Request_Device_Eject_ExW(dnDevInst, pVetoType, lpLocalVetoName,
7502 ulNameLength, ulFlags, hMachine);
7503 if (ret == CR_REMOVE_VETOED && ulNameLength != 0)
7504 {
7506 0,
7507 lpLocalVetoName,
7508 ulNameLength,
7509 pszVetoName,
7510 ulNameLength,
7511 NULL,
7512 NULL) == 0)
7513 ret = CR_FAILURE;
7514 }
7515
7516 HeapFree(GetProcessHeap(), 0, lpLocalVetoName);
7517
7518 return ret;
7519}
CONFIGRET WINAPI CM_Request_Device_Eject_ExW(_In_ DEVINST dnDevInst, _Out_opt_ PPNP_VETO_TYPE pVetoType, _Out_writes_opt_(ulNameLength) LPWSTR pszVetoName, _In_ ULONG ulNameLength, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:7527

Referenced by CM_Request_Device_EjectA().

◆ CM_Request_Device_Eject_ExW()

CMAPI CONFIGRET WINAPI CM_Request_Device_Eject_ExW ( _In_ DEVINST  dnDevInst,
_Out_opt_ PPNP_VETO_TYPE  pVetoType,
_Out_writes_opt_(ulNameLength) LPWSTR  pszVetoName,
_In_ ULONG  ulNameLength,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 7527 of file cfgmgr.c.

7534{
7536 HSTRING_TABLE StringTable = NULL;
7537 LPWSTR lpDevInst;
7538 CONFIGRET ret;
7539
7540 TRACE("CM_Request_Device_Eject_ExW(%lx %p %p %lu %lx %p)\n",
7541 dnDevInst, pVetoType, pszVetoName, ulNameLength, ulFlags, hMachine);
7542
7543 if (dnDevInst == 0)
7544 return CR_INVALID_DEVNODE;
7545
7546 if (ulFlags != 0)
7547 return CR_INVALID_FLAG;
7548
7549 if (pszVetoName == NULL && ulNameLength != 0)
7550 return CR_INVALID_POINTER;
7551
7552 /* Windows 2003 SP2 ignores pszVetoName when ulNameLength is zero
7553 * and behaves like when pszVetoName is NULL */
7554 if (ulNameLength == 0)
7555 pszVetoName = NULL;
7556
7557 if (hMachine != NULL)
7558 {
7559 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
7560 if (BindingHandle == NULL)
7561 return CR_FAILURE;
7562
7563 StringTable = ((PMACHINE_INFO)hMachine)->StringTable;
7564 if (StringTable == 0)
7565 return CR_FAILURE;
7566 }
7567 else
7568 {
7569 if (!PnpGetLocalHandles(&BindingHandle, &StringTable))
7570 return CR_FAILURE;
7571 }
7572
7573 lpDevInst = pSetupStringTableStringFromId(StringTable, dnDevInst);
7574 if (lpDevInst == NULL)
7575 return CR_INVALID_DEVNODE;
7576
7578 {
7580 lpDevInst,
7581 pVetoType,
7582 pszVetoName,
7583 ulNameLength,
7584 ulFlags);
7585 }
7587 {
7589 }
7591
7592 return ret;
7593}
DWORD WINAPI PNP_RequestDeviceEject(handle_t hBinding, LPWSTR pszDeviceID, PPNP_VETO_TYPE pVetoType, LPWSTR pszVetoName, DWORD ulNameLength, DWORD ulFlags)
Definition: rpcserver.c:3806

Referenced by CM_Request_Device_Eject_ExA(), and CM_Request_Device_EjectW().

◆ CM_Request_Device_EjectA()

CMAPI CONFIGRET WINAPI CM_Request_Device_EjectA ( _In_ DEVINST  dnDevInst,
_Out_opt_ PPNP_VETO_TYPE  pVetoType,
_Out_writes_opt_(ulNameLength) LPSTR  pszVetoName,
_In_ ULONG  ulNameLength,
_In_ ULONG  ulFlags 
)

Definition at line 7437 of file cfgmgr.c.

7443{
7444 TRACE("CM_Request_Device_EjectA(%lx %p %p %lu %lx)\n",
7445 dnDevInst, pVetoType, pszVetoName, ulNameLength, ulFlags);
7446
7447 return CM_Request_Device_Eject_ExA(dnDevInst, pVetoType, pszVetoName,
7448 ulNameLength, ulFlags, NULL);
7449}
CONFIGRET WINAPI CM_Request_Device_Eject_ExA(_In_ DEVINST dnDevInst, _Out_opt_ PPNP_VETO_TYPE pVetoType, _Out_writes_opt_(ulNameLength) LPSTR pszVetoName, _In_ ULONG ulNameLength, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:7477

◆ CM_Request_Device_EjectW()

CMAPI CONFIGRET WINAPI CM_Request_Device_EjectW ( _In_ DEVINST  dnDevInst,
_Out_opt_ PPNP_VETO_TYPE  pVetoType,
_Out_writes_opt_(ulNameLength) LPWSTR  pszVetoName,
_In_ ULONG  ulNameLength,
_In_ ULONG  ulFlags 
)

Definition at line 7457 of file cfgmgr.c.

7463{
7464 TRACE("CM_Request_Device_EjectW(%lx %p %p %lu %lx)\n",
7465 dnDevInst, pVetoType, pszVetoName, ulNameLength, ulFlags);
7466
7467 return CM_Request_Device_Eject_ExW(dnDevInst, pVetoType, pszVetoName,
7468 ulNameLength, ulFlags, NULL);
7469}

Referenced by SafeRemoveDevice().

◆ CM_Request_Eject_PC()

CMAPI CONFIGRET WINAPI CM_Request_Eject_PC ( VOID  )

Definition at line 7601 of file cfgmgr.c.

7602{
7603 TRACE("CM_Request_Eject_PC()\n");
7604
7606}
CONFIGRET WINAPI CM_Request_Eject_PC_Ex(_In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:7614

◆ CM_Request_Eject_PC_Ex()

CMAPI CONFIGRET WINAPI CM_Request_Eject_PC_Ex ( _In_opt_ HMACHINE  hMachine)

Definition at line 7614 of file cfgmgr.c.

7616{
7618 CONFIGRET ret;
7619
7620 TRACE("CM_Request_Eject_PC_Ex(%p)\n", hMachine);
7621
7622 if (hMachine != NULL)
7623 {
7624 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
7625 if (BindingHandle == NULL)
7626 return CR_FAILURE;
7627 }
7628 else
7629 {
7631 return CR_FAILURE;
7632 }
7633
7635 {
7637 }
7639 {
7641 }
7643
7644 return ret;
7645}
DWORD WINAPI PNP_RequestEjectPC(handle_t hBinding)
Definition: rpcserver.c:3910

Referenced by CM_Request_Eject_PC().

◆ CM_Restore_DefaultPowerScheme()

CONFIGRET CM_Restore_DefaultPowerScheme ( _In_ CONST GUID SchemeGuid,
_Out_ PDWORD  Error 
)

◆ CM_RestoreAll_DefaultPowerSchemes()

CONFIGRET CM_RestoreAll_DefaultPowerSchemes ( _Out_ PDWORD  Error)

◆ CM_Run_Detection()

CMAPI CONFIGRET WINAPI CM_Run_Detection ( _In_ ULONG  ulFlags)

Definition at line 7653 of file cfgmgr.c.

7655{
7656 TRACE("CM_Run_Detection(%lx)\n", ulFlags);
7657
7658 return CM_Run_Detection_Ex(ulFlags, NULL);
7659}
CONFIGRET WINAPI CM_Run_Detection_Ex(_In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:7667

◆ CM_Run_Detection_Ex()

CMAPI CONFIGRET WINAPI CM_Run_Detection_Ex ( _In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 7667 of file cfgmgr.c.

7670{
7672 CONFIGRET ret;
7673
7674 TRACE("CM_Run_Detection_Ex(%lx %p)\n",
7675 ulFlags, hMachine);
7676
7677 if (!pSetupIsUserAdmin())
7678 return CR_ACCESS_DENIED;
7679
7680 if (ulFlags & ~CM_DETECT_BITS)
7681 return CR_INVALID_FLAG;
7682
7683 if (hMachine != NULL)
7684 {
7685 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
7686 if (BindingHandle == NULL)
7687 return CR_FAILURE;
7688 }
7689 else
7690 {
7692 return CR_FAILURE;
7693 }
7694
7696 {
7698 ulFlags);
7699 }
7701 {
7703 }
7705
7706 return ret;
7707}
CONFIGRET WINAPI PNP_RunDetection(handle_t hBinding, DWORD ulFlags)
Definition: rpcserver.c:4679
#define CM_DETECT_BITS
Definition: cfgmgr32.h:646

Referenced by CM_Run_Detection().

◆ CM_Set_ActiveScheme()

CONFIGRET CM_Set_ActiveScheme ( _In_ CONST GUID SchemeGuid,
_Out_ PDWORD  Error 
)

◆ CM_Set_Class_Registry_PropertyA()

CMAPI CONFIGRET WINAPI CM_Set_Class_Registry_PropertyA ( _In_ LPGUID  ClassGuid,
_In_ ULONG  ulProperty,
_In_reads_bytes_opt_(ulLength) PCVOID  Buffer,
_In_ ULONG  ulLength,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 7715 of file cfgmgr.c.

7722{
7723 FIXME("CM_Set_Class_Registry_PropertyA(%p %lx %p %lu %lx %p)\n",
7724 ClassGuid, ulProperty, Buffer, ulLength, ulFlags, hMachine);
7725
7727}

◆ CM_Set_Class_Registry_PropertyW()

CMAPI CONFIGRET WINAPI CM_Set_Class_Registry_PropertyW ( _In_ LPGUID  ClassGuid,
_In_ ULONG  ulProperty,
_In_reads_bytes_opt_(ulLength) PCVOID  Buffer,
_In_ ULONG  ulLength,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 7735 of file cfgmgr.c.

7742{
7743 FIXME("CM_Set_Class_Registry_PropertyW(%p %lx %p %lu %lx %p)\n",
7744 ClassGuid, ulProperty, Buffer, ulLength, ulFlags, hMachine);
7745
7747}

◆ CM_Set_DevNode_Problem()

CMAPI CONFIGRET WINAPI CM_Set_DevNode_Problem ( _In_ DEVINST  dnDevInst,
_In_ ULONG  ulProblem,
_In_ ULONG  ulFlags 
)

Definition at line 7755 of file cfgmgr.c.

7759{
7760 TRACE("CM_Set_DevNode_Problem(%lx %lx %lx)\n",
7761 dnDevInst, ulProblem, ulFlags);
7762
7763 return CM_Set_DevNode_Problem_Ex(dnDevInst, ulProblem, ulFlags, NULL);
7764}
CONFIGRET WINAPI CM_Set_DevNode_Problem_Ex(_In_ DEVINST dnDevInst, _In_ ULONG ulProblem, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:7772

Referenced by SetFailedInstall().

◆ CM_Set_DevNode_Problem_Ex()

CMAPI CONFIGRET WINAPI CM_Set_DevNode_Problem_Ex ( _In_ DEVINST  dnDevInst,
_In_ ULONG  ulProblem,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 7772 of file cfgmgr.c.

7777{
7779 HSTRING_TABLE StringTable = NULL;
7780 LPWSTR lpDevInst;
7781 CONFIGRET ret;
7782
7783 TRACE("CM_Set_DevNode_Problem_Ex(%lx %lx %lx %p)\n",
7784 dnDevInst, ulProblem, ulFlags, hMachine);
7785
7786 if (dnDevInst == 0)
7787 return CR_INVALID_DEVNODE;
7788
7789 if (ulFlags & ~CM_SET_DEVNODE_PROBLEM_BITS)
7790 return CR_INVALID_FLAG;
7791
7792 if (hMachine != NULL)
7793 {
7794 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
7795 if (BindingHandle == NULL)
7796 return CR_FAILURE;
7797
7798 StringTable = ((PMACHINE_INFO)hMachine)->StringTable;
7799 if (StringTable == 0)
7800 return CR_FAILURE;
7801 }
7802 else
7803 {
7804 if (!PnpGetLocalHandles(&BindingHandle, &StringTable))
7805 return CR_FAILURE;
7806 }
7807
7808 lpDevInst = pSetupStringTableStringFromId(StringTable, dnDevInst);
7809 if (lpDevInst == NULL)
7810 return CR_INVALID_DEVNODE;
7811
7813 {
7815 lpDevInst,
7816 ulProblem,
7817 ulFlags);
7818 }
7820 {
7822 }
7824
7825 return ret;
7826}
DWORD WINAPI PNP_SetDeviceProblem(handle_t hBinding, LPWSTR pDeviceID, DWORD ulProblem, DWORD ulFlags)
Definition: rpcserver.c:3489
#define CM_SET_DEVNODE_PROBLEM_BITS
Definition: cfgmgr32.h:808

Referenced by CM_Set_DevNode_Problem().

◆ CM_Set_DevNode_Registry_Property_ExA()

CMAPI CONFIGRET WINAPI CM_Set_DevNode_Registry_Property_ExA ( _In_ DEVINST  dnDevInst,
_In_ ULONG  ulProperty,
_In_reads_bytes_opt_(ulLength) PCVOID  Buffer,
_In_ ULONG  ulLength,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 7876 of file cfgmgr.c.

7883{
7886 ULONG ulType;
7887
7888 FIXME("CM_Set_DevNode_Registry_Property_ExA(%lx %lu %p %lx %lx %p)\n",
7889 dnDevInst, ulProperty, Buffer, ulLength, ulFlags, hMachine);
7890
7891 if (Buffer == NULL && ulLength != 0)
7892 return CR_INVALID_POINTER;
7893
7894 if (ulProperty < CM_DRP_MIN || ulProperty > CM_DRP_MAX)
7895 return CR_INVALID_PROPERTY;
7896
7897 if (Buffer == NULL)
7898 {
7900 ulProperty,
7901 NULL,
7902 0,
7903 ulFlags,
7904 hMachine);
7905 }
7906 else
7907 {
7908 /* Get property type */
7909 ulType = GetRegistryPropertyType(ulProperty);
7910
7911 /* Allocate buffer if needed */
7912 if (ulType == REG_SZ ||
7914 {
7915 lpBuffer = MyMalloc(ulLength * sizeof(WCHAR));
7916 if (lpBuffer == NULL)
7917 {
7919 }
7920 else
7921 {
7923 ulLength, lpBuffer, ulLength))
7924 {
7926 ret = CR_FAILURE;
7927 }
7928 else
7929 {
7931 ulProperty,
7932 lpBuffer,
7933 ulLength * sizeof(WCHAR),
7934 ulFlags,
7935 hMachine);
7937 }
7938 }
7939 }
7940 else
7941 {
7943 ulProperty,
7944 Buffer,
7945 ulLength,
7946 ulFlags,
7947 hMachine);
7948 }
7949
7951 }
7952
7953 return ret;
7954}
CONFIGRET WINAPI CM_Set_DevNode_Registry_Property_ExW(_In_ DEVINST dnDevInst, _In_ ULONG ulProperty, _In_reads_bytes_opt_(ulLength) PCVOID Buffer, _In_ ULONG ulLength, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:7962
static ULONG GetRegistryPropertyType(_In_ ULONG ulProperty)
Definition: cfgmgr.c:145
static TAGREF LPCWSTR LPDWORD LPVOID lpBuffer
Definition: db.cpp:175
#define MultiByteToWideChar
Definition: compat.h:110
_In_z_ PCWSTR _In_ ULONG ulType
Definition: ntuser.h:43

Referenced by CM_Set_DevNode_Registry_PropertyA().

◆ CM_Set_DevNode_Registry_Property_ExW()

CMAPI CONFIGRET WINAPI CM_Set_DevNode_Registry_Property_ExW ( _In_ DEVINST  dnDevInst,
_In_ ULONG  ulProperty,
_In_reads_bytes_opt_(ulLength) PCVOID  Buffer,
_In_ ULONG  ulLength,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 7962 of file cfgmgr.c.

7969{
7971 HSTRING_TABLE StringTable = NULL;
7972 LPWSTR lpDevInst;
7973 ULONG ulType;
7974 CONFIGRET ret;
7975
7976 TRACE("CM_Set_DevNode_Registry_Property_ExW(%lx %lu %p %lx %lx %p)\n",
7977 dnDevInst, ulProperty, Buffer, ulLength, ulFlags, hMachine);
7978
7979 if (dnDevInst == 0)
7980 return CR_INVALID_DEVNODE;
7981
7982 if (ulProperty < CM_DRP_MIN || ulProperty > CM_DRP_MAX)
7983 return CR_INVALID_PROPERTY;
7984
7985 if (Buffer != NULL && ulLength == 0)
7986 return CR_INVALID_POINTER;
7987
7988 if (ulFlags != 0)
7989 return CR_INVALID_FLAG;
7990
7991 if (hMachine != NULL)
7992 {
7993 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
7994 if (BindingHandle == NULL)
7995 return CR_FAILURE;
7996
7997 StringTable = ((PMACHINE_INFO)hMachine)->StringTable;
7998 if (StringTable == 0)
7999 return CR_FAILURE;
8000 }
8001 else
8002 {
8003 if (!PnpGetLocalHandles(&BindingHandle, &StringTable))
8004 return CR_FAILURE;
8005 }
8006
8007 lpDevInst = pSetupStringTableStringFromId(StringTable, dnDevInst);
8008 if (lpDevInst == NULL)
8009 return CR_INVALID_DEVNODE;
8010
8011 /* Get property type */
8012 ulType = GetRegistryPropertyType(ulProperty);
8013
8015 {
8017 lpDevInst,
8018 ulProperty,
8019 ulType,
8020 (BYTE *)Buffer,
8021 ulLength,
8022 ulFlags);
8023 }
8025 {
8027 }
8029
8030 return ret;
8031}
DWORD WINAPI PNP_SetDeviceRegProp(handle_t hBinding, LPWSTR pDeviceId, DWORD ulProperty, DWORD ulDataType, BYTE *Buffer, PNP_PROP_SIZE ulLength, DWORD ulFlags)
Definition: rpcserver.c:2112
unsigned char BYTE
Definition: xxhash.c:193

Referenced by CM_Set_DevNode_Registry_Property_ExA(), and CM_Set_DevNode_Registry_PropertyW().

◆ CM_Set_DevNode_Registry_PropertyA()

CMAPI CONFIGRET WINAPI CM_Set_DevNode_Registry_PropertyA ( _In_ DEVINST  dnDevInst,
_In_ ULONG  ulProperty,
_In_reads_bytes_opt_(ulLength) PCVOID  Buffer,
_In_ ULONG  ulLength,
_In_ ULONG  ulFlags 
)

Definition at line 7834 of file cfgmgr.c.

7840{
7841 TRACE("CM_Set_DevNode_Registry_PropertyA(%lx %lu %p %lx %lx)\n",
7842 dnDevInst, ulProperty, Buffer, ulLength, ulFlags);
7843
7844 return CM_Set_DevNode_Registry_Property_ExA(dnDevInst, ulProperty,
7845 Buffer, ulLength,
7846 ulFlags, NULL);
7847}
CONFIGRET WINAPI CM_Set_DevNode_Registry_Property_ExA(_In_ DEVINST dnDevInst, _In_ ULONG ulProperty, _In_reads_bytes_opt_(ulLength) PCVOID Buffer, _In_ ULONG ulLength, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:7876

◆ CM_Set_DevNode_Registry_PropertyW()

CMAPI CONFIGRET WINAPI CM_Set_DevNode_Registry_PropertyW ( _In_ DEVINST  dnDevInst,
_In_ ULONG  ulProperty,
_In_reads_bytes_opt_(ulLength) PCVOID  Buffer,
_In_ ULONG  ulLength,
_In_ ULONG  ulFlags 
)

Definition at line 7855 of file cfgmgr.c.

7861{
7862 TRACE("CM_Set_DevNode_Registry_PropertyW(%lx %lu %p %lx %lx)\n",
7863 dnDevInst, ulProperty, Buffer, ulLength, ulFlags);
7864
7865 return CM_Set_DevNode_Registry_Property_ExW(dnDevInst, ulProperty,
7866 Buffer, ulLength,
7867 ulFlags, NULL);
7868}

◆ CM_Set_HW_Prof()

CMAPI CONFIGRET WINAPI CM_Set_HW_Prof ( _In_ ULONG  ulHardwareProfile,
_In_ ULONG  ulFlags 
)

Definition at line 8039 of file cfgmgr.c.

8042{
8043 TRACE("CM_Set_HW_Prof(%lu %lx)\n",
8044 ulHardwareProfile, ulFlags);
8045
8046 return CM_Set_HW_Prof_Ex(ulHardwareProfile, ulFlags, NULL);
8047}
CONFIGRET WINAPI CM_Set_HW_Prof_Ex(_In_ ULONG ulHardwareProfile, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:8055

◆ CM_Set_HW_Prof_Ex()

CMAPI CONFIGRET WINAPI CM_Set_HW_Prof_Ex ( _In_ ULONG  ulHardwareProfile,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 8055 of file cfgmgr.c.

8059{
8061 CONFIGRET ret;
8062
8063 TRACE("CM_Set_HW_Prof_Ex(%lu %lx %p)\n",
8064 ulHardwareProfile, ulFlags, hMachine);
8065
8066 if (!pSetupIsUserAdmin())
8067 return CR_ACCESS_DENIED;
8068
8069 if (ulFlags != 0)
8070 return CR_INVALID_FLAG;
8071
8072 if (hMachine != NULL)
8073 {
8074 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
8075 if (BindingHandle == NULL)
8076 return CR_FAILURE;
8077 }
8078 else
8079 {
8081 return CR_FAILURE;
8082 }
8083
8085 {
8086 ret = PNP_SetHwProf(BindingHandle, ulHardwareProfile, ulFlags);
8087 }
8089 {
8091 }
8093
8094 return ret;
8095}
DWORD WINAPI PNP_SetHwProf(handle_t hBinding, DWORD ulHardwareProfile, DWORD ulFlags)
Definition: rpcserver.c:4635

Referenced by CM_Set_HW_Prof().

◆ CM_Set_HW_Prof_Flags_ExA()

CMAPI CONFIGRET WINAPI CM_Set_HW_Prof_Flags_ExA ( _In_ DEVINSTID_A  szDevInstName,
_In_ ULONG  ulConfig,
_In_ ULONG  ulValue,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 8141 of file cfgmgr.c.

8147{
8148 DEVINSTID_W pszDevIdW = NULL;
8150
8151 TRACE("CM_Set_HW_Prof_Flags_ExA(%s %lu %lu %lx %p)\n",
8152 debugstr_a(szDevInstName), ulConfig, ulValue, ulFlags, hMachine);
8153
8154 if (szDevInstName != NULL)
8155 {
8156 if (pSetupCaptureAndConvertAnsiArg(szDevInstName, &pszDevIdW))
8157 return CR_INVALID_DEVICE_ID;
8158 }
8159
8160 ret = CM_Set_HW_Prof_Flags_ExW(pszDevIdW, ulConfig, ulValue,
8161 ulFlags, hMachine);
8162
8163 if (pszDevIdW != NULL)
8164 MyFree(pszDevIdW);
8165
8166 return ret;
8167}
CONFIGRET WINAPI CM_Set_HW_Prof_Flags_ExW(_In_ DEVINSTID_W szDevInstName, _In_ ULONG ulConfig, _In_ ULONG ulValue, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:8175

Referenced by CM_Set_HW_Prof_FlagsA().

◆ CM_Set_HW_Prof_Flags_ExW()

CMAPI CONFIGRET WINAPI CM_Set_HW_Prof_Flags_ExW ( _In_ DEVINSTID_W  szDevInstName,
_In_ ULONG  ulConfig,
_In_ ULONG  ulValue,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 8175 of file cfgmgr.c.

8181{
8183 CONFIGRET ret;
8184
8185 FIXME("CM_Set_HW_Prof_Flags_ExW(%s %lu %lu %lx %p)\n",
8186 debugstr_w(szDevInstName), ulConfig, ulValue, ulFlags, hMachine);
8187
8188 if (szDevInstName == NULL)
8189 return CR_INVALID_POINTER;
8190
8191 if (ulFlags & ~ CM_SET_HW_PROF_FLAGS_BITS)
8192 return CR_INVALID_FLAG;
8193
8194 /* FIXME: Check whether szDevInstName is valid */
8195
8196 if (hMachine != NULL)
8197 {
8198 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
8199 if (BindingHandle == NULL)
8200 return CR_FAILURE;
8201 }
8202 else
8203 {
8205 return CR_FAILURE;
8206 }
8207
8209 {
8210 ret = PNP_HwProfFlags(BindingHandle, PNP_SET_HWPROFFLAGS, szDevInstName,
8211 ulConfig, &ulValue, NULL, NULL, 0, 0);
8212 }
8214 {
8216 }
8218
8219 return ret;
8220}
#define CM_SET_HW_PROF_FLAGS_BITS
Definition: cfgmgr32.h:816

Referenced by CM_Set_HW_Prof_Flags_ExA(), and CM_Set_HW_Prof_FlagsW().

◆ CM_Set_HW_Prof_FlagsA()

CMAPI CONFIGRET WINAPI CM_Set_HW_Prof_FlagsA ( _In_ DEVINSTID_A  szDevInstName,
_In_ ULONG  ulConfig,
_In_ ULONG  ulValue,
_In_ ULONG  ulFlags 
)

Definition at line 8103 of file cfgmgr.c.

8108{
8109 TRACE("CM_Set_HW_Prof_FlagsA(%s %lu %lu %lx)\n",
8110 debugstr_a(szDevInstName), ulConfig, ulValue, ulFlags);
8111
8112 return CM_Set_HW_Prof_Flags_ExA(szDevInstName, ulConfig, ulValue,
8113 ulFlags, NULL);
8114}
CONFIGRET WINAPI CM_Set_HW_Prof_Flags_ExA(_In_ DEVINSTID_A szDevInstName, _In_ ULONG ulConfig, _In_ ULONG ulValue, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:8141

◆ CM_Set_HW_Prof_FlagsW()

CMAPI CONFIGRET WINAPI CM_Set_HW_Prof_FlagsW ( _In_ DEVINSTID_W  szDevInstName,
_In_ ULONG  ulConfig,
_In_ ULONG  ulValue,
_In_ ULONG  ulFlags 
)

Definition at line 8122 of file cfgmgr.c.

8127{
8128 TRACE("CM_Set_HW_Prof_FlagsW(%s %lu %lu %lx)\n",
8129 debugstr_w(szDevInstName), ulConfig, ulValue, ulFlags);
8130
8131 return CM_Set_HW_Prof_Flags_ExW(szDevInstName, ulConfig, ulValue,
8132 ulFlags, NULL);
8133}

◆ CM_Setup_DevNode()

CMAPI CONFIGRET WINAPI CM_Setup_DevNode ( _In_ DEVINST  dnDevInst,
_In_ ULONG  ulFlags 
)

Definition at line 8228 of file cfgmgr.c.

8231{
8232 TRACE("CM_Setup_DevNode(%lx %lx)\n",
8233 dnDevInst, ulFlags);
8234
8235 return CM_Setup_DevNode_Ex(dnDevInst, ulFlags, NULL);
8236}
CONFIGRET WINAPI CM_Setup_DevNode_Ex(_In_ DEVINST dnDevInst, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:8244

◆ CM_Setup_DevNode_Ex()

CMAPI CONFIGRET WINAPI CM_Setup_DevNode_Ex ( _In_ DEVINST  dnDevInst,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 8244 of file cfgmgr.c.

8248{
8250 HSTRING_TABLE StringTable = NULL;
8251 LPWSTR lpDevInst;
8252 CONFIGRET ret;
8253
8254 FIXME("CM_Setup_DevNode_Ex(%lx %lx %p)\n",
8255 dnDevInst, ulFlags, hMachine);
8256
8257 if (!pSetupIsUserAdmin())
8258 return CR_ACCESS_DENIED;
8259
8260 if (dnDevInst == 0)
8261 return CR_INVALID_DEVNODE;
8262
8263 if (ulFlags & ~CM_SETUP_BITS)
8264 return CR_INVALID_FLAG;
8265
8266 if (hMachine != NULL)
8267 {
8268 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
8269 if (BindingHandle == NULL)
8270 return CR_FAILURE;
8271
8272 StringTable = ((PMACHINE_INFO)hMachine)->StringTable;
8273 if (StringTable == 0)
8274 return CR_FAILURE;
8275 }
8276 else
8277 {
8278 if (!PnpGetLocalHandles(&BindingHandle, &StringTable))
8279 return CR_FAILURE;
8280 }
8281
8282 lpDevInst = pSetupStringTableStringFromId(StringTable, dnDevInst);
8283 if (lpDevInst == NULL)
8284 return CR_INVALID_DEVNODE;
8285
8287 {
8289 PNP_DEVINST_SETUP,
8290 ulFlags,
8291 lpDevInst,
8292 NULL);
8293 }
8295 {
8297 }
8299
8300 return ret;
8301}
#define CM_SETUP_BITS
Definition: cfgmgr32.h:828

Referenced by CM_Setup_DevNode().

◆ CM_Test_Range_Available()

CMAPI CONFIGRET WINAPI CM_Test_Range_Available ( _In_ DWORDLONG  ullStartValue,
_In_ DWORDLONG  ullEndValue,
_In_ RANGE_LIST  rlh,
_In_ ULONG  ulFlags 
)

Definition at line 8309 of file cfgmgr.c.

8314{
8315 FIXME("CM_Test_Range_Available(%I64u %I64u %p %lx)\n",
8316 ullStartValue, ullEndValue, rlh, ulFlags);
8318}

◆ CM_Uninstall_DevNode()

CMAPI CONFIGRET WINAPI CM_Uninstall_DevNode ( _In_ DEVINST  dnPhantom,
_In_ ULONG  ulFlags 
)

Definition at line 8326 of file cfgmgr.c.

8329{
8330 TRACE("CM_Uninstall_DevNode(%lx %lx)\n",
8331 dnPhantom, ulFlags);
8332
8333 return CM_Uninstall_DevNode_Ex(dnPhantom, ulFlags, NULL);
8334}
CONFIGRET WINAPI CM_Uninstall_DevNode_Ex(_In_ DEVINST dnPhantom, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:8342

◆ CM_Uninstall_DevNode_Ex()

CMAPI CONFIGRET WINAPI CM_Uninstall_DevNode_Ex ( _In_ DEVINST  dnPhantom,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 8342 of file cfgmgr.c.

8346{
8348 HSTRING_TABLE StringTable = NULL;
8349 LPWSTR lpDevInst;
8350 CONFIGRET ret;
8351
8352 TRACE("CM_Uninstall_DevNode_Ex(%lx %lx %p)\n",
8353 dnPhantom, ulFlags, hMachine);
8354
8355 if (dnPhantom == 0)
8356 return CR_INVALID_DEVNODE;
8357
8358 if (ulFlags != 0)
8359 return CR_INVALID_FLAG;
8360
8361 if (hMachine != NULL)
8362 {
8363 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
8364 if (BindingHandle == NULL)
8365 return CR_FAILURE;
8366
8367 StringTable = ((PMACHINE_INFO)hMachine)->StringTable;
8368 if (StringTable == 0)
8369 return CR_FAILURE;
8370 }
8371 else
8372 {
8373 if (!PnpGetLocalHandles(&BindingHandle, &StringTable))
8374 return CR_FAILURE;
8375 }
8376
8377 lpDevInst = pSetupStringTableStringFromId(StringTable, dnPhantom);
8378 if (lpDevInst == NULL)
8379 return CR_INVALID_DEVNODE;
8380
8382 {
8384 lpDevInst,
8385 ulFlags);
8386 }
8388 {
8390 }
8392
8393 return ret;
8394}
DWORD WINAPI PNP_UninstallDevInst(handle_t hBinding, LPWSTR pDeviceID, DWORD ulFlags)
Definition: rpcserver.c:3572

Referenced by CM_Uninstall_DevNode().

◆ CM_Unregister_Device_Interface_ExA()

CMAPI CONFIGRET WINAPI CM_Unregister_Device_Interface_ExA ( _In_ LPCSTR  pszDeviceInterface,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 8436 of file cfgmgr.c.

8440{
8441 LPWSTR pszDeviceInterfaceW = NULL;
8442 CONFIGRET ret;
8443
8444 TRACE("CM_Unregister_Device_Interface_ExA(%s %lx %p)\n",
8445 debugstr_a(pszDeviceInterface), ulFlags, hMachine);
8446
8447 if (pszDeviceInterface == NULL)
8448 return CR_INVALID_POINTER;
8449
8450 if (pSetupCaptureAndConvertAnsiArg(pszDeviceInterface, &pszDeviceInterfaceW))
8451 return CR_INVALID_DATA;
8452
8453 ret = CM_Unregister_Device_Interface_ExW(pszDeviceInterfaceW,
8454 ulFlags, hMachine);
8455
8456 if (pszDeviceInterfaceW != NULL)
8457 MyFree(pszDeviceInterfaceW);
8458
8459 return ret;
8460}
CONFIGRET WINAPI CM_Unregister_Device_Interface_ExW(_In_ LPCWSTR pszDeviceInterface, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:8468

Referenced by CM_Unregister_Device_InterfaceA().

◆ CM_Unregister_Device_Interface_ExW()

CMAPI CONFIGRET WINAPI CM_Unregister_Device_Interface_ExW ( _In_ LPCWSTR  pszDeviceInterface,
_In_ ULONG  ulFlags,
_In_opt_ HMACHINE  hMachine 
)

Definition at line 8468 of file cfgmgr.c.

8472{
8474 CONFIGRET ret;
8475
8476 TRACE("CM_Unregister_Device_Interface_ExW(%s %lx %p)\n",
8477 debugstr_w(pszDeviceInterface), ulFlags, hMachine);
8478
8479 if (pszDeviceInterface == NULL)
8480 return CR_INVALID_POINTER;
8481
8482 if (ulFlags != 0)
8483 return CR_INVALID_FLAG;
8484
8485 if (hMachine != NULL)
8486 {
8487 BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
8488 if (BindingHandle == NULL)
8489 return CR_FAILURE;
8490 }
8491 else
8492 {
8494 return CR_FAILURE;
8495 }
8496
8498 {
8500 (LPWSTR)pszDeviceInterface,
8501 ulFlags);
8502 }
8504 {
8506 }
8508
8509 return ret;
8510}
DWORD WINAPI PNP_UnregisterDeviceClassAssociation(handle_t hBinding, LPWSTR pszInterfaceDevice, DWORD ulFlags)
Definition: rpcserver.c:2714

Referenced by CM_Unregister_Device_Interface_ExA(), and CM_Unregister_Device_InterfaceW().

◆ CM_Unregister_Device_InterfaceA()

CMAPI CONFIGRET WINAPI CM_Unregister_Device_InterfaceA ( _In_ LPCSTR  pszDeviceInterface,
_In_ ULONG  ulFlags 
)

Definition at line 8402 of file cfgmgr.c.

8405{
8406 TRACE("CM_Unregister_Device_InterfaceA(%s %lx)\n",
8407 debugstr_a(pszDeviceInterface), ulFlags);
8408
8409 return CM_Unregister_Device_Interface_ExA(pszDeviceInterface,
8410 ulFlags, NULL);
8411}
CONFIGRET WINAPI CM_Unregister_Device_Interface_ExA(_In_ LPCSTR pszDeviceInterface, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine)
Definition: cfgmgr.c:8436

◆ CM_Unregister_Device_InterfaceW()

CMAPI CONFIGRET WINAPI CM_Unregister_Device_InterfaceW ( _In_ LPCWSTR  pszDeviceInterface,
_In_ ULONG  ulFlags 
)

Definition at line 8419 of file cfgmgr.c.

8422{
8423 TRACE("CM_Unregister_Device_InterfaceW(%s %lx)\n",
8424 debugstr_w(pszDeviceInterface), ulFlags);
8425
8426 return CM_Unregister_Device_Interface_ExW(pszDeviceInterface,
8427 ulFlags, NULL);
8428}

◆ CM_Write_UserPowerKey()

CONFIGRET CM_Write_UserPowerKey ( _In_opt_ CONST GUID SchemeGuid,
_In_opt_ CONST GUID SubGroupOfPowerSettingsGuid,
_In_opt_ CONST GUID PowerSettingGuid,
_In_ ULONG  AccessFlags,
_In_ ULONG  Type,
_In_reads_bytes_(BufferSize) UCHAR Buffer,
_In_ DWORD  BufferSize,
_Out_ PDWORD  Error 
)

◆ CMP_WaitNoPendingInstallEvents()

CMAPI DWORD WINAPI CMP_WaitNoPendingInstallEvents ( _In_ DWORD  dwTimeout)

Definition at line 802 of file cfgmgr.c.

804{
806 DWORD ret;
807
808 TRACE("CMP_WaitNoPendingInstallEvents(%lu)\n", dwTimeout);
809
810 hEvent = OpenEventW(SYNCHRONIZE, FALSE, L"Global\\PnP_No_Pending_Install_Events");
811 if (hEvent == NULL)
812 return WAIT_FAILED;
813
816 return ret;
817}
static HANDLE hEvent
Definition: comm.c:54
#define SYNCHRONIZE
Definition: nt_native.h:61
HANDLE WINAPI DECLSPEC_HOTPATCH OpenEventW(IN DWORD dwDesiredAccess, IN BOOL bInheritHandle, IN LPCWSTR lpName)
Definition: synch.c:682
#define WAIT_FAILED
Definition: winbase.h:413
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD dwTimeout
Definition: wincrypt.h:6081

Referenced by CommonInstall().