SetupDiGetDriverInfoDetailA 函数 (setupapi.h)
SetupDiGetDriverInfoDetail 函数检索设备信息集或设备信息集中特定设备信息元素的驱动程序信息详细信息。
语法
WINSETUPAPI BOOL SetupDiGetDriverInfoDetailA(
[in] HDEVINFO DeviceInfoSet,
[in, optional] PSP_DEVINFO_DATA DeviceInfoData,
[in] PSP_DRVINFO_DATA_A DriverInfoData,
[in, out] PSP_DRVINFO_DETAIL_DATA_A DriverInfoDetailData,
[in] DWORD DriverInfoDetailDataSize,
[out, optional] PDWORD RequiredSize
);
参数
[in] DeviceInfoSet
包含要为其检索驱动程序信息的驱动程序信息元素 的设备信息集 的句柄。
[in, optional] DeviceInfoData
指向 SP_DEVINFO_DATA 结构的指针,该结构指定表示要为其检索驱动程序信息的设备的设备信息元素。 此参数是可选的,可以为 NULL。 如果指定此参数, SetupDiGetDriverInfoDetail 将检索指定设备的驱动程序列表中有关驱动程序的信息。 如果此参数为 NULL, 则 SetupDiGetDriverInfoDetail 将检索有关作为 DeviceInfoSet 全局类驱动程序列表成员的驱动程序的信息。
[in] DriverInfoData
指向 SP_DRVINFO_DATA 结构的指针,该结构指定要为其检索详细信息的驱动程序信息元素。 如果指定 了 DeviceInfoData ,则驱动程序必须是 DeviceInfoData 指定的设备的驱动程序列表的成员。 否则,驱动程序必须是 DeviceInfoSet 的全局类驱动程序列表的成员。
[in, out] DriverInfoDetailData
指向 SP_DRVINFO_DETAIL_DATA 结构的指针,该结构接收有关指定驱动程序的详细信息。 如果未指定此参数, DriverInfoDetailDataSize 必须为零。 如果指定此参数,则 DriverInfoDetailData。在调用 SetupDiGetDriverInfoDetail 之前,cbSize 必须设置为 size of ( SP_DRVINFO_DETAIL_DATA) 的值。
[in] DriverInfoDetailDataSize
DriverInfoDetailData 缓冲区的大小(以字节为单位)。
[out, optional] RequiredSize
指向变量的指针,该变量接收存储详细驱动程序信息所需的字节数。 此值包括结构的大小,以及包含硬件 ID 列表和兼容 ID 列表的末尾的可变长度字符缓冲区所需的其他字节。 列表采用REG_MULTI_SZ格式。 有关硬件和兼容 ID 的信息,请参阅 设备标识字符串。
返回值
如果成功,该函数将返回 TRUE 。 否则,它将返回 FALSE ,并且可以通过调用 GetLastError 来检索记录的错误。
注解
如果指定的驱动程序信息成员和调用方提供的缓冲区都有效,则此函数保证填充SP_DRVINFO_DETAIL_DATA结构中的所有静态字段,并在末尾的可变长度缓冲区中填充尽可能多的 ID,同时仍保持REG_MULTI_SZ格式。 在这种情况下,函数返回 FALSE ,对 GetLastError 的调用返回ERROR_INSUFFICIENT_BUFFER。 如果指定, 则 RequiredSize 包含结构所需的字节总数以及所有 ID。
注意
setupapi.h 标头将 SetupDiGetDriverInfoDetail 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名的使用与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定。
要求
最低受支持的客户端 | 在 Microsoft Windows 2000 及更高版本的 Windows 中可用。 |
目标平台 | 桌面 |
标头 | setupapi.h (包括 Setupapi.h) |
Library | Setupapi.lib |