在 Win32 API 中,CM_Uninstall_DevNode 函数用于卸载设备节点。以下是该函数的基本信息:CMAPI CONFIGRET WINAPI CM_Uninstall_DevNode( DEVINST dnDevInst, ULONG ulFlags);参数说明: dnDevInst: 设备实例 ID,标识要卸载的设备节点。 ulFlags: 控制卸载操作的标志。该函数用于从系统中卸载指定的设备节点。具体的用法和参数含义可以参考 Microsoft 的官方文档或相关的编程资源。请注意,对设备节点的卸载操作可能会导致系统硬件状态的变化,因此在使用此函数时需要小心确保操作的准确性和安全性。
在 Windows 的 Cfgmgr32.h 头文件中,CM_Set_DevNode_Registry_PropertyA 函数用于设置设备节点的注册属性(Registry Property)。以下是该函数的基本信息:CMAPI CONFIGRET WINAPI CM_Set_DevNode_Registry_PropertyA( DEVINST dnDevInst, ULONG ulProperty, PCVOID Buffer, ULONG ulLength, ULONG ulFlags, HMACHINE hMachine);参数说明: dnDevInst: 设备实例 ID,标识要设置注册属性的设备节点。 ulProperty: 指定注册属性的标识,例如 CM_DRP_DEVICEDESC 表示设备描述。 Buffer: 包含属性值的缓冲区。 ulLength: 缓冲区的大小。 ulFlags: 控制设置属性的行为。 hMachine: 用于指定是本地计算机还是远程计算机上的设备节点。请注意,这里的函数名中的...
CM_Set_DevNode_PropertyW 函数同样属于 Configuration Manager API,用于设置设备节点的属性。下面是该函数的基本信息:CMAPI CONFIGRET WINAPI CM_Set_DevNode_PropertyW( DEVINST dnDevInst, CONST DEVPROPKEY *PropertyKey, DEVPROPTYPE PropertyType, CONST PBYTE PropertyBuffer, ULONG ulLength, ULONG ulFlags);参数说明: dnDevInst: 设备实例 ID,标识要设置属性的设备节点。 PropertyKey: 指定属性的键,通常是一个 DEVPROPKEY 结构,用于唯一标识一个属性。 PropertyType: 属性的数据类型,例如 DEVPROP_TYPE_STRING 表示字符串类型。 PropertyBuffer: 包含属性值的缓冲区。 ulLength: 缓冲区的大小。 ulFlags: 控制设置属性的行...
CM_Set_DevNode_Property_ExW 函数是 Windows 操作系统中的一个函数,属于 Configuration Manager API。这个函数用于设置设备节点(Device Node)的属性。以下是该函数的基本信息:CMAPI CONFIGRET WINAPI CM_Set_DevNode_Property_ExW( DEVINSTID_W pDevInst, const DEVPROPKEY *PropertyKey, DEVPROPTYPE PropertyType, const PBYTE PropertyBuffer, ULONG ulLength, ULONG ulFlags, HMACHINE hMachine);参数说明: pDevInst: 设备实例 ID,标识要设置属性的设备节点。 PropertyKey: 指定属性的键,通常是一个 DEVPROPKEY 结构,用于唯一标识一个属性。 PropertyType: 属性的数据类型,例如 DEVPROP_TYPE_STRING 表示字符串类型。 PropertyBuffer: 包含属...
CM_Set_DevNode_Problem 函数是 Windows 操作系统中的 Win32 API,属于 Configuration Manager API,用于设置设备节点(DevNode)的问题码和状态。以下是函数的基本定义:CMAPI CONFIGRET CM_Set_DevNode_Problem( DEVINST dnDevInst, ULONG ulProblem, ULONG ulFlags);参数说明: dnDevInst:指定设备节点的实例句柄。 ulProblem:指定设备节点的问题码。 ulFlags:标志位,用于指定操作的选项。函数返回一个 CONFIGRET 类型的值,表示操作的结果状态。这个函数的作用是设置指定设备节点的问题码和状态。参数中的 ulProblem 是一个表示问题码的值,而 ulFlags 可以用来指定一些额外的选项。请注意,使用此函数要小心,确保了解问题码的含义以及对系统的影响。在使用之前,最好查阅相关的官方文档或参考资料。
CM_Set_Device_Interface_PropertyW 函数是 Windows 操作系统中的 Win32 API,属于 Configuration Manager API,用于设置设备接口属性的值。函数使用宽字符版本的字符串。以下是函数的基本定义:CMAPI CONFIGRET CM_Set_Device_Interface_PropertyW( LPCWSTR pszDeviceInterface, CONST DEVPROPKEY *pPropertyKey, DEVPROPTYPE PropertyType, CONST PBYTE pbProperty, ULONG cbProperty, ULONG ulFlags);参数说明: pszDeviceInterface:设备接口的路径名。 pPropertyKey:指定要设置的属性键。 PropertyType:指定属性的类型。 pbProperty:包含要设置的属性值的缓冲区。 cbProperty:pbProperty 缓冲区的大...
CM_Set_Class_Registry_PropertyW 函数是 Windows 操作系统中的 Win32 API,属于 Configuration Manager API,用于设置设备类注册表属性的值。函数使用宽字符版本的字符串。以下是函数的基本定义:CMAPI CONFIGRET CM_Set_Class_Registry_PropertyW( LPGUID ClassGuid, ULONG ulProperty, PCVOID Buffer, ULONG ulLength, ULONG ulFlags, HMACHINE hMachine);参数说明: ClassGuid:设备类的 GUID。 ulProperty:注册表属性的标识符,用于指定要设置的属性。 Buffer:包含要设置的属性值的缓冲区。 ulLength:Buffer 缓冲区的大小。 ulFlags:标志位,用于指定操作的选项。 hMachine:指定要操作的机器句柄。通常可以传入 NULL,表示本地...
CM_Set_Class_Registry_PropertyA 函数是 Windows 操作系统中的 Win32 API,属于 Configuration Manager API,用于设置设备类注册表属性的值。函数使用 ANSI 字符集的字符串。以下是函数的基本定义:CMAPI CONFIGRET CM_Set_Class_Registry_PropertyA( LPGUID ClassGuid, ULONG ulProperty, PCVOID Buffer, ULONG ulLength, ULONG ulFlags, HMACHINE hMachine);参数说明: ClassGuid:设备类的 GUID。 ulProperty:注册表属性的标识符,用于指定要设置的属性。 Buffer:包含要设置的属性值的缓冲区。 ulLength:Buffer 缓冲区的大小。 ulFlags:标志位,用于指定操作的选项。 hMachine:指定要操作的机器句柄。通常可以传入 NULL,...
CM_Request_Device_EjectW 函数是 Windows 操作系统中的 Win32 API,也属于 Configuration Manager API,与CM_Request_Device_EjectA类似,用于请求弹出(eject)指定设备实例的媒体。不同之处在于函数使用宽字符版本的字符串。以下是函数的基本定义:CMAPI CONFIGRET CM_Request_Device_EjectW( DEVINST dnDevInst, PPNP_VETO_TYPE pVetoType, LPWSTR pszVetoName, ULONG ulNameLength, ULONG ulFlags);参数说明: dnDevInst:指定要弹出媒体的设备实例句柄。 pVetoType:如果设备无法弹出,则此参数返回一个 PNP_VETO_TYPE 类型的值,指示拒绝的原因。 pszVetoName:如果设备无法弹出,此参数返回一个字符串,表示拒绝的设备名称。 ulNameLength:指定 pszVetoName 缓冲区...
CM_Request_Device_EjectA 函数是 Windows 操作系统中的 Win32 API,也属于 Configuration Manager API,用于请求弹出(eject)指定设备实例的媒体。这个函数使用 ANSI 字符集的字符串。以下是函数的基本定义:CMAPI CONFIGRET CM_Request_Device_EjectA( DEVINST dnDevInst, PPNP_VETO_TYPE pVetoType, LPSTR pszVetoName, ULONG ulNameLength, ULONG ulFlags);参数说明: dnDevInst:指定要弹出媒体的设备实例句柄。 pVetoType:如果设备无法弹出,则此参数返回一个 PNP_VETO_TYPE 类型的值,指示拒绝的原因。 pszVetoName:如果设备无法弹出,此参数返回一个字符串,表示拒绝的设备名称。 ulNameLength:指定 pszVetoName 缓冲区的大小。 ulFlags:标志位,用于指定操作的选项。函...
CM_Request_Device_Eject_ExW 函数是 Windows 操作系统中的 Win32 API,也属于 Configuration Manager API,与CM_Request_Device_Eject_ExA类似,用于请求弹出(eject)指定设备实例的媒体。不同之处在于函数使用宽字符版本的字符串。以下是函数的基本定义:CMAPI CONFIGRET CM_Request_Device_Eject_ExW( DEVINST dnDevInst, PPNP_VETO_TYPE pVetoType, LPWSTR pszVetoName, ULONG ulNameLength, ULONG ulFlags, HMACHINE hMachine);参数说明: dnDevInst:指定要弹出媒体的设备实例句柄。 pVetoType:如果设备无法弹出,则此参数返回一个 PNP_VETO_TYPE 类型的值,指示拒绝的原因。 pszVetoName:如果设备无法弹出,此参数返回一个字符串,表示拒绝的设备名称...
CM_Request_Device_Eject_ExA 函数是 Windows 操作系统中的 Win32 API,也属于 Configuration Manager API,用于请求弹出(eject)指定设备实例的媒体。该函数可以用于弹出可移动设备,例如 USB 驱动器。以下是函数的基本定义:CMAPI CONFIGRET CM_Request_Device_Eject_ExA( DEVINST dnDevInst, PPNP_VETO_TYPE pVetoType, LPSTR pszVetoName, ULONG ulNameLength, ULONG ulFlags, HMACHINE hMachine);参数说明: dnDevInst:指定要弹出媒体的设备实例句柄。 pVetoType:如果设备无法弹出,则此参数返回一个 PNP_VETO_TYPE 类型的值,指示拒绝的原因。 pszVetoName:如果设备无法弹出,此参数返回一个字符串,表示拒绝的设备名称。 ulNameLength:指定 pszVeto...
CM_Remove_SubTree_Ex 函数是 Windows 操作系统中的一个 Win32 API,它属于 Configuration Manager API,用于移除设备管理器中指定子树(subtree)的配置信息。以下是函数的基本定义:CMAPI CONFIGRET CM_Remove_SubTree_Ex( DEVINST dnAncestor, ULONG ulFlags, HMACHINE hMachine);参数说明: dnAncestor:指定要移除的子树的祖先设备实例句柄。 ulFlags:标志位,用于指定操作的选项。 hMachine:指定要操作的机器句柄。通常可以传入 NULL,表示本地机器。函数返回一个 CONFIGRET 类型的值,表示操作的结果状态。这个函数的作用是删除指定设备实例的子树配置信息,包括该设备实例及其所有子设备的配置信息。参数中的 ulFlags 可以用来指定一些额外的选项,例如是否强制删除等。请注意,使用这样的 API 需要小心,确保你了解它的具体行为,以免对系统产生不良影响。在使用之前,最好查阅相关的...
CM_Remove_SubTree 函数是 Windows 设备管理 API 中的函数,用于移除设备管理器中的指定子树。以下是该函数的基本信息:CMAPI CONFIGRET CM_Remove_SubTree( DEVINST dnAncestor, ULONG ulFlags);参数说明: dnAncestor:指定待移除的子树的祖先设备实例。 ulFlags:指定标志,用于控制移除的行为。函数返回一个 CONFIGRET 类型的错误代码,如果操作成功则返回 CR_SUCCESS。使用这类设备管理函数需要小心谨慎,确保在调用之前充分了解其行为,并在必要时备份系统或者设备管理器配置。CM_Remove_SubTree 函数用于移除指定设备实例及其所有子设备实例。
CM_Register_Notification 函数是 Windows 设备管理 API 中的函数,用于注册设备管理器的通知。以下是该函数的基本信息:CMAPI CONFIGRET CM_Register_Notification( PCM_NOTIFY_FILTER pFilter, PVOID pContext, PCM_NOTIFY_CALLBACK pCallBack, PHCMNOTIFICATION phNotification);参数说明: pFilter:指向 CM_NOTIFY_FILTER 结构的指针,用于指定通知的过滤条件。 pContext:用于传递上下文信息的指针,将在通知回调函数中使用。 pCallBack:指向通知回调函数的指针,该函数将在满足过滤条件时被调用。 phNotification:用于接收通知句柄的指针。函数返回一个 CONFIGRET 类型的错误代码,如果操作成功则返回 CR_SUCCESS。请注意,通知回调函数 PCM_NOTIFY_CALLBACK 的原型如下:typedef ULONG (CALLBA...
CM_Register_Device_InterfaceW 函数用于向系统注册设备接口。以下是该函数的基本信息:CMAPI CONFIGRET CM_Register_Device_InterfaceW( DEVINST dnDevInst, LPGUID InterfaceClassGuid, PCWSTR pszReference, PWSTR pszDeviceInterface, ULONG ulFlags);参数说明: dnDevInst:设备实例标识符,标识要注册接口的设备。 InterfaceClassGuid:指定设备接口的类 GUID。 pszReference:指定设备接口的引用字符串。 pszDeviceInterface:用于接收设备接口路径的缓冲区。 ulFlags:指定标志,用于控制注册的行为。函数返回一个 CONFIGRET 类型的错误代码,如果操作成功则返回 CR_SUCCESS。这个函数是使用 Unicode 字符集的版本。如果你的应用程序使用的是 ANSI 字...
CM_Register_Device_InterfaceA 函数用于向系统注册设备接口。以下是该函数的基本信息:CMAPI CONFIGRET CM_Register_Device_InterfaceA( DEVINST dnDevInst, LPGUID InterfaceClassGuid, PCSTR pszReference, PSTR pszDeviceInterface, ULONG ulFlags);参数说明: dnDevInst:设备实例标识符,标识要注册接口的设备。 InterfaceClassGuid:指定设备接口的类 GUID。 pszReference:指定设备接口的引用字符串。 pszDeviceInterface:用于接收设备接口路径的缓冲区。 ulFlags:指定标志,用于控制注册的行为。函数返回一个 CONFIGRET 类型的错误代码,如果操作成功则返回 CR_SUCCESS。请注意,CM_Register_Device_InterfaceA 函数是使用 AN...
CM_Reenumerate_DevNode 函数是 Windows 设备管理 API 中的一个函数,用于通知设备管理器重新枚举指定设备节点及其子树。以下是该函数的基本信息:CMAPI CONFIGRET CM_Reenumerate_DevNode( DEVINST dnDevInst, ULONG ulFlags);参数说明: dnDevInst:指定设备实例,将其及其子树进行重新枚举。 ulFlags:指定标志,用于控制重新枚举的行为。函数返回一个 CONFIGRET 类型的错误代码,如果操作成功则返回 CR_SUCCESS。使用这类设备管理函数需要小心谨慎,确保在调用之前充分了解其行为,并在必要时备份系统或者设备管理器配置。CM_Reenumerate_DevNode 可以用于通知系统重新扫描指定设备及其子树,例如,在设备配置发生变化时触发更新。
在 Windows 的设备管理 API 中,CM_Query_Resource_Conflict_List 函数用于查询设备资源冲突列表。以下是该函数的基本信息:CMAPI CONFIGRET CM_Query_Resource_Conflict_List( PCONFLICT_LIST pclConflictList, DEVINST dnDevInst, RESOURCEID ResourceID, PVOID ResourceData, ULONG ResourceLen, ULONG ulFlags, HMACHINE hMachine);参数说明: pclConflictList:指向 CONFLICT_LIST 结构的指针,该结构用于接收冲突信息。 dnDevInst:指定设备实例。 ResourceID:指定资源标识符,用于标识要查询的资源类型。 ResourceData:指向资源数据的指针。 ResourceLen:指定资源数据的长度。 ulFlags:指定标志,用于控...
CM_Query_And_Remove_SubTreeW 函数是 Windows 操作系统中的一个设备管理函数,用于查询并移除设备管理器中指定子树的配置信息。这个函数是对 Unicode 字符集的支持版本,与之前提到的 CM_Query_And_Remove_SubTreeA 函数相比。以下是关于 CM_Query_And_Remove_SubTreeW 函数的基本信息:DWORD CM_Query_And_Remove_SubTreeW( DEVINST dnAncestor, PPNP_VETO_TYPE pVetoType, LPWSTR pszVetoName, ULONG ulNameLength, ULONG ulFlags);参数说明: dnAncestor:指定待查询和移除的子树的祖先设备实例。 pVetoType:指向 PNP_VETO_TYPE 变量的指针,用于接收阻止移除操作的原因类型。 pszVetoName:指向接收阻止移除操作的设备名的缓冲区的指针。 ulNameLength:指定 pszV...
最新文章