shell32: Check for ICommDlgBrowser from site and use it in the IExplorerBrowser control.
This commit is contained in:
parent
89646084ba
commit
ddcd619f6c
|
@ -73,6 +73,9 @@ typedef struct _ExplorerBrowserImpl {
|
||||||
LPITEMIDLIST current_pidl;
|
LPITEMIDLIST current_pidl;
|
||||||
|
|
||||||
IUnknown *punk_site;
|
IUnknown *punk_site;
|
||||||
|
ICommDlgBrowser *pcdb_site;
|
||||||
|
ICommDlgBrowser2 *pcdb2_site;
|
||||||
|
ICommDlgBrowser3 *pcdb3_site;
|
||||||
} ExplorerBrowserImpl;
|
} ExplorerBrowserImpl;
|
||||||
|
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
|
@ -340,19 +343,39 @@ static void get_interfaces_from_site(ExplorerBrowserImpl *This)
|
||||||
* release any previously fetched interfaces.
|
* release any previously fetched interfaces.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if(This->punk_site)
|
if(This->pcdb_site)
|
||||||
{
|
{
|
||||||
hr = IUnknown_QueryInterface(This->punk_site, &IID_IServiceProvider, (void**)&psp);
|
IUnknown_Release(This->pcdb_site);
|
||||||
if(SUCCEEDED(hr))
|
if(This->pcdb2_site) IUnknown_Release(This->pcdb2_site);
|
||||||
{
|
if(This->pcdb3_site) IUnknown_Release(This->pcdb3_site);
|
||||||
FIXME("Not requesting any interfaces.\n");
|
|
||||||
IServiceProvider_Release(psp);
|
This->pcdb_site = NULL;
|
||||||
}
|
This->pcdb2_site = NULL;
|
||||||
else
|
This->pcdb3_site = NULL;
|
||||||
ERR("Failed to get IServiceProvider from site.\n");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(!This->punk_site)
|
||||||
|
return;
|
||||||
|
|
||||||
|
hr = IUnknown_QueryInterface(This->punk_site, &IID_IServiceProvider, (void**)&psp);
|
||||||
|
if(FAILED(hr))
|
||||||
|
{
|
||||||
|
ERR("Failed to get IServiceProvider from site.\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ICommDlgBrowser */
|
||||||
|
IServiceProvider_QueryService(psp, &SID_SExplorerBrowserFrame, &IID_ICommDlgBrowser,
|
||||||
|
(void**)&This->pcdb_site);
|
||||||
|
IServiceProvider_QueryService(psp, &SID_SExplorerBrowserFrame, &IID_ICommDlgBrowser2,
|
||||||
|
(void**)&This->pcdb2_site);
|
||||||
|
IServiceProvider_QueryService(psp, &SID_SExplorerBrowserFrame, &IID_ICommDlgBrowser3,
|
||||||
|
(void**)&This->pcdb3_site);
|
||||||
|
|
||||||
|
IServiceProvider_Release(psp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
* Main window related functions.
|
* Main window related functions.
|
||||||
*/
|
*/
|
||||||
|
@ -1154,20 +1177,33 @@ static HRESULT WINAPI ICommDlgBrowser3_fnOnDefaultCommand(ICommDlgBrowser3 *ifac
|
||||||
} else
|
} else
|
||||||
ERR("Failed to get IDataObject.\n");
|
ERR("Failed to get IDataObject.\n");
|
||||||
|
|
||||||
|
/* If we didn't handle the default command, check if we have a
|
||||||
|
* client that does */
|
||||||
|
if(ret == S_FALSE && This->pcdb_site)
|
||||||
|
return ICommDlgBrowser_OnDefaultCommand(This->pcdb_site, shv);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
static HRESULT WINAPI ICommDlgBrowser3_fnOnStateChange(ICommDlgBrowser3 *iface,
|
static HRESULT WINAPI ICommDlgBrowser3_fnOnStateChange(ICommDlgBrowser3 *iface,
|
||||||
IShellView *shv, ULONG uChange)
|
IShellView *shv, ULONG uChange)
|
||||||
{
|
{
|
||||||
ExplorerBrowserImpl *This = impl_from_ICommDlgBrowser3(iface);
|
ExplorerBrowserImpl *This = impl_from_ICommDlgBrowser3(iface);
|
||||||
FIXME("stub, %p (%p, %d)\n", This, shv, uChange);
|
TRACE("%p (%p, %d)\n", This, shv, uChange);
|
||||||
|
|
||||||
|
if(This->pcdb_site)
|
||||||
|
return ICommDlgBrowser_OnStateChange(This->pcdb_site, shv, uChange);
|
||||||
|
|
||||||
return E_NOTIMPL;
|
return E_NOTIMPL;
|
||||||
}
|
}
|
||||||
static HRESULT WINAPI ICommDlgBrowser3_fnIncludeObject(ICommDlgBrowser3 *iface,
|
static HRESULT WINAPI ICommDlgBrowser3_fnIncludeObject(ICommDlgBrowser3 *iface,
|
||||||
IShellView *pshv, LPCITEMIDLIST pidl)
|
IShellView *pshv, LPCITEMIDLIST pidl)
|
||||||
{
|
{
|
||||||
ExplorerBrowserImpl *This = impl_from_ICommDlgBrowser3(iface);
|
ExplorerBrowserImpl *This = impl_from_ICommDlgBrowser3(iface);
|
||||||
FIXME("stub, %p (%p, %p)\n", This, pshv, pidl);
|
TRACE("%p (%p, %p)\n", This, pshv, pidl);
|
||||||
|
|
||||||
|
if(This->pcdb_site)
|
||||||
|
return ICommDlgBrowser_IncludeObject(This->pcdb_site, pshv, pidl);
|
||||||
|
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1176,7 +1212,11 @@ static HRESULT WINAPI ICommDlgBrowser3_fnNotify(ICommDlgBrowser3 *iface,
|
||||||
DWORD dwNotifyType)
|
DWORD dwNotifyType)
|
||||||
{
|
{
|
||||||
ExplorerBrowserImpl *This = impl_from_ICommDlgBrowser3(iface);
|
ExplorerBrowserImpl *This = impl_from_ICommDlgBrowser3(iface);
|
||||||
FIXME("stub, %p (%p, 0x%x)\n", This, pshv, dwNotifyType);
|
TRACE("%p (%p, 0x%x)\n", This, pshv, dwNotifyType);
|
||||||
|
|
||||||
|
if(This->pcdb2_site)
|
||||||
|
return ICommDlgBrowser2_Notify(This->pcdb2_site, pshv, dwNotifyType);
|
||||||
|
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1185,7 +1225,11 @@ static HRESULT WINAPI ICommDlgBrowser3_fnGetDefaultMenuText(ICommDlgBrowser3 *if
|
||||||
LPWSTR pszText, int cchMax)
|
LPWSTR pszText, int cchMax)
|
||||||
{
|
{
|
||||||
ExplorerBrowserImpl *This = impl_from_ICommDlgBrowser3(iface);
|
ExplorerBrowserImpl *This = impl_from_ICommDlgBrowser3(iface);
|
||||||
FIXME("stub, %p (%p, %s, %d)\n", This, pshv, debugstr_w(pszText), cchMax);
|
TRACE("%p (%p, %s, %d)\n", This, pshv, debugstr_w(pszText), cchMax);
|
||||||
|
|
||||||
|
if(This->pcdb2_site)
|
||||||
|
return ICommDlgBrowser2_GetDefaultMenuText(This->pcdb2_site, pshv, pszText, cchMax);
|
||||||
|
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1193,7 +1237,11 @@ static HRESULT WINAPI ICommDlgBrowser3_fnGetViewFlags(ICommDlgBrowser3 *iface,
|
||||||
DWORD *pdwFlags)
|
DWORD *pdwFlags)
|
||||||
{
|
{
|
||||||
ExplorerBrowserImpl *This = impl_from_ICommDlgBrowser3(iface);
|
ExplorerBrowserImpl *This = impl_from_ICommDlgBrowser3(iface);
|
||||||
FIXME("stub, %p (%p)\n", This, pdwFlags);
|
TRACE("%p (%p)\n", This, pdwFlags);
|
||||||
|
|
||||||
|
if(This->pcdb2_site)
|
||||||
|
return ICommDlgBrowser2_GetViewFlags(This->pcdb2_site, pdwFlags);
|
||||||
|
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1201,7 +1249,11 @@ static HRESULT WINAPI ICommDlgBrowser3_fnOnColumnClicked(ICommDlgBrowser3 *iface
|
||||||
IShellView *pshv, int iColumn)
|
IShellView *pshv, int iColumn)
|
||||||
{
|
{
|
||||||
ExplorerBrowserImpl *This = impl_from_ICommDlgBrowser3(iface);
|
ExplorerBrowserImpl *This = impl_from_ICommDlgBrowser3(iface);
|
||||||
FIXME("stub, %p (%p, %d)\n", This, pshv, iColumn);
|
TRACE("%p (%p, %d)\n", This, pshv, iColumn);
|
||||||
|
|
||||||
|
if(This->pcdb3_site)
|
||||||
|
return ICommDlgBrowser3_OnColumnClicked(This->pcdb3_site, pshv, iColumn);
|
||||||
|
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1210,7 +1262,11 @@ static HRESULT WINAPI ICommDlgBrowser3_fnGetCurrentFilter(ICommDlgBrowser3 *ifac
|
||||||
int cchFileSpec)
|
int cchFileSpec)
|
||||||
{
|
{
|
||||||
ExplorerBrowserImpl *This = impl_from_ICommDlgBrowser3(iface);
|
ExplorerBrowserImpl *This = impl_from_ICommDlgBrowser3(iface);
|
||||||
FIXME("stub, %p (%s, %d)\n", This, debugstr_w(pszFileSpec), cchFileSpec);
|
TRACE("%p (%s, %d)\n", This, debugstr_w(pszFileSpec), cchFileSpec);
|
||||||
|
|
||||||
|
if(This->pcdb3_site)
|
||||||
|
return ICommDlgBrowser3_GetCurrentFilter(This->pcdb3_site, pszFileSpec, cchFileSpec);
|
||||||
|
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1218,7 +1274,11 @@ static HRESULT WINAPI ICommDlgBrowser3_fnOnPreviewCreated(ICommDlgBrowser3 *ifac
|
||||||
IShellView *pshv)
|
IShellView *pshv)
|
||||||
{
|
{
|
||||||
ExplorerBrowserImpl *This = impl_from_ICommDlgBrowser3(iface);
|
ExplorerBrowserImpl *This = impl_from_ICommDlgBrowser3(iface);
|
||||||
FIXME("stub, %p (%p)\n", This, pshv);
|
TRACE("%p (%p)\n", This, pshv);
|
||||||
|
|
||||||
|
if(This->pcdb3_site)
|
||||||
|
return ICommDlgBrowser3_OnPreviewCreated(This->pcdb3_site, pshv);
|
||||||
|
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -187,6 +187,156 @@ static const IExplorerBrowserEventsVtbl ebevents =
|
||||||
IExplorerBrowserEvents_fnOnNavigationFailed
|
IExplorerBrowserEvents_fnOnNavigationFailed
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*********************************************************************
|
||||||
|
* ICommDlgBrowser3 implementation
|
||||||
|
*/
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
const ICommDlgBrowser3Vtbl *lpVtbl;
|
||||||
|
LONG ref;
|
||||||
|
UINT OnDefaultCommand, OnStateChange, IncludeObject;
|
||||||
|
UINT Notify, GetDefaultMenuText, GetViewFlags;
|
||||||
|
UINT OnColumnClicked, GetCurrentFilter, OnPreviewCreated;
|
||||||
|
} ICommDlgBrowser3Impl;
|
||||||
|
|
||||||
|
static HRESULT WINAPI ICommDlgBrowser3_fnQueryInterface(ICommDlgBrowser3 *iface, REFIID riid, LPVOID *ppvObj)
|
||||||
|
{
|
||||||
|
ok(0, "Not called.\n");
|
||||||
|
trace("riid:"); dbg_print_guid(riid);
|
||||||
|
*ppvObj = NULL;
|
||||||
|
return E_NOINTERFACE;
|
||||||
|
}
|
||||||
|
|
||||||
|
static ULONG WINAPI ICommDlgBrowser3_fnAddRef(ICommDlgBrowser3 *iface)
|
||||||
|
{
|
||||||
|
ICommDlgBrowser3Impl *This = (ICommDlgBrowser3Impl *)iface;
|
||||||
|
return InterlockedIncrement(&This->ref);
|
||||||
|
}
|
||||||
|
|
||||||
|
static ULONG WINAPI ICommDlgBrowser3_fnRelease(ICommDlgBrowser3 *iface)
|
||||||
|
{
|
||||||
|
ICommDlgBrowser3Impl *This = (ICommDlgBrowser3Impl *)iface;
|
||||||
|
ULONG ref = InterlockedDecrement(&This->ref);
|
||||||
|
|
||||||
|
if(!ref)
|
||||||
|
HeapFree(GetProcessHeap(), 0, This);
|
||||||
|
|
||||||
|
return ref;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI ICommDlgBrowser3_fnOnDefaultCommand(ICommDlgBrowser3* iface, IShellView *shv)
|
||||||
|
{
|
||||||
|
ICommDlgBrowser3Impl *This = (ICommDlgBrowser3Impl *)iface;
|
||||||
|
This->OnDefaultCommand++;
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI ICommDlgBrowser3_fnOnStateChange(
|
||||||
|
ICommDlgBrowser3* iface,
|
||||||
|
IShellView *shv,
|
||||||
|
ULONG uChange)
|
||||||
|
{
|
||||||
|
ICommDlgBrowser3Impl *This = (ICommDlgBrowser3Impl *)iface;
|
||||||
|
This->OnStateChange++;
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI ICommDlgBrowser3_fnIncludeObject(
|
||||||
|
ICommDlgBrowser3* iface,
|
||||||
|
IShellView *shv,
|
||||||
|
LPCITEMIDLIST pidl)
|
||||||
|
{
|
||||||
|
ICommDlgBrowser3Impl *This = (ICommDlgBrowser3Impl *)iface;
|
||||||
|
This->IncludeObject++;
|
||||||
|
return S_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI ICommDlgBrowser3_fnNotify(
|
||||||
|
ICommDlgBrowser3* iface,
|
||||||
|
IShellView *ppshv,
|
||||||
|
DWORD dwNotifyType)
|
||||||
|
{
|
||||||
|
ICommDlgBrowser3Impl *This = (ICommDlgBrowser3Impl *)iface;
|
||||||
|
This->Notify++;
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI ICommDlgBrowser3_fnGetDefaultMenuText(
|
||||||
|
ICommDlgBrowser3* iface,
|
||||||
|
IShellView *ppshv,
|
||||||
|
LPWSTR pszText,
|
||||||
|
int cchMax)
|
||||||
|
{
|
||||||
|
ICommDlgBrowser3Impl *This = (ICommDlgBrowser3Impl *)iface;
|
||||||
|
This->GetDefaultMenuText++;
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI ICommDlgBrowser3_fnGetViewFlags(
|
||||||
|
ICommDlgBrowser3* iface,
|
||||||
|
DWORD *pdwFlags)
|
||||||
|
{
|
||||||
|
ICommDlgBrowser3Impl *This = (ICommDlgBrowser3Impl *)iface;
|
||||||
|
This->GetViewFlags++;
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI ICommDlgBrowser3_fnOnColumnClicked(
|
||||||
|
ICommDlgBrowser3* iface,
|
||||||
|
IShellView *ppshv,
|
||||||
|
int iColumn)
|
||||||
|
{
|
||||||
|
ICommDlgBrowser3Impl *This = (ICommDlgBrowser3Impl *)iface;
|
||||||
|
This->OnColumnClicked++;
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI ICommDlgBrowser3_fnGetCurrentFilter(
|
||||||
|
ICommDlgBrowser3* iface,
|
||||||
|
LPWSTR pszFileSpec,
|
||||||
|
int cchFileSpec)
|
||||||
|
{
|
||||||
|
ICommDlgBrowser3Impl *This = (ICommDlgBrowser3Impl *)iface;
|
||||||
|
This->GetCurrentFilter++;
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI ICommDlgBrowser3_fnOnPreviewCreated(
|
||||||
|
ICommDlgBrowser3* iface,
|
||||||
|
IShellView *ppshv)
|
||||||
|
{
|
||||||
|
ICommDlgBrowser3Impl *This = (ICommDlgBrowser3Impl *)iface;
|
||||||
|
This->OnPreviewCreated++;
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static const ICommDlgBrowser3Vtbl cdbvtbl =
|
||||||
|
{
|
||||||
|
ICommDlgBrowser3_fnQueryInterface,
|
||||||
|
ICommDlgBrowser3_fnAddRef,
|
||||||
|
ICommDlgBrowser3_fnRelease,
|
||||||
|
ICommDlgBrowser3_fnOnDefaultCommand,
|
||||||
|
ICommDlgBrowser3_fnOnStateChange,
|
||||||
|
ICommDlgBrowser3_fnIncludeObject,
|
||||||
|
ICommDlgBrowser3_fnNotify,
|
||||||
|
ICommDlgBrowser3_fnGetDefaultMenuText,
|
||||||
|
ICommDlgBrowser3_fnGetViewFlags,
|
||||||
|
ICommDlgBrowser3_fnOnColumnClicked,
|
||||||
|
ICommDlgBrowser3_fnGetCurrentFilter,
|
||||||
|
ICommDlgBrowser3_fnOnPreviewCreated
|
||||||
|
};
|
||||||
|
|
||||||
|
ICommDlgBrowser3Impl *create_commdlgbrowser3(void)
|
||||||
|
{
|
||||||
|
ICommDlgBrowser3Impl *cdb;
|
||||||
|
|
||||||
|
cdb = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(ICommDlgBrowser3Impl));
|
||||||
|
cdb->lpVtbl = &cdbvtbl;
|
||||||
|
cdb->ref = 1;
|
||||||
|
|
||||||
|
return cdb;
|
||||||
|
}
|
||||||
|
|
||||||
/*********************************************************************
|
/*********************************************************************
|
||||||
* IServiceProvider Implementation
|
* IServiceProvider Implementation
|
||||||
*/
|
*/
|
||||||
|
@ -636,22 +786,23 @@ static void test_SetSite(void)
|
||||||
{
|
{
|
||||||
IExplorerBrowser *peb;
|
IExplorerBrowser *peb;
|
||||||
IServiceProviderImpl *spimpl = create_serviceprovider();
|
IServiceProviderImpl *spimpl = create_serviceprovider();
|
||||||
|
ICommDlgBrowser3Impl *cdbimpl = create_commdlgbrowser3();
|
||||||
IObjectWithSite *pow;
|
IObjectWithSite *pow;
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
LONG ref;
|
LONG ref;
|
||||||
UINT i;
|
UINT i;
|
||||||
struct services expected[] = {
|
struct services expected[] = {
|
||||||
/* Win 7 */
|
/* Win 7 */
|
||||||
{ &SID_STopLevelBrowser, &IID_ICommDlgBrowser2, 0, NULL },
|
{ &SID_STopLevelBrowser, &IID_ICommDlgBrowser2, 0, cdbimpl },
|
||||||
{ &SID_STopLevelBrowser, &IID_IShellBrowserService, 0, NULL },
|
{ &SID_STopLevelBrowser, &IID_IShellBrowserService, 0, NULL },
|
||||||
{ &SID_STopLevelBrowser, &IID_IShellBrowser, 0, NULL },
|
{ &SID_STopLevelBrowser, &IID_IShellBrowser, 0, NULL },
|
||||||
{ &SID_STopLevelBrowser, &IID_UnknownInterface8, 0, NULL },
|
{ &SID_STopLevelBrowser, &IID_UnknownInterface8, 0, NULL },
|
||||||
{ &SID_STopLevelBrowser, &IID_IConnectionPointContainer, 0, NULL },
|
{ &SID_STopLevelBrowser, &IID_IConnectionPointContainer, 0, NULL },
|
||||||
{ &SID_STopLevelBrowser, &IID_IProfferService, 0, NULL },
|
{ &SID_STopLevelBrowser, &IID_IProfferService, 0, NULL },
|
||||||
{ &SID_STopLevelBrowser, &IID_UnknownInterface9, 0, NULL },
|
{ &SID_STopLevelBrowser, &IID_UnknownInterface9, 0, NULL },
|
||||||
{ &SID_SExplorerBrowserFrame, &IID_ICommDlgBrowser2, 0, NULL },
|
|
||||||
{ &SID_SExplorerBrowserFrame, &IID_ICommDlgBrowser3, 0, NULL },
|
|
||||||
{ &SID_ExplorerPaneVisibility, &IID_IExplorerPaneVisibility, 0, NULL },
|
{ &SID_ExplorerPaneVisibility, &IID_IExplorerPaneVisibility, 0, NULL },
|
||||||
|
{ &SID_SExplorerBrowserFrame, &IID_ICommDlgBrowser2, 0, cdbimpl },
|
||||||
|
{ &SID_SExplorerBrowserFrame, &IID_ICommDlgBrowser3, 0, cdbimpl },
|
||||||
{ &IID_IFileDialogPrivate, &IID_IFileDialogPrivate, 0, NULL },
|
{ &IID_IFileDialogPrivate, &IID_IFileDialogPrivate, 0, NULL },
|
||||||
{ &IID_IFileDialogPrivate, &IID_IFileDialog, 0, NULL },
|
{ &IID_IFileDialogPrivate, &IID_IFileDialog, 0, NULL },
|
||||||
{ &IID_IShellTaskScheduler, &IID_IShellTaskScheduler, 0, NULL },
|
{ &IID_IShellTaskScheduler, &IID_IShellTaskScheduler, 0, NULL },
|
||||||
|
@ -672,7 +823,7 @@ static void test_SetSite(void)
|
||||||
{ &IID_IFolderTypeModifier, &IID_IFolderTypeModifier, 0, NULL },
|
{ &IID_IFolderTypeModifier, &IID_IFolderTypeModifier, 0, NULL },
|
||||||
{ &SID_STopLevelBrowser, &IID_IShellBrowserService_Vista, 0, NULL },
|
{ &SID_STopLevelBrowser, &IID_IShellBrowserService_Vista, 0, NULL },
|
||||||
{ &IID_UnknownInterface5, &IID_UnknownInterface5, 0, NULL },
|
{ &IID_UnknownInterface5, &IID_UnknownInterface5, 0, NULL },
|
||||||
{ &IID_ICommDlgBrowser, &IID_ICommDlgBrowser, 0, NULL },
|
{ &IID_ICommDlgBrowser, &IID_ICommDlgBrowser, 0, cdbimpl },
|
||||||
{ &IID_IFileDialogPrivate_Vista,&IID_IFileDialogPrivate_Vista, 0, NULL},
|
{ &IID_IFileDialogPrivate_Vista,&IID_IFileDialogPrivate_Vista, 0, NULL},
|
||||||
{ &IID_IFileDialogPrivate_Vista,&IID_IFileDialog, 0, NULL},
|
{ &IID_IFileDialogPrivate_Vista,&IID_IFileDialog, 0, NULL},
|
||||||
{ &IID_UnknownInterface10, &IID_IHTMLDocument2, 0, NULL},
|
{ &IID_UnknownInterface10, &IID_IHTMLDocument2, 0, NULL},
|
||||||
|
@ -704,6 +855,7 @@ static void test_SetSite(void)
|
||||||
skip("Failed to set site.\n");
|
skip("Failed to set site.\n");
|
||||||
|
|
||||||
IServiceProvider_Release((IServiceProvider*)spimpl);
|
IServiceProvider_Release((IServiceProvider*)spimpl);
|
||||||
|
ICommDlgBrowser3_Release((ICommDlgBrowser3*)cdbimpl);
|
||||||
IExplorerBrowser_Destroy(peb);
|
IExplorerBrowser_Destroy(peb);
|
||||||
ref = IExplorerBrowser_Release(peb);
|
ref = IExplorerBrowser_Release(peb);
|
||||||
ok(ref == 0, "Got ref %d\n", ref);
|
ok(ref == 0, "Got ref %d\n", ref);
|
||||||
|
@ -722,6 +874,17 @@ static void test_SetSite(void)
|
||||||
}
|
}
|
||||||
ShowWindow(hwnd, FALSE);
|
ShowWindow(hwnd, FALSE);
|
||||||
|
|
||||||
|
/* ICommDlgBrowser3 */
|
||||||
|
ok(!cdbimpl->OnDefaultCommand, "Got %d\n", cdbimpl->OnDefaultCommand);
|
||||||
|
todo_wine ok(cdbimpl->OnStateChange, "Got %d\n", cdbimpl->OnStateChange);
|
||||||
|
ok(cdbimpl->IncludeObject, "Got %d\n", cdbimpl->IncludeObject);
|
||||||
|
ok(!cdbimpl->Notify, "Got %d\n", cdbimpl->Notify);
|
||||||
|
ok(!cdbimpl->GetDefaultMenuText, "Got %d\n", cdbimpl->GetDefaultMenuText);
|
||||||
|
todo_wine ok(cdbimpl->GetViewFlags, "Got %d\n", cdbimpl->GetViewFlags);
|
||||||
|
ok(!cdbimpl->OnColumnClicked, "Got %d\n", cdbimpl->OnColumnClicked);
|
||||||
|
ok(!cdbimpl->GetCurrentFilter, "Got %d\n", cdbimpl->GetCurrentFilter);
|
||||||
|
todo_wine ok(cdbimpl->OnPreviewCreated, "Got %d\n", cdbimpl->OnPreviewCreated);
|
||||||
|
|
||||||
if(0)
|
if(0)
|
||||||
{
|
{
|
||||||
for(i = 0; expected[i].service != NULL; i++)
|
for(i = 0; expected[i].service != NULL; i++)
|
||||||
|
@ -759,6 +922,9 @@ static void test_SetSite(void)
|
||||||
|
|
||||||
ref = IServiceProvider_Release((IServiceProvider*)spimpl);
|
ref = IServiceProvider_Release((IServiceProvider*)spimpl);
|
||||||
ok(ref == 0, "Got ref %d\n", ref);
|
ok(ref == 0, "Got ref %d\n", ref);
|
||||||
|
|
||||||
|
ref = ICommDlgBrowser3_Release((ICommDlgBrowser3*)cdbimpl);
|
||||||
|
ok(ref == 0, "Got ref %d\n", ref);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void test_basics(void)
|
static void test_basics(void)
|
||||||
|
|
Loading…
Reference in New Issue