📄 cfgmgr32.h
字号:
#define CM_DRP_DEVICEDESC (0x00000001) // DeviceDesc REG_SZ property (RW)
#define CM_DRP_HARDWAREID (0x00000002) // HardwareID REG_MULTI_SZ property (RW)
#define CM_DRP_COMPATIBLEIDS (0x00000003) // CompatibleIDs REG_MULTI_SZ property (RW)
#define CM_DRP_UNUSED0 (0x00000004) // unused
#define CM_DRP_SERVICE (0x00000005) // Service REG_SZ property (RW)
#define CM_DRP_UNUSED1 (0x00000006) // unused
#define CM_DRP_UNUSED2 (0x00000007) // unused
#define CM_DRP_CLASS (0x00000008) // Class REG_SZ property (RW)
#define CM_DRP_CLASSGUID (0x00000009) // ClassGUID REG_SZ property (RW)
#define CM_DRP_DRIVER (0x0000000A) // Driver REG_SZ property (RW)
#define CM_DRP_CONFIGFLAGS (0x0000000B) // ConfigFlags REG_DWORD property (RW)
#define CM_DRP_MFG (0x0000000C) // Mfg REG_SZ property (RW)
#define CM_DRP_FRIENDLYNAME (0x0000000D) // FriendlyName REG_SZ property (RW)
#define CM_DRP_LOCATION_INFORMATION (0x0000000E) // LocationInformation REG_SZ property (RW)
#define CM_DRP_PHYSICAL_DEVICE_OBJECT_NAME (0x0000000F) // PhysicalDeviceObjectName REG_SZ property (R)
#define CM_DRP_CAPABILITIES (0x00000010) // Capabilities REG_DWORD property (R)
#define CM_DRP_UI_NUMBER (0x00000011) // UiNumber REG_DWORD property (R)
#define CM_DRP_UPPERFILTERS (0x00000012) // UpperFilters REG_MULTI_SZ property (RW)
#define CM_DRP_LOWERFILTERS (0x00000013) // LowerFilters REG_MULTI_SZ property (RW)
#define CM_DRP_BUSTYPEGUID (0x00000014) // Bus Type Guid, GUID, (R)
#define CM_DRP_LEGACYBUSTYPE (0x00000015) // Legacy bus type, INTERFACE_TYPE, (R)
#define CM_DRP_BUSNUMBER (0x00000016) // Bus Number, DWORD, (R)
#define CM_DRP_ENUMERATOR_NAME (0x00000017) // Enumerator Name REG_SZ property (R)
#define CM_DRP_SECURITY (0x00000018) // Security - Device override (RW)
#define CM_CRP_SECURITY CM_DRP_SECURITY // Class default security (RW)
#define CM_DRP_SECURITY_SDS (0x00000019) // Security - Device override (RW)
#define CM_CRP_SECURITY_SDS CM_DRP_SECURITY_SDS // Class default security (RW)
#define CM_DRP_DEVTYPE (0x0000001A) // Device Type - Device override (RW)
#define CM_CRP_DEVTYPE CM_DRP_DEVTYPE // Class default Device-type (RW)
#define CM_DRP_EXCLUSIVE (0x0000001B) // Exclusivity - Device override (RW)
#define CM_CRP_EXCLUSIVE CM_DRP_EXCLUSIVE // Class default (RW)
#define CM_DRP_CHARACTERISTICS (0x0000001C) // Characteristics - Device Override (RW)
#define CM_CRP_CHARACTERISTICS CM_DRP_CHARACTERISTICS // Class default (RW)
#define CM_DRP_ADDRESS (0x0000001D) // Device Address (R)
#define CM_DRP_UI_NUMBER_DESC_FORMAT (0x0000001E) // UINumberDescFormat REG_SZ property (RW)
#define CM_DRP_MIN (0x00000001) // First device register
#define CM_CRP_MIN CM_DRP_MIN // First class register
#define CM_DRP_MAX (0x0000001E) // Last device register
#define CM_CRP_MAX CM_DRP_MAX // Last class register
//
// Capabilities bits (the capability value is returned from calling
// CM_Get_DevInst_Registry_Property with CM_DRP_CAPABILITIES flag)
//
#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)
//
// Flags for CM_Locate_DevNode
//
#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
//
// Flags for CM_Open_Class_Key
//
#define CM_OPEN_CLASS_KEY_INSTALLER (0x00000000)
#define CM_OPEN_CLASS_KEY_INTERFACE (0x00000001)
#define CM_OPEN_CLASS_KEY_BITS (0x00000001)
//
// Remove subtree and Query remove subtree flags
//
#define CM_QUERY_REMOVE_UI_OK 0x00000000
#define CM_QUERY_REMOVE_UI_NOT_OK 0x00000001
#define CM_QUERY_REMOVE_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
//
// Flags for CM_Reenumerate_DevNode
//
#define CM_REENUMERATE_NORMAL 0x00000000
#define CM_REENUMERATE_SYNCHRONOUS 0x00000001
#define CM_REENUMERATE_BITS 0x00000001
//
// Flags for CM_Register_Device_Driver
//
#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)
//
// Registry Branch Locations (for CM_Open_DevNode_Key)
//
#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)
//
// Flags for CM_Set_DevNode_Problem
//
#define CM_SET_DEVNODE_PROBLEM_NORMAL (0x00000000) // only set problem if currently no problem
#define CM_SET_DEVNODE_PROBLEM_OVERRIDE (0x00000001) // override current problem with new problem
#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
//
// Flags for CM_Set_HW_Prof_Flags
//
#define CM_SET_HW_PROF_FLAGS_UI_NOT_OK (0x00000001) // Don't popup any veto UI
#define CM_SET_HW_PROF_FLAGS_BITS (0x00000001)
//
// Re-enable and configuration actions (specified in call to CM_Setup_DevInst)
//
#define CM_SETUP_DEVNODE_READY (0x00000000) // Reenable problem devinst
#define CM_SETUP_DEVINST_READY CM_SETUP_DEVNODE_READY
#define CM_SETUP_DOWNLOAD (0x00000001) // Get info about devinst
#define CM_SETUP_WRITE_LOG_CONFS (0x00000002)
#define CM_SETUP_PROP_CHANGE (0x00000003)
#define CM_SETUP_BITS (0x00000003)
//
// Flags for CM_Query_Arbitrator_Free_Data and
// CM_Query_Arbitrator_Free_Data_Size.
//
#define CM_QUERY_ARBITRATOR_RAW (0x00000000)
#define CM_QUERY_ARBITRATOR_TRANSLATED (0x00000001)
#define CM_QUERY_ARBITRATOR_BITS (0x00000001)
//--------------------------------------------------------------
// Function prototypes
//--------------------------------------------------------------
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 HMACHINE hMachine
);
CMAPI
CONFIGRET
WINAPI
CM_Add_IDA(
IN DEVINST dnDevInst,
IN PSTR pszID,
IN ULONG ulFlags
);
CMAPI
CONFIGRET
WINAPI
CM_Add_IDW(
IN DEVINST dnDevInst,
IN PWSTR pszID,
IN ULONG ulFlags
);
CMAPI
CONFIGRET
WINAPI
CM_Add_ID_ExA(
IN DEVINST dnDevInst,
IN PSTR pszID,
IN ULONG ulFlags,
IN HMACHINE hMachine
);
CMAPI
CONFIGRET
WINAPI
CM_Add_ID_ExW(
IN DEVINST dnDevInst,
IN PWSTR pszID,
IN ULONG ulFlags,
IN HMACHINE hMachine
);
#ifdef UNICODE
#define CM_Add_ID CM_Add_IDW
#define CM_Add_ID_Ex CM_Add_ID_ExW
#else
#define CM_Add_ID CM_Add_IDA
#define CM_Add_ID_Ex CM_Add_ID_ExA
#endif // UNICODE
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 PRES_DES prdResDes,
IN LOG_CONF lcLogConf,
IN RESOURCEID ResourceID,
IN PCVOID ResourceData,
IN ULONG ResourceLen,
IN ULONG ulFlags
);
CMAPI
CONFIGRET
WINAPI
CM_Add_Res_Des_Ex(
OUT PRES_DES prdResDes,
IN LOG_CONF lcLogConf,
IN RESOURCEID ResourceID,
IN PCVOID ResourceData,
IN ULONG ResourceLen,
IN ULONG ulFlags,
IN HMACHINE hMachine
);
CMAPI
CONFIGRET
WINAPI
CM_Connect_MachineA(
IN PCSTR UNCServerName,
OUT PHMACHINE phMachine
);
CMAPI
CONFIGRET
WINAPI
CM_Connect_MachineW(
IN PCWSTR UNCServerName,
OUT PHMACHINE phMachine
);
#ifdef UNICODE
#define CM_Connect_Machine CM_Connect_MachineW
#else
#define CM_Connect_Machine CM_Connect_MachineA
#endif // UNICODE
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 HANDLE hMachine
);
CMAPI
CONFIGRET
WINAPI
CM_Create_DevNode_ExW(
OUT PDEVINST pdnDevInst,
IN DEVINSTID_W pDeviceID,
IN DEVINST dnParent,
IN ULONG ulFlags,
IN HANDLE hMachine
);
#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
#ifdef UNICODE
#define CM_Create_DevNode CM_Create_DevNodeW
#define CM_Create_DevInst CM_Create_DevNodeW
#define CM_Create_DevNode_Ex CM_Create_DevNode_ExW
#define CM_Create_DevInst_Ex CM_Create_DevInst_ExW
#else
#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
#endif // UNICODE
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 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 HANDLE hMachine
);
#define CM_Delete_DevInst_Key CM_Delete_DevNode_Key
#define CM_Delete_DevInst_Key_Ex CM_Delete_DevNode_Key_Ex
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 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 PCVOID ResourceData,
IN ULONG ResourceLen,
OUT PBOOL pbConflictDetected,
IN ULONG ulFlags,
IN HMACHINE hMachine
);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -