SetupDiGetINFClassW 函数 (setupapi.h)

SetupDiGetINFClass 函数返回指定设备 INF 文件的类。

语法

WINSETUPAPI BOOL SetupDiGetINFClassW(
  [in]            PCWSTR InfName,
  [out]           LPGUID ClassGuid,
  [out]           PWSTR  ClassName,
  [in]            DWORD  ClassNameSize,
  [out, optional] PDWORD RequiredSize
);

参数

[in] InfName

指向提供设备 INF 文件名称的 NULL 终止字符串的指针。 此名称可以包含路径。 但是,如果仅指定文件名,则会在注册表的 HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion 子项下 DevicePath 条目中列出的每个目录中搜索该文件。 以 NULL 结尾的 INF 文件名的最大长度(包括 NULL 终止符)为MAX_PATH。

[out] ClassGuid

指向 GUID 类型的变量的指针,该变量接收指定 INF 文件的类 GUID。 如果 INF 文件未指定类名,该函数将返回GUID_NULL结构。 调用 SetupDiClassGuidsFromName 以确定是否已安装具有此名称的一个或多个类。

[out] ClassName

指向接收以 NULL 结尾的字符串的缓冲区的指针,该字符串包含指定 INF 文件类的名称。 如果 INF 文件未指定类名但指定 GUID,则此缓冲区将接收通过调用 SetupDiClassNameFromGuid检索的名称。 但是,如果 SetupDiClassNameFromGuid 无法检索类名(例如,未安装类),它将返回一个空字符串。

[in] ClassNameSize

ClassName 参数指向的缓冲区的大小(以字符为单位)。 以字符为单位的以 NULL 结尾的类名的最大长度为MAX_CLASS_NAME_LEN。

[out, optional] RequiredSize

指向 DWORD 类型的变量的指针,该变量接收存储类名所需的字符数,包括终止 NULL。 此指针是可选的,可以 NULL

返回值

如果函数成功,则返回 TRUE。 否则,它会返回 FALSE,可以通过调用 getLastError来检索记录的错误。

言论

请勿将此函数与适用于 Windows 9x 或 Millennium Edition 的 INF 文件一起使用。

注意

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

要求

要求 价值
最低支持的客户端 Microsoft Windows 2000 及更高版本的 Windows 中可用。
目标平台 桌面
标头 setupapi.h (包括 Setupapi.h)
Setupapi.lib
API 集 ext-ms-win-setupapi-classinstallers-l1-1-2(在 Windows 10 版本 10.0.14393 中引入)

另请参阅

SetupDiBuildClassInfoList

SetupDiClassGuidsFromName

SetupDiClassNameFromGuid

SetupDiGetClassDescription