shell32: COM cleanup for the IShellFolder2 iface in cpanelfolder.c.
This commit is contained in:
parent
bdb52414f9
commit
567bb185b5
|
@ -59,7 +59,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(shell);
|
||||||
*/
|
*/
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
const IShellFolder2Vtbl *lpVtbl;
|
IShellFolder2 IShellFolder2_iface;
|
||||||
LONG ref;
|
LONG ref;
|
||||||
const IPersistFolder2Vtbl *lpVtblPersistFolder2;
|
const IPersistFolder2Vtbl *lpVtblPersistFolder2;
|
||||||
const IShellExecuteHookWVtbl *lpVtblShellExecuteHookW;
|
const IShellExecuteHookWVtbl *lpVtblShellExecuteHookW;
|
||||||
|
@ -77,6 +77,11 @@ static const IPersistFolder2Vtbl vt_PersistFolder2;
|
||||||
static const IShellExecuteHookWVtbl vt_ShellExecuteHookW;
|
static const IShellExecuteHookWVtbl vt_ShellExecuteHookW;
|
||||||
static const IShellExecuteHookAVtbl vt_ShellExecuteHookA;
|
static const IShellExecuteHookAVtbl vt_ShellExecuteHookA;
|
||||||
|
|
||||||
|
static inline ICPanelImpl *impl_from_IShellFolder2(IShellFolder2 *iface)
|
||||||
|
{
|
||||||
|
return CONTAINING_RECORD(iface, ICPanelImpl, IShellFolder2_iface);
|
||||||
|
}
|
||||||
|
|
||||||
static inline ICPanelImpl *impl_from_IPersistFolder2( IPersistFolder2 *iface )
|
static inline ICPanelImpl *impl_from_IPersistFolder2( IPersistFolder2 *iface )
|
||||||
{
|
{
|
||||||
return (ICPanelImpl *)((char*)iface - FIELD_OFFSET(ICPanelImpl, lpVtblPersistFolder2));
|
return (ICPanelImpl *)((char*)iface - FIELD_OFFSET(ICPanelImpl, lpVtblPersistFolder2));
|
||||||
|
@ -96,10 +101,6 @@ static inline ICPanelImpl *impl_from_IShellExecuteHookA( IShellExecuteHookA *ifa
|
||||||
/*
|
/*
|
||||||
converts This to an interface pointer
|
converts This to an interface pointer
|
||||||
*/
|
*/
|
||||||
#define _IUnknown_(This) ((IUnknown*)&(This)->lpVtbl)
|
|
||||||
#define _IShellFolder_(This) ((IShellFolder*)&(This)->lpVtbl)
|
|
||||||
#define _IShellFolder2_(This) (&(This)->lpVtbl)
|
|
||||||
|
|
||||||
#define _IPersist_(This) (&(This)->lpVtblPersistFolder2)
|
#define _IPersist_(This) (&(This)->lpVtblPersistFolder2)
|
||||||
#define _IPersistFolder_(This) (&(This)->lpVtblPersistFolder2)
|
#define _IPersistFolder_(This) (&(This)->lpVtblPersistFolder2)
|
||||||
#define _IPersistFolder2_(This) (&(This)->lpVtblPersistFolder2)
|
#define _IPersistFolder2_(This) (&(This)->lpVtblPersistFolder2)
|
||||||
|
@ -136,15 +137,15 @@ HRESULT WINAPI IControlPanel_Constructor(IUnknown* pUnkOuter, REFIID riid, LPVOI
|
||||||
return E_OUTOFMEMORY;
|
return E_OUTOFMEMORY;
|
||||||
|
|
||||||
sf->ref = 0;
|
sf->ref = 0;
|
||||||
sf->lpVtbl = &vt_ShellFolder2;
|
sf->IShellFolder2_iface.lpVtbl = &vt_ShellFolder2;
|
||||||
sf->lpVtblPersistFolder2 = &vt_PersistFolder2;
|
sf->lpVtblPersistFolder2 = &vt_PersistFolder2;
|
||||||
sf->lpVtblShellExecuteHookW = &vt_ShellExecuteHookW;
|
sf->lpVtblShellExecuteHookW = &vt_ShellExecuteHookW;
|
||||||
sf->lpVtblShellExecuteHookA = &vt_ShellExecuteHookA;
|
sf->lpVtblShellExecuteHookA = &vt_ShellExecuteHookA;
|
||||||
sf->pidlRoot = _ILCreateControlPanel(); /* my qualified pidl */
|
sf->pidlRoot = _ILCreateControlPanel(); /* my qualified pidl */
|
||||||
sf->pUnkOuter = pUnkOuter ? pUnkOuter : _IUnknown_ (sf);
|
sf->pUnkOuter = pUnkOuter ? pUnkOuter : (IUnknown *)&sf->IShellFolder2_iface;
|
||||||
|
|
||||||
if (FAILED(IUnknown_QueryInterface(_IUnknown_(sf), riid, ppv))) {
|
if (FAILED(IShellFolder2_QueryInterface(&sf->IShellFolder2_iface, riid, ppv))) {
|
||||||
IUnknown_Release(_IUnknown_(sf));
|
IShellFolder2_Release(&sf->IShellFolder2_iface);
|
||||||
return E_NOINTERFACE;
|
return E_NOINTERFACE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -157,9 +158,10 @@ HRESULT WINAPI IControlPanel_Constructor(IUnknown* pUnkOuter, REFIID riid, LPVOI
|
||||||
*
|
*
|
||||||
* NOTES supports not IPersist/IPersistFolder
|
* NOTES supports not IPersist/IPersistFolder
|
||||||
*/
|
*/
|
||||||
static HRESULT WINAPI ISF_ControlPanel_fnQueryInterface(IShellFolder2 * iface, REFIID riid, LPVOID * ppvObject)
|
static HRESULT WINAPI ISF_ControlPanel_fnQueryInterface(IShellFolder2 *iface, REFIID riid,
|
||||||
|
void **ppvObject)
|
||||||
{
|
{
|
||||||
ICPanelImpl *This = (ICPanelImpl *)iface;
|
ICPanelImpl *This = impl_from_IShellFolder2(iface);
|
||||||
|
|
||||||
TRACE("(%p)->(%s,%p)\n", This, shdebugstr_guid(riid), ppvObject);
|
TRACE("(%p)->(%s,%p)\n", This, shdebugstr_guid(riid), ppvObject);
|
||||||
|
|
||||||
|
@ -185,9 +187,9 @@ static HRESULT WINAPI ISF_ControlPanel_fnQueryInterface(IShellFolder2 * iface, R
|
||||||
return E_NOINTERFACE;
|
return E_NOINTERFACE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static ULONG WINAPI ISF_ControlPanel_fnAddRef(IShellFolder2 * iface)
|
static ULONG WINAPI ISF_ControlPanel_fnAddRef(IShellFolder2 *iface)
|
||||||
{
|
{
|
||||||
ICPanelImpl *This = (ICPanelImpl *)iface;
|
ICPanelImpl *This = impl_from_IShellFolder2(iface);
|
||||||
ULONG refCount = InterlockedIncrement(&This->ref);
|
ULONG refCount = InterlockedIncrement(&This->ref);
|
||||||
|
|
||||||
TRACE("(%p)->(count=%u)\n", This, refCount - 1);
|
TRACE("(%p)->(count=%u)\n", This, refCount - 1);
|
||||||
|
@ -195,9 +197,9 @@ static ULONG WINAPI ISF_ControlPanel_fnAddRef(IShellFolder2 * iface)
|
||||||
return refCount;
|
return refCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
static ULONG WINAPI ISF_ControlPanel_fnRelease(IShellFolder2 * iface)
|
static ULONG WINAPI ISF_ControlPanel_fnRelease(IShellFolder2 *iface)
|
||||||
{
|
{
|
||||||
ICPanelImpl *This = (ICPanelImpl *)iface;
|
ICPanelImpl *This = impl_from_IShellFolder2(iface);
|
||||||
ULONG refCount = InterlockedDecrement(&This->ref);
|
ULONG refCount = InterlockedDecrement(&This->ref);
|
||||||
|
|
||||||
TRACE("(%p)->(count=%u)\n", This, refCount + 1);
|
TRACE("(%p)->(count=%u)\n", This, refCount + 1);
|
||||||
|
@ -213,14 +215,11 @@ static ULONG WINAPI ISF_ControlPanel_fnRelease(IShellFolder2 * iface)
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
* ISF_ControlPanel_fnParseDisplayName
|
* ISF_ControlPanel_fnParseDisplayName
|
||||||
*/
|
*/
|
||||||
static HRESULT WINAPI
|
static HRESULT WINAPI ISF_ControlPanel_fnParseDisplayName(IShellFolder2 *iface, HWND hwndOwner,
|
||||||
ISF_ControlPanel_fnParseDisplayName(IShellFolder2 * iface,
|
LPBC pbc, LPOLESTR lpszDisplayName, DWORD *pchEaten, LPITEMIDLIST *ppidl,
|
||||||
HWND hwndOwner,
|
DWORD *pdwAttributes)
|
||||||
LPBC pbc,
|
|
||||||
LPOLESTR lpszDisplayName,
|
|
||||||
DWORD * pchEaten, LPITEMIDLIST * ppidl, DWORD * pdwAttributes)
|
|
||||||
{
|
{
|
||||||
ICPanelImpl *This = (ICPanelImpl *)iface;
|
ICPanelImpl *This = impl_from_IShellFolder2(iface);
|
||||||
|
|
||||||
HRESULT hr = E_INVALIDARG;
|
HRESULT hr = E_INVALIDARG;
|
||||||
|
|
||||||
|
@ -452,10 +451,10 @@ static BOOL CreateCPanelEnumList(
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
* ISF_ControlPanel_fnEnumObjects
|
* ISF_ControlPanel_fnEnumObjects
|
||||||
*/
|
*/
|
||||||
static HRESULT WINAPI
|
static HRESULT WINAPI ISF_ControlPanel_fnEnumObjects(IShellFolder2 *iface, HWND hwndOwner,
|
||||||
ISF_ControlPanel_fnEnumObjects(IShellFolder2 * iface, HWND hwndOwner, DWORD dwFlags, LPENUMIDLIST * ppEnumIDList)
|
DWORD dwFlags, LPENUMIDLIST *ppEnumIDList)
|
||||||
{
|
{
|
||||||
ICPanelImpl *This = (ICPanelImpl *)iface;
|
ICPanelImpl *This = impl_from_IShellFolder2(iface);
|
||||||
|
|
||||||
TRACE("(%p)->(HWND=%p flags=0x%08x pplist=%p)\n", This, hwndOwner, dwFlags, ppEnumIDList);
|
TRACE("(%p)->(HWND=%p flags=0x%08x pplist=%p)\n", This, hwndOwner, dwFlags, ppEnumIDList);
|
||||||
|
|
||||||
|
@ -471,11 +470,10 @@ ISF_ControlPanel_fnEnumObjects(IShellFolder2 * iface, HWND hwndOwner, DWORD dwFl
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
* ISF_ControlPanel_fnBindToObject
|
* ISF_ControlPanel_fnBindToObject
|
||||||
*/
|
*/
|
||||||
static HRESULT WINAPI
|
static HRESULT WINAPI ISF_ControlPanel_fnBindToObject(IShellFolder2 *iface, LPCITEMIDLIST pidl,
|
||||||
ISF_ControlPanel_fnBindToObject(IShellFolder2 * iface, LPCITEMIDLIST pidl,
|
LPBC pbcReserved, REFIID riid, void **ppvOut)
|
||||||
LPBC pbcReserved, REFIID riid, LPVOID * ppvOut)
|
|
||||||
{
|
{
|
||||||
ICPanelImpl *This = (ICPanelImpl *)iface;
|
ICPanelImpl *This = impl_from_IShellFolder2(iface);
|
||||||
|
|
||||||
TRACE("(%p)->(pidl=%p,%p,%s,%p)\n", This, pidl, pbcReserved, shdebugstr_guid(riid), ppvOut);
|
TRACE("(%p)->(pidl=%p,%p,%s,%p)\n", This, pidl, pbcReserved, shdebugstr_guid(riid), ppvOut);
|
||||||
|
|
||||||
|
@ -485,11 +483,10 @@ ISF_ControlPanel_fnBindToObject(IShellFolder2 * iface, LPCITEMIDLIST pidl,
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
* ISF_ControlPanel_fnBindToStorage
|
* ISF_ControlPanel_fnBindToStorage
|
||||||
*/
|
*/
|
||||||
static HRESULT WINAPI
|
static HRESULT WINAPI ISF_ControlPanel_fnBindToStorage(IShellFolder2 *iface, LPCITEMIDLIST pidl,
|
||||||
ISF_ControlPanel_fnBindToStorage(IShellFolder2 * iface,
|
LPBC pbcReserved, REFIID riid, void **ppvOut)
|
||||||
LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, LPVOID * ppvOut)
|
|
||||||
{
|
{
|
||||||
ICPanelImpl *This = (ICPanelImpl *)iface;
|
ICPanelImpl *This = impl_from_IShellFolder2(iface);
|
||||||
|
|
||||||
FIXME("(%p)->(pidl=%p,%p,%s,%p) stub\n", This, pidl, pbcReserved, shdebugstr_guid(riid), ppvOut);
|
FIXME("(%p)->(pidl=%p,%p,%s,%p) stub\n", This, pidl, pbcReserved, shdebugstr_guid(riid), ppvOut);
|
||||||
|
|
||||||
|
@ -501,15 +498,15 @@ ISF_ControlPanel_fnBindToStorage(IShellFolder2 * iface,
|
||||||
* ISF_ControlPanel_fnCompareIDs
|
* ISF_ControlPanel_fnCompareIDs
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static HRESULT WINAPI
|
static HRESULT WINAPI ISF_ControlPanel_fnCompareIDs(IShellFolder2 *iface, LPARAM lParam,
|
||||||
ISF_ControlPanel_fnCompareIDs(IShellFolder2 * iface, LPARAM lParam, LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2)
|
LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2)
|
||||||
{
|
{
|
||||||
ICPanelImpl *This = (ICPanelImpl *)iface;
|
ICPanelImpl *This = impl_from_IShellFolder2(iface);
|
||||||
|
|
||||||
int nReturn;
|
int nReturn;
|
||||||
|
|
||||||
TRACE("(%p)->(0x%08lx,pidl1=%p,pidl2=%p)\n", This, lParam, pidl1, pidl2);
|
TRACE("(%p)->(0x%08lx,pidl1=%p,pidl2=%p)\n", This, lParam, pidl1, pidl2);
|
||||||
nReturn = SHELL32_CompareIDs(_IShellFolder_(This), lParam, pidl1, pidl2);
|
nReturn = SHELL32_CompareIDs((IShellFolder *)&This->IShellFolder2_iface, lParam, pidl1, pidl2);
|
||||||
TRACE("-- %i\n", nReturn);
|
TRACE("-- %i\n", nReturn);
|
||||||
return nReturn;
|
return nReturn;
|
||||||
}
|
}
|
||||||
|
@ -517,10 +514,10 @@ ISF_ControlPanel_fnCompareIDs(IShellFolder2 * iface, LPARAM lParam, LPCITEMIDLIS
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
* ISF_ControlPanel_fnCreateViewObject
|
* ISF_ControlPanel_fnCreateViewObject
|
||||||
*/
|
*/
|
||||||
static HRESULT WINAPI
|
static HRESULT WINAPI ISF_ControlPanel_fnCreateViewObject(IShellFolder2 *iface, HWND hwndOwner,
|
||||||
ISF_ControlPanel_fnCreateViewObject(IShellFolder2 * iface, HWND hwndOwner, REFIID riid, LPVOID * ppvOut)
|
REFIID riid, void **ppvOut)
|
||||||
{
|
{
|
||||||
ICPanelImpl *This = (ICPanelImpl *)iface;
|
ICPanelImpl *This = impl_from_IShellFolder2(iface);
|
||||||
|
|
||||||
LPSHELLVIEW pShellView;
|
LPSHELLVIEW pShellView;
|
||||||
HRESULT hr = E_INVALIDARG;
|
HRESULT hr = E_INVALIDARG;
|
||||||
|
@ -551,10 +548,10 @@ ISF_ControlPanel_fnCreateViewObject(IShellFolder2 * iface, HWND hwndOwner, REFII
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
* ISF_ControlPanel_fnGetAttributesOf
|
* ISF_ControlPanel_fnGetAttributesOf
|
||||||
*/
|
*/
|
||||||
static HRESULT WINAPI
|
static HRESULT WINAPI ISF_ControlPanel_fnGetAttributesOf(IShellFolder2 *iface, UINT cidl,
|
||||||
ISF_ControlPanel_fnGetAttributesOf(IShellFolder2 * iface, UINT cidl, LPCITEMIDLIST * apidl, DWORD * rgfInOut)
|
LPCITEMIDLIST *apidl, DWORD *rgfInOut)
|
||||||
{
|
{
|
||||||
ICPanelImpl *This = (ICPanelImpl *)iface;
|
ICPanelImpl *This = impl_from_IShellFolder2(iface);
|
||||||
|
|
||||||
HRESULT hr = S_OK;
|
HRESULT hr = S_OK;
|
||||||
|
|
||||||
|
@ -571,7 +568,7 @@ ISF_ControlPanel_fnGetAttributesOf(IShellFolder2 * iface, UINT cidl, LPCITEMIDLI
|
||||||
|
|
||||||
while(cidl > 0 && *apidl) {
|
while(cidl > 0 && *apidl) {
|
||||||
pdump(*apidl);
|
pdump(*apidl);
|
||||||
SHELL32_GetItemAttributes(_IShellFolder_(This), *apidl, rgfInOut);
|
SHELL32_GetItemAttributes((IShellFolder *)&This->IShellFolder2_iface, *apidl, rgfInOut);
|
||||||
apidl++;
|
apidl++;
|
||||||
cidl--;
|
cidl--;
|
||||||
}
|
}
|
||||||
|
@ -594,12 +591,10 @@ ISF_ControlPanel_fnGetAttributesOf(IShellFolder2 * iface, UINT cidl, LPCITEMIDLI
|
||||||
* LPVOID* ppvObject) //[out] Resulting Interface
|
* LPVOID* ppvObject) //[out] Resulting Interface
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
static HRESULT WINAPI
|
static HRESULT WINAPI ISF_ControlPanel_fnGetUIObjectOf(IShellFolder2 *iface, HWND hwndOwner,
|
||||||
ISF_ControlPanel_fnGetUIObjectOf(IShellFolder2 * iface,
|
UINT cidl, LPCITEMIDLIST *apidl, REFIID riid, UINT *prgfInOut, void **ppvOut)
|
||||||
HWND hwndOwner,
|
|
||||||
UINT cidl, LPCITEMIDLIST * apidl, REFIID riid, UINT * prgfInOut, LPVOID * ppvOut)
|
|
||||||
{
|
{
|
||||||
ICPanelImpl *This = (ICPanelImpl *)iface;
|
ICPanelImpl *This = impl_from_IShellFolder2(iface);
|
||||||
|
|
||||||
LPITEMIDLIST pidl;
|
LPITEMIDLIST pidl;
|
||||||
IUnknown *pObj = NULL;
|
IUnknown *pObj = NULL;
|
||||||
|
@ -648,9 +643,10 @@ ISF_ControlPanel_fnGetUIObjectOf(IShellFolder2 * iface,
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
* ISF_ControlPanel_fnGetDisplayNameOf
|
* ISF_ControlPanel_fnGetDisplayNameOf
|
||||||
*/
|
*/
|
||||||
static HRESULT WINAPI ISF_ControlPanel_fnGetDisplayNameOf(IShellFolder2 * iface, LPCITEMIDLIST pidl, DWORD dwFlags, LPSTRRET strRet)
|
static HRESULT WINAPI ISF_ControlPanel_fnGetDisplayNameOf(IShellFolder2 *iface, LPCITEMIDLIST pidl,
|
||||||
|
DWORD dwFlags, LPSTRRET strRet)
|
||||||
{
|
{
|
||||||
ICPanelImpl *This = (ICPanelImpl *)iface;
|
ICPanelImpl *This = impl_from_IShellFolder2(iface);
|
||||||
|
|
||||||
CHAR szPath[MAX_PATH];
|
CHAR szPath[MAX_PATH];
|
||||||
WCHAR wszPath[MAX_PATH+1]; /* +1 for potential backslash */
|
WCHAR wszPath[MAX_PATH+1]; /* +1 for potential backslash */
|
||||||
|
@ -714,29 +710,31 @@ static HRESULT WINAPI ISF_ControlPanel_fnGetDisplayNameOf(IShellFolder2 * iface,
|
||||||
* DWORD dwFlags, //[in ] SHGNO formatting flags
|
* DWORD dwFlags, //[in ] SHGNO formatting flags
|
||||||
* LPITEMIDLIST* ppidlOut) //[out] simple pidl returned
|
* LPITEMIDLIST* ppidlOut) //[out] simple pidl returned
|
||||||
*/
|
*/
|
||||||
static HRESULT WINAPI ISF_ControlPanel_fnSetNameOf(IShellFolder2 * iface, HWND hwndOwner, LPCITEMIDLIST pidl, /*simple pidl */
|
static HRESULT WINAPI ISF_ControlPanel_fnSetNameOf(IShellFolder2 *iface, HWND hwndOwner,
|
||||||
LPCOLESTR lpName, DWORD dwFlags, LPITEMIDLIST * pPidlOut)
|
LPCITEMIDLIST pidl, LPCOLESTR lpName, DWORD dwFlags, LPITEMIDLIST *pPidlOut)
|
||||||
{
|
{
|
||||||
ICPanelImpl *This = (ICPanelImpl *)iface;
|
ICPanelImpl *This = impl_from_IShellFolder2(iface);
|
||||||
FIXME("(%p)->(%p,pidl=%p,%s,%u,%p)\n", This, hwndOwner, pidl, debugstr_w(lpName), dwFlags, pPidlOut);
|
FIXME("(%p)->(%p,pidl=%p,%s,%u,%p)\n", This, hwndOwner, pidl, debugstr_w(lpName), dwFlags, pPidlOut);
|
||||||
return E_FAIL;
|
return E_FAIL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT WINAPI ISF_ControlPanel_fnGetDefaultSearchGUID(IShellFolder2 * iface, GUID * pguid)
|
static HRESULT WINAPI ISF_ControlPanel_fnGetDefaultSearchGUID(IShellFolder2 *iface, GUID *pguid)
|
||||||
{
|
{
|
||||||
ICPanelImpl *This = (ICPanelImpl *)iface;
|
ICPanelImpl *This = impl_from_IShellFolder2(iface);
|
||||||
FIXME("(%p)\n", This);
|
FIXME("(%p)\n", This);
|
||||||
return E_NOTIMPL;
|
return E_NOTIMPL;
|
||||||
}
|
}
|
||||||
static HRESULT WINAPI ISF_ControlPanel_fnEnumSearches(IShellFolder2 * iface, IEnumExtraSearch ** ppenum)
|
static HRESULT WINAPI ISF_ControlPanel_fnEnumSearches(IShellFolder2 *iface,
|
||||||
|
IEnumExtraSearch **ppenum)
|
||||||
{
|
{
|
||||||
ICPanelImpl *This = (ICPanelImpl *)iface;
|
ICPanelImpl *This = impl_from_IShellFolder2(iface);
|
||||||
FIXME("(%p)\n", This);
|
FIXME("(%p)\n", This);
|
||||||
return E_NOTIMPL;
|
return E_NOTIMPL;
|
||||||
}
|
}
|
||||||
static HRESULT WINAPI ISF_ControlPanel_fnGetDefaultColumn(IShellFolder2 * iface, DWORD dwRes, ULONG * pSort, ULONG * pDisplay)
|
static HRESULT WINAPI ISF_ControlPanel_fnGetDefaultColumn(IShellFolder2 *iface, DWORD dwRes,
|
||||||
|
ULONG *pSort, ULONG *pDisplay)
|
||||||
{
|
{
|
||||||
ICPanelImpl *This = (ICPanelImpl *)iface;
|
ICPanelImpl *This = impl_from_IShellFolder2(iface);
|
||||||
|
|
||||||
TRACE("(%p)\n", This);
|
TRACE("(%p)\n", This);
|
||||||
|
|
||||||
|
@ -744,9 +742,10 @@ static HRESULT WINAPI ISF_ControlPanel_fnGetDefaultColumn(IShellFolder2 * iface,
|
||||||
if (pDisplay) *pDisplay = 0;
|
if (pDisplay) *pDisplay = 0;
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
static HRESULT WINAPI ISF_ControlPanel_fnGetDefaultColumnState(IShellFolder2 * iface, UINT iColumn, DWORD * pcsFlags)
|
static HRESULT WINAPI ISF_ControlPanel_fnGetDefaultColumnState(IShellFolder2 *iface, UINT iColumn,
|
||||||
|
DWORD *pcsFlags)
|
||||||
{
|
{
|
||||||
ICPanelImpl *This = (ICPanelImpl *)iface;
|
ICPanelImpl *This = impl_from_IShellFolder2(iface);
|
||||||
|
|
||||||
TRACE("(%p)\n", This);
|
TRACE("(%p)\n", This);
|
||||||
|
|
||||||
|
@ -754,16 +753,18 @@ static HRESULT WINAPI ISF_ControlPanel_fnGetDefaultColumnState(IShellFolder2 * i
|
||||||
*pcsFlags = ControlPanelSFHeader[iColumn].pcsFlags;
|
*pcsFlags = ControlPanelSFHeader[iColumn].pcsFlags;
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
static HRESULT WINAPI ISF_ControlPanel_fnGetDetailsEx(IShellFolder2 * iface, LPCITEMIDLIST pidl, const SHCOLUMNID * pscid, VARIANT * pv)
|
static HRESULT WINAPI ISF_ControlPanel_fnGetDetailsEx(IShellFolder2 *iface, LPCITEMIDLIST pidl,
|
||||||
|
const SHCOLUMNID *pscid, VARIANT *pv)
|
||||||
{
|
{
|
||||||
ICPanelImpl *This = (ICPanelImpl *)iface;
|
ICPanelImpl *This = impl_from_IShellFolder2(iface);
|
||||||
FIXME("(%p)\n", This);
|
FIXME("(%p)\n", This);
|
||||||
return E_NOTIMPL;
|
return E_NOTIMPL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT WINAPI ISF_ControlPanel_fnGetDetailsOf(IShellFolder2 * iface, LPCITEMIDLIST pidl, UINT iColumn, SHELLDETAILS * psd)
|
static HRESULT WINAPI ISF_ControlPanel_fnGetDetailsOf(IShellFolder2 *iface, LPCITEMIDLIST pidl,
|
||||||
|
UINT iColumn, SHELLDETAILS *psd)
|
||||||
{
|
{
|
||||||
ICPanelImpl *This = (ICPanelImpl *)iface;
|
ICPanelImpl *This = impl_from_IShellFolder2(iface);
|
||||||
PIDLCPanelStruct* pcpanel;
|
PIDLCPanelStruct* pcpanel;
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
|
|
||||||
|
@ -800,9 +801,10 @@ static HRESULT WINAPI ISF_ControlPanel_fnGetDetailsOf(IShellFolder2 * iface, LPC
|
||||||
|
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
static HRESULT WINAPI ISF_ControlPanel_fnMapColumnToSCID(IShellFolder2 * iface, UINT column, SHCOLUMNID * pscid)
|
static HRESULT WINAPI ISF_ControlPanel_fnMapColumnToSCID(IShellFolder2 *iface, UINT column,
|
||||||
|
SHCOLUMNID *pscid)
|
||||||
{
|
{
|
||||||
ICPanelImpl *This = (ICPanelImpl *)iface;
|
ICPanelImpl *This = impl_from_IShellFolder2(iface);
|
||||||
FIXME("(%p)\n", This);
|
FIXME("(%p)\n", This);
|
||||||
return E_NOTIMPL;
|
return E_NOTIMPL;
|
||||||
}
|
}
|
||||||
|
@ -843,7 +845,7 @@ static HRESULT WINAPI ICPanel_PersistFolder2_QueryInterface(IPersistFolder2 * if
|
||||||
|
|
||||||
TRACE("(%p)\n", This);
|
TRACE("(%p)\n", This);
|
||||||
|
|
||||||
return IUnknown_QueryInterface(_IUnknown_(This), iid, ppvObject);
|
return IShellFolder2_QueryInterface(&This->IShellFolder2_iface, iid, ppvObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
/************************************************************************
|
/************************************************************************
|
||||||
|
@ -855,7 +857,7 @@ static ULONG WINAPI ICPanel_PersistFolder2_AddRef(IPersistFolder2 * iface)
|
||||||
|
|
||||||
TRACE("(%p)->(count=%u)\n", This, This->ref);
|
TRACE("(%p)->(count=%u)\n", This, This->ref);
|
||||||
|
|
||||||
return IUnknown_AddRef(_IUnknown_(This));
|
return IShellFolder2_AddRef(&This->IShellFolder2_iface);
|
||||||
}
|
}
|
||||||
|
|
||||||
/************************************************************************
|
/************************************************************************
|
||||||
|
@ -867,7 +869,7 @@ static ULONG WINAPI ICPanel_PersistFolder2_Release(IPersistFolder2 * iface)
|
||||||
|
|
||||||
TRACE("(%p)->(count=%u)\n", This, This->ref);
|
TRACE("(%p)->(count=%u)\n", This, This->ref);
|
||||||
|
|
||||||
return IUnknown_Release(_IUnknown_(This));
|
return IShellFolder2_Release(&This->IShellFolder2_iface);
|
||||||
}
|
}
|
||||||
|
|
||||||
/************************************************************************
|
/************************************************************************
|
||||||
|
|
Loading…
Reference in New Issue