mirror of
https://github.com/reactos/reactos.git
synced 2025-08-03 07:36:21 +00:00
[SHELL32]
* Move pidl.cpp and pidl.h to the wine folder. * Convert pidl.cpp into pidl.c. CORE-8540 svn path=/branches/shell-experiments/; revision=65233
This commit is contained in:
parent
6a6f52bf66
commit
6069abeef0
4 changed files with 80 additions and 62 deletions
|
@ -39,7 +39,6 @@ list(APPEND SOURCE
|
|||
extracticon.cpp
|
||||
folders.cpp
|
||||
iconcache.cpp
|
||||
pidl.cpp
|
||||
shell32.cpp
|
||||
shellitem.cpp
|
||||
shelllink.cpp
|
||||
|
@ -71,6 +70,7 @@ list(APPEND SOURCE
|
|||
add_library(shell32 SHARED
|
||||
${SOURCE}
|
||||
wine/control.c
|
||||
wine/pidl.c
|
||||
wine/shell32_main.c
|
||||
wine/shellole.c
|
||||
wine/shellord.c
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
|
||||
//#include "base/shell/explorer-new/todo.h"
|
||||
//#include "dlgs.h"
|
||||
#include "pidl.h"
|
||||
#include "wine/pidl.h"
|
||||
#include "debughlp.h"
|
||||
#include "undocshell.h"
|
||||
#include "wine/shell32_main.h"
|
||||
|
|
|
@ -22,7 +22,25 @@
|
|||
*
|
||||
*/
|
||||
|
||||
#include "precomp.h"
|
||||
#include <wine/config.h>
|
||||
|
||||
#define WIN32_NO_STATUS
|
||||
#define _INC_WINDOWS
|
||||
#define COBJMACROS
|
||||
#define NONAMELESSUNION
|
||||
#define NONAMELESSSTRUCT
|
||||
|
||||
#include <windef.h>
|
||||
#include <winbase.h>
|
||||
#include <shlobj.h>
|
||||
#include <undocshell.h>
|
||||
#include <shlwapi.h>
|
||||
#include <shlguid_undoc.h>
|
||||
#include <wine/debug.h>
|
||||
|
||||
#include "pidl.h"
|
||||
#include "shell32_main.h"
|
||||
#include "shresdef.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(pidl);
|
||||
WINE_DECLARE_DEBUG_CHANNEL(shell);
|
||||
|
@ -70,8 +88,7 @@ static BOOL ILGetDisplayNameExA(IShellFolder * psf, LPCITEMIDLIST pidl, LPSTR pa
|
|||
|
||||
BOOL WINAPI ILGetDisplayNameExW(IShellFolder * psf, LPCITEMIDLIST pidl, LPWSTR path, DWORD type)
|
||||
{
|
||||
CComPtr<IShellFolder> psfParent;
|
||||
CComPtr<IShellFolder> lsf = psf;
|
||||
LPSHELLFOLDER psfParent, lsf = psf;
|
||||
HRESULT ret = NO_ERROR;
|
||||
LPCITEMIDLIST pidllast;
|
||||
STRRET strret;
|
||||
|
@ -109,7 +126,7 @@ BOOL WINAPI ILGetDisplayNameExW(IShellFolder * psf, LPCITEMIDLIST pidl, LPWSTR p
|
|||
}
|
||||
if (!*(const WORD*)pidl || type == ILGDN_FORPARSING)
|
||||
{
|
||||
ret = lsf->GetDisplayNameOf(pidl, flag, &strret);
|
||||
ret = IShellFolder_GetDisplayNameOf(lsf, pidl, flag, &strret);
|
||||
if (SUCCEEDED(ret))
|
||||
{
|
||||
if(!StrRetToStrNW(path, MAX_PATH, &strret, pidl))
|
||||
|
@ -118,10 +135,10 @@ BOOL WINAPI ILGetDisplayNameExW(IShellFolder * psf, LPCITEMIDLIST pidl, LPWSTR p
|
|||
}
|
||||
else
|
||||
{
|
||||
ret = SHBindToParent(pidl, IID_PPV_ARG(IShellFolder, &psfParent), &pidllast);
|
||||
ret = SHBindToParent(pidl, &IID_IShellFolder, (LPVOID*)&psfParent, &pidllast);
|
||||
if (SUCCEEDED(ret))
|
||||
{
|
||||
ret = psfParent->GetDisplayNameOf(pidllast, flag, &strret);
|
||||
ret = IShellFolder_GetDisplayNameOf(psfParent, pidllast, flag, &strret);
|
||||
if (SUCCEEDED(ret))
|
||||
{
|
||||
if(!StrRetToStrNW(path, MAX_PATH, &strret, pidllast))
|
||||
|
@ -273,15 +290,15 @@ HRESULT WINAPI ILLoadFromStream (IStream * pStream, LPITEMIDLIST * ppPidl)
|
|||
SHFree(*ppPidl);
|
||||
*ppPidl = NULL;
|
||||
|
||||
pStream->AddRef ();
|
||||
IStream_AddRef (pStream);
|
||||
|
||||
if (SUCCEEDED(pStream->Read(&wLen, 2, &dwBytesRead)))
|
||||
if (SUCCEEDED(IStream_Read(pStream, &wLen, 2, &dwBytesRead)))
|
||||
{
|
||||
TRACE("PIDL length is %d\n", wLen);
|
||||
if (wLen != 0)
|
||||
{
|
||||
*ppPidl = (LPITEMIDLIST)SHAlloc(wLen);
|
||||
if (SUCCEEDED(pStream->Read(*ppPidl , wLen, &dwBytesRead)))
|
||||
*ppPidl = SHAlloc (wLen);
|
||||
if (SUCCEEDED(IStream_Read(pStream, *ppPidl , wLen, &dwBytesRead)))
|
||||
{
|
||||
TRACE("Stream read OK\n");
|
||||
ret = S_OK;
|
||||
|
@ -308,7 +325,7 @@ HRESULT WINAPI ILLoadFromStream (IStream * pStream, LPITEMIDLIST * ppPidl)
|
|||
*ppPidl = NULL;
|
||||
}
|
||||
|
||||
pStream->Release ();
|
||||
IStream_Release (pStream);
|
||||
TRACE("done\n");
|
||||
return ret;
|
||||
}
|
||||
|
@ -326,16 +343,16 @@ HRESULT WINAPI ILSaveToStream (IStream * pStream, LPCITEMIDLIST pPidl)
|
|||
|
||||
TRACE_(shell)("%p %p\n", pStream, pPidl);
|
||||
|
||||
pStream->AddRef ();
|
||||
IStream_AddRef (pStream);
|
||||
|
||||
wLen = ILGetSize(pPidl);
|
||||
|
||||
if (SUCCEEDED(pStream->Write(&wLen, 2, NULL)))
|
||||
if (SUCCEEDED(IStream_Write(pStream, &wLen, 2, NULL)))
|
||||
{
|
||||
if (SUCCEEDED(pStream->Write(pPidl, wLen, NULL)))
|
||||
if (SUCCEEDED(IStream_Write(pStream, pPidl, wLen, NULL)))
|
||||
ret = S_OK;
|
||||
}
|
||||
pStream->Release ();
|
||||
IStream_Release (pStream);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
@ -371,14 +388,14 @@ HRESULT WINAPI SHILCreateFromPathA(LPCSTR path, LPITEMIDLIST * ppidl, DWORD * at
|
|||
|
||||
HRESULT WINAPI SHILCreateFromPathW(LPCWSTR path, LPITEMIDLIST * ppidl, DWORD * attributes)
|
||||
{
|
||||
CComPtr<IShellFolder> sf;
|
||||
LPSHELLFOLDER sf;
|
||||
DWORD pchEaten;
|
||||
HRESULT ret = E_FAIL;
|
||||
|
||||
TRACE_(shell)("%s %p 0x%08x\n", debugstr_w(path), ppidl, attributes ? *attributes : 0);
|
||||
|
||||
if (SUCCEEDED (SHGetDesktopFolder(&sf)))
|
||||
ret = sf->ParseDisplayName(0, NULL, (LPWSTR)path, &pchEaten, ppidl, attributes);
|
||||
ret = IShellFolder_ParseDisplayName(sf, 0, NULL, (LPWSTR)path, &pchEaten, ppidl, attributes);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -681,10 +698,11 @@ LPITEMIDLIST WINAPI ILCombine(LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2)
|
|||
*/
|
||||
HRESULT WINAPI SHGetRealIDL(IShellFolder * lpsf, LPCITEMIDLIST pidlSimple, LPITEMIDLIST *pidlReal)
|
||||
{
|
||||
CComPtr<IDataObject> pDataObj;
|
||||
IDataObject* pDataObj;
|
||||
HRESULT hr;
|
||||
|
||||
hr = lpsf->GetUIObjectOf(0, 1, &pidlSimple, IID_NULL_PPV_ARG(IDataObject, &pDataObj));
|
||||
hr = IShellFolder_GetUIObjectOf(lpsf, 0, 1, &pidlSimple,
|
||||
&IID_IDataObject, 0, (LPVOID*)&pDataObj);
|
||||
if (SUCCEEDED(hr))
|
||||
{
|
||||
STGMEDIUM medium;
|
||||
|
@ -696,12 +714,12 @@ HRESULT WINAPI SHGetRealIDL(IShellFolder * lpsf, LPCITEMIDLIST pidlSimple, LPITE
|
|||
fmt.lindex = -1;
|
||||
fmt.tymed = TYMED_HGLOBAL;
|
||||
|
||||
hr = pDataObj->GetData(&fmt, &medium);
|
||||
hr = IDataObject_GetData(pDataObj, &fmt, &medium);
|
||||
|
||||
if (SUCCEEDED(hr))
|
||||
{
|
||||
/*assert(pida->cidl==1);*/
|
||||
LPIDA pida = (LPIDA)GlobalLock(medium.hGlobal);
|
||||
LPIDA pida = (LPIDA)GlobalLock(medium.u.hGlobal);
|
||||
|
||||
LPCITEMIDLIST pidl_folder = (LPCITEMIDLIST) ((LPBYTE)pida + pida->aoffset[0]);
|
||||
LPCITEMIDLIST pidl_child = (LPCITEMIDLIST) ((LPBYTE)pida + pida->aoffset[1]);
|
||||
|
@ -711,8 +729,8 @@ HRESULT WINAPI SHGetRealIDL(IShellFolder * lpsf, LPCITEMIDLIST pidlSimple, LPITE
|
|||
if (!*pidlReal)
|
||||
hr = E_OUTOFMEMORY;
|
||||
|
||||
GlobalUnlock(medium.hGlobal);
|
||||
GlobalFree(medium.hGlobal);
|
||||
GlobalUnlock(medium.u.hGlobal);
|
||||
GlobalFree(medium.u.hGlobal);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -966,8 +984,8 @@ EXTERN_C LPITEMIDLIST WINAPI ILCreateFromPathAW (LPCVOID path)
|
|||
static HRESULT _ILParsePathW(LPCWSTR path, LPWIN32_FIND_DATAW lpFindFile,
|
||||
BOOL bBindCtx, LPITEMIDLIST *ppidl, LPDWORD prgfInOut)
|
||||
{
|
||||
CComPtr<IShellFolder> pSF;
|
||||
CComPtr<IBindCtx> pBC;
|
||||
LPSHELLFOLDER pSF = NULL;
|
||||
LPBC pBC = NULL;
|
||||
HRESULT ret;
|
||||
|
||||
TRACE("%s %p %d (%p)->%p (%p)->0x%x\n", debugstr_w(path), lpFindFile, bBindCtx,
|
||||
|
@ -983,7 +1001,7 @@ static HRESULT _ILParsePathW(LPCWSTR path, LPWIN32_FIND_DATAW lpFindFile,
|
|||
|
||||
if (SUCCEEDED(ret))
|
||||
{
|
||||
ret = pSF->ParseDisplayName(0, pBC, (LPOLESTR)path, NULL, ppidl, prgfInOut);
|
||||
ret = IShellFolder_ParseDisplayName(pSF, 0, pBC, (LPOLESTR)path, NULL, ppidl, prgfInOut);
|
||||
}
|
||||
|
||||
if (FAILED(ret) && ppidl)
|
||||
|
@ -1209,7 +1227,7 @@ BOOL WINAPI SHGetPathFromIDListW(LPCITEMIDLIST pidl, LPWSTR pszPath)
|
|||
{
|
||||
HRESULT hr;
|
||||
LPCITEMIDLIST pidlLast;
|
||||
CComPtr<IShellFolder> psfFolder;
|
||||
LPSHELLFOLDER psfFolder;
|
||||
DWORD dwAttributes;
|
||||
STRRET strret;
|
||||
|
||||
|
@ -1220,7 +1238,7 @@ BOOL WINAPI SHGetPathFromIDListW(LPCITEMIDLIST pidl, LPWSTR pszPath)
|
|||
if (!pidl)
|
||||
return FALSE;
|
||||
|
||||
hr = SHBindToParent(pidl, IID_PPV_ARG(IShellFolder, &psfFolder), &pidlLast);
|
||||
hr = SHBindToParent(pidl, &IID_IShellFolder, (VOID**)&psfFolder, &pidlLast);
|
||||
if (FAILED(hr))
|
||||
{
|
||||
ERR("SHBindToParent failed: %x\n", hr);
|
||||
|
@ -1228,14 +1246,14 @@ BOOL WINAPI SHGetPathFromIDListW(LPCITEMIDLIST pidl, LPWSTR pszPath)
|
|||
}
|
||||
|
||||
dwAttributes = SFGAO_FILESYSTEM;
|
||||
hr = psfFolder->GetAttributesOf(1, &pidlLast, &dwAttributes);
|
||||
hr = IShellFolder_GetAttributesOf(psfFolder, 1, &pidlLast, &dwAttributes);
|
||||
if (FAILED(hr) || !(dwAttributes & SFGAO_FILESYSTEM))
|
||||
{
|
||||
WARN("Wrong dwAttributes or GetAttributesOf failed: %x\n", hr);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
hr = psfFolder->GetDisplayNameOf(pidlLast, SHGDN_FORPARSING, &strret);
|
||||
hr = IShellFolder_GetDisplayNameOf(psfFolder, pidlLast, SHGDN_FORPARSING, &strret);
|
||||
if (FAILED(hr)) return FALSE;
|
||||
|
||||
hr = StrRetToBufW(&strret, pidlLast, pszPath, MAX_PATH);
|
||||
|
@ -1249,8 +1267,8 @@ BOOL WINAPI SHGetPathFromIDListW(LPCITEMIDLIST pidl, LPWSTR pszPath)
|
|||
*/
|
||||
HRESULT WINAPI SHBindToParent(LPCITEMIDLIST pidl, REFIID riid, LPVOID *ppv, LPCITEMIDLIST *ppidlLast)
|
||||
{
|
||||
CComPtr<IShellFolder> psfDesktop;
|
||||
HRESULT hr = E_FAIL;
|
||||
IShellFolder * psfDesktop;
|
||||
HRESULT hr=E_FAIL;
|
||||
|
||||
TRACE_(shell)("pidl=%p\n", pidl);
|
||||
pdump(pidl);
|
||||
|
@ -1269,13 +1287,13 @@ HRESULT WINAPI SHBindToParent(LPCITEMIDLIST pidl, REFIID riid, LPVOID *ppv, LPCI
|
|||
if (_ILIsPidlSimple(pidl))
|
||||
{
|
||||
/* we are on desktop level */
|
||||
hr = psfDesktop->QueryInterface(riid, ppv);
|
||||
hr = IShellFolder_QueryInterface(psfDesktop, riid, ppv);
|
||||
}
|
||||
else
|
||||
{
|
||||
LPITEMIDLIST pidlParent = ILClone(pidl);
|
||||
ILRemoveLastID(pidlParent);
|
||||
hr = psfDesktop->BindToObject(pidlParent, NULL, riid, ppv);
|
||||
hr = IShellFolder_BindToObject(psfDesktop, pidlParent, NULL, riid, ppv);
|
||||
SHFree (pidlParent);
|
||||
}
|
||||
|
||||
|
@ -1341,29 +1359,29 @@ LPITEMIDLIST _ILCreateDesktop(void)
|
|||
LPITEMIDLIST _ILCreateMyComputer(void)
|
||||
{
|
||||
TRACE("()\n");
|
||||
return _ILCreateGuid(PT_GUID, CLSID_MyComputer);
|
||||
return _ILCreateGuid(PT_GUID, &CLSID_MyComputer);
|
||||
}
|
||||
|
||||
LPITEMIDLIST _ILCreateMyDocuments(void)
|
||||
{
|
||||
TRACE("()\n");
|
||||
return _ILCreateGuid(PT_GUID, CLSID_MyDocuments);
|
||||
return _ILCreateGuid(PT_GUID, &CLSID_MyDocuments);
|
||||
}
|
||||
|
||||
LPITEMIDLIST _ILCreateIExplore(void)
|
||||
{
|
||||
TRACE("()\n");
|
||||
return _ILCreateGuid(PT_GUID, CLSID_Internet);
|
||||
return _ILCreateGuid(PT_GUID, &CLSID_Internet);
|
||||
}
|
||||
|
||||
LPITEMIDLIST _ILCreateControlPanel(void)
|
||||
{
|
||||
LPITEMIDLIST parent = _ILCreateGuid(PT_GUID, CLSID_MyComputer), ret = NULL;
|
||||
LPITEMIDLIST parent = _ILCreateGuid(PT_GUID, &CLSID_MyComputer), ret = NULL;
|
||||
|
||||
TRACE("()\n");
|
||||
if (parent)
|
||||
{
|
||||
LPITEMIDLIST cpl = _ILCreateGuid(PT_SHELLEXT, CLSID_ControlPanel);
|
||||
LPITEMIDLIST cpl = _ILCreateGuid(PT_SHELLEXT, &CLSID_ControlPanel);
|
||||
|
||||
if (cpl)
|
||||
{
|
||||
|
@ -1377,12 +1395,12 @@ LPITEMIDLIST _ILCreateControlPanel(void)
|
|||
|
||||
LPITEMIDLIST _ILCreatePrinters(void)
|
||||
{
|
||||
LPITEMIDLIST parent = _ILCreateGuid(PT_GUID, CLSID_MyComputer), ret = NULL;
|
||||
LPITEMIDLIST parent = _ILCreateGuid(PT_GUID, &CLSID_MyComputer), ret = NULL;
|
||||
|
||||
TRACE("()\n");
|
||||
if (parent)
|
||||
{
|
||||
LPITEMIDLIST printers = _ILCreateGuid(PT_YAGUID, CLSID_Printers);
|
||||
LPITEMIDLIST printers = _ILCreateGuid(PT_YAGUID, &CLSID_Printers);
|
||||
|
||||
if (printers)
|
||||
{
|
||||
|
@ -1397,19 +1415,19 @@ LPITEMIDLIST _ILCreatePrinters(void)
|
|||
LPITEMIDLIST _ILCreateNetwork(void)
|
||||
{
|
||||
TRACE("()\n");
|
||||
return _ILCreateGuid(PT_GUID, CLSID_NetworkPlaces);
|
||||
return _ILCreateGuid(PT_GUID, &CLSID_NetworkPlaces);
|
||||
}
|
||||
|
||||
LPITEMIDLIST _ILCreateBitBucket(void)
|
||||
{
|
||||
TRACE("()\n");
|
||||
return _ILCreateGuid(PT_GUID, CLSID_RecycleBin);
|
||||
return _ILCreateGuid(PT_GUID, &CLSID_RecycleBin);
|
||||
}
|
||||
|
||||
LPITEMIDLIST _ILCreateAdminTools(void)
|
||||
{
|
||||
TRACE("()\n");
|
||||
return _ILCreateGuid(PT_GUID, CLSID_AdminFolderShortcut); //FIXME
|
||||
return _ILCreateGuid(PT_GUID, &CLSID_AdminFolderShortcut); //FIXME
|
||||
}
|
||||
|
||||
LPITEMIDLIST _ILCreateGuid(PIDLTYPE type, REFIID guid)
|
||||
|
@ -1423,7 +1441,7 @@ LPITEMIDLIST _ILCreateGuid(PIDLTYPE type, REFIID guid)
|
|||
{
|
||||
LPPIDLDATA pData = _ILGetDataPointer(pidlOut);
|
||||
|
||||
pData->u.guid.guid = guid;
|
||||
pData->u.guid.guid = *guid;
|
||||
TRACE("-- create GUID-pidl %s\n",
|
||||
debugstr_guid(&(pData->u.guid.guid)));
|
||||
}
|
||||
|
@ -1445,7 +1463,7 @@ LPITEMIDLIST _ILCreateGuidFromStrA(LPCSTR szGUID)
|
|||
ERR("%s is not a GUID\n", szGUID);
|
||||
return NULL;
|
||||
}
|
||||
return _ILCreateGuid(PT_GUID, iid);
|
||||
return _ILCreateGuid(PT_GUID, &iid);
|
||||
}
|
||||
|
||||
LPITEMIDLIST _ILCreateGuidFromStrW(LPCWSTR szGUID)
|
||||
|
@ -1457,7 +1475,7 @@ LPITEMIDLIST _ILCreateGuidFromStrW(LPCWSTR szGUID)
|
|||
ERR("%s is not a GUID\n", debugstr_w(szGUID));
|
||||
return NULL;
|
||||
}
|
||||
return _ILCreateGuid(PT_GUID, iid);
|
||||
return _ILCreateGuid(PT_GUID, &iid);
|
||||
}
|
||||
|
||||
LPITEMIDLIST _ILCreateFromFindDataW( const WIN32_FIND_DATAW *wfd )
|
||||
|
@ -1609,7 +1627,7 @@ BOOL _ILIsMyDocuments(LPCITEMIDLIST pidl)
|
|||
TRACE("(%p)\n", pidl);
|
||||
|
||||
if (iid)
|
||||
return IsEqualIID(*iid, CLSID_MyDocuments);
|
||||
return IsEqualIID(iid, &CLSID_MyDocuments);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
@ -1620,7 +1638,7 @@ BOOL _ILIsControlPanel(LPCITEMIDLIST pidl)
|
|||
TRACE("(%p)\n", pidl);
|
||||
|
||||
if (iid)
|
||||
return IsEqualIID(*iid, CLSID_ControlPanel);
|
||||
return IsEqualIID(iid, &CLSID_ControlPanel);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
@ -1631,19 +1649,19 @@ BOOL _ILIsNetHood(LPCITEMIDLIST pidl)
|
|||
TRACE("(%p)\n", pidl);
|
||||
|
||||
if (iid)
|
||||
return IsEqualIID(*iid, CLSID_NetworkPlaces);
|
||||
return IsEqualIID(iid, &CLSID_NetworkPlaces);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
LPITEMIDLIST _ILCreateNetHood(void)
|
||||
{
|
||||
return _ILCreateGuid(PT_GUID, CLSID_NetworkPlaces);
|
||||
return _ILCreateGuid(PT_GUID, &CLSID_NetworkPlaces);
|
||||
}
|
||||
|
||||
LPITEMIDLIST _ILCreateFont(void)
|
||||
{
|
||||
return _ILCreateGuid(PT_GUID, CLSID_FontsFolderShortcut);
|
||||
return _ILCreateGuid(PT_GUID, &CLSID_FontsFolderShortcut);
|
||||
}
|
||||
|
||||
BOOL _ILIsMyComputer(LPCITEMIDLIST pidl)
|
||||
|
@ -1653,7 +1671,7 @@ BOOL _ILIsMyComputer(LPCITEMIDLIST pidl)
|
|||
TRACE("(%p)\n", pidl);
|
||||
|
||||
if (iid)
|
||||
return IsEqualIID(*iid, CLSID_MyComputer);
|
||||
return IsEqualIID(iid, &CLSID_MyComputer);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
@ -1664,7 +1682,7 @@ BOOL _ILIsPrinter(LPCITEMIDLIST pidl)
|
|||
TRACE("(%p)\n", pidl);
|
||||
|
||||
if (iid)
|
||||
return IsEqualIID(*iid, CLSID_Printers);
|
||||
return IsEqualIID(iid, &CLSID_Printers);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
@ -1675,7 +1693,7 @@ BOOL _ILIsBitBucket(LPCITEMIDLIST pidl)
|
|||
TRACE("(%p)\n", pidl);
|
||||
|
||||
if (iid)
|
||||
return IsEqualIID(*iid, CLSID_RecycleBin);
|
||||
return IsEqualIID(iid, &CLSID_RecycleBin);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
@ -1686,7 +1704,7 @@ BOOL _ILIsAdminTools(LPCITEMIDLIST pidl)
|
|||
TRACE("(%p)\n", pidl);
|
||||
|
||||
if (iid)
|
||||
return IsEqualIID(*iid, CLSID_AdminFolderShortcut);
|
||||
return IsEqualIID(iid, &CLSID_AdminFolderShortcut);
|
||||
else
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -1792,7 +1810,7 @@ DWORD _ILSimpleGetText (LPCITEMIDLIST pidl, LPSTR szOut, UINT uOutSize)
|
|||
if (_ILIsDesktop(pidl))
|
||||
{
|
||||
/* desktop */
|
||||
if (HCR_GetClassNameA(CLSID_ShellDesktop, szTemp, MAX_PATH))
|
||||
if (HCR_GetClassNameA(&CLSID_ShellDesktop, szTemp, MAX_PATH))
|
||||
{
|
||||
if (szOut)
|
||||
lstrcpynA(szOut, szTemp, uOutSize);
|
||||
|
@ -1821,7 +1839,7 @@ DWORD _ILSimpleGetText (LPCITEMIDLIST pidl, LPSTR szOut, UINT uOutSize)
|
|||
else if (( riid = _ILGetGUIDPointer(pidl) ))
|
||||
{
|
||||
/* special folder */
|
||||
if (HCR_GetClassNameA(*riid, szTemp, MAX_PATH) )
|
||||
if (HCR_GetClassNameA(riid, szTemp, MAX_PATH) )
|
||||
{
|
||||
if (szOut)
|
||||
lstrcpynA(szOut, szTemp, uOutSize);
|
||||
|
@ -1871,7 +1889,7 @@ DWORD _ILSimpleGetTextW (LPCITEMIDLIST pidl, LPWSTR szOut, UINT uOutSize)
|
|||
if (_ILIsDesktop(pidl))
|
||||
{
|
||||
/* desktop */
|
||||
if (HCR_GetClassNameW(CLSID_ShellDesktop, szTemp, MAX_PATH))
|
||||
if (HCR_GetClassNameW(&CLSID_ShellDesktop, szTemp, MAX_PATH))
|
||||
{
|
||||
if (szOut)
|
||||
lstrcpynW(szOut, szTemp, uOutSize);
|
||||
|
@ -1900,7 +1918,7 @@ DWORD _ILSimpleGetTextW (LPCITEMIDLIST pidl, LPWSTR szOut, UINT uOutSize)
|
|||
else if (( riid = _ILGetGUIDPointer(pidl) ))
|
||||
{
|
||||
/* special folder */
|
||||
if ( HCR_GetClassNameW(*riid, szTemp, MAX_PATH) )
|
||||
if ( HCR_GetClassNameW(riid, szTemp, MAX_PATH) )
|
||||
{
|
||||
if (szOut)
|
||||
lstrcpynW(szOut, szTemp, uOutSize);
|
Loading…
Add table
Add a link
Reference in a new issue