SetupDiLoadDeviceIcon 函数 (setupapi.h)
SetupDiLoadDeviceIcon 函数检索指定设备的图标。
语法
WINSETUPAPI BOOL SetupDiLoadDeviceIcon(
[in] HDEVINFO DeviceInfoSet,
[in] PSP_DEVINFO_DATA DeviceInfoData,
[in] UINT cxIcon,
[in] UINT cyIcon,
[in] DWORD Flags,
[out] HICON *hIcon
);
参数
[in] DeviceInfoSet
设备信息集的句柄,其中包含表示要为其检索图标的设备的设备信息元素。
[in] DeviceInfoData
指向 SP_DEVINFO_DATA 结构的指针,该结构指定 DeviceInfoSet 中的设备信息元素。
[in] cxIcon
要检索的图标的宽度(以像素为单位)。 使用系统指标索引SM_CXICON指定默认大小的图标,或使用系统指标索引SM_CXSMICON指定一个小图标。 系统指标索引在 Winuser.h 中定义,可以通过调用 GetSystemMetrics 函数来检索其关联的值。 (getSystemMetrics 函数记录在 Microsoft Windows SDK.)
[in] cyIcon
要检索的图标的高度(以像素为单位)。 使用 SM_CXICON 指定默认大小的图标,或使用 SM_CXSMICON 指定小图标。
[in] Flags
未使用。 必须设置为零。
[out] hIcon
指向图标句柄的指针,该图标接收此函数检索的图标的句柄。 调用此函数的应用程序使用图标完成后,应用程序必须调用 DestroyIcon 才能删除该图标。 (DestroyIcon 记录在 Microsoft Windows SDK.)
返回值
如果函数成功检索指定设备的图标,则 SetupDiLoadDeviceIcon 返回 TRUE。 否则,该函数返回 FALSE ,并且可以通过调用 GetLastError 来检索记录的错误。
注解
SetupDiLoadDeviceIcon 尝试检索设备的图标,如下所示:
-
如果设备的 DEVPKEY_DrvPkg_Icon 设备属性包含资源标识符字符串的列表,则函数将尝试检索由列表中的第一个资源标识符字符串指定的图标。
DEVPROP_TYPE_STRING_LIST DEVPKEY_DrvPkg_Icon设备属性的设备属性数据类型。
资源标识符字符串的格式为
[filepath\]filename,-resourceID
其中:
- filepath 后 跟反斜杠字符 (\\) 是 可选的,它指定包含图标的文件的路径。
- FileName,后跟逗号字符 (“,”) 指定包含图标的文件的名称。
- ResourceID 前面有短划线字符 (“-”) ,指定图标的资源 ID。
- 如果函数无法检索特定于设备的图标,它将尝试检索设备的类图标。 有关类图标的信息,请参阅 SetupDiLoadClassIcon。
- 如果函数无法检索设备的类图标,它将尝试检索未知 设备安装类的图标,其中 Unknown 设备安装类的图标包括问号 (?) 的图像。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 Windows Vista 和更高版本的 Windows 中可用。 |
目标平台 | 桌面 |
标头 | setupapi.h (包括 Setupapi.h) |
Library | Setupapi.lib |
DLL | Setupapi.dll |