📄 cfgmgr32.pas
字号:
//
// Removal policies (retrievable via CM_Get_DevInst_Registry_Property with
// the CM_DRP_REMOVAL_POLICY, CM_DRP_REMOVAL_POLICY_OVERRIDE, or
// CM_DRP_REMOVAL_POLICY_HW_DEFAULT properties)
//
CM_REMOVAL_POLICY_EXPECT_NO_REMOVAL = 1;
{$EXTERNALSYM CM_REMOVAL_POLICY_EXPECT_NO_REMOVAL}
CM_REMOVAL_POLICY_EXPECT_ORDERLY_REMOVAL = 2;
{$EXTERNALSYM CM_REMOVAL_POLICY_EXPECT_ORDERLY_REMOVAL}
CM_REMOVAL_POLICY_EXPECT_SURPRISE_REMOVAL = 3;
{$EXTERNALSYM CM_REMOVAL_POLICY_EXPECT_SURPRISE_REMOVAL}
//
// Device install states (retrievable via CM_Get_DevInst_Registry_Property with
// the CM_DRP_INSTALL_STATE properties)
//
CM_INSTALL_STATE_INSTALLED = 0;
{$EXTERNALSYM CM_INSTALL_STATE_INSTALLED}
CM_INSTALL_STATE_NEEDS_REINSTALL = 1;
{$EXTERNALSYM CM_INSTALL_STATE_NEEDS_REINSTALL}
CM_INSTALL_STATE_FAILED_INSTALL = 2;
{$EXTERNALSYM CM_INSTALL_STATE_FAILED_INSTALL}
CM_INSTALL_STATE_FINISH_INSTALL = 3;
{$EXTERNALSYM CM_INSTALL_STATE_FINISH_INSTALL}
//
// Flags for CM_Locate_DevNode
//
CM_LOCATE_DEVNODE_NORMAL = $00000000;
{$EXTERNALSYM CM_LOCATE_DEVNODE_NORMAL}
CM_LOCATE_DEVNODE_PHANTOM = $00000001;
{$EXTERNALSYM CM_LOCATE_DEVNODE_PHANTOM}
CM_LOCATE_DEVNODE_CANCELREMOVE = $00000002;
{$EXTERNALSYM CM_LOCATE_DEVNODE_CANCELREMOVE}
CM_LOCATE_DEVNODE_NOVALIDATION = $00000004;
{$EXTERNALSYM CM_LOCATE_DEVNODE_NOVALIDATION}
CM_LOCATE_DEVNODE_BITS = $00000007;
{$EXTERNALSYM CM_LOCATE_DEVNODE_BITS}
CM_LOCATE_DEVINST_NORMAL = CM_LOCATE_DEVNODE_NORMAL;
{$EXTERNALSYM CM_LOCATE_DEVINST_NORMAL}
CM_LOCATE_DEVINST_PHANTOM = CM_LOCATE_DEVNODE_PHANTOM;
{$EXTERNALSYM CM_LOCATE_DEVINST_PHANTOM}
CM_LOCATE_DEVINST_CANCELREMOVE = CM_LOCATE_DEVNODE_CANCELREMOVE;
{$EXTERNALSYM CM_LOCATE_DEVINST_CANCELREMOVE}
CM_LOCATE_DEVINST_NOVALIDATION = CM_LOCATE_DEVNODE_NOVALIDATION;
{$EXTERNALSYM CM_LOCATE_DEVINST_NOVALIDATION}
CM_LOCATE_DEVINST_BITS = CM_LOCATE_DEVNODE_BITS;
{$EXTERNALSYM CM_LOCATE_DEVINST_BITS}
//
// Flags for CM_Open_Class_Key
//
CM_OPEN_CLASS_KEY_INSTALLER = $00000000;
{$EXTERNALSYM CM_OPEN_CLASS_KEY_INSTALLER}
CM_OPEN_CLASS_KEY_INTERFACE = $00000001;
{$EXTERNALSYM CM_OPEN_CLASS_KEY_INTERFACE}
CM_OPEN_CLASS_KEY_BITS = $00000001;
{$EXTERNALSYM CM_OPEN_CLASS_KEY_BITS}
//
// Flags for CM_Query_And_Remove_SubTree
//
CM_REMOVE_UI_OK = $00000000;
{$EXTERNALSYM CM_REMOVE_UI_OK}
CM_REMOVE_UI_NOT_OK = $00000001;
{$EXTERNALSYM CM_REMOVE_UI_NOT_OK}
CM_REMOVE_NO_RESTART = $00000002;
{$EXTERNALSYM CM_REMOVE_NO_RESTART}
CM_REMOVE_BITS = $00000003;
{$EXTERNALSYM CM_REMOVE_BITS}
//
// Backward compatibility--do not use
// (use above CM_REMOVE_* flags instead)
//
CM_QUERY_REMOVE_UI_OK = CM_REMOVE_UI_OK;
{$EXTERNALSYM CM_QUERY_REMOVE_UI_OK}
CM_QUERY_REMOVE_UI_NOT_OK = CM_REMOVE_UI_NOT_OK;
{$EXTERNALSYM CM_QUERY_REMOVE_UI_NOT_OK}
CM_QUERY_REMOVE_BITS = CM_QUERY_REMOVE_UI_OK or CM_QUERY_REMOVE_UI_NOT_OK;
{$EXTERNALSYM CM_QUERY_REMOVE_BITS}
//
// Flags for CM_Reenumerate_DevNode
//
CM_REENUMERATE_NORMAL = $00000000;
{$EXTERNALSYM CM_REENUMERATE_NORMAL}
CM_REENUMERATE_SYNCHRONOUS = $00000001;
{$EXTERNALSYM CM_REENUMERATE_SYNCHRONOUS}
CM_REENUMERATE_RETRY_INSTALLATION = $00000002;
{$EXTERNALSYM CM_REENUMERATE_RETRY_INSTALLATION}
CM_REENUMERATE_ASYNCHRONOUS = $00000004;
{$EXTERNALSYM CM_REENUMERATE_ASYNCHRONOUS}
CM_REENUMERATE_BITS = $00000007;
{$EXTERNALSYM CM_REENUMERATE_BITS}
//
// Flags for CM_Register_Device_Driver
//
CM_REGISTER_DEVICE_DRIVER_STATIC = $00000000;
{$EXTERNALSYM CM_REGISTER_DEVICE_DRIVER_STATIC}
CM_REGISTER_DEVICE_DRIVER_DISABLEABLE = $00000001;
{$EXTERNALSYM CM_REGISTER_DEVICE_DRIVER_DISABLEABLE}
CM_REGISTER_DEVICE_DRIVER_REMOVABLE = $00000002;
{$EXTERNALSYM CM_REGISTER_DEVICE_DRIVER_REMOVABLE}
CM_REGISTER_DEVICE_DRIVER_BITS = $00000003;
{$EXTERNALSYM CM_REGISTER_DEVICE_DRIVER_BITS}
//
// Registry Branch Locations (for CM_Open_DevNode_Key)
//
CM_REGISTRY_HARDWARE = $00000000;
{$EXTERNALSYM CM_REGISTRY_HARDWARE}
CM_REGISTRY_SOFTWARE = $00000001;
{$EXTERNALSYM CM_REGISTRY_SOFTWARE}
CM_REGISTRY_USER = $00000100;
{$EXTERNALSYM CM_REGISTRY_USER}
CM_REGISTRY_CONFIG = $00000200;
{$EXTERNALSYM CM_REGISTRY_CONFIG}
CM_REGISTRY_BITS = $00000301;
{$EXTERNALSYM CM_REGISTRY_BITS}
//
// Flags for CM_Set_DevNode_Problem
//
CM_SET_DEVNODE_PROBLEM_NORMAL = $00000000; // only set problem if currently no problem
{$EXTERNALSYM CM_SET_DEVNODE_PROBLEM_NORMAL}
CM_SET_DEVNODE_PROBLEM_OVERRIDE = $00000001; // override current problem with new problem
{$EXTERNALSYM CM_SET_DEVNODE_PROBLEM_OVERRIDE}
CM_SET_DEVNODE_PROBLEM_BITS = $00000001;
{$EXTERNALSYM CM_SET_DEVNODE_PROBLEM_BITS}
CM_SET_DEVINST_PROBLEM_NORMAL = CM_SET_DEVNODE_PROBLEM_NORMAL;
{$EXTERNALSYM CM_SET_DEVINST_PROBLEM_NORMAL}
CM_SET_DEVINST_PROBLEM_OVERRIDE = CM_SET_DEVNODE_PROBLEM_OVERRIDE;
{$EXTERNALSYM CM_SET_DEVINST_PROBLEM_OVERRIDE}
CM_SET_DEVINST_PROBLEM_BITS = CM_SET_DEVNODE_PROBLEM_BITS;
{$EXTERNALSYM CM_SET_DEVINST_PROBLEM_BITS}
//
// Flags for CM_Set_HW_Prof_Flags
//
CM_SET_HW_PROF_FLAGS_UI_NOT_OK = $00000001; // Don't popup any veto UI
{$EXTERNALSYM CM_SET_HW_PROF_FLAGS_UI_NOT_OK}
CM_SET_HW_PROF_FLAGS_BITS = $00000001;
{$EXTERNALSYM CM_SET_HW_PROF_FLAGS_BITS}
//
// Re-enable and configuration actions (specified in call to CM_Setup_DevInst)
//
CM_SETUP_DEVNODE_READY = $00000000; // Reenable problem devinst
{$EXTERNALSYM CM_SETUP_DEVNODE_READY}
CM_SETUP_DEVINST_READY = CM_SETUP_DEVNODE_READY;
{$EXTERNALSYM CM_SETUP_DEVINST_READY}
CM_SETUP_DOWNLOAD = $00000001; // Get info about devinst
{$EXTERNALSYM CM_SETUP_DOWNLOAD}
CM_SETUP_WRITE_LOG_CONFS = $00000002;
{$EXTERNALSYM CM_SETUP_WRITE_LOG_CONFS}
CM_SETUP_PROP_CHANGE = $00000003;
{$EXTERNALSYM CM_SETUP_PROP_CHANGE}
CM_SETUP_DEVNODE_RESET = $00000004; // Reset problem devinst without starting
{$EXTERNALSYM CM_SETUP_DEVNODE_RESET}
CM_SETUP_DEVINST_RESET = CM_SETUP_DEVNODE_RESET;
{$EXTERNALSYM CM_SETUP_DEVINST_RESET}
CM_SETUP_BITS = $00000007;
{$EXTERNALSYM CM_SETUP_BITS}
//
// Flags for CM_Query_Arbitrator_Free_Data and
// CM_Query_Arbitrator_Free_Data_Size.
//
CM_QUERY_ARBITRATOR_RAW = $00000000;
{$EXTERNALSYM CM_QUERY_ARBITRATOR_RAW}
CM_QUERY_ARBITRATOR_TRANSLATED = $00000001;
{$EXTERNALSYM CM_QUERY_ARBITRATOR_TRANSLATED}
CM_QUERY_ARBITRATOR_BITS = $00000001;
{$EXTERNALSYM CM_QUERY_ARBITRATOR_BITS}
//
// Flags for CM_Get_DevNode_Custom_Property
//
CM_CUSTOMDEVPROP_MERGE_MULTISZ = $00000001;
{$EXTERNALSYM CM_CUSTOMDEVPROP_MERGE_MULTISZ}
CM_CUSTOMDEVPROP_BITS = $00000001;
{$EXTERNALSYM CM_CUSTOMDEVPROP_BITS}
//--------------------------------------------------------------
// Function prototypes
//--------------------------------------------------------------
{$IFNDEF CFGMGR32_LINKONREQUEST}
function CM_Add_Empty_Log_Conf(var lcLogConf: LOG_CONF;
dnDevInst: DEVINST; Priority: PRIORITY; ulFlags: ULONG): CONFIGRET; stdcall;
function CM_Add_Empty_Log_Conf_Ex(var lcLogConf: LOG_CONF;
dnDevInst: DEVINST; Priority: PRIORITY; ulFlags: ULONG;
hMachine: HMACHINE): CONFIGRET; stdcall;
function CM_Add_IDA(dnDevInst: DEVINST; pszID: PAnsiChar;
ulFlags: ULONG): CONFIGRET; stdcall;
function CM_Add_IDW(dnDevInst: DEVINST; pszID: PWideChar;
ulFlags: ULONG): CONFIGRET; stdcall;
function CM_Add_ID(dnDevInst: DEVINST; pszID: PTSTR;
ulFlags: ULONG): CONFIGRET; stdcall;
function CM_Add_ID_ExA(dnDevInst: DEVINST; pszID: PAnsiChar;
ulFlags: ULONG; hMachine: HMACHINE): CONFIGRET; stdcall;
function CM_Add_ID_ExW(dnDevInst: DEVINST; pszID: PWideChar;
ulFlags: ULONG; hMachine: HMACHINE): CONFIGRET; stdcall;
function CM_Add_ID_Ex(dnDevInst: DEVINST; pszID: PTSTR;
ulFlags: ULONG; hMachine: HMACHINE): CONFIGRET; stdcall;
function CM_Add_Range(ullStartValue: DWORDLONG;
ullEndValue: DWORDLONG; rlh: RANGE_LIST;
ulFlags: ULONG): CONFIGRET; stdcall;
function CM_Add_Res_Des(var rdResDes: RES_DES; lcLogConf: LOG_CONF;
ResourceID: RESOURCEID; ResourceData: Pointer; ResourceLen: ULONG;
ulFlags: ULONG): CONFIGRET; stdcall;
function CM_Add_Res_Des_Ex(var rdResDes: RES_DES;
lcLogConf: LOG_CONF; ResourceID: RESOURCEID; ResourceData: Pointer;
ResourceLen: ULONG; ulFlags: ULONG; hMachine: HMACHINE): CONFIGRET; stdcall;
function CM_Connect_MachineA(const UNCServerName: PAnsiChar;
var hMachine: HMACHINE): CONFIGRET; stdcall;
function CM_Connect_MachineW(const UNCServerName: PWideChar;
var hMachine: HMACHINE): CONFIGRET; stdcall;
function CM_Connect_Machine(const UNCServerName: PTSTR;
var hMachine: HMACHINE): CONFIGRET; stdcall;
function CM_Create_DevNodeA(var dnDevInst: DEVINST; pDeviceID: DEVINSTID_A;
dnParent: DEVINST; ulFlags: ULONG): CONFIGRET; stdcall;
function CM_Create_DevNodeW(var dnDevInst: DEVINST; pDeviceID: DEVINSTID_W;
dnParent: DEVINST; ulFlags: ULONG): CONFIGRET; stdcall;
function CM_Create_DevNode(var dnDevInst: DEVINST; pDeviceID: DEVINSTID;
dnParent: DEVINST; ulFlags: ULONG): CONFIGRET; stdcall;
function CM_Create_DevNode_ExA(var dnDevInst: DEVINST; pDeviceID: DEVINSTID_A;
dnParent: DEVINST; ulFlags: ULONG; hMachine: HMACHINE): CONFIGRET; stdcall;
function CM_Create_DevNode_ExW(var dnDevInst: DEVINST; pDeviceID: DEVINSTID_W;
dnParent: DEVINST; ulFlags: ULONG; hMachine: HMACHINE): CONFIGRET; stdcall;
function CM_Create_DevNode_Ex(var dnDevInst: DEVINST; pDeviceID: DEVINSTID;
dnParent: DEVINST; ulFlags: ULONG; hMachine: HMACHINE): CONFIGRET; stdcall;
function CM_Create_DevInstA(var dnDevInst: DEVINST; pDeviceID: DEVINSTID_A;
dnParent: DEVINST; ulFlags: ULONG): CONFIGRET; stdcall;
function CM_Create_DevInstW(var dnDevInst: DEVINST; pDeviceID: DEVINSTID_W;
dnParent: DEVINST; ulFlags: ULONG): CONFIGRET; stdcall;
function CM_Create_DevInst(var dnDevInst: DEVINST; pDeviceID: DEVINSTID;
dnParent: DEVINST; ulFlags: ULONG): CONFIGRET; stdcall;
function CM_Create_DevInst_ExA(var dnDevInst: DEVINST; pDeviceID: DEVINSTID_A;
dnParent: DEVINST; ulFlags: ULONG; hMachine: HMACHINE): CONFIGRET; stdcall;
function CM_Create_DevInst_ExW(var dnDevInst: DEVINST; pDeviceID: DEVINSTID_W;
dnParent: DEVINST; ulFlags: ULONG; hMachine: HMACHINE): CONFIGRET; stdcall;
function CM_Create_DevInst_Ex(var dnDevInst: DEVINST; pDeviceID: DEVINSTID;
dnParent: DEVINST; ulFlags: ULONG; hMachine: HMACHINE): CONFIGRET; stdcall;
function CM_Create_Range_List(var rlh: RANGE_LIST; ulFlags: ULONG): CONFIGRET; stdcall;
function CM_Delete_Class_Key(ClassGuid: PGUID; ulFlags: ULONG): CONFIGRET; stdcall;
function CM_Delete_Class_Key_Ex(ClassGuid: PGUID; ulFlags: ULONG;
hMachine: HMACHINE): CONFIGRET; stdcall;
function CM_Delete_DevNode_Key(dnDevNode: DEVNODE;
ulHardwareProfile: ULONG; ulFlags: ULONG): CONFIGRET; stdcall;
function CM_Delete_DevNode_Key_Ex(dnDevNode: DEVNODE;
ulHardwareProfile: ULONG; ulFlags: ULONG; hMachine: HMACHINE): CONFIGRET; stdcall;
function CM_Delete_DevInst_Key(dnDevNode: DEVINST;
ulHardwareProfile: ULONG; ulFlags: ULONG): CONFIGRET; stdcall;
function CM_Delete_DevInst_Key_Ex(dnDevNode: DEVINST; ulHardwareProfile: ULONG;
ulFlags: ULONG; hMachine: HMACHINE): CONFIGRET; stdcall;
function CM_Delete_Range(ullStartValue: DWORDLONG; ullEndValue: DWORDLONG;
rlh: RANGE_LIST; ulFlags: ULONG): CONFIGRET; stdcall;
function CM_Detect_Resource_Conflict(dnDevInst: DEVINST;
ResourceID: RESOURCEID; ResourceData: Pointer; ResourceLen: ULONG;
var bConflictDetected: BOOL; ulFlags: ULONG): CONFIGRET; stdcall;
function CM_Detect_Resource_Conflict_Ex(dnDevInst: DEVINST;
ResourceID: RESOURCEID; ResourceData: Pointer; ResourceLen: ULONG;
var bConflictDetected: BOOL; ulFlags: ULONG; hMachine: HMACHINE): CONFIGRET; stdcall;
function CM_Disable_DevNode(dnDevInst: DEVINST; ulFlags: ULONG): CONFIGRET; stdcall;
function CM_Disable_DevNode_Ex(dnDevInst: DEVINST;
ulFlags: ULONG; hMachine: HMACHINE): CONFIGRET; stdcall;
function CM_Disable_DevInst(dnDevInst: DEVINST; ulFlags: ULONG): CONFIGRET; stdcall;
function CM_Disable_DevInst_Ex(dnDevInst: DEVINST;
ulFlags: ULONG; hMachine: HMACHINE): CONFIGRET; stdcall;
function CM_Disconnect_Machine(hMachine: HMACHINE): CONFIGRET; stdcall;
function CM_Dup_Range_List(rlhOld: RANGE_LIST; rlhNew: RANGE_LIST;
ulFlags: ULONG): CONFIGRET; stdcall;
function CM_Enable_DevNode(dnDevInst: DEVINST; ulFlags: ULONG): CONFIGRET; stdcall;
function CM_Enable_DevNode_Ex(dnDevInst: DEVINST;
ulFlags: ULONG; hMachine: HMACHINE): CONFIGRET; stdcall;
function CM_Enable_DevInst(dnDevInst: DEVINST; ulFlags: ULONG): CONFIGRET; stdcall;
function CM_Enable_DevInst_Ex(dnDevInst: DEVINST;
ulFlags: ULONG; hMachine: HMACHINE): CONFIGRET; stdcall;
function CM_Enumerate_Classes(ulClassIndex: ULONG;
var ClassGuid: TGUID; ulFlags: ULONG): CONFIGRET; stdcall;
function CM_Enumerate_Classes_Ex(ulClassIndex: ULONG; var ClassGuid: TGUID;
ulFlags: ULONG; hMachine: HMACHINE): CONFIGRET; stdcall;
function CM_Enumerate_EnumeratorsA(ulEnumIndex: ULONG; Buffer: PAnsiChar;
var ulLength: ULONG; ulFlags: ULONG): CONFIGRET; stdcall;
function CM_Enumerate_EnumeratorsW(ulEnumIndex: ULONG; Buffer: PWideChar;
var ulLength: ULONG; ulFlags: ULONG): CONFIGRET; stdcall;
function CM_Enumerate_Enumerators(ulEnumIndex: ULONG; Buffer: PTSTR;
var ulLength: ULONG; ulFlags: ULONG): CONFIGRET; stdcall;
function CM_Enumerate_Enumerators_ExA(ulEnumIndex: ULONG; Buffer: PAnsiChar;
var ulLength: ULONG; ulFlags: ULONG; hMachine: HMACHI
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -