configmg.h
来自「用于查询PC机上的USB端口是否有设备挂接上」· C头文件 代码 · 共 1,777 行 · 第 1/5 页
H
1,777 行
"CR_SAME_RESOURCES", \
"CR_ALREADY_SUCH_DEPENDENT", \
"CR_UNLOCK_FAILED", \
"CR_EJECT_FAILED", \
"CR_NOT_EJECTABLE", \
"CR_UNOWNED", \
"CR_BADLY_OWNED", \
};
/*XLATON*/
#define CM_PROB_NOT_CONFIGURED 0x00000001
#define CM_PROB_DEVLOADER_FAILED 0x00000002
#define CM_PROB_OUT_OF_MEMORY 0x00000003
#define CM_PROB_ENTRY_IS_WRONG_TYPE 0x00000004
#define CM_PROB_LACKED_ARBITRATOR 0x00000005
#define CM_PROB_BOOT_CONFIG_CONFLICT 0x00000006
#define CM_PROB_FAILED_FILTER 0x00000007
#define CM_PROB_DEVLOADER_NOT_FOUND 0x00000008
#define CM_PROB_INVALID_DATA 0x00000009
#define CM_PROB_FAILED_START 0x0000000A
#define CM_PROB_ASD_FAILED 0x0000000B
#define CM_PROB_NORMAL_CONFLICT 0x0000000C
#define CM_PROB_NOT_VERIFIED 0x0000000D
#define CM_PROB_NEED_RESTART 0x0000000E
#define CM_PROB_REENUMERATION 0x0000000F
#define CM_PROB_PARTIAL_LOG_CONF 0x00000010
#define CM_PROB_UNKNOWN_RESOURCE 0x00000011
#define CM_PROB_REINSTALL 0x00000012
#define CM_PROB_REGISTRY 0x00000013
#define CM_PROB_VXDLDR 0x00000014
#define CM_PROB_WILL_BE_REMOVED 0x00000015
#define CM_PROB_DISABLED 0x00000016
#define CM_PROB_DEVLOADER_NOT_READY 0x00000017
#define CM_PROB_DEVICE_NOT_THERE 0x00000018
#define CM_PROB_MOVED 0x00000019
#define CM_PROB_TOO_EARLY 0x0000001A
#define CM_PROB_NO_VALID_LOG_CONF 0x0000001B
#define CM_PROB_FAILED_INSTALL 0x0000001C
#define CM_PROB_HARDWARE_DISABLED 0x0000001D
#define CM_PROB_CANT_SHARE_IRQ 0x0000001E
//
// 4.0 OPK2 Problems
//
#define CM_PROB_DEPENDENT_PROBLEM 0x0000001F
//
// 4.1 Problems
//
#define CM_PROB_INSTALL_MEDIA_NOT_READY 0x00000020
#define CM_PROB_HARDWARE_MALFUNCTION 0x00000021
//
// 4.9 Problems
//
#define CM_PROB_BEFORE_IOS 0x00000022
#define NUM_CM_PROB 0x00000023
/*XLATOFF*/
#define DEBUG_CM_PROB_NAMES \
char CMFAR *lpszCMProbName[NUM_CM_PROB]= \
{ \
"No Problem", \
"No ConfigFlags (not configured)", \
"Devloader failed", \
"Run out of memory", \
"Devloader/StaticVxD/Configured is of wrong type", \
"Lacked an arbitrator", \
"Boot config conflicted", \
"Filtering failed", \
"Devloader not found", \
"Invalid data in registry", \
"Device failed to start", \
"ASD check failed", \
"Was normal conflicting", \
"Did not verified", \
"Need restart", \
"Is probably reenumeration", \
"Was not fully detected", \
"Resource number was not found", \
"Reinstall", \
"Registry returned unknown result", \
"VxDLdr returned unknown result", \
"Will be removed", \
"Disabled", \
"Devloader was not ready", \
"Device not there", \
"Was moved", \
"Too early", \
"No valid log conf", \
"Failed install", \
"Hardware Disabled", \
"Can't share IRQ", \
"Dependent failed", \
"Install media not ready", \
"Hardware malfunction", \
"Before IOS device init", \
};
/*XLATON*/
//
// Flags to be passed in the various APIs
//
#define CM_INITIALIZE_VMM 0x00000000
#define CM_INITIALIZE_BITS 0x00000000
#define CM_YIELD_NO_RESUME_EXEC 0x00000000
#define CM_YIELD_RESUME_EXEC 0x00000001
#define CM_YIELD_BITS 0x00000001
#define CM_LOCK_UNLOCK_ENUMERATE 0x00000000 // Was previously NORMAL
#define CM_LOCK_UNLOCK_JUST_DEVNODES_CHANGED 0x00000001
#define CM_LOCK_UNLOCK_INSTALLER 0x00000002
#define CM_LOCK_UNLOCK_TEST_LOCK_OWNED 0x00000003 // Was previously INVALID
#define CM_LOCK_UNLOCK_BITS 0x00000003
#define CM_CREATE_DEVNODE_NORMAL 0x00000000
#define CM_CREATE_DEVNODE_NO_WAIT_INSTALL 0x00000001
#define CM_CREATE_DEVNODE_ADD_PARENT_INSTANCE 0x00000002
#define CM_CREATE_DEVNODE_BITS 0x00000003
#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_SYNCHRONOUS 0x00000000
#define CM_REGISTER_DEVICE_DRIVER_ASYNCHRONOUS 0x00000004
#define CM_REGISTER_DEVICE_DRIVER_ACPI_APM 0x00000008
#define CM_REGISTER_DEVICE_DRIVER_LOAD_DRIVER 0x00000010
#define CM_REGISTER_DEVICE_DRIVER_BITS 0x0000001F
#define CM_REGISTER_ENUMERATOR_SOFTWARE 0x00000000
#define CM_REGISTER_ENUMERATOR_HARDWARE 0x00000001
#define CM_REGISTER_ENUMERATOR_ACPI_APM 0x00000002
#define CM_REGISTER_ENUMERATOR_BITS 0x00000003
#define CM_REGISTER_ARBITRATOR_GLOBAL 0x00000001
#define CM_REGISTER_ARBITRATOR_LOCAL 0x00000000
#define CM_REGISTER_ARBITRATOR_MYSELF 0x00000002
#define CM_REGISTER_ARBITRATOR_NOT_MYSELF 0x00000000
#define CM_REGISTER_ARBITRATOR_CONFLICT_FREE 0x00000004
#define CM_REGISTER_ARBITRATOR_CAN_CONFLICT 0x00000000
#define CM_REGISTER_ARBITRATOR_PARTIAL 0x00000008
#define CM_REGISTER_ARBITRATOR_COMPLETE 0x00000000
#define CM_REGISTER_ARBITRATOR_PARTIAL_RES_DES 0x00000010
#define CM_REGISTER_ARBITRATOR_PARTIAL_DEVNODE 0x00000000
#define CM_REGISTER_ARBITRATOR_BITS 0x0000001F
#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_BITS 0x00000001
#define CM_SETUP_DEVNODE_READY 0x00000000
#define CM_SETUP_DOWNLOAD 0x00000001
#define CM_SETUP_WRITE_LOG_CONFS 0x00000002
#define CM_SETUP_PROP_CHANGE 0x00000003
#define CM_SETUP_ASK_EJECTION_START 0x00000004
#define CM_SETUP_ASK_EJECTION_END 0x00000005
#define CM_SETUP_DEVNODE_SETUP_COMPLETE 0x00000006
#define CM_SETUP_MSGSRV_ADDRESS 0x00000007 // Only MSGSRV32 can use!
#define CM_SETUP_DEVNODE_SETUP_STARTS 0x00000008
#define CM_SETUP_DEVNODE_BEHIND_ACPI 0x00000009
#define CM_SETUP_DEVNODE_CLOSE_REGISTRY_CACHES 0x0000000A
#define CM_SETUP_BITS 0x0000000F
#define CM_PROCESS_EVENTS_NOW_NORMAL 0x00000000
#define CM_PROCESS_EVENTS_NOW_INSTALL 0x00000001
#define CM_PROCESS_EVENTS_NOW_BITS 0x00000001
#define CM_ADD_RANGE_ADDIFCONFLICT 0x00000000
#define CM_ADD_RANGE_DONOTADDIFCONFLICT 0x00000001
#define CM_ADD_RANGE_BITS 0x00000001
#define CM_ISAPNP_ADD_RES_DES 0x00000000
#define CM_ISAPNP_SETUP 0x00000001
#define CM_ISAPNP_ADD_BOOT_RES_DES 0x00000002
#define CM_ISAPNP_ADD_RES_DES_UNCONFIGURABLE 0x00000003
#define CM_ISAPNP_BITS 0x00000003
#define CM_GET_BUS_INFO_DONT_RETURN_MF_INFO 0x00000000
#define CM_GET_BUS_INFO_RETURN_MF_INFO 0x00000001
#define CM_GET_BUS_INFO_FLAGS 0x00000001
#define CM_GET_PERFORMANCE_INFO_DATA 0x00000000
#define CM_GET_PERFORMANCE_INFO_RESET 0x00000001
#define CM_GET_PERFORMANCE_INFO_START 0x00000002
#define CM_GET_PERFORMANCE_INFO_STOP 0x00000003
#define CM_RESET_HIT_DATA 0x00000004
#define CM_GET_HIT_DATA 0x00000005
#define CM_GET_PERFORMANCE_INFO_DEVNODE 0x00000006
#define CM_GET_PERFORMANCE_INFO_BITS 0x0000000F
#define CM_HIT_DATA_FILES 0xFFFF0000
#define CM_HIT_DATA_SIZE ((256*8)+8) // magic number!
#define CM_GET_ALLOC_LOG_CONF_ALLOC 0x00000000
#define CM_GET_ALLOC_LOG_CONF_BOOT_ALLOC 0x00000001
#define CM_GET_ALLOC_LOG_CONF_BITS 0x00000001
#define CM_DUMP_RANGE_NORMAL 0x00000000
#define CM_DUMP_RANGE_JUST_LIST 0x00000001
#define CM_DUMP_RANGE_BITS 0x00000001
#define CM_REGISTRY_HARDWARE 0x00000000 // Select hardware branch if NULL subkey
#define CM_REGISTRY_SOFTWARE 0x00000001 // Select software branch if NULL subkey
#define CM_REGISTRY_USER 0x00000100 // Use HKEY_CURRENT_USER
#define CM_REGISTRY_CONFIG 0x00000200 // Use HKEY_CURRENT_CONFIG
#define CM_REGISTRY_BITS 0x00000301 // The bits for the registry functions
#define CM_DISABLE_POLITE 0x00000000 // Ask the driver
#define CM_DISABLE_ABSOLUTE 0x00000001 // Don't ask the driver
#define CM_DISABLE_HARDWARE 0x00000002 // Don't ask the driver, and won't be restarteable
#define CM_DISABLE_BITS 0x00000003 // The bits for the disable function
#define CM_HW_PROF_UNDOCK 0x00000000 // Computer not in a dock.
#define CM_HW_PROF_DOCK 0x00000001 // Computer in a docking station
#define CM_HW_PROF_RECOMPUTE_BITS 0x00000005 // RecomputeConfig
#define CM_HW_PROF_DOCK_KNOWN 0x00000002 // Computer in a known docking station
#define CM_HW_PROF_QUERY_CHANGE_BITS 0x00000003 // QueryChangeConfig
#define CM_HW_PROF_NOUSER 0x00000004 // User has not yet arrived.
#define CM_DETECT_NEW_PROFILE 0x00000001 // run detect for a new profile
#define CM_DETECT_CRASHED 0x00000002 // detection crashed before
#define CM_DETECT_HWPROF_FIRST_BOOT 0x00000004 // first boot in a new profile
#define CM_DETECT_TOPBUSONLY 0x00000008 // detect only top level bus
#define CM_DETECT_VERIFYONLY 0x00000010 // verify, dont detect
#define CM_DETECT_EXCLENUMDEVS 0x00000020 // exclude enum devs
#define CM_DETECT_DOUI 0x00000040 // detect all HW
#define CM_DETECT_RUN 0x80000000 // run detection for new hardware
#define CM_RUN_DETECTION_NORMAL 0x00000000
#define CM_RUN_DETECTION_LOG_IN 0x00000001 // To be used only by MSGSRV32
#define CM_RUN_DETECTION_VPOWERD_PAGEABLE_PHASE 0x00000002 // To be used by VPOWERD only
#define CM_RUN_DETECTION_BITS 0x00000003
#define CM_ADD_ID_HARDWARE 0x00000000
#define CM_ADD_ID_COMPATIBLE 0x00000001
#define CM_ADD_ID_BITS 0x00000001
#define CM_REENUMERATE_NORMAL 0x00000000
#define CM_REENUMERATE_SYNCHRONOUS 0x00000001
#define CM_REENUMERATE_BITS 0x00000001
#define CM_BROADCAST_SEND 0x00000000
#define CM_BROADCAST_QUERY 0x00000001
#define CM_BROADCAST_BITS 0x00000001
#define CM_CALL_HANDLER_ENUMERATOR 0x00000000
#define CM_CALL_HANDLER_DEVICE_DRIVER 0x00000001
#define CM_CALL_HANDLER_BITS 0x00000001
#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_SHUTING_DOWN 0x00000008
#define CM_GLOBAL_STATE_DETECTION_PENDING 0x00000010
#define CM_GLOBAL_STATE_ON_BATTERY 0x00000020
#define CM_GLOBAL_STATE_SUSPEND_PHASE 0x00000040
#define CM_GLOBAL_STATE_SUSPEND_LOCKED_PHASE 0x00000080
#define CM_GLOBAL_STATE_REBALANCE 0x00000100
#define CM_GLOBAL_STATE_LOGGING_ON 0x00000200
#define CM_GLOBAL_STATE_DEVICE_MANAGER_PENDING 0x00000400
#define CM_GLOBAL_STATE_POST_LOGGED_ON 0x00000800
#define CM_GLOBAL_STATE_LOGON_DIALOG 0x00001000
#define CM_REMOVE_REINSERT_ALL_REMOVE 0x00000000
#define CM_REMOVE_REINSERT_ALL_REINSERT 0x00000001
#define CM_REMOVE_REINSERT_ALL_BITS 0x00000001
#define CM_CHANGE_DEVNODE_STATUS_REMOVE_FLAGS 0x00000000
#define CM_CHANGE_DEVNODE_STATUS_ADD_FLAGS 0x00000001
#define CM_CHANGE_DEVNODE_STATUS_FLAGS2 0x00000002
#define CM_CHANGE_DEVNODE_STATUS_BITS 0x00000003
#define CM_REPROCESS_DEVNODE_ASYNCHRONOUS 0x00000000
#define CM_REPROCESS_DEVNODE_SYNCHRONOUS 0x00000001
#define CM_REPROCESS_DEVNODE_BITS 0x00000001
//
// SET_DEVNODE_POWERSTATE_PERSISTANT is ignored in 4.1. You need to call
// Set_DevNode_Property(CM_PROPERTY_ARM_WAKEUP).
//
//#define CM_SET_DEVNODE_POWERSTATE_PERSISTANT 0x00000001
#define CM_SET_DEVNODE_POWERSTATE_BITS 0x00000001
#define CM_POWERSTATE_D0 0x00000001
#define CM_POWERSTATE_D1 0x00000002
#define CM_POWERSTATE_D2 0x00000004
#define CM_POWERSTATE_D3 0x00000008
#define CM_POWERSTATE_BITS 0x0000000f
#define CM_CAPABILITIES_NORMAL 0x00000000
#define CM_CAPABILITIES_FOR_WAKEUP 0x00000001
#define CM_CAPABILITIES_OVERRIDE 0x00000002 // Should be used by ACPI only
#define CM_CAPABILITIES_MERGE 0x00000000
#define CM_GET_CAPABILITIES_BITS 0x00000001
#define CM_SET_CAPABILITIES_BITS 0x00000003
#define CM_CM_TO_ISAPNP_NORMAL 0x00000000
#define CM_CM_TO_ISAPNP_FAIL_NUL_TAGS 0x00000001
#define CM_CM_TO_ISAPNP_BITS 0x00000001
#define CM_SET_DEPENDENT_DEVNODE_ADD 0x00000000
#define CM_SET_DEPENDENT_DEVNODE_REMOVE 0x00000001
#define CM_SET_DEPENDENT_DEVNODE_BITS 0x00000001
#define CM_GET_DEVNODE_HANDLER_CONFIG 0x00000000
#define CM_GET_DEVNODE_HANDLER_ENUM 0x00000001
#define CM_GET_DEVNODE_HANDLER_BITS 0x00000001
#define CM_GET_DEVNODE_STATUS_REGULAR 0x00000000
#define CM_GET_DEVNODE_STATUS_FLAGS2 0x00000001
#define CM_GET_DEVNODE_STATUS_BITS 0x00000001
#define CM_GET_DEVICE_INTERFACE_LIST_PRESENT 0x00000000 // only currently 'live' devices
#define CM_GET_DEVICE_INTERFACE_LIST_ALL_DEVICES 0x00000001 // all registered devices, live or not
#define CM_GET_DEVICE_INTERFACE_LIST_BITS 0x00000001
#define CM_ADD_REMOVE_DEVNODE_PROPERTY_ADD 0x00000000
#define CM_ADD_REMOVE_DEVNODE_PROPERTY_REMOVE 0x00000001
#define CM_ADD_REMOVE_DEVNODE_PROPERTY_NEEDS_LOCKING 0x00000002
#define CM_ADD_REMOVE_DEVNODE_PROPERTY_ARM_WAKEUP 0x00000004
#define CM_ADD_REMOVE_DEVNODE_PROPERTY_LIGHT_SLEEP 0x00000008
#define CM_ADD_REMOVE_DEVNODE_PROPERTY_BITS 0x0000000F
#define CM_SYSTEM_DEVICE_POWER_STATE_MAPPING_GET 0x00000000
#define CM_SYSTEM_DEVICE_POWER_STATE_MAPPING_SET 0x00000001
#define CM_SYSTEM_DEVICE_POWER_STATE_MAPPING_WITH_EXTRA 0x00000002
#define CM_SYSTEM_DEVICE_POWER_STATE_MAPPING_BITS 0x00000003
#define CM_WAKING_UP_FROM_DEVNODE_ASYNCHRONOUS 0x00000000
#define CM_WAKING_UP_FROM_DEVNODE_SYNCHRONOUS 0x00000001
#define CM_WAKING_UP_FROM_DEVNODE_BITS 0x00000001
#define CM_SET_DEVNODE_PROBLEM_NORMAL 0x00000000
#define CM_SET_DEVNODE_PROBLEM_CLASSORDER 0x00000001
#define CM_SET_DEVNODE_PROBLEM_BITS 0x00000001
#define CM_GET_LOG_CONF_PRIORITY 0x00000000
#define CM_SET_LOG_CONF_PRIORITY 0x00000001
#define CM_GET_SET_LOG_CONF_PRIORITY_BITS 0x00000001
#define CM_REQUEST_DEVICE_EJECTION_ASYNCHRONOUS 0x00000000
#define CM_REQUEST_DEVICE_EJECTION_SYNCHRONOUS 0x00000001
#define CM_REQUEST_DEVICE_EJECTION_BITS 0x00000001
/****************************************************************************
*
* CONFIGURATION MANAGER FUNCTIONS
*
****************************************************************************
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?