SetupGetInfPublishedNameW 函数 (setupapi.h)

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

语法

WINSETUPAPI BOOL SetupGetInfPublishedNameW(
  [in]            PCWSTR DriverStoreLocation,
  [out]           PWSTR  ReturnBuffer,
  [in]            DWORD  ReturnBufferSize,
  [out, optional] PDWORD RequiredSize
);

参数

[in] DriverStoreLocation

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

[out] ReturnBuffer

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

[in] ReturnBufferSize

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

[out, optional] RequiredSize

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

返回值

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

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

注解

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

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

SetupGetInfPublishedName 返回系统 INF 文件目录中与 DriverStoreLocation 提供的 INF 文件(如果有)匹配的 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\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)
Library Setupapi.lib

另请参阅

SetupGetInfDriverStoreLocation