SetupDiSetSelectedDriverA 函数 (setupapi.h)
SetupDiSetSelectedDriver 函数设置或重置设备信息元素的所选驱动程序或设备信息集的所选类驱动程序。
语法
WINSETUPAPI BOOL SetupDiSetSelectedDriverA(
[in] HDEVINFO DeviceInfoSet,
[in, out] PSP_DEVINFO_DATA DeviceInfoData,
[in, out] PSP_DRVINFO_DATA_A DriverInfoData
);
参数
[in] DeviceInfoSet
设备信息集的句柄,其中包含要从中为设备信息元素或设备信息集选择驱动程序的驱动程序列表。
[in, out] DeviceInfoData
指向 SP_DEVINFO_DATA 结构的指针,该结构指定 DeviceInfoSet 中的设备信息元素。 此参数是可选的,可以为 NULL。 如果指定了此参数, 则 SetupDiSetSelectedDriver 将设置或重置指定设备的所选驱动程序。 如果此参数为 NULL、 SetupDiSetSelectedDriver 设置或重置,则为 DeviceInfoSet 选择类驱动程序。
[in, out] DriverInfoData
指向 SP_DRVINFO_DATA 结构的指针,该结构指定要选择的驱动程序。 此参数是可选的,可以为 NULL。 如果提供了此参数和 DeviceInfoData ,则指定的驱动程序必须是与 DeviceInfoData 关联的驱动程序列表的成员。 如果指定此参数且 DeviceInfoData 为 NULL,则驱动程序必须是 DeviceInfoSet 的全局类驱动程序列表的成员。 如果此参数为 NULL,则为设备信息元素重置所选驱动程序(如果指定 DeviceInfoData )或设置设备信息(如果 DeviceInfoData 为 NULL)。
如果 DriverInfoData。保留 为 NULL,调用方请求搜索具有指定参数的驱动程序节点, (DriverType、 Description 和 ProviderName) 。 如果找到匹配项,则选择该驱动程序节点。 “ 保留” 字段将在输出中更新,以反映找到匹配项的实际驱动程序节点。 如果未找到匹配项,则函数将失败,对 GetLastError 的调用将返回ERROR_INVALID_PARAMETER。
返回值
如果成功,该函数将返回 TRUE 。 否则,它将返回 FALSE ,并且可以通过调用 GetLastError 来检索记录的错误。
注解
如果 SetupDiSetSelectedDriver 的调用方是 Administrators 组的成员,则设备的类设置为所选驱动程序的类,前提是这两个类不同。
如果 DriverInfoData 为 NULL, 则 SetupDiSetSelectedDriver 将重置所选驱动程序。 因此,没有选定的驱动程序。
注意
setupapi.h 标头将 SetupDiSetSelectedDriver 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名的使用与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 Microsoft Windows 2000 及更高版本的 Windows 中可用。 |
目标平台 | 桌面 |
标头 | setupapi.h (包括 Setupapi.h) |
Library | Setupapi.lib |