SetupDiCreateDeviceInfoListExA 函数 (setupapi.h)

SetupDiCreateDeviceInfoList 函数在远程或本地计算机上创建空设备信息集,并选择性地将该集与设备安装类 相关联。

语法

WINSETUPAPI HDEVINFO SetupDiCreateDeviceInfoListExA(
  [in, optional] const GUID *ClassGuid,
  [in, optional] HWND       hwndParent,
  [in, optional] PCSTR      MachineName,
                 PVOID      Reserved
);

参数

[in, optional] ClassGuid

指向要与新创建的设备信息集关联的设备安装类的 GUID 的指针。 如果指定此参数,则此设备信息集中只能包含此类的设备。 如果此参数设置为 NULL,则设备信息集不与特定的设备设置类相关联。

[in, optional] hwndParent

顶级窗口的句柄,用于与非设备特定的操作相关的任何用户界面 (,例如使用全局类驱动程序列表) 的“选择设备”对话框。 此句柄是可选的,可以为 NULL。 如果不需要特定的顶级窗口,请将 hwndParent 设置为 NULL

[in, optional] MachineName

指向以 NULL 结尾的字符串的指针,该字符串包含网络上的计算机的名称。 如果指定了名称,则只能在此设备信息集中创建和打开该计算机上的设备。 如果此参数设置为 NULL,则设备信息集适用于本地计算机上的设备。

注意

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

Reserved

必须为 NULL

返回值

如果成功,函数将返回空设备信息集的句柄。 否则,它将返回INVALID_HANDLE_VALUE。 要获得更多的错误信息,请调用 GetLastError。

注解

如果通过调用 SetupDiDestroyDeviceInfoList 不再需要返回的设备信息集,则此函数的调用方必须删除返回的设备信息集。

如果设备信息集适用于远程计算机上的设备, (MachineName 不为 NULL) ,则对此集或其任何元素的所有后续操作都必须使用支持具有远程元素的设备信息集的例程。 不提供此支持的 SetupDiXxx 例程(如 SetupDiCallClassInstaller)在其引用页中具有此效果的语句。

注意

setupapi.h 标头将 SetupDiCreateDeviceInfoListEx 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定

要求

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

另请参阅

SetupDiCreateDeviceInfoList

SetupDiDestroyDeviceInfoList

SetupDiGetDeviceInfoListDetail