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
请勿使用此驱动程序。 安装程序可以读取和写入此标志。
如果设置了此标志, SetupDiSelectBestCompatDrv 和 SetupDiSelectDevice 将忽略此驱动程序。
类安装程序或共同安装程序可以设置此标志,以防止 Windows 在“选择驱动程序”对话框中列出驱动程序。 例如,安装程序在处理 DIF_SELECTDEVICE 或 DIF_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) 管理器将执行以下步骤:
- PnP 管理器使用 RequestAddtionalSoftware 类型生成问题报告和解决方案 (PRS) 错误报告。 此报告包含有关设备的特定硬件 ID 和计算机的系统体系结构的信息。
-
如果有由独立硬件供应商 (IHV) 为特定于设备的软件提供的解决方案,则会将解决方案下载到计算机。
注意 解决方案的下载不会安装软件本身。
- 如果计算机上未安装特定于设备的软件,则 PnP 管理器会向用户提供解决方案并提供用于下载软件的链接。 然后,用户可以按照解决方案中提供的说明选择下载并安装此软件。
要求
要求 | 值 |
---|---|
Header | setupapi.h (包括 Setupapi.h) |