CM_Reenumerate_DevNode 函数 (cfgmgr32.h)
CM_Reenumerate_DevNode 函数枚举由指定设备节点及其所有子节点标识的设备。
语法
CMAPI CONFIGRET CM_Reenumerate_DevNode(
[in] DEVINST dnDevInst,
[in] ULONG ulFlags
);
参数
[in] dnDevInst
绑定到本地计算机的调用方提供的设备实例句柄。
[in] ulFlags
调用方提供的标志,指定应如何重新进行。 此参数可以设置为以下标志的组合,如前所述:
CM_REENUMERATE_ASYNCHRONOUS
应异步进行重新调用。 在 PnP 管理器收到恢复请求后,立即返回对此函数的调用。 如果设置了此标志,则不应同时设置CM_REENUMERATE_SYNCHRONOUS标志。
CM_REENUMERATE_NORMAL
指定默认的重新执行行为,其中,以同步方式进行重新执行。 此标志在功能上等效于 CM_REENUMERATE_SYNCHRONOUS。
CM_REENUMERATE_RETRY_INSTALLATION
指定即插即用应再次尝试安装指定子树中已检测到但尚未配置、标记为需要重新安装或必须完成安装的任何设备。 此标志 可以与CM_REENUMERATE_SYNCHRONOUS 标志 或 CM_REENUMERATE_ASYNCHRONOUS标志一起设置。
使用此标志时必须格外小心,因为它可能导致 PnP 管理器提示用户执行任何此类设备的安装。 目前,只有 设备管理器 和硬件向导等组件使用此标志,以允许用户重试安装可能已检测到但当前尚未安装的设备。
CM_REENUMERATE_SYNCHRONOUS
应同步进行重新调用。 当指定子树中的所有设备都已恢复时,将返回对此函数的调用。 如果设置了此标志,则不应同时设置CM_REENUMERATE_ASYNCHRONOUS标志。 此标志在功能上等效于 CM_REENUMERATE_NORMAL。
返回值
如果操作成功,函数将返回CR_SUCCESS。 否则,它将返回 Cfgmgr32.h 中定义的CR_前缀错误代码之一。
注解
如果指定的设备节点表示硬件或软件总线设备,则 PnP 管理器会查询设备的驱动程序以获取子级列表,然后尝试配置和启动以前未配置的任何子设备。 PnP 管理器还会启动意外删除不再存在的设备, (看到 IRP_MN_SURPRISE_REMOVAL) 。
此函数的调用方必须具有 SeLoadDriverPrivilege。 Microsoft Windows SDK 文档中介绍了 (特权。)
有关使用绑定到本地计算机的设备实例句柄的信息,请参阅 CM_Get_Child。
要求
最低受支持的客户端 | 在 Microsoft Windows 2000 及更高版本的 Windows 中可用。 |
目标平台 | 桌面 |
标头 | cfgmgr32.h (包括 Cfgmgr32.h) |
Library | Cfgmgr32.lib |
DLL | Cfgmgr32.dll |