SHHandleUpdateImage 函数 (shlobj_core.h)

[SHHandleUpdateImage 可用于“要求”部分中指定的操作系统。 在后续版本中,它可能已更改或不可用。]

处理 SHCNE_UPDATEIMAGE Shell 更改通知。

语法

int SHHandleUpdateImage(
  [in] PCIDLIST_ABSOLUTE pidlExtra
);

参数

[in] pidlExtra

类型: PCIDLIST_ABSOLUTE

系统映像列表中已更改的索引,在 IShellChangeNotify::OnChangepidl2 参数中指定的。

返回值

类型: 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 或更高版本)

另请参阅

IShellChangeNotify

SHChangeNotify