SP_DRVINSTALL_PARAMS 结构 (setupapi.h)

SP_DRVINSTALL_PARAMS 结构包含与特定驱动程序信息元素关联的驱动程序安装参数。

语法

typedef struct _SP_DRVINSTALL_PARAMS {
  DWORD     cbSize;
  DWORD     Rank;
  DWORD     Flags;
  DWORD_PTR PrivateData;
  DWORD     Reserved;
} SP_DRVINSTALL_PARAMS, *PSP_DRVINSTALL_PARAMS;

成员

cbSize

SP_DRVINSTALL_PARAMS结构的大小(以字节为单位)。

Rank

此驱动程序的排名匹配项。 范围为 0 到 n,其中 0 是最兼容的。

Flags

控制在此驱动程序上运行的函数的标志。 可以是以下各项的组合:

DNF_ALWAYSEXCLUDEFROMLIST (Windows Vista 及更高版本的 Windows)

如果设置了此标志,则无论执行枚举的客户端如何,此标志都会阻止枚举 驱动程序节点

DNF_AUTHENTICODE_SIGNED (Windows Server 2003 及更高版本的 Windows)

此驱动程序的 INF 文件由 Authenticode 签名进行签名。 此标志对安装程序是只读的。

有关详细信息,请参阅 使用 SetupAPI 验证驱动程序验证码签名

DNF_BAD_DRIVER

请勿使用此驱动程序。 安装程序可以读取和写入此标志。

如果设置了此标志, SetupDiSelectBestCompatDrvSetupDiSelectDevice 将忽略此驱动程序。

类安装程序或共同安装程序可以设置此标志,以防止 Windows 在“选择驱动程序”对话框中列出驱动程序。 例如,安装程序在处理 DIF_SELECTDEVICEDIF_SELECTBESTCOMPATDRV 请求时可能会设置此标志。

DNF_BASIC_DRIVER (Windows XP 及更高版本的 Windows)

此驱动程序是基本驱动程序。 此标志对安装程序是只读的。

DNF_CLASS_DRIVER

此驱动程序是类驱动程序。 此标志对安装程序是只读的。

DNF_COMPATIBLE_DRIVER

此驱动程序是兼容的驱动程序。 此标志对安装程序是只读的。

DNF_DUPDESC

其他提供驱动程序的提供程序具有与此驱动程序相同的说明。 此标志对安装程序是只读的。

DNF_DUPDRIVERVER (Windows XP 及更高版本的 Windows)

其他提供驱动程序的提供程序具有与此驱动程序相同的版本。 此标志对安装程序是只读的。

DNF_DUPPROVIDER

其他提供驱动程序的提供程序具有与此驱动程序相同的说明。 此驱动程序与其匹配项之间的唯一区别是驱动程序日期。 此标志对安装程序是只读的。

如果设置了此标志,Windows 会在驱动程序旁边显示驱动程序日期和驱动程序版本,以便用户可以将其与匹配项区分开来。

DNF_EXCLUDEFROMLIST

不要在任何驱动程序选择对话框中显示此驱动程序。

DNF_INBOX_DRIVER (Windows Vista 及更高版本的 Windows)

驱动程序节点 派生自此版本的 Windows 附带的 INF 文件。

DNF_INET_DRIVER

此驱动程序来自 Internet 或Windows 更新。 此标志对安装程序是只读的。

如果调用 SetupCopyOEMInf ,则必须指定SPOST_URL标志,以便在 Windows 将此 INF 复制到 %SystemRoot%\inf 目录中时,Windows 会将它标记为 Internet INF。 如果省略此步骤,Windows 将尝试使用此设备安装其他设备。 由此产生的问题是,Windows 不再具有源文件,最终会提示用户路径无效。

DNF_INF_IS_SIGNED (Windows XP 及更高版本的 Windows)

此标志对安装程序是只读的,如果满足以下任一条件,则进行设置:

  • 驱动程序具有 WHQL 发布签名
  • 驱动程序是收件箱驱动程序。
  • 驱动程序具有 Authenticode 签名。
有关详细信息,请参阅 驱动程序签名

DNF_INSTALLEDDRIVER (Windows Vista 及更高版本的 Windows)

当前为设备安装了此 驱动程序节点 。 此标志对安装程序是只读的。

DNF_LEGACYINF

此驱动程序来自旧版 INF 文件。 此标志仅对基于 NT 的操作系统有效。 此标志对安装程序是只读的。

DNF_NODRIVER

如果未为此逻辑驱动程序安装物理驱动程序,则设置 。

DNF_OEM_F6_INF (Windows XP 及更高版本的 Windows)

保留。

DNF_OLD_INET_DRIVER

此驱动程序来自 Internet,但 Windows 当前无权访问其源文件。 此标志对安装程序是只读的。

系统不会安装标有此标志的驱动程序,因为 Windows 没有源文件,最终会提示用户路径无效。 此类驱动程序的 INF 可用于除安装设备之外的所有内容。

DNF_OLDDRIVER

此驱动程序当前/以前控制了关联的设备。 此标志对安装程序是只读的。

DNF_REQUESTADDITIONALSOFTWARE (Windows 7 及更高版本的 Windows)

如果 驱动程序包 只是操作设备所需的软件解决方案的一部分,请设置此标志。 在这种情况下,驱动程序包需要安装其他软件。

有关更多信息,请参见下面的“备注”部分。

PrivateData

类安装程序可用于存储私有数据的字段。 共同安装程序不应使用此字段。

Reserved

保留。 仅限内部使用。

注解

从 Windows 7 开始,安装程序或共同安装程序可以设置DNF_REQUESTADDITIONALSOFTWARE标志,以指示 驱动程序包 需要计算机中可能安装或未安装的其他软件。

安装设备的驱动程序包后,如果安装程序设置了DNF_REQUESTADDITIONALSOFTWARE标志,即插即用 (PnP) 管理器将执行以下步骤:

  1. PnP 管理器使用 RequestAddtionalSoftware 类型生成问题报告和解决方案 (PRS) 错误报告。 此报告包含有关设备的特定硬件 ID 和计算机的系统体系结构的信息。
  2. 如果有由独立硬件供应商 (IHV) 为特定于设备的软件提供的解决方案,则会将解决方案下载到计算机。
    注意 解决方案的下载不会安装软件本身。
     
  3. 如果计算机上未安装特定于设备的软件,则 PnP 管理器会向用户提供解决方案并提供用于下载软件的链接。 然后,用户可以按照解决方案中提供的说明选择下载并安装此软件。
注意如果驱动程序包的 INF 文件已在 INF ControlFlags 节中设置了 RequestAdditionalSoftware 标志,则安装程序不必设置DNF_REQUESTADDITIONALSOFTWARE标志。

要求

要求
Header setupapi.h (包括 Setupapi.h)

另请参阅

SetupDiGetDriverInstallParams

SetupDiSetDriverInstallParams