mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 08:53:02 +00:00
[shell32]
- Add IID_PPV_ARG macro and use it in shell32 to make querying object interfaces type safe svn path=/trunk/; revision=60941
This commit is contained in:
parent
04471c3a4a
commit
af7bc02893
30 changed files with 110 additions and 108 deletions
|
@ -250,7 +250,7 @@ HRESULT STDMETHODCALLTYPE CMenuBand::SetSite(IUnknown *pUnkSite)
|
||||||
return S_OK;
|
return S_OK;
|
||||||
|
|
||||||
hwndParent = NULL;
|
hwndParent = NULL;
|
||||||
hResult = pUnkSite->QueryInterface(IID_IOleWindow, reinterpret_cast<void **>(&m_site));
|
hResult = pUnkSite->QueryInterface(IID_PPV_ARG(IOleWindow, &m_site));
|
||||||
if (SUCCEEDED(hResult))
|
if (SUCCEEDED(hResult))
|
||||||
{
|
{
|
||||||
m_site->GetWindow(&hwndParent);
|
m_site->GetWindow(&hwndParent);
|
||||||
|
|
|
@ -122,7 +122,7 @@ HRESULT WINAPI CAutoComplete::Init(HWND hwndEdit, IUnknown *punkACL, LPCOLESTR p
|
||||||
return this->hwndEdit ? E_FAIL : E_UNEXPECTED;
|
return this->hwndEdit ? E_FAIL : E_UNEXPECTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!SUCCEEDED (punkACL->QueryInterface(IID_IEnumString, (LPVOID *)&enumstr)))
|
if (!SUCCEEDED(punkACL->QueryInterface(IID_PPV_ARG(IEnumString,&enumstr))))
|
||||||
{
|
{
|
||||||
TRACE("No IEnumString interface\n");
|
TRACE("No IEnumString interface\n");
|
||||||
return E_NOINTERFACE;
|
return E_NOINTERFACE;
|
||||||
|
|
|
@ -218,7 +218,7 @@ static void InitializeTreeView( browse_info *info )
|
||||||
ILFree(pidlParent);
|
ILFree(pidlParent);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
hr = lpsfDesktop->BindToObject(pidlParent, 0, IID_IShellFolder, (LPVOID *)&lpsfParent);
|
hr = lpsfDesktop->BindToObject(pidlParent, 0, IID_PPV_ARG(IShellFolder, &lpsfParent));
|
||||||
lpsfDesktop->Release();
|
lpsfDesktop->Release();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -230,7 +230,7 @@ static void InitializeTreeView( browse_info *info )
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pidlChild && pidlChild->mkid.cb) {
|
if (pidlChild && pidlChild->mkid.cb) {
|
||||||
hr = lpsfParent->BindToObject(pidlChild, 0, IID_IShellFolder, (LPVOID *)&lpsfRoot);
|
hr = lpsfParent->BindToObject(pidlChild, 0, IID_PPV_ARG(IShellFolder, &lpsfRoot));
|
||||||
} else {
|
} else {
|
||||||
lpsfRoot = lpsfParent;
|
lpsfRoot = lpsfParent;
|
||||||
hr = lpsfParent->AddRef();
|
hr = lpsfParent->AddRef();
|
||||||
|
@ -417,7 +417,7 @@ static void FillTreeView( browse_info *info, IShellFolder * lpsf,
|
||||||
lpsf->GetAttributesOf(1, (LPCITEMIDLIST*)&pidlTemp, &ulAttrs);
|
lpsf->GetAttributesOf(1, (LPCITEMIDLIST*)&pidlTemp, &ulAttrs);
|
||||||
if (ulAttrs & SFGAO_FOLDER)
|
if (ulAttrs & SFGAO_FOLDER)
|
||||||
{
|
{
|
||||||
hr = lpsf->BindToObject(pidlTemp, NULL, IID_IShellFolder, (LPVOID *)&pSFChild);
|
hr = lpsf->BindToObject(pidlTemp, NULL, IID_PPV_ARG(IShellFolder, &pSFChild));
|
||||||
if (SUCCEEDED(hr))
|
if (SUCCEEDED(hr))
|
||||||
{
|
{
|
||||||
DWORD flags = BrowseFlagsToSHCONTF(info->lpBrowseInfo->ulFlags);
|
DWORD flags = BrowseFlagsToSHCONTF(info->lpBrowseInfo->ulFlags);
|
||||||
|
@ -519,8 +519,7 @@ static LRESULT BrsFolder_Treeview_Expand( browse_info *info, NMTREEVIEWW *pnmtv
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (lptvid->lpi && lptvid->lpi->mkid.cb) {
|
if (lptvid->lpi && lptvid->lpi->mkid.cb) {
|
||||||
r = lptvid->lpsfParent->BindToObject(lptvid->lpi, 0,
|
r = lptvid->lpsfParent->BindToObject(lptvid->lpi, 0, IID_PPV_ARG(IShellFolder, &lpsf2));
|
||||||
IID_IShellFolder, (LPVOID *)&lpsf2 );
|
|
||||||
} else {
|
} else {
|
||||||
lpsf2 = lptvid->lpsfParent;
|
lpsf2 = lptvid->lpsfParent;
|
||||||
r = lpsf2->AddRef();
|
r = lpsf2->AddRef();
|
||||||
|
@ -735,12 +734,12 @@ static HRESULT BrsFolder_NewFolder(browse_info *info)
|
||||||
hr = SHGetDesktopFolder(&desktop);
|
hr = SHGetDesktopFolder(&desktop);
|
||||||
if(FAILED(hr))
|
if(FAILED(hr))
|
||||||
return hr;
|
return hr;
|
||||||
hr = desktop->BindToObject(info->pidlRet, 0, IID_IShellFolder, (LPVOID *)&cur);
|
hr = desktop->BindToObject(info->pidlRet, 0, IID_PPV_ARG(IShellFolder, &cur));
|
||||||
desktop->Release();
|
desktop->Release();
|
||||||
if(FAILED(hr))
|
if(FAILED(hr))
|
||||||
return hr;
|
return hr;
|
||||||
|
|
||||||
hr = cur->QueryInterface(IID_ISFHelper, (LPVOID *)&sfhelper);
|
hr = cur->QueryInterface(IID_PPV_ARG(ISFHelper, &sfhelper));
|
||||||
if(FAILED(hr))
|
if(FAILED(hr))
|
||||||
return hr;
|
return hr;
|
||||||
|
|
||||||
|
|
|
@ -487,8 +487,7 @@ BOOL HCR_GetFolderAttributes(LPCITEMIDLIST pidlFolder, LPDWORD pdwAttributes)
|
||||||
hr = SHGetDesktopFolder(&psfDesktop);
|
hr = SHGetDesktopFolder(&psfDesktop);
|
||||||
if (SUCCEEDED(hr))
|
if (SUCCEEDED(hr))
|
||||||
{
|
{
|
||||||
hr = psfDesktop->BindToObject(pidlFolder, NULL, IID_IShellFolder,
|
hr = psfDesktop->BindToObject(pidlFolder, NULL, IID_PPV_ARG(IShellFolder,&psfFolder));
|
||||||
(LPVOID*)&psfFolder);
|
|
||||||
if (SUCCEEDED(hr))
|
if (SUCCEEDED(hr))
|
||||||
hr = psfFolder->GetAttributesOf(0, NULL, pdwAttributes);
|
hr = psfFolder->GetAttributesOf(0, NULL, pdwAttributes);
|
||||||
}
|
}
|
||||||
|
|
|
@ -139,7 +139,7 @@ HRESULT IEnumFORMATETC_Constructor(UINT cfmt, const FORMATETC afmt[], IEnumFORMA
|
||||||
ATLTRY (theEnumerator = new CComObject<IEnumFORMATETCImpl>);
|
ATLTRY (theEnumerator = new CComObject<IEnumFORMATETCImpl>);
|
||||||
if (theEnumerator == NULL)
|
if (theEnumerator == NULL)
|
||||||
return E_OUTOFMEMORY;
|
return E_OUTOFMEMORY;
|
||||||
hResult = theEnumerator->QueryInterface (IID_IEnumFORMATETC, (void **)&result);
|
hResult = theEnumerator->QueryInterface (IID_PPV_ARG(IEnumFORMATETC, &result));
|
||||||
if (FAILED (hResult))
|
if (FAILED (hResult))
|
||||||
{
|
{
|
||||||
delete theEnumerator;
|
delete theEnumerator;
|
||||||
|
@ -362,7 +362,7 @@ HRESULT IDataObject_Constructor(HWND hwndOwner, LPCITEMIDLIST pMyPidl, LPCITEMID
|
||||||
ATLTRY (theDataObject = new CComObject<IDataObjectImpl>);
|
ATLTRY (theDataObject = new CComObject<IDataObjectImpl>);
|
||||||
if (theDataObject == NULL)
|
if (theDataObject == NULL)
|
||||||
return E_OUTOFMEMORY;
|
return E_OUTOFMEMORY;
|
||||||
hResult = theDataObject->QueryInterface (IID_IDataObject, (void **)&result);
|
hResult = theDataObject->QueryInterface(IID_PPV_ARG(IDataObject, &result));
|
||||||
if (FAILED (hResult))
|
if (FAILED (hResult))
|
||||||
{
|
{
|
||||||
delete theDataObject;
|
delete theDataObject;
|
||||||
|
|
|
@ -139,7 +139,7 @@ HRESULT WINAPI CDefaultContextMenu::Initialize(const DEFCONTEXTMENU *pdcm)
|
||||||
IDataObject *pDataObj;
|
IDataObject *pDataObj;
|
||||||
|
|
||||||
TRACE("cidl %u\n", pdcm->cidl);
|
TRACE("cidl %u\n", pdcm->cidl);
|
||||||
if (SUCCEEDED(SHCreateDataObject(pdcm->pidlFolder, pdcm->cidl, pdcm->apidl, NULL, IID_IDataObject, (void**)&pDataObj)))
|
if (SUCCEEDED(SHCreateDataObject(pdcm->pidlFolder, pdcm->cidl, pdcm->apidl, NULL, IID_PPV_ARG(IDataObject, &pDataObj))))
|
||||||
m_pDataObj = pDataObj;
|
m_pDataObj = pDataObj;
|
||||||
|
|
||||||
if (!pdcm->cidl)
|
if (!pdcm->cidl)
|
||||||
|
@ -150,7 +150,7 @@ HRESULT WINAPI CDefaultContextMenu::Initialize(const DEFCONTEXTMENU *pdcm)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
IPersistFolder2 *pf = NULL;
|
IPersistFolder2 *pf = NULL;
|
||||||
if (SUCCEEDED(pdcm->psf->QueryInterface(IID_IPersistFolder2, (PVOID*)&pf)))
|
if (SUCCEEDED(pdcm->psf->QueryInterface(IID_PPV_ARG(IPersistFolder2, &pf))))
|
||||||
{
|
{
|
||||||
if (FAILED(pf->GetCurFolder((_ITEMIDLIST**)&m_pidlFolder)))
|
if (FAILED(pf->GetCurFolder((_ITEMIDLIST**)&m_pidlFolder)))
|
||||||
ERR("GetCurFolder failed\n");
|
ERR("GetCurFolder failed\n");
|
||||||
|
@ -357,7 +357,7 @@ CDefaultContextMenu::LoadDynamicContextMenuHandler(HKEY hKey, const CLSID *pclsi
|
||||||
return S_OK;
|
return S_OK;
|
||||||
|
|
||||||
IContextMenu *pcm;
|
IContextMenu *pcm;
|
||||||
hr = SHCoCreateInstance(NULL, pclsid, NULL, IID_IContextMenu, (void**)&pcm);
|
hr = SHCoCreateInstance(NULL, pclsid, NULL, IID_PPV_ARG(IContextMenu, &pcm));
|
||||||
if (hr != S_OK)
|
if (hr != S_OK)
|
||||||
{
|
{
|
||||||
ERR("SHCoCreateInstance failed %x\n", GetLastError());
|
ERR("SHCoCreateInstance failed %x\n", GetLastError());
|
||||||
|
@ -365,7 +365,7 @@ CDefaultContextMenu::LoadDynamicContextMenuHandler(HKEY hKey, const CLSID *pclsi
|
||||||
}
|
}
|
||||||
|
|
||||||
IShellExtInit *pExtInit;
|
IShellExtInit *pExtInit;
|
||||||
hr = pcm->QueryInterface(IID_IShellExtInit, (void**)&pExtInit);
|
hr = pcm->QueryInterface(IID_PPV_ARG(IShellExtInit, &pExtInit));
|
||||||
if (hr != S_OK)
|
if (hr != S_OK)
|
||||||
{
|
{
|
||||||
ERR("Failed to query for interface IID_IShellExtInit hr %x pclsid %s\n", hr, wine_dbgstr_guid(pclsid));
|
ERR("Failed to query for interface IID_IShellExtInit hr %x pclsid %s\n", hr, wine_dbgstr_guid(pclsid));
|
||||||
|
@ -998,7 +998,7 @@ CDefaultContextMenu::DoPaste(
|
||||||
/* use desktop shellfolder */
|
/* use desktop shellfolder */
|
||||||
psfFrom = psfDesktop;
|
psfFrom = psfDesktop;
|
||||||
}
|
}
|
||||||
else if (FAILED(psfDesktop->BindToObject(pidl, NULL, IID_IShellFolder, (LPVOID*)&psfFrom)))
|
else if (FAILED(psfDesktop->BindToObject(pidl, NULL, IID_PPV_ARG(IShellFolder, &psfFrom))))
|
||||||
{
|
{
|
||||||
ERR("no IShellFolder\n");
|
ERR("no IShellFolder\n");
|
||||||
|
|
||||||
|
@ -1016,7 +1016,7 @@ CDefaultContextMenu::DoPaste(
|
||||||
if (m_Dcm.cidl)
|
if (m_Dcm.cidl)
|
||||||
{
|
{
|
||||||
psfDesktop->Release();
|
psfDesktop->Release();
|
||||||
hr = m_Dcm.psf->BindToObject(m_Dcm.apidl[0], NULL, IID_IShellFolder, (LPVOID*)&psfTarget);
|
hr = m_Dcm.psf->BindToObject(m_Dcm.apidl[0], NULL, IID_PPV_ARG(IShellFolder, &psfTarget));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1024,7 +1024,7 @@ CDefaultContextMenu::DoPaste(
|
||||||
LPITEMIDLIST pidl;
|
LPITEMIDLIST pidl;
|
||||||
|
|
||||||
/* cidl is zero due to explorer view */
|
/* cidl is zero due to explorer view */
|
||||||
hr = m_Dcm.psf->QueryInterface(IID_IPersistFolder2, (LPVOID *) &ppf2);
|
hr = m_Dcm.psf->QueryInterface(IID_PPV_ARG(IPersistFolder2, &ppf2));
|
||||||
if (SUCCEEDED(hr))
|
if (SUCCEEDED(hr))
|
||||||
{
|
{
|
||||||
hr = ppf2->GetCurFolder(&pidl);
|
hr = ppf2->GetCurFolder(&pidl);
|
||||||
|
@ -1039,7 +1039,7 @@ CDefaultContextMenu::DoPaste(
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* retrieve target desktop folder */
|
/* retrieve target desktop folder */
|
||||||
hr = psfDesktop->BindToObject(pidl, NULL, IID_IShellFolder, (LPVOID*)&psfTarget);
|
hr = psfDesktop->BindToObject(pidl, NULL, IID_PPV_ARG(IShellFolder, &psfTarget));
|
||||||
}
|
}
|
||||||
TRACE("psfTarget %x %p, Desktop %u\n", hr, psfTarget, _ILIsDesktop(pidl));
|
TRACE("psfTarget %x %p, Desktop %u\n", hr, psfTarget, _ILIsDesktop(pidl));
|
||||||
ILFree(pidl);
|
ILFree(pidl);
|
||||||
|
@ -1062,7 +1062,7 @@ CDefaultContextMenu::DoPaste(
|
||||||
|
|
||||||
/* get source and destination shellfolder */
|
/* get source and destination shellfolder */
|
||||||
ISFHelper *psfhlpdst;
|
ISFHelper *psfhlpdst;
|
||||||
if (FAILED(psfTarget->QueryInterface(IID_ISFHelper, (LPVOID*)&psfhlpdst)))
|
if (FAILED(psfTarget->QueryInterface(IID_PPV_ARG(ISFHelper, &psfhlpdst))))
|
||||||
{
|
{
|
||||||
ERR("no IID_ISFHelper for destination\n");
|
ERR("no IID_ISFHelper for destination\n");
|
||||||
|
|
||||||
|
@ -1077,7 +1077,7 @@ CDefaultContextMenu::DoPaste(
|
||||||
}
|
}
|
||||||
|
|
||||||
ISFHelper *psfhlpsrc;
|
ISFHelper *psfhlpsrc;
|
||||||
if (FAILED(psfFrom->QueryInterface(IID_ISFHelper, (LPVOID*)&psfhlpsrc)))
|
if (FAILED(psfFrom->QueryInterface(IID_PPV_ARG(ISFHelper, &psfhlpsrc))))
|
||||||
{
|
{
|
||||||
ERR("no IID_ISFHelper for source\n");
|
ERR("no IID_ISFHelper for source\n");
|
||||||
|
|
||||||
|
@ -1185,7 +1185,7 @@ CDefaultContextMenu::DoCreateLink(
|
||||||
return E_FAIL;
|
return E_FAIL;
|
||||||
|
|
||||||
IShellLinkW *pLink;
|
IShellLinkW *pLink;
|
||||||
hr = CShellLink::_CreatorClass::CreateInstance(NULL, IID_IShellLinkW, (void**)&pLink);
|
hr = CShellLink::_CreatorClass::CreateInstance(NULL, IID_PPV_ARG(IShellLinkW, &pLink));
|
||||||
if (hr != S_OK)
|
if (hr != S_OK)
|
||||||
return hr;
|
return hr;
|
||||||
|
|
||||||
|
@ -1196,7 +1196,7 @@ CDefaultContextMenu::DoCreateLink(
|
||||||
if (SUCCEEDED(pLink->SetPath(wszPath)) &&
|
if (SUCCEEDED(pLink->SetPath(wszPath)) &&
|
||||||
SUCCEEDED(pLink->SetWorkingDirectory(szDirPath)))
|
SUCCEEDED(pLink->SetWorkingDirectory(szDirPath)))
|
||||||
{
|
{
|
||||||
if (SUCCEEDED(pLink->QueryInterface(IID_IPersistFile, (LPVOID*)&ppf)))
|
if (SUCCEEDED(pLink->QueryInterface(IID_PPV_ARG(IPersistFile, &ppf))))
|
||||||
{
|
{
|
||||||
hr = ppf->Save(wszTarget, TRUE);
|
hr = ppf->Save(wszTarget, TRUE);
|
||||||
ppf->Release();
|
ppf->Release();
|
||||||
|
@ -1280,7 +1280,7 @@ CDefaultContextMenu::DoCopyOrCut(
|
||||||
LPDATAOBJECT pDataObj;
|
LPDATAOBJECT pDataObj;
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
|
|
||||||
if (SUCCEEDED(SHCreateDataObject(m_Dcm.pidlFolder, m_Dcm.cidl, m_Dcm.apidl, NULL, IID_IDataObject, (void**)&pDataObj)))
|
if (SUCCEEDED(SHCreateDataObject(m_Dcm.pidlFolder, m_Dcm.cidl, m_Dcm.apidl, NULL, IID_PPV_ARG(IDataObject, &pDataObj))))
|
||||||
{
|
{
|
||||||
hr = OleSetClipboard(pDataObj);
|
hr = OleSetClipboard(pDataObj);
|
||||||
pDataObj->Release();
|
pDataObj->Release();
|
||||||
|
@ -1364,7 +1364,7 @@ CDefaultContextMenu::DoProperties(
|
||||||
IPersistFolder2 *pf;
|
IPersistFolder2 *pf;
|
||||||
|
|
||||||
/* pidlFolder is optional */
|
/* pidlFolder is optional */
|
||||||
if (SUCCEEDED(m_Dcm.psf->QueryInterface(IID_IPersistFolder2, (PVOID*)&pf)))
|
if (SUCCEEDED(m_Dcm.psf->QueryInterface(IID_PPV_ARG(IPersistFolder2, &pf))))
|
||||||
{
|
{
|
||||||
pf->GetCurFolder((_ITEMIDLIST**)&pidlParent);
|
pf->GetCurFolder((_ITEMIDLIST**)&pidlParent);
|
||||||
pf->Release();
|
pf->Release();
|
||||||
|
@ -1794,7 +1794,7 @@ CDefFolderMenu_Create2(
|
||||||
pdcm.cKeys = nKeys;
|
pdcm.cKeys = nKeys;
|
||||||
pdcm.aKeys = ahkeyClsKeys;
|
pdcm.aKeys = ahkeyClsKeys;
|
||||||
|
|
||||||
HRESULT hr = SHCreateDefaultContextMenu(&pdcm, IID_IContextMenu, (void**)ppcm);
|
HRESULT hr = SHCreateDefaultContextMenu(&pdcm, IID_PPV_ARG(IContextMenu, ppcm));
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -147,7 +147,7 @@ SH_ShowDriveProperties(WCHAR *pwszDrive, LPCITEMIDLIST pidlFolder, LPCITEMIDLIST
|
||||||
}
|
}
|
||||||
|
|
||||||
CComPtr<IDataObject> pDataObj;
|
CComPtr<IDataObject> pDataObj;
|
||||||
HRESULT hr = SHCreateDataObject(pidlFolder, 1, apidl, NULL, IID_IDataObject, (LPVOID *)&pDataObj);
|
HRESULT hr = SHCreateDataObject(pidlFolder, 1, apidl, NULL, IID_PPV_ARG(IDataObject, &pDataObj));
|
||||||
|
|
||||||
if (SUCCEEDED(hr))
|
if (SUCCEEDED(hr))
|
||||||
{
|
{
|
||||||
|
|
|
@ -291,7 +291,7 @@ HRESULT IEnumIDList_Constructor(IEnumIDList **enumerator)
|
||||||
ATLTRY (theEnumerator = new CComObject<IEnumIDListImpl>);
|
ATLTRY (theEnumerator = new CComObject<IEnumIDListImpl>);
|
||||||
if (theEnumerator == NULL)
|
if (theEnumerator == NULL)
|
||||||
return E_OUTOFMEMORY;
|
return E_OUTOFMEMORY;
|
||||||
hResult = theEnumerator->QueryInterface (IID_IEnumIDList, (void **)&result);
|
hResult = theEnumerator->QueryInterface(IID_PPV_ARG(IEnumIDList, &result));
|
||||||
if (FAILED (hResult))
|
if (FAILED (hResult))
|
||||||
{
|
{
|
||||||
delete theEnumerator;
|
delete theEnumerator;
|
||||||
|
|
|
@ -197,11 +197,11 @@ IExtractIconW* IExtractIconW_Constructor(LPCITEMIDLIST pidl)
|
||||||
LPITEMIDLIST pSimplePidl = ILFindLastID(pidl);
|
LPITEMIDLIST pSimplePidl = ILFindLastID(pidl);
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
|
|
||||||
hr = SHCreateDefaultExtractIcon(IID_IDefaultExtractIconInit, (void **)&initIcon);
|
hr = SHCreateDefaultExtractIcon(IID_PPV_ARG(IDefaultExtractIconInit,&initIcon));
|
||||||
if (FAILED(hr))
|
if (FAILED(hr))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
hr = initIcon->QueryInterface(IID_IExtractIconW, (void **)&extractIcon);
|
hr = initIcon->QueryInterface(IID_PPV_ARG(IExtractIconW,&extractIcon));
|
||||||
if (FAILED(hr))
|
if (FAILED(hr))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
|
@ -383,7 +383,7 @@ IExtractIconA* IExtractIconA_Constructor(LPCITEMIDLIST pidl)
|
||||||
if (!extractIconW)
|
if (!extractIconW)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
hr = extractIconW->QueryInterface(IID_IExtractIconA, (void **)&extractIconA);
|
hr = extractIconW->QueryInterface(IID_PPV_ARG(IExtractIconA, &extractIconA));
|
||||||
extractIconW->Release();
|
extractIconW->Release();
|
||||||
if (FAILED(hr))
|
if (FAILED(hr))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
|
@ -149,7 +149,7 @@ HRESULT WINAPI CAdminToolsFolder::EnumObjects(HWND hwndOwner, DWORD dwFlags, LPE
|
||||||
ATLTRY (theEnumerator = new CComObject<CDesktopFolderEnumY>);
|
ATLTRY (theEnumerator = new CComObject<CDesktopFolderEnumY>);
|
||||||
if (theEnumerator == NULL)
|
if (theEnumerator == NULL)
|
||||||
return E_OUTOFMEMORY;
|
return E_OUTOFMEMORY;
|
||||||
hResult = theEnumerator->QueryInterface (IID_IEnumIDList, (void **)&result);
|
hResult = theEnumerator->QueryInterface(IID_PPV_ARG(IEnumIDList, &result));
|
||||||
if (FAILED (hResult))
|
if (FAILED (hResult))
|
||||||
{
|
{
|
||||||
delete theEnumerator;
|
delete theEnumerator;
|
||||||
|
|
|
@ -388,7 +388,7 @@ HRESULT WINAPI CControlPanelFolder::EnumObjects(
|
||||||
ATLTRY (theEnumerator = new CComObject<CControlPanelEnum>);
|
ATLTRY (theEnumerator = new CComObject<CControlPanelEnum>);
|
||||||
if (theEnumerator == NULL)
|
if (theEnumerator == NULL)
|
||||||
return E_OUTOFMEMORY;
|
return E_OUTOFMEMORY;
|
||||||
hResult = theEnumerator->QueryInterface (IID_IEnumIDList, (void **)&result);
|
hResult = theEnumerator->QueryInterface(IID_PPV_ARG(IEnumIDList, &result));
|
||||||
if (FAILED (hResult))
|
if (FAILED (hResult))
|
||||||
{
|
{
|
||||||
delete theEnumerator;
|
delete theEnumerator;
|
||||||
|
@ -1024,11 +1024,11 @@ ERR("here\n");
|
||||||
FIXME("Couldn't retrieve pointer to cpl structure\n");
|
FIXME("Couldn't retrieve pointer to cpl structure\n");
|
||||||
return E_FAIL;
|
return E_FAIL;
|
||||||
}
|
}
|
||||||
hResult = CShellLink::_CreatorClass::CreateInstance(NULL, IID_IShellLinkA, (void **)&isl);
|
hResult = CShellLink::_CreatorClass::CreateInstance(NULL, IID_PPV_ARG(IShellLinkA, &isl));
|
||||||
if (SUCCEEDED(hResult))
|
if (SUCCEEDED(hResult))
|
||||||
{
|
{
|
||||||
isl->SetPath(szTarget);
|
isl->SetPath(szTarget);
|
||||||
if (SUCCEEDED(isl->QueryInterface(IID_IPersistFile, (LPVOID*)&ppf)))
|
if (SUCCEEDED(isl->QueryInterface(IID_PPV_ARG(IPersistFile,&ppf))))
|
||||||
ppf->Save(szPath, TRUE);
|
ppf->Save(szPath, TRUE);
|
||||||
}
|
}
|
||||||
return NOERROR;
|
return NOERROR;
|
||||||
|
|
|
@ -430,7 +430,7 @@ HRESULT WINAPI CDesktopFolder::EnumObjects(
|
||||||
if (theEnumerator == NULL)
|
if (theEnumerator == NULL)
|
||||||
return E_OUTOFMEMORY;
|
return E_OUTOFMEMORY;
|
||||||
|
|
||||||
hResult = theEnumerator->QueryInterface (IID_IEnumIDList, (void **)&result);
|
hResult = theEnumerator->QueryInterface(IID_PPV_ARG(IEnumIDList, &result));
|
||||||
if (FAILED (hResult))
|
if (FAILED (hResult))
|
||||||
{
|
{
|
||||||
delete theEnumerator;
|
delete theEnumerator;
|
||||||
|
@ -857,7 +857,7 @@ HRESULT WINAPI CDesktopFolder::SetNameOf(
|
||||||
|
|
||||||
if (_ILGetGUIDPointer(pidl))
|
if (_ILGetGUIDPointer(pidl))
|
||||||
{
|
{
|
||||||
if (SUCCEEDED(BindToObject(pidl, NULL, IID_IShellFolder2, (LPVOID *)&psf)))
|
if (SUCCEEDED(BindToObject(pidl, NULL, IID_PPV_ARG(IShellFolder2, &psf))))
|
||||||
{
|
{
|
||||||
hr = psf->SetNameOf(hwndOwner, pidl, lpName, dwFlags, pPidlOut);
|
hr = psf->SetNameOf(hwndOwner, pidl, lpName, dwFlags, pPidlOut);
|
||||||
return hr;
|
return hr;
|
||||||
|
@ -1218,7 +1218,7 @@ HRESULT WINAPI CDesktopFolder::CopyItems(IShellFolder *pSFFrom, UINT cidl, LPCIT
|
||||||
|
|
||||||
TRACE ("(%p)->(%p,%u,%p)\n", this, pSFFrom, cidl, apidl);
|
TRACE ("(%p)->(%p,%u,%p)\n", this, pSFFrom, cidl, apidl);
|
||||||
|
|
||||||
pSFFrom->QueryInterface(IID_IPersistFolder2, (LPVOID *)&ppf2);
|
pSFFrom->QueryInterface(IID_PPV_ARG(IPersistFolder2, &ppf2));
|
||||||
if (ppf2)
|
if (ppf2)
|
||||||
{
|
{
|
||||||
if (FAILED(ppf2->GetCurFolder(&pidl)))
|
if (FAILED(ppf2->GetCurFolder(&pidl)))
|
||||||
|
|
|
@ -233,7 +233,7 @@ HRESULT WINAPI CFontsFolder::EnumObjects(HWND hwndOwner, DWORD dwFlags, LPENUMID
|
||||||
ATLTRY (theEnumerator = new CComObject<CDesktopFolderEnumZ>);
|
ATLTRY (theEnumerator = new CComObject<CDesktopFolderEnumZ>);
|
||||||
if (theEnumerator == NULL)
|
if (theEnumerator == NULL)
|
||||||
return E_OUTOFMEMORY;
|
return E_OUTOFMEMORY;
|
||||||
hResult = theEnumerator->QueryInterface (IID_IEnumIDList, (void **)&result);
|
hResult = theEnumerator->QueryInterface(IID_PPV_ARG(IEnumIDList, &result));
|
||||||
if (FAILED (hResult))
|
if (FAILED (hResult))
|
||||||
{
|
{
|
||||||
delete theEnumerator;
|
delete theEnumerator;
|
||||||
|
@ -314,7 +314,7 @@ HRESULT WINAPI CFontsFolder::CreateViewObject(HWND hwndOwner, REFIID riid, LPVOI
|
||||||
}
|
}
|
||||||
else if (IsEqualIID (riid, IID_IShellView))
|
else if (IsEqualIID (riid, IID_IShellView))
|
||||||
{
|
{
|
||||||
hr = IShellView_Constructor ((IShellFolder *)this, &pShellView);
|
hr = IShellView_Constructor (this, &pShellView);
|
||||||
if (pShellView)
|
if (pShellView)
|
||||||
hr = pShellView->QueryInterface(riid, ppvOut);
|
hr = pShellView->QueryInterface(riid, ppvOut);
|
||||||
}
|
}
|
||||||
|
@ -345,7 +345,7 @@ HRESULT WINAPI CFontsFolder::GetAttributesOf(UINT cidl, LPCITEMIDLIST *apidl, DW
|
||||||
CComPtr<IShellFolder> psfParent;
|
CComPtr<IShellFolder> psfParent;
|
||||||
LPCITEMIDLIST rpidl = NULL;
|
LPCITEMIDLIST rpidl = NULL;
|
||||||
|
|
||||||
hr = SHBindToParent(pidlRoot, IID_IShellFolder, (LPVOID *)&psfParent, (LPCITEMIDLIST *)&rpidl);
|
hr = SHBindToParent(pidlRoot, IID_PPV_ARG(IShellFolder, &psfParent), (LPCITEMIDLIST *)&rpidl);
|
||||||
if (SUCCEEDED(hr))
|
if (SUCCEEDED(hr))
|
||||||
SHELL32_GetItemAttributes (psfParent, rpidl, rgfInOut);
|
SHELL32_GetItemAttributes (psfParent, rpidl, rgfInOut);
|
||||||
}
|
}
|
||||||
|
|
|
@ -127,8 +127,7 @@ LPITEMIDLIST SHELL32_CreatePidlFromBindCtx(IBindCtx *pbc, LPCWSTR path)
|
||||||
if (FAILED(r))
|
if (FAILED(r))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
r = param->QueryInterface(IID_IFileSystemBindData,
|
r = param->QueryInterface(IID_PPV_ARG(IFileSystemBindData,&fsbd));
|
||||||
(LPVOID*)&fsbd );
|
|
||||||
if (SUCCEEDED(r))
|
if (SUCCEEDED(r))
|
||||||
{
|
{
|
||||||
r = fsbd->GetFindData(&wfd);
|
r = fsbd->GetFindData(&wfd);
|
||||||
|
@ -265,8 +264,8 @@ HRESULT WINAPI CFSFolder::EnumObjects(
|
||||||
ATLTRY (theEnumerator = new CComObject<CFileSysEnum>);
|
ATLTRY (theEnumerator = new CComObject<CFileSysEnum>);
|
||||||
if (theEnumerator == NULL)
|
if (theEnumerator == NULL)
|
||||||
return E_OUTOFMEMORY;
|
return E_OUTOFMEMORY;
|
||||||
hResult = theEnumerator->QueryInterface (IID_IEnumIDList, (void **)&result);
|
hResult = theEnumerator->QueryInterface(IID_PPV_ARG(IEnumIDList, &result));
|
||||||
if (FAILED (hResult))
|
if (FAILED(hResult))
|
||||||
{
|
{
|
||||||
delete theEnumerator;
|
delete theEnumerator;
|
||||||
return hResult;
|
return hResult;
|
||||||
|
@ -404,7 +403,7 @@ HRESULT WINAPI CFSFolder::GetAttributesOf(UINT cidl,
|
||||||
IShellFolder *psfParent = NULL;
|
IShellFolder *psfParent = NULL;
|
||||||
LPCITEMIDLIST rpidl = NULL;
|
LPCITEMIDLIST rpidl = NULL;
|
||||||
|
|
||||||
hr = SHBindToParent(pidlRoot, IID_IShellFolder, (LPVOID*)&psfParent, (LPCITEMIDLIST*)&rpidl);
|
hr = SHBindToParent(pidlRoot, IID_PPV_ARG(IShellFolder, &psfParent), &rpidl);
|
||||||
if(SUCCEEDED(hr))
|
if(SUCCEEDED(hr))
|
||||||
{
|
{
|
||||||
SHELL32_GetItemAttributes (psfParent, rpidl, rgfInOut);
|
SHELL32_GetItemAttributes (psfParent, rpidl, rgfInOut);
|
||||||
|
@ -1050,7 +1049,7 @@ HRESULT WINAPI CFSFolder::CopyItems(IShellFolder * pSFFrom, UINT cidl,
|
||||||
|
|
||||||
TRACE ("(%p)->(%p,%u,%p)\n", this, pSFFrom, cidl, apidl);
|
TRACE ("(%p)->(%p,%u,%p)\n", this, pSFFrom, cidl, apidl);
|
||||||
|
|
||||||
hr = pSFFrom->QueryInterface (IID_IPersistFolder2, (LPVOID *) & ppf2);
|
hr = pSFFrom->QueryInterface (IID_PPV_ARG(IPersistFolder2, &ppf2));
|
||||||
if (SUCCEEDED(hr))
|
if (SUCCEEDED(hr))
|
||||||
{
|
{
|
||||||
hr = ppf2->GetCurFolder(&pidl);
|
hr = ppf2->GetCurFolder(&pidl);
|
||||||
|
|
|
@ -389,7 +389,7 @@ HRESULT WINAPI CPrinterFolder::EnumObjects(HWND hwndOwner, DWORD dwFlags, LPENUM
|
||||||
ATLTRY (theEnumerator = new CComObject<CPrintersEnum>);
|
ATLTRY (theEnumerator = new CComObject<CPrintersEnum>);
|
||||||
if (theEnumerator == NULL)
|
if (theEnumerator == NULL)
|
||||||
return E_OUTOFMEMORY;
|
return E_OUTOFMEMORY;
|
||||||
hResult = theEnumerator->QueryInterface(IID_IEnumIDList, (void **)&result);
|
hResult = theEnumerator->QueryInterface(IID_PPV_ARG(IEnumIDList, &result));
|
||||||
if (FAILED (hResult))
|
if (FAILED (hResult))
|
||||||
{
|
{
|
||||||
delete theEnumerator;
|
delete theEnumerator;
|
||||||
|
|
|
@ -505,7 +505,7 @@ HRESULT WINAPI CRecycleBin::EnumObjects(HWND hwndOwner, DWORD dwFlags, LPENUMIDL
|
||||||
ATLTRY (theEnumerator = new CComObject<CRecycleBinEnum>);
|
ATLTRY (theEnumerator = new CComObject<CRecycleBinEnum>);
|
||||||
if (theEnumerator == NULL)
|
if (theEnumerator == NULL)
|
||||||
return E_OUTOFMEMORY;
|
return E_OUTOFMEMORY;
|
||||||
hResult = theEnumerator->QueryInterface(IID_IEnumIDList, (void **)&result);
|
hResult = theEnumerator->QueryInterface(IID_PPV_ARG(IEnumIDList, &result));
|
||||||
if (FAILED (hResult))
|
if (FAILED (hResult))
|
||||||
{
|
{
|
||||||
delete theEnumerator;
|
delete theEnumerator;
|
||||||
|
|
|
@ -128,7 +128,7 @@ SH_ShowPropertiesDialog(LPCWSTR pwszPath, LPCITEMIDLIST pidlFolder, LPCITEMIDLIS
|
||||||
Header.pszCaption = PathFindFileNameW(wszPath);
|
Header.pszCaption = PathFindFileNameW(wszPath);
|
||||||
|
|
||||||
CComPtr<IDataObject> pDataObj;
|
CComPtr<IDataObject> pDataObj;
|
||||||
HRESULT hr = SHCreateDataObject(pidlFolder, 1, apidl, NULL, IID_IDataObject, (LPVOID *)&pDataObj);
|
HRESULT hr = SHCreateDataObject(pidlFolder, 1, apidl, NULL, IID_PPV_ARG(IDataObject, &pDataObj));
|
||||||
|
|
||||||
if (SUCCEEDED(hr))
|
if (SUCCEEDED(hr))
|
||||||
{
|
{
|
||||||
|
|
|
@ -350,15 +350,15 @@ HRESULT CNewMenu::CreateNewFolder(IShellView *psv)
|
||||||
// return E_FAIL;
|
// return E_FAIL;
|
||||||
|
|
||||||
/* Get current folder */
|
/* Get current folder */
|
||||||
hr = IUnknown_QueryService(psv, SID_IFolderView, IID_IFolderView, (void **)&pFolderView);
|
hr = IUnknown_QueryService(psv, SID_IFolderView, IID_PPV_ARG(IFolderView, &pFolderView));
|
||||||
if (FAILED(hr))
|
if (FAILED(hr))
|
||||||
return hr;
|
return hr;
|
||||||
|
|
||||||
hr = pFolderView->GetFolder(IID_IShellFolder, (void **)&pParentFolder);
|
hr = pFolderView->GetFolder(IID_PPV_ARG(IShellFolder, &pParentFolder));
|
||||||
if (FAILED(hr))
|
if (FAILED(hr))
|
||||||
return hr;
|
return hr;
|
||||||
|
|
||||||
hr = pParentFolder->QueryInterface(IID_ISFHelper, (LPVOID*)&psfhlp);
|
hr = pParentFolder->QueryInterface(IID_PPV_ARG(ISFHelper, &psfhlp));
|
||||||
if (FAILED(hr))
|
if (FAILED(hr))
|
||||||
return hr;
|
return hr;
|
||||||
|
|
||||||
|
@ -394,19 +394,19 @@ HRESULT CNewMenu::CreateNewItem(SHELLNEW_ITEM *pItem, LPCMINVOKECOMMANDINFO lpcm
|
||||||
WCHAR wszPath[MAX_PATH];
|
WCHAR wszPath[MAX_PATH];
|
||||||
CComPtr<IFolderView> pFolderView;
|
CComPtr<IFolderView> pFolderView;
|
||||||
CComPtr<IShellFolder> pParentFolder;
|
CComPtr<IShellFolder> pParentFolder;
|
||||||
CComPtr<IPersistFolder3> psf;
|
CComPtr<IPersistFolder2> psf;
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
|
|
||||||
/* Get current folder */
|
/* Get current folder */
|
||||||
hr = IUnknown_QueryService(psv, SID_IFolderView, IID_IFolderView, (void **)&pFolderView);
|
hr = IUnknown_QueryService(psv, SID_IFolderView, IID_PPV_ARG(IFolderView, &pFolderView));
|
||||||
if (FAILED(hr))
|
if (FAILED(hr))
|
||||||
return hr;
|
return hr;
|
||||||
|
|
||||||
hr = pFolderView->GetFolder(IID_IShellFolder, (void **)&pParentFolder);
|
hr = pFolderView->GetFolder(IID_PPV_ARG(IShellFolder, &pParentFolder));
|
||||||
if (FAILED(hr))
|
if (FAILED(hr))
|
||||||
return hr;
|
return hr;
|
||||||
|
|
||||||
if (pParentFolder->QueryInterface(IID_IPersistFolder2, (LPVOID*)&psf) != S_OK)
|
if (pParentFolder->QueryInterface(IID_PPV_ARG(IPersistFolder2, &psf)) != S_OK)
|
||||||
{
|
{
|
||||||
ERR("Failed to get interface IID_IPersistFolder2\n");
|
ERR("Failed to get interface IID_IPersistFolder2\n");
|
||||||
return E_FAIL;
|
return E_FAIL;
|
||||||
|
|
|
@ -118,7 +118,7 @@ BOOL WINAPI ILGetDisplayNameExW(LPSHELLFOLDER psf, LPCITEMIDLIST pidl, LPWSTR pa
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ret = SHBindToParent(pidl, IID_IShellFolder, (LPVOID*)&psfParent, &pidllast);
|
ret = SHBindToParent(pidl, IID_PPV_ARG(IShellFolder, &psfParent), &pidllast);
|
||||||
if (SUCCEEDED(ret))
|
if (SUCCEEDED(ret))
|
||||||
{
|
{
|
||||||
ret = psfParent->GetDisplayNameOf(pidllast, flag, &strret);
|
ret = psfParent->GetDisplayNameOf(pidllast, flag, &strret);
|
||||||
|
@ -1221,7 +1221,7 @@ BOOL WINAPI SHGetPathFromIDListW(LPCITEMIDLIST pidl, LPWSTR pszPath)
|
||||||
if (!pidl)
|
if (!pidl)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
hr = SHBindToParent(pidl, IID_IShellFolder, (VOID**)&psfFolder, &pidlLast);
|
hr = SHBindToParent(pidl, IID_PPV_ARG(IShellFolder, &psfFolder), &pidlLast);
|
||||||
if (FAILED(hr))
|
if (FAILED(hr))
|
||||||
{
|
{
|
||||||
ERR("SHBindToParent failed: %x\n", hr);
|
ERR("SHBindToParent failed: %x\n", hr);
|
||||||
|
|
|
@ -467,7 +467,7 @@ DWORD_PTR WINAPI SHGetFileInfoW(LPCWSTR path,DWORD dwFileAttributes,
|
||||||
/* get the parent shellfolder */
|
/* get the parent shellfolder */
|
||||||
if (pidl)
|
if (pidl)
|
||||||
{
|
{
|
||||||
hr = SHBindToParent( pidl, IID_IShellFolder, (LPVOID*)&psfParent,
|
hr = SHBindToParent( pidl, IID_PPV_ARG(IShellFolder, &psfParent),
|
||||||
(LPCITEMIDLIST*)&pidlLast );
|
(LPCITEMIDLIST*)&pidlLast );
|
||||||
if (SUCCEEDED(hr))
|
if (SUCCEEDED(hr))
|
||||||
pidlLast = ILClone(pidlLast);
|
pidlLast = ILClone(pidlLast);
|
||||||
|
|
|
@ -69,7 +69,7 @@ HRESULT CShellItem::get_parent_shellfolder(IShellFolder **ppsf)
|
||||||
{
|
{
|
||||||
hr = SHGetDesktopFolder(&desktop);
|
hr = SHGetDesktopFolder(&desktop);
|
||||||
if (SUCCEEDED(hr))
|
if (SUCCEEDED(hr))
|
||||||
hr = desktop->BindToObject(parent_pidl, NULL, IID_IShellFolder, reinterpret_cast<void **>(ppsf));
|
hr = desktop->BindToObject(parent_pidl, NULL, IID_PPV_ARG(IShellFolder, ppsf));
|
||||||
ILFree(parent_pidl);
|
ILFree(parent_pidl);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -179,7 +179,7 @@ HRESULT WINAPI CShellItem::Compare(IShellItem *oth, SICHINTF hint, int *piOrder)
|
||||||
if (piOrder == NULL || oth == NULL)
|
if (piOrder == NULL || oth == NULL)
|
||||||
return E_POINTER;
|
return E_POINTER;
|
||||||
|
|
||||||
hr = oth->QueryInterface(IID_IPersistIDList, reinterpret_cast<void **>(&pIDList));
|
hr = oth->QueryInterface(IID_PPV_ARG(IPersistIDList, &pIDList));
|
||||||
if (SUCCEEDED(hr))
|
if (SUCCEEDED(hr))
|
||||||
{
|
{
|
||||||
hr = pIDList->GetIDList(&pidl);
|
hr = pIDList->GetIDList(&pidl);
|
||||||
|
@ -256,7 +256,7 @@ HRESULT WINAPI SHCreateShellItem(LPCITEMIDLIST pidlParent,
|
||||||
{
|
{
|
||||||
CComPtr<IPersistFolder2> ppf2Parent;
|
CComPtr<IPersistFolder2> ppf2Parent;
|
||||||
|
|
||||||
if (FAILED(psfParent->QueryInterface(IID_IPersistFolder2, (void**)&ppf2Parent)))
|
if (FAILED(psfParent->QueryInterface(IID_PPV_ARG(IPersistFolder2, &ppf2Parent))))
|
||||||
{
|
{
|
||||||
FIXME("couldn't get IPersistFolder2 interface of parent\n");
|
FIXME("couldn't get IPersistFolder2 interface of parent\n");
|
||||||
return E_NOINTERFACE;
|
return E_NOINTERFACE;
|
||||||
|
@ -284,14 +284,14 @@ HRESULT WINAPI SHCreateShellItem(LPCITEMIDLIST pidlParent,
|
||||||
return E_OUTOFMEMORY;
|
return E_OUTOFMEMORY;
|
||||||
}
|
}
|
||||||
|
|
||||||
hr = CShellItem::_CreatorClass::CreateInstance(NULL, IID_IShellItem, (void**)&newShellItem);
|
hr = CShellItem::_CreatorClass::CreateInstance(NULL, IID_PPV_ARG(IShellItem, &newShellItem));
|
||||||
if (FAILED(hr))
|
if (FAILED(hr))
|
||||||
{
|
{
|
||||||
*ppsi = NULL;
|
*ppsi = NULL;
|
||||||
ILFree(new_pidl);
|
ILFree(new_pidl);
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
hr = newShellItem->QueryInterface(IID_IPersistIDList, (void **)&newPersistIDList);
|
hr = newShellItem->QueryInterface(IID_PPV_ARG(IPersistIDList, &newPersistIDList));
|
||||||
if (FAILED(hr))
|
if (FAILED(hr))
|
||||||
{
|
{
|
||||||
ILFree(new_pidl);
|
ILFree(new_pidl);
|
||||||
|
|
|
@ -1095,7 +1095,7 @@ static HRESULT SHELL_PidlGeticonLocationA(IShellFolder* psf, LPCITEMIDLIST pidl,
|
||||||
{
|
{
|
||||||
LPCITEMIDLIST pidlLast;
|
LPCITEMIDLIST pidlLast;
|
||||||
|
|
||||||
HRESULT hr = SHBindToParent(pidl, IID_IShellFolder, (LPVOID*)&psf, &pidlLast);
|
HRESULT hr = SHBindToParent(pidl, IID_PPV_ARG(IShellFolder, &psf), &pidlLast);
|
||||||
|
|
||||||
if (SUCCEEDED(hr))
|
if (SUCCEEDED(hr))
|
||||||
{
|
{
|
||||||
|
@ -1365,7 +1365,7 @@ static HRESULT SHELL_PidlGeticonLocationW(IShellFolder* psf, LPCITEMIDLIST pidl,
|
||||||
LPCITEMIDLIST pidlLast;
|
LPCITEMIDLIST pidlLast;
|
||||||
UINT wFlags;
|
UINT wFlags;
|
||||||
|
|
||||||
HRESULT hr = SHBindToParent(pidl, IID_IShellFolder, (LPVOID*)&psf, &pidlLast);
|
HRESULT hr = SHBindToParent(pidl, IID_PPV_ARG(IShellFolder, &psf), &pidlLast);
|
||||||
|
|
||||||
if (SUCCEEDED(hr))
|
if (SUCCEEDED(hr))
|
||||||
{
|
{
|
||||||
|
@ -2111,7 +2111,7 @@ HRESULT WINAPI IShellLink_ConstructFromFile(IUnknown *pUnkOuter, REFIID riid, LP
|
||||||
|
|
||||||
*ppv = NULL;
|
*ppv = NULL;
|
||||||
|
|
||||||
hr = psl->QueryInterface(IID_IPersistFile, (LPVOID*)&ppf);
|
hr = psl->QueryInterface(IID_PPV_ARG(IPersistFile, &ppf));
|
||||||
|
|
||||||
if (SUCCEEDED(hr))
|
if (SUCCEEDED(hr))
|
||||||
{
|
{
|
||||||
|
|
|
@ -23,8 +23,6 @@
|
||||||
|
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(shell);
|
WINE_DEFAULT_DEBUG_CHANNEL(shell);
|
||||||
|
|
||||||
extern HRESULT WINAPI IFSFolder_Constructor(IUnknown * pUnkOuter, REFIID riid, LPVOID * ppv);
|
|
||||||
|
|
||||||
static const WCHAR sShell32[12] = {'S','H','E','L','L','3','2','.','D','L','L','\0'};
|
static const WCHAR sShell32[12] = {'S','H','E','L','L','3','2','.','D','L','L','\0'};
|
||||||
|
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
|
@ -129,7 +127,7 @@ HRESULT WINAPI SHCoCreateInstance(
|
||||||
|
|
||||||
/* now we create an instance */
|
/* now we create an instance */
|
||||||
if (bLoadFromShell32) {
|
if (bLoadFromShell32) {
|
||||||
if (! SUCCEEDED(DllGetClassObject(*myclsid, IID_IClassFactory, (LPVOID*)&pcf))) {
|
if (! SUCCEEDED(DllGetClassObject(*myclsid, IID_PPV_ARG(IClassFactory, &pcf)))) {
|
||||||
ERR("LoadFromShell failed for CLSID=%s\n", shdebugstr_guid(myclsid));
|
ERR("LoadFromShell failed for CLSID=%s\n", shdebugstr_guid(myclsid));
|
||||||
}
|
}
|
||||||
} else if (bLoadWithoutCOM) {
|
} else if (bLoadWithoutCOM) {
|
||||||
|
@ -286,7 +284,7 @@ HRESULT WINAPI SHGetDesktopFolder(IShellFolder **psf)
|
||||||
|
|
||||||
if(!psf) return E_INVALIDARG;
|
if(!psf) return E_INVALIDARG;
|
||||||
*psf = NULL;
|
*psf = NULL;
|
||||||
hres = CDesktopFolder::_CreatorClass::CreateInstance(NULL, IID_IShellFolder, (void**)psf);
|
hres = CDesktopFolder::_CreatorClass::CreateInstance(NULL, IID_PPV_ARG(IShellFolder, psf));
|
||||||
|
|
||||||
TRACE("-- %p->(%p)\n",psf, *psf);
|
TRACE("-- %p->(%p)\n",psf, *psf);
|
||||||
return hres;
|
return hres;
|
||||||
|
@ -388,7 +386,7 @@ HRESULT IDefClF_fnConstructor(LPFNCREATEINSTANCE lpfnCI, PLONG pcRefDll, const I
|
||||||
ATLTRY (theClassObject = new CComObject<IDefClFImpl>);
|
ATLTRY (theClassObject = new CComObject<IDefClFImpl>);
|
||||||
if (theClassObject == NULL)
|
if (theClassObject == NULL)
|
||||||
return E_OUTOFMEMORY;
|
return E_OUTOFMEMORY;
|
||||||
hResult = theClassObject->QueryInterface (IID_IClassFactory, (void **)&result);
|
hResult = theClassObject->QueryInterface (IID_PPV_ARG(IClassFactory, &result));
|
||||||
if (FAILED (hResult))
|
if (FAILED (hResult))
|
||||||
{
|
{
|
||||||
delete theClassObject;
|
delete theClassObject;
|
||||||
|
|
|
@ -934,12 +934,10 @@ void WINAPI SHAddToRecentDocs (UINT uFlags,LPCVOID pv)
|
||||||
hres = CoCreateInstance(CLSID_ShellLink,
|
hres = CoCreateInstance(CLSID_ShellLink,
|
||||||
NULL,
|
NULL,
|
||||||
CLSCTX_INPROC_SERVER,
|
CLSCTX_INPROC_SERVER,
|
||||||
IID_IShellLinkA,
|
IID_PPV_ARG(IShellLinkA,&psl));
|
||||||
(void **)&psl);
|
|
||||||
if(SUCCEEDED(hres)) {
|
if(SUCCEEDED(hres)) {
|
||||||
|
|
||||||
hres = psl->QueryInterface(IID_IPersistFile,
|
hres = psl->QueryInterface(IID_PPV_ARG(IPersistFile,&pPf));
|
||||||
(LPVOID *)&pPf);
|
|
||||||
if(FAILED(hres)) {
|
if(FAILED(hres)) {
|
||||||
/* bombed */
|
/* bombed */
|
||||||
ERR("failed QueryInterface for IPersistFile %08x\n", hres);
|
ERR("failed QueryInterface for IPersistFile %08x\n", hres);
|
||||||
|
@ -1021,7 +1019,7 @@ HRESULT WINAPI SHCreateShellFolderViewEx(
|
||||||
if (FAILED(hRes))
|
if (FAILED(hRes))
|
||||||
return hRes;
|
return hRes;
|
||||||
|
|
||||||
hRes = psf->QueryInterface(IID_IShellView, (LPVOID *)ppv);
|
hRes = psf->QueryInterface(IID_PPV_ARG(IShellView, ppv));
|
||||||
psf->Release();
|
psf->Release();
|
||||||
|
|
||||||
return hRes;
|
return hRes;
|
||||||
|
@ -1773,9 +1771,9 @@ EXTERN_C HPSXA WINAPI SHCreatePropSheetExtArrayEx(HKEY hKey, LPCWSTR pszSubKey,
|
||||||
/* Attempt to get an IShellPropSheetExt and an IShellExtInit instance.
|
/* Attempt to get an IShellPropSheetExt and an IShellExtInit instance.
|
||||||
Only if both interfaces are supported it's a real shell extension.
|
Only if both interfaces are supported it's a real shell extension.
|
||||||
Then call IShellExtInit's Initialize method. */
|
Then call IShellExtInit's Initialize method. */
|
||||||
if (SUCCEEDED(CoCreateInstance(clsid, NULL, CLSCTX_INPROC_SERVER/* | CLSCTX_NO_CODE_DOWNLOAD */, IID_IShellPropSheetExt, (LPVOID *)&pspsx)))
|
if (SUCCEEDED(CoCreateInstance(clsid, NULL, CLSCTX_INPROC_SERVER/* | CLSCTX_NO_CODE_DOWNLOAD */, IID_PPV_ARG(IShellPropSheetExt, &pspsx))))
|
||||||
{
|
{
|
||||||
if (SUCCEEDED(pspsx->QueryInterface(IID_IShellExtInit, (PVOID *)&psxi)))
|
if (SUCCEEDED(pspsx->QueryInterface(IID_PPV_ARG(IShellExtInit, &psxi))))
|
||||||
{
|
{
|
||||||
if (SUCCEEDED(psxi->Initialize(NULL, pDataObj, hKey)))
|
if (SUCCEEDED(psxi->Initialize(NULL, pDataObj, hKey)))
|
||||||
{
|
{
|
||||||
|
@ -1900,7 +1898,7 @@ HRESULT WINAPI SHCreateStdEnumFmtEtc(
|
||||||
return hRes;
|
return hRes;
|
||||||
|
|
||||||
pef->AddRef();
|
pef->AddRef();
|
||||||
hRes = pef->QueryInterface(IID_IEnumFORMATETC, (LPVOID*)ppenumFormatetc);
|
hRes = pef->QueryInterface(IID_PPV_ARG(IEnumFORMATETC, ppenumFormatetc));
|
||||||
pef->Release();
|
pef->Release();
|
||||||
|
|
||||||
return hRes;
|
return hRes;
|
||||||
|
@ -1926,7 +1924,7 @@ HRESULT WINAPI SHCreateShellFolderView(const SFV_CREATE *pcsfv, IShellView **pps
|
||||||
if (FAILED(hRes))
|
if (FAILED(hRes))
|
||||||
return hRes;
|
return hRes;
|
||||||
|
|
||||||
hRes = psf->QueryInterface(IID_IShellView, (LPVOID *)ppsv);
|
hRes = psf->QueryInterface(IID_PPV_ARG(IShellView, ppsv));
|
||||||
psf->Release();
|
psf->Release();
|
||||||
|
|
||||||
return hRes;
|
return hRes;
|
||||||
|
|
|
@ -1224,7 +1224,7 @@ static IDataObject *shellex_get_dataobj( LPSHELLEXECUTEINFOW sei )
|
||||||
pidl = ILCreateFromPathW(fullpath);
|
pidl = ILCreateFromPathW(fullpath);
|
||||||
}
|
}
|
||||||
|
|
||||||
r = SHBindToParent(pidl, IID_IShellFolder, (LPVOID*)&shf, &pidllast);
|
r = SHBindToParent(pidl, IID_PPV_ARG(IShellFolder, &shf), &pidllast);
|
||||||
if (FAILED(r))
|
if (FAILED(r))
|
||||||
goto end;
|
goto end;
|
||||||
|
|
||||||
|
@ -1324,7 +1324,7 @@ static HRESULT shellex_load_object_and_run(HKEY hkey, LPCGUID guid, LPSHELLEXECU
|
||||||
goto end;
|
goto end;
|
||||||
|
|
||||||
r = CoCreateInstance(*guid, NULL, CLSCTX_INPROC_SERVER,
|
r = CoCreateInstance(*guid, NULL, CLSCTX_INPROC_SERVER,
|
||||||
IID_IShellExtInit, (LPVOID*)&obj);
|
IID_PPV_ARG(IShellExtInit, &obj));
|
||||||
if (FAILED(r))
|
if (FAILED(r))
|
||||||
{
|
{
|
||||||
ERR("failed %08x\n", r);
|
ERR("failed %08x\n", r);
|
||||||
|
@ -1693,7 +1693,7 @@ BOOL SHELL_execute(LPSHELLEXECUTEINFOW sei, SHELL_ExecuteW32 execfunc)
|
||||||
{
|
{
|
||||||
IShellExecuteHookW* pSEH;
|
IShellExecuteHookW* pSEH;
|
||||||
|
|
||||||
HRESULT hr = SHBindToParent((LPCITEMIDLIST)sei_tmp.lpIDList, IID_IShellExecuteHookW, (LPVOID*)&pSEH, NULL);
|
HRESULT hr = SHBindToParent((LPCITEMIDLIST)sei_tmp.lpIDList, IID_PPV_ARG(IShellExecuteHookW, &pSEH), NULL);
|
||||||
|
|
||||||
if (SUCCEEDED(hr))
|
if (SUCCEEDED(hr))
|
||||||
{
|
{
|
||||||
|
|
|
@ -133,7 +133,7 @@ HRESULT SHELL32_ParseNextElement (IShellFolder2 * psf, HWND hwndOwner, LPBC pbc,
|
||||||
TRACE ("(%p, %p, %p, %s)\n", psf, pbc, pidlInOut ? *pidlInOut : NULL, debugstr_w (szNext));
|
TRACE ("(%p, %p, %p, %s)\n", psf, pbc, pidlInOut ? *pidlInOut : NULL, debugstr_w (szNext));
|
||||||
|
|
||||||
/* get the shellfolder for the child pidl and let it analyse further */
|
/* get the shellfolder for the child pidl and let it analyse further */
|
||||||
hr = psf->BindToObject(*pidlInOut, pbc, IID_IShellFolder, (LPVOID *)&psfChild);
|
hr = psf->BindToObject(*pidlInOut, pbc, IID_PPV_ARG(IShellFolder, &psfChild));
|
||||||
|
|
||||||
if (SUCCEEDED(hr)) {
|
if (SUCCEEDED(hr)) {
|
||||||
hr = psfChild->ParseDisplayName(hwndOwner, pbc, szNext, pEaten, &pidlOut, pdwAttributes);
|
hr = psfChild->ParseDisplayName(hwndOwner, pbc, szNext, pEaten, &pidlOut, pdwAttributes);
|
||||||
|
@ -171,10 +171,11 @@ static HRESULT SHELL32_CoCreateInitSF (LPCITEMIDLIST pidlRoot, LPCWSTR pathRoot,
|
||||||
LPCITEMIDLIST pidlChild, REFCLSID clsid, LPVOID * ppvOut)
|
LPCITEMIDLIST pidlChild, REFCLSID clsid, LPVOID * ppvOut)
|
||||||
{
|
{
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
|
IShellFolder* pShellFolder;
|
||||||
|
|
||||||
TRACE ("%p %s %p\n", pidlRoot, debugstr_w(pathRoot), pidlChild);
|
TRACE ("%p %s %p\n", pidlRoot, debugstr_w(pathRoot), pidlChild);
|
||||||
|
|
||||||
hr = SHCoCreateInstance(NULL, &clsid, NULL, IID_IShellFolder, ppvOut);
|
hr = SHCoCreateInstance(NULL, &clsid, NULL, IID_PPV_ARG(IShellFolder, &pShellFolder));
|
||||||
if (SUCCEEDED (hr))
|
if (SUCCEEDED (hr))
|
||||||
{
|
{
|
||||||
LPITEMIDLIST pidlAbsolute = ILCombine (pidlRoot, pidlChild);
|
LPITEMIDLIST pidlAbsolute = ILCombine (pidlRoot, pidlChild);
|
||||||
|
@ -182,7 +183,7 @@ static HRESULT SHELL32_CoCreateInitSF (LPCITEMIDLIST pidlRoot, LPCWSTR pathRoot,
|
||||||
IPersistFolder3 *ppf;
|
IPersistFolder3 *ppf;
|
||||||
|
|
||||||
if (_ILIsFolder(pidlChild) &&
|
if (_ILIsFolder(pidlChild) &&
|
||||||
SUCCEEDED (((IUnknown *)(*ppvOut))->QueryInterface(IID_IPersistFolder3, (LPVOID *) & ppf)))
|
SUCCEEDED(pShellFolder->QueryInterface(IID_PPV_ARG(IPersistFolder3, &ppf))))
|
||||||
{
|
{
|
||||||
PERSIST_FOLDER_TARGET_INFO ppfti;
|
PERSIST_FOLDER_TARGET_INFO ppfti;
|
||||||
|
|
||||||
|
@ -210,7 +211,7 @@ static HRESULT SHELL32_CoCreateInitSF (LPCITEMIDLIST pidlRoot, LPCWSTR pathRoot,
|
||||||
ppf->InitializeEx(NULL, pidlAbsolute, &ppfti);
|
ppf->InitializeEx(NULL, pidlAbsolute, &ppfti);
|
||||||
ppf->Release();
|
ppf->Release();
|
||||||
}
|
}
|
||||||
else if (SUCCEEDED ((hr = ((IUnknown *)(*ppvOut))->QueryInterface (IID_IPersistFolder, (LPVOID *) & pPF))))
|
else if (SUCCEEDED((hr = pShellFolder->QueryInterface(IID_PPV_ARG(IPersistFolder, &pPF)))))
|
||||||
{
|
{
|
||||||
pPF->Initialize(pidlAbsolute);
|
pPF->Initialize(pidlAbsolute);
|
||||||
pPF->Release();
|
pPF->Release();
|
||||||
|
@ -218,6 +219,9 @@ static HRESULT SHELL32_CoCreateInitSF (LPCITEMIDLIST pidlRoot, LPCWSTR pathRoot,
|
||||||
ILFree (pidlAbsolute);
|
ILFree (pidlAbsolute);
|
||||||
}
|
}
|
||||||
TRACE ("-- (%p) ret=0x%08x\n", *ppvOut, hr);
|
TRACE ("-- (%p) ret=0x%08x\n", *ppvOut, hr);
|
||||||
|
|
||||||
|
*ppvOut = pShellFolder;
|
||||||
|
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -323,7 +327,7 @@ HRESULT SHELL32_GetDisplayNameOfChild (IShellFolder2 * psf,
|
||||||
{
|
{
|
||||||
IShellFolder *psfChild;
|
IShellFolder *psfChild;
|
||||||
|
|
||||||
hr = psf->BindToObject(pidlFirst, NULL, IID_IShellFolder, (LPVOID *) & psfChild);
|
hr = psf->BindToObject(pidlFirst, NULL, IID_PPV_ARG(IShellFolder, &psfChild));
|
||||||
if (SUCCEEDED (hr))
|
if (SUCCEEDED (hr))
|
||||||
{
|
{
|
||||||
STRRET strTemp;
|
STRRET strTemp;
|
||||||
|
@ -454,7 +458,7 @@ HRESULT SHELL32_GetItemAttributes (IShellFolder * psf, LPCITEMIDLIST pidl, LPDWO
|
||||||
if (SFGAO_HASSUBFOLDER & *pdwAttributes)
|
if (SFGAO_HASSUBFOLDER & *pdwAttributes)
|
||||||
{
|
{
|
||||||
IShellFolder *psf2;
|
IShellFolder *psf2;
|
||||||
if (SUCCEEDED(psf->BindToObject(pidl, 0, IID_IShellFolder, (LPVOID *)&psf2)))
|
if (SUCCEEDED(psf->BindToObject(pidl, 0, IID_PPV_ARG(IShellFolder, &psf2))))
|
||||||
{
|
{
|
||||||
IEnumIDList *pEnumIL = NULL;
|
IEnumIDList *pEnumIL = NULL;
|
||||||
if (SUCCEEDED(psf2->EnumObjects(0, SHCONTF_FOLDERS, &pEnumIL)))
|
if (SUCCEEDED(psf2->EnumObjects(0, SHCONTF_FOLDERS, &pEnumIL)))
|
||||||
|
@ -533,7 +537,7 @@ HRESULT SHELL32_CompareIDs (IShellFolder * iface, LPARAM lParam, LPCITEMIDLIST p
|
||||||
} else if (isEmpty2) {
|
} else if (isEmpty2) {
|
||||||
return MAKE_HRESULT( SEVERITY_SUCCESS, 0, 1 );
|
return MAKE_HRESULT( SEVERITY_SUCCESS, 0, 1 );
|
||||||
/* optimizing end */
|
/* optimizing end */
|
||||||
} else if (SUCCEEDED (iface->BindToObject(firstpidl, NULL, IID_IShellFolder, (LPVOID *)&psf))) {
|
} else if (SUCCEEDED (iface->BindToObject(firstpidl, NULL, IID_PPV_ARG(IShellFolder, &psf)))) {
|
||||||
nReturn = psf->CompareIDs(lParam, nextpidl1, nextpidl2);
|
nReturn = psf->CompareIDs(lParam, nextpidl1, nextpidl2);
|
||||||
psf->Release();
|
psf->Release();
|
||||||
}
|
}
|
||||||
|
|
|
@ -66,7 +66,7 @@ HRESULT WINAPI IFileSystemBindData_Constructor(const WIN32_FIND_DATAW *pfd, LPBC
|
||||||
|
|
||||||
*ppV = NULL;
|
*ppV = NULL;
|
||||||
|
|
||||||
hResult = IFileSystemBindDataImpl::_CreatorClass::CreateInstance(NULL, IID_IFileSystemBindData, (void **)&fileSystemBindData);
|
hResult = IFileSystemBindDataImpl::_CreatorClass::CreateInstance(NULL, IID_PPV_ARG(IFileSystemBindData, &fileSystemBindData));
|
||||||
if (FAILED(hResult))
|
if (FAILED(hResult))
|
||||||
return hResult;
|
return hResult;
|
||||||
hResult = fileSystemBindData->SetFindData(pfd);
|
hResult = fileSystemBindData->SetFindData(pfd);
|
||||||
|
@ -106,7 +106,7 @@ HRESULT WINAPI FileSystemBindData_GetFindData(LPBC pbc, WIN32_FIND_DATAW *pfd)
|
||||||
ret = pbc->GetObjectParam((LPOLESTR)wFileSystemBindData, &pUnk);
|
ret = pbc->GetObjectParam((LPOLESTR)wFileSystemBindData, &pUnk);
|
||||||
if (SUCCEEDED(ret))
|
if (SUCCEEDED(ret))
|
||||||
{
|
{
|
||||||
ret = pUnk->QueryInterface(IID_IFileSystemBindData, (LPVOID *)&pfsbd);
|
ret = pUnk->QueryInterface(IID_PPV_ARG(IFileSystemBindData, &pfsbd));
|
||||||
if (SUCCEEDED(ret))
|
if (SUCCEEDED(ret))
|
||||||
ret = pfsbd->GetFindData(pfd);
|
ret = pfsbd->GetFindData(pfd);
|
||||||
}
|
}
|
||||||
|
@ -124,7 +124,7 @@ HRESULT WINAPI FileSystemBindData_SetFindData(LPBC pbc, const WIN32_FIND_DATAW *
|
||||||
ret = pbc->GetObjectParam((LPOLESTR)wFileSystemBindData, &pUnk);
|
ret = pbc->GetObjectParam((LPOLESTR)wFileSystemBindData, &pUnk);
|
||||||
if (SUCCEEDED(ret))
|
if (SUCCEEDED(ret))
|
||||||
{
|
{
|
||||||
ret = pUnk->QueryInterface(IID_IFileSystemBindData, (LPVOID *)&pfsbd);
|
ret = pUnk->QueryInterface(IID_PPV_ARG(IFileSystemBindData, &pfsbd));
|
||||||
if (SUCCEEDED(ret))
|
if (SUCCEEDED(ret))
|
||||||
ret = pfsbd->SetFindData(pfd);
|
ret = pfsbd->SetFindData(pfd);
|
||||||
}
|
}
|
||||||
|
|
|
@ -156,7 +156,7 @@ static int FM_InitMenuPopup(HMENU hmenu, LPCITEMIDLIST pAlternatePidl)
|
||||||
|
|
||||||
if (SUCCEEDED (SHGetDesktopFolder(&lpsf)))
|
if (SUCCEEDED (SHGetDesktopFolder(&lpsf)))
|
||||||
{
|
{
|
||||||
if (SUCCEEDED(lpsf->BindToObject(pidl, 0, IID_IShellFolder, (LPVOID *)&lpsf2)))
|
if (SUCCEEDED(lpsf->BindToObject(pidl, 0, IID_PPV_ARG(IShellFolder, &lpsf2))))
|
||||||
{
|
{
|
||||||
IEnumIDList *lpe = NULL;
|
IEnumIDList *lpe = NULL;
|
||||||
|
|
||||||
|
|
|
@ -350,7 +350,7 @@ CDefView::~CDefView()
|
||||||
HRESULT WINAPI CDefView::Initialize(IShellFolder *shellFolder)
|
HRESULT WINAPI CDefView::Initialize(IShellFolder *shellFolder)
|
||||||
{
|
{
|
||||||
pSFParent = shellFolder;
|
pSFParent = shellFolder;
|
||||||
shellFolder->QueryInterface(IID_IShellFolder2, (LPVOID *)&pSF2Parent);
|
shellFolder->QueryInterface(IID_PPV_ARG(IShellFolder2, &pSF2Parent));
|
||||||
|
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
@ -936,11 +936,11 @@ LRESULT CDefView::OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandl
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (SUCCEEDED(this->QueryInterface(IID_IDropTarget, (LPVOID*)&pdt)))
|
if (SUCCEEDED(QueryInterface(IID_PPV_ARG(IDropTarget, &pdt))))
|
||||||
RegisterDragDrop(m_hWnd, pdt);
|
RegisterDragDrop(m_hWnd, pdt);
|
||||||
|
|
||||||
/* register for receiving notifications */
|
/* register for receiving notifications */
|
||||||
pSFParent->QueryInterface(IID_IPersistFolder2, (LPVOID*)&ppf2);
|
pSFParent->QueryInterface(IID_PPV_ARG(IPersistFolder2, &ppf2));
|
||||||
if (ppf2)
|
if (ppf2)
|
||||||
{
|
{
|
||||||
ppf2->GetCurFolder((LPITEMIDLIST*)&ntreg.pidl);
|
ppf2->GetCurFolder((LPITEMIDLIST*)&ntreg.pidl);
|
||||||
|
@ -1114,7 +1114,7 @@ HRESULT CDefView::OpenSelectedItems()
|
||||||
if (!hMenu)
|
if (!hMenu)
|
||||||
return E_FAIL;
|
return E_FAIL;
|
||||||
|
|
||||||
hResult = GetItemObject( SVGIO_SELECTION, IID_IContextMenu, (LPVOID *)&pCM);
|
hResult = GetItemObject( SVGIO_SELECTION, IID_PPV_ARG(IContextMenu2, &pCM));
|
||||||
if (FAILED(hResult))
|
if (FAILED(hResult))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
|
@ -1181,7 +1181,7 @@ LRESULT CDefView::OnContextMenu(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &b
|
||||||
|
|
||||||
cidl = ListView_GetSelectedCount(hWndList);
|
cidl = ListView_GetSelectedCount(hWndList);
|
||||||
|
|
||||||
hResult = GetItemObject( cidl ? SVGIO_SELECTION : SVGIO_BACKGROUND, IID_IContextMenu, (LPVOID *)&pCM);
|
hResult = GetItemObject( cidl ? SVGIO_SELECTION : SVGIO_BACKGROUND, IID_PPV_ARG(IContextMenu2, &pCM));
|
||||||
if (FAILED( hResult))
|
if (FAILED( hResult))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
|
@ -1235,7 +1235,7 @@ LRESULT CDefView::OnExplorerCommand(UINT uCommand, BOOL bUseSelection)
|
||||||
if (!hMenu)
|
if (!hMenu)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
hResult = GetItemObject( bUseSelection ? SVGIO_SELECTION : SVGIO_BACKGROUND, IID_IContextMenu, (LPVOID *)&pCM);
|
hResult = GetItemObject( bUseSelection ? SVGIO_SELECTION : SVGIO_BACKGROUND, IID_PPV_ARG(IContextMenu2, &pCM));
|
||||||
if (FAILED( hResult))
|
if (FAILED( hResult))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
|
@ -1958,7 +1958,7 @@ HRESULT WINAPI CDefView::CreateViewWindow(IShellView *lpPrevView, LPCFOLDERSETTI
|
||||||
|
|
||||||
/* try to get the ICommDlgBrowserInterface, adds a reference !!! */
|
/* try to get the ICommDlgBrowserInterface, adds a reference !!! */
|
||||||
pCommDlgBrowser = NULL;
|
pCommDlgBrowser = NULL;
|
||||||
if (SUCCEEDED(pShellBrowser->QueryInterface(IID_ICommDlgBrowser, (LPVOID *)&pCommDlgBrowser)))
|
if (SUCCEEDED(pShellBrowser->QueryInterface(IID_PPV_ARG(ICommDlgBrowser, &pCommDlgBrowser))))
|
||||||
{
|
{
|
||||||
TRACE("-- CommDlgBrowser\n");
|
TRACE("-- CommDlgBrowser\n");
|
||||||
}
|
}
|
||||||
|
@ -2415,8 +2415,7 @@ HRESULT CDefView::drag_notify_subitem(DWORD grfKeyState, POINTL pt, DWORD *pdwEf
|
||||||
{
|
{
|
||||||
/* We are not above one of the listview's subitems. Bind to the parent folder's
|
/* We are not above one of the listview's subitems. Bind to the parent folder's
|
||||||
* DropTarget interface. */
|
* DropTarget interface. */
|
||||||
hr = pSFParent->QueryInterface(IID_IDropTarget,
|
hr = pSFParent->QueryInterface(IID_PPV_ARG(IDropTarget,&pCurDropTarget));
|
||||||
(LPVOID*)&pCurDropTarget);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -2600,7 +2599,7 @@ HRESULT WINAPI IShellView_Constructor(IShellFolder *pFolder, IShellView **newVie
|
||||||
if (theView == NULL)
|
if (theView == NULL)
|
||||||
return E_OUTOFMEMORY;
|
return E_OUTOFMEMORY;
|
||||||
|
|
||||||
hResult = theView->QueryInterface (IID_IShellView, (void **)&result);
|
hResult = theView->QueryInterface(IID_PPV_ARG(IShellView, &result));
|
||||||
if (FAILED (hResult))
|
if (FAILED (hResult))
|
||||||
{
|
{
|
||||||
delete theView;
|
delete theView;
|
||||||
|
|
|
@ -26,6 +26,12 @@
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif /* defined(__cplusplus) */
|
#endif /* defined(__cplusplus) */
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
#define IID_PPV_ARG(Itype, ppType) IID_##Itype, reinterpret_cast<void**>((static_cast<Itype**>(ppType)))
|
||||||
|
#else
|
||||||
|
#define IID_PPV_ARG(Itype, ppType) IID_##Itype, (void**)(ppType)
|
||||||
|
#endif
|
||||||
|
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
* New shellstate structure
|
* New shellstate structure
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue