shell32: Partial implementation of IShellItem::BindToHandler.

Nikolay Sivov nsivov at codeweavers.com
Mon Aug 2 00:04:47 CDT 2010


  On 8/2/2010 02:36, David Hedberg wrote:
> +static HRESULT ShellItem_get_shellfolder(ShellItem *This, IBindCtx *pbc, IShellFolder **ppsf)
> +{
> +    IShellFolder *desktop;
> +    HRESULT ret;
> +
> +    ret = SHGetDesktopFolder(&desktop);
> +    if (SUCCEEDED(ret))
> +    {
> +        if (_ILIsDesktop(This->pidl))
> +        {
> +            *ppsf = desktop;
> +            IShellFolder_AddRef(*ppsf);
> +        }
> +        else
> +        {
> +            ret = IShellFolder_BindToObject(desktop, This->pidl, pbc,&IID_IShellFolder, (void**)ppsf);
> +        }
> +
> +        IShellFolder_Release(desktop);
> +    }
> +
> +    return ret;
> +}
> +
>
I don't think this explicit check for desktop folder is needed here, as 
I understand ::BindToObject() it should handle this case internally.



More information about the wine-devel mailing list