mirror of
https://github.com/reactos/reactos.git
synced 2025-08-07 06:02:56 +00:00
[SHELL32] Correctly compare pidls for SHBrowseForFolder BFFM_SETEXPANDED (#7499)
_ILIsEqualSimple just does a memcmp and that does not work for all items. Should improve shell change notifications (CORE-13950).
This commit is contained in:
parent
81860b482a
commit
6d109254ab
9 changed files with 298 additions and 115 deletions
|
@ -277,6 +277,18 @@ SHGetAttributes(_In_ IShellFolder *psf, _In_ LPCITEMIDLIST pidl, _In_ DWORD dwAt
|
|||
return dwAttributes;
|
||||
}
|
||||
|
||||
HRESULT SHELL_GetIDListTarget(_In_ LPCITEMIDLIST pidl, _Out_ PIDLIST_ABSOLUTE *ppidl)
|
||||
{
|
||||
IShellLink *pSL;
|
||||
HRESULT hr = SHBindToObject(NULL, pidl, IID_PPV_ARG(IShellLink, &pSL));
|
||||
if (SUCCEEDED(hr))
|
||||
{
|
||||
hr = pSL->GetIDList(ppidl); // Note: Returns S_FALSE if no target pidl
|
||||
pSL->Release();
|
||||
}
|
||||
return hr;
|
||||
}
|
||||
|
||||
HRESULT SHCoInitializeAnyApartment(VOID)
|
||||
{
|
||||
HRESULT hr = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED | COINIT_DISABLE_OLE1DDE);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue