LPCITEMIDLIST pidlChild, REFCLSID clsid, LPVOID * ppvOut)
{
HRESULT hr;
- IShellFolder* pShellFolder = NULL;
+ CComPtr<IShellFolder> pShellFolder;
TRACE ("%p %s %p\n", pidlRoot, debugstr_w(pathRoot), pidlChild);
ILFree (pidlAbsolute);
}
- *ppvOut = pShellFolder;
+ *ppvOut = pShellFolder.Detach();
TRACE ("-- (%p) ret=0x%08x\n", *ppvOut, hr);
CComPtr<IShellFolder> psf2;
if (SUCCEEDED(psf->BindToObject(pidl, 0, IID_PPV_ARG(IShellFolder, &psf2))))
{
- IEnumIDList *pEnumIL = NULL;
+ CComPtr<IEnumIDList> pEnumIL;
if (SUCCEEDED(psf2->EnumObjects(0, SHCONTF_FOLDERS, &pEnumIL)))
{
if (pEnumIL->Skip(1) != S_OK)
*pdwAttributes &= ~SFGAO_HASSUBFOLDER;
- pEnumIL->Release();
}
}
}