{
CComPtr<IDefaultExtractIconInit> initIcon;
HRESULT hr = SHCreateDefaultExtractIcon(IID_PPV_ARG(IDefaultExtractIconInit, &initIcon));
- if (FAILED(hr))
- return NULL;
+ if (FAILED_UNEXPECTEDLY(hr))
+ return hr;
/* FIXME: This is completely unimplemented */
initIcon->SetNormalIcon(swShell32Name, 0);
HRESULT WINAPI CRecycleBin::EnumObjects(HWND hwndOwner, DWORD dwFlags, LPENUMIDLIST *ppEnumIDList)
{
- return ShellObjectCreatorInit<CRecycleBinEnum>(dwFlags, IID_IEnumIDList, ppEnumIDList);
+ return ShellObjectCreatorInit<CRecycleBinEnum>(dwFlags, IID_PPV_ARG(IEnumIDList, ppEnumIDList));
}
HRESULT WINAPI CRecycleBin::BindToObject(PCUIDLIST_RELATIVE pidl, LPBC pbc, REFIID riid, void **ppv)
TRACE("(%p, %p, %x, %p)\n", this, pidl, (unsigned int)uFlags, pName);
-
- if (_ILIsBitBucket (pidl))
- {
- WCHAR pszPath[100];
-
- if (HCR_GetClassNameW(CLSID_RecycleBin, pszPath, MAX_PATH))
- {
- pName->uType = STRRET_WSTR;
- pName->pOleStr = StrDupW(pszPath);
- return S_OK;
- }
- }
-
pFileDetails = _ILGetRecycleStruct(pidl);
if (!pFileDetails)
{
*pwszFilename = L'\0';
/* Build paths list */
- LPWSTR pwszPaths = BuildPathsList(wszPath, lpcida->cidl, (LPCITEMIDLIST*) apidl);
+ LPWSTR pwszPaths = BuildPathsList(wszPath, lpcida->cidl, (LPCITEMIDLIST*) apidl, FALSE);
if (!pwszPaths)
{
SHFree(pidl);