SetupDiSelectDevice 函数 (setupapi.h)

SetupDiSelectDevice 函数是DIF_SELECTDEVICE请求的默认处理程序。

语法

WINSETUPAPI BOOL SetupDiSelectDevice(
  [in]      HDEVINFO         DeviceInfoSet,
  [in, out] PSP_DEVINFO_DATA DeviceInfoData
);

参数

[in] DeviceInfoSet

设备信息集的句柄,其中包含表示要为其选择驱动程序的设备的设备信息元素。

[in, out] DeviceInfoData

指向指定设备信息元素 的SP_DEVINFO_DATA 结构的指针。 此参数是可选的,可以为 NULL。 如果指定此参数, SetupDiSelectDevice 将选择指定设备的驱动程序并设置 DeviceInfoData。ClassGuid 为所选驱动程序 的设备安装类 的 GUID。 如果此参数为 NULL则 SetupDiSelectDeviceDeviceInfoSet 的全局类驱动程序列表中设置所选驱动程序。

返回值

如果成功,该函数将返回 TRUE 。 否则,它将返回 FALSE ,并且可以通过调用 GetLastError 来检索记录的错误。

注解

SetupDiSelectDevice 处理允许用户为指定设备选择驱动程序的用户界面,如果未指定设备,则处理设备信息集。 通过为设备设置SP_DEVINSTALL_PARAMS结构的标志字段,或者设置设备信息(如果未指定设备),调用方可以指定用户界面的特殊处理,例如,允许用户从 OEM 安装磁盘中选择驱动程序。

注意 只有类安装程序应调用 SetupDiSelectDevice ,并且仅当类安装程序必须在 SetupDiSelectDevice 完成默认驱动程序选择操作后执行驱动程序选择操作的情况下。 在这种情况下,当安装程序处理DIF_SELECTDEVICE请求时,类安装程序必须直接调用 SetupDiSelectDevice 。 有关调用默认处理程序的详细信息,请参阅 调用默认 DIF 代码处理程序
 
SetupDiSelectDevice 主要用于在安装设备之前为本地计算机上的设备选择驱动程序。 虽然如果设备信息集适用于远程计算机, 则 SetupDiSelectDevice 不会失败,但结果是使用受限,因为设备信息集随后无法与不支持远程计算机上操作的 DIF_Xxx 安装请求或 SetupDiXxx 函数一起使用。 具体而言,无法将设备信息集用作DIF_INSTALLDEVICE安装请求的输入,以在远程计算机上安装设备。

要求

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

另请参阅

SP_DEVINSTALL_PARAMS

SetupDiCallClassInstaller