SetupOpenInfFileW 函数 (setupapi.h)

[此函数可用于“要求”部分所示的操作系统。 它可能在后续版本中变更或不可用。 安装程序API 不应再用于安装应用程序。 请改用 Windows 安装程序来开发应用程序安装程序。 SetupAPI 继续用于安装设备驱动程序。]

SetupOpenInfFile 函数将打开 INF 文件并返回一个句柄。

语法

WINSETUPAPI HINF SetupOpenInfFileW(
  [in] PCWSTR FileName,
  [in] PCWSTR InfClass,
  [in] DWORD  InfStyle,
  [in] PUINT  ErrorLine
);

参数

[in] FileName

指向以 null 结尾的字符串的指针,其中包含要打开的 INF 文件的名称 (和可选路径) 。 如果文件名不包含路径分隔符字符,则首先在 %windir%\inf 目录中搜索它,然后在 %windir%\system32 目录中搜索它。 如果文件名包含路径分隔符字符,则假定它是完整的路径规范,并且不会对其进行进一步处理。

[in] InfClass

指向包含所需 INF 文件的类的以 null 结尾的字符串的可选指针。 此字符串必须与 Version 节的 Class 值匹配, (例如 Class=Net) 。 如果 Class 值中没有条目,但在 “版本 ”部分中有 ClassGUID 的条目,则会检索该 GUID 的相应类名称并将其用于比较。

[in] InfStyle

要打开或搜索的 INF 文件的样式。 此参数可以是以下标志的组合。

INF_STYLE_OLDNT

旧版 INF 文件格式。

INF_STYLE_WIN4

Windows INF 文件格式。

[in] ErrorLine

指向变量的可选指针,此函数将返回基于 (1 的) 行号,该行号在加载 INF 文件时出错。 仅当 GetLastError 不返回ERROR_NOT_ENOUGH_MEMORY时,此值通常才可靠。 如果确实出现内存不足情况, 则 ErrorLine 可能为 0。

返回值

如果成功,函数将返回打开的 INF 文件的句柄。 否则,返回值为INVALID_HANDLE_VALUE。 可以通过调用 GetLastError 来检索扩展的错误信息。

注解

如果加载失败,因为 INF 文件类型与 InfClass 不匹配,则函数返回INVALID_HANDLE_VALUE,对 GetLastError 的调用将返回ERROR_CLASS_MISMATCH。

如果指定了多个 INF 文件样式,则打开的 INF 文件的样式可以通过调用 SetupGetInfInfInformation 函数来确定。

由于可能有多个具有相同类名的类 GUID,因此对特定类的 INF 文件感兴趣的调用方 (即,特定类 GUID) 应通过调用 SetupQueryInfVersionInformation 从 INF 文件中检索 ClassGUID 值。

对于旧版 INF 文件, InfClass 字符串必须与 INF 文件 (“ 标识 ”部分的 OptionType 值中指定的类型匹配,例如 OptionType=NetAdapter) 。

注意

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

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 setupapi.h
Library Setupapi.lib
DLL Setupapi.dll
API 集 在 Windows 8) 中引入的 ext-ms-win-setupapi-inf-l1-1-0 (

请参阅

函数

概述

SetupCloseInfFile

SetupGetInfInformation

SetupOpenAppendInfFile