SetupGetInfPublishedNameA 函数 (setupapi.h)

SetupGetInfPublishedName 函数检索系统 INF 文件目录中 INF 文件 的完全限定文件名(目录路径和文件名),该文件对应于驱动程序存储中的指定 INF 文件或系统 INF 文件目录中的指定 INF 文件。

语法

WINSETUPAPI BOOL SetupGetInfPublishedNameA(
  [in]            PCSTR  DriverStoreLocation,
  [out]           PSTR   ReturnBuffer,
  [in]            DWORD  ReturnBufferSize,
  [out, optional] PDWORD RequiredSize
);

参数

[in] DriverStoreLocation

指向以 NULL 结尾的字符串的指针,该字符串包含驱动程序存储中 INF 文件的完全限定文件名(目录路径和文件名)。 或者,此参数是指向包含系统 INF 文件目录中 INF 文件的名称和完整目录路径的 NULL 终止字符串的指针。 有关如何指定 INF 文件的详细信息,请参阅以下 备注 部分。

[out] ReturnBuffer

指向缓冲区的指针,SetupGetInfPublishedName 返回 NULL 终止的字符串,其中包含系统 INF 目录中指定 INF 文件的完全限定文件名。 最大路径大小为MAX_PATH。 此指针可以设置为 NULL。 有关如何确定返回缓冲区所需的大小的信息,请参阅以下 备注 部分。

[in] ReturnBufferSize

returnBuffer 提供的缓冲区的大小(以字符为单位)。

[out, optional] RequiredSize

指向接收 ReturnBuffer 缓冲区的大小(以字符为单位)的 DWORD 类型的变量的指针。 此参数是可选的,可以设置为 NULL

返回值

如果 SetupGetInfPublishedName 成功,则函数返回 true ;否则,该函数返回 FALSE。 若要获取扩展的错误信息,请调用 GetLastError

如果请求的 INF 文件(包括 null 终止符)的完全限定文件名的大小大于 returnBufferSize,则该函数将失败,并且调用 getLastError 将返回ERROR_INSUFFICIENT_BUFFER。

言论

若要确定在系统 INF 目录中包含指定 INF 文件的完全限定文件名所需的返回缓冲区的大小,请调用 setupGetInfPublishedName 并将 ReturnBuffer 设置为 NULLReturnBufferSize 为零,并提供 RequiredSizeSetupGetInfPublishedName 将在 requiredSize中返回所需的缓冲区大小。

当设备安装预安装在驱动程序存储中 驱动程序包 时,它将创建驱动程序包 INF 文件的两个副本。 设备安装将一个副本添加到系统 INF 目录,并为 INF 文件分配唯一 已发布的文件名OEMnnn.inf。 设备安装会将 INF 文件的第二个副本添加到驱动程序存储,并分配复制原始 INF 文件名。

SetupGetInfPublishedName 返回系统 INF 文件目录中 INF 文件的完全限定文件名,与 DriverStoreLocation提供的 INF 文件(如果有)。 DriverStoreLocation 必须在驱动程序存储中指定 INF 文件的完全限定文件名,或者必须指定系统 INF 目录中 INF 文件的文件名和目录路径(可选)。 例如,假设驱动程序包的 INF 文件 myinf.inf,并且对于此驱动程序包,设备安装会在系统 INF 目录 C:\Windows\inf中安装 INF 文件 OEM1.inf。 进一步假设设备安装安装相应的 INF 文件副本 C:\windows\system32\driverstore\filerepository\myinf_12345678\myinf.inf 驱动程序存储中。 在这种情况下,如果 DriverStoreLocation 提供以下字符串之一,则函数返回 C:\Windows\inf\inf\oem1.inf:C:\windows\system32\driverstore\filerepository\myinf_12345678\myinf.inf, OEM1.inf,或 C:\Windows\inf\OEM1.inf。

调用 SetupGetInfDriverStoreLocation 函数,以检索驱动程序存储中 INF 文件的完全限定文件名,该文件对应于系统 INF 文件目录中的指定 INF 文件或驱动程序存储中的指定文件。

注意

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

要求

要求 价值
最低支持的客户端 在 Windows Vista 和更高版本的 Windows 中可用。
目标平台 桌面
标头 setupapi.h (包括 Setupapi.h)
Setupapi.lib

另请参阅

SetupGetInfDriverStoreLocation