SHHandleUpdateImage 函数 (shlobj_core.h)
[SHHandleUpdateImage 可用于“要求”部分中指定的操作系统。 在后续版本中,它可能已更改或不可用。]
处理 SHCNE_UPDATEIMAGE Shell 更改通知。
语法
int SHHandleUpdateImage(
[in] PCIDLIST_ABSOLUTE pidlExtra
);
参数
[in] pidlExtra
类型: PCIDLIST_ABSOLUTE
系统映像列表中已更改的索引,在 IShellChangeNotify::OnChange 的 pidl2 参数中指定的。
返回值
类型: int
失败时返回 -1,成功时返回已更改的图像列表项的索引。
注解
仅当更改通知回调收到的 pidl2 参数为非 NULL 时,才使用 SHHandleUpdateImage。
示例
以下示例演示如何在 IShellChangeNotify::OnChange 的实现中使用 SHHandleUpdateImage。
STDMETHODIMP CMyShellChangeNotify::OnChange(LONG lEvent,
LPCITEMIDLIST pidl1,
LPCITEMIDLIST pidl2)
{
HRESULT hr = E_FAIL;
int iImage;
switch(lEvent)
{
// An image in the system image list has changed.
case SHCNE_UPDATEIMAGE:
{
hr = S_OK;
if (pidl2)
iImage = SHHandleUpdateImage(pidl2);
else
iImage = *(int UNALIGNED *)((BYTE *)pidl1 + 2);
if (iImage != -1)
{
// Process iImage as desired.
}
break;
}
// Other cases
}
return hr;
}
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | shlobj_core.h (包括 Shlobj.h) |
Library | Shell32.lib |
DLL | Shell32.dll (5.0 或更高版本) |