CM_Add_Empty_Log_Conf_Ex 函数 (cfgmgr32.h)

[从 Windows 8 和 Windows Server 2012 开始,此函数已弃用。 请改用 CM_Add_Empty_Log_Conf 。]

CM_Add_Empty_Log_Conf_Ex 函数在本地或远程计算机上为指定的配置类型和指定的设备实例创建空的逻辑配置。

语法

CMAPI CONFIGRET CM_Add_Empty_Log_Conf_Ex(
  [out]          PLOG_CONF plcLogConf,
  [in]           DEVINST   dnDevInst,
  [in]           PRIORITY  Priority,
  [in]           ULONG     ulFlags,
  [in, optional] HMACHINE  hMachine
);

参数

[out] plcLogConf

指向要接收空逻辑配置的句柄的位置的指针。

[in] dnDevInst

调用方提供的设备实例句柄,绑定到 hMachine 提供的计算机句柄。

[in] Priority

调用方提供的配置优先级值。 有关值列表,请参阅CM_Add_Empty_Log_Conf的优先级说明。

[in] ulFlags

调用方提供的标志,用于指定逻辑配置的类型。 有关标志列表,请参阅CM_Add_Empty_Log_Conf的说明 ulFlags 说明。

[in, optional] hMachine

调用方提供的计算机句柄,调用方提供的设备实例句柄绑定到该句柄。

注意从Windows 8和Windows Server 2012开始,不支持使用此函数访问远程计算机,因为此功能已被删除。
 

返回值

如果操作成功,函数将返回CR_SUCCESS。 否则,它将返回 Cfgmgr32.h 中定义的CR_前缀错误代码之一。

注意从Windows 8开始,CM_Add_Empty_Log_Conf_Ex在 Wow64 方案中使用时返回CR_CALL_NOT_IMPLEMENTED。 若要请求有关本地计算机上的硬件资源的信息,必须使用硬件资源 API 实现应用程序的体系结构本机版本。 例如:AMD64 系统的 AMD64 应用程序。
 

注解

调用 CM_Add_Empty_Log_Conf_Ex 可能导致 CM_Get_First_Log_Conf_ExCM_Get_Next_Log_Conf_Ex 返回的句柄无效。 因此,如果要在调用 CM_Add_Empty_Log_Conf_Ex 后获取逻辑配置,代码必须再次调用 CM_Get_First_Log_Conf_Ex 并在第一次配置时启动。

若要删除 由 CM_Add_Empty_Log_Conf_Ex 创建的逻辑配置,请调用 CM_Free_Log_Conf_Ex

必须通过调用 CM_Free_Log_Conf_Handle 显式释放在 plcLogConf 中收到的句柄。

此函数的调用方必须具有 SeLoadDriverPrivilege。 Microsoft Windows SDK 文档中介绍了 (特权。)

有关使用绑定到本地或远程计算机的设备实例句柄的信息,请参阅 CM_Get_Child_Ex

Windows 8 和 Windows Server 2012 及更高版本的操作系统中删除了访问远程计算机的功能,因此在这些版本的 Windows 上运行时,无法访问远程计算机。

要求

要求
最低受支持的客户端 在 Microsoft Windows 2000 及更高版本的 Windows 中可用。
目标平台 桌面
标头 cfgmgr32.h (包括 Cfgmgr32.h)
Library Cfgmgr32.lib
DLL Cfgmgr32.dll

另请参阅

CM_Add_Empty_Log_Conf

CM_Free_Log_Conf_Ex

CM_Free_Log_Conf_Handle

CM_Get_Child_Ex

CM_Get_First_Log_Conf_Ex

CM_Get_Next_Log_Conf_Ex