mirror of
https://github.com/reactos/wine.git
synced 2025-02-25 23:35:31 +00:00
shell32: Added IDispatch support for IShellFolderViewDual3.
This commit is contained in:
parent
26a9f62db7
commit
7ce1813fed
@ -229,6 +229,16 @@ BOOL AddToEnumList(IEnumIDListImpl *list, LPITEMIDLIST pidl) DECLSPEC_HIDDEN;
|
||||
*/
|
||||
BOOL CreateFolderEnumList(IEnumIDListImpl *list, LPCWSTR lpszPath, DWORD dwFlags) DECLSPEC_HIDDEN;
|
||||
|
||||
enum tid_t {
|
||||
NULL_tid,
|
||||
IShellDispatch6_tid,
|
||||
IShellFolderViewDual3_tid,
|
||||
Folder3_tid,
|
||||
FolderItem2_tid,
|
||||
LAST_tid
|
||||
};
|
||||
|
||||
HRESULT get_typeinfo(enum tid_t, ITypeInfo**) DECLSPEC_HIDDEN;
|
||||
void release_typelib(void) DECLSPEC_HIDDEN;
|
||||
void release_desktop_folder(void) DECLSPEC_HIDDEN;
|
||||
|
||||
|
@ -34,23 +34,18 @@
|
||||
#include "shldisp.h"
|
||||
#include "debughlp.h"
|
||||
|
||||
#include "shell32_main.h"
|
||||
|
||||
#include "wine/debug.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(shell);
|
||||
|
||||
enum tid_t {
|
||||
NULL_tid,
|
||||
IShellDispatch6_tid,
|
||||
Folder3_tid,
|
||||
FolderItem2_tid,
|
||||
LAST_tid
|
||||
};
|
||||
|
||||
static ITypeLib *typelib;
|
||||
static const IID * const tid_ids[] =
|
||||
{
|
||||
&IID_NULL,
|
||||
&IID_IShellDispatch6,
|
||||
&IID_IShellFolderViewDual3,
|
||||
&IID_Folder3,
|
||||
&IID_FolderItem2
|
||||
};
|
||||
@ -118,7 +113,7 @@ void release_typelib(void)
|
||||
ITypeLib_Release(typelib);
|
||||
}
|
||||
|
||||
static HRESULT get_typeinfo(enum tid_t tid, ITypeInfo **typeinfo)
|
||||
HRESULT get_typeinfo(enum tid_t tid, ITypeInfo **typeinfo)
|
||||
{
|
||||
HRESULT hr;
|
||||
|
||||
|
@ -3483,16 +3483,23 @@ static ULONG WINAPI shellfolderviewdual_Release(IShellFolderViewDual3 *iface)
|
||||
static HRESULT WINAPI shellfolderviewdual_GetTypeInfoCount(IShellFolderViewDual3 *iface, UINT *pctinfo)
|
||||
{
|
||||
IShellViewImpl *This = impl_from_IShellFolderViewDual3(iface);
|
||||
FIXME("%p\n", This);
|
||||
return E_NOTIMPL;
|
||||
TRACE("%p %p\n", This, pctinfo);
|
||||
*pctinfo = 1;
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI shellfolderviewdual_GetTypeInfo(IShellFolderViewDual3 *iface,
|
||||
UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
|
||||
{
|
||||
IShellViewImpl *This = impl_from_IShellFolderViewDual3(iface);
|
||||
FIXME("%p\n", This);
|
||||
return E_NOTIMPL;
|
||||
HRESULT hr;
|
||||
|
||||
TRACE("(%p,%u,%d,%p)\n", This, iTInfo, lcid, ppTInfo);
|
||||
|
||||
hr = get_typeinfo(IShellFolderViewDual3_tid, ppTInfo);
|
||||
if (SUCCEEDED(hr))
|
||||
ITypeInfo_AddRef(*ppTInfo);
|
||||
return hr;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI shellfolderviewdual_GetIDsOfNames(
|
||||
@ -3500,8 +3507,16 @@ static HRESULT WINAPI shellfolderviewdual_GetIDsOfNames(
|
||||
cNames, LCID lcid, DISPID *rgDispId)
|
||||
{
|
||||
IShellViewImpl *This = impl_from_IShellFolderViewDual3(iface);
|
||||
FIXME("%p\n", This);
|
||||
return E_NOTIMPL;
|
||||
ITypeInfo *ti;
|
||||
HRESULT hr;
|
||||
|
||||
TRACE("(%p,%p,%p,%u,%d,%p)\n", This, riid, rgszNames, cNames, lcid,
|
||||
rgDispId);
|
||||
|
||||
hr = get_typeinfo(IShellFolderViewDual3_tid, &ti);
|
||||
if (SUCCEEDED(hr))
|
||||
hr = ITypeInfo_GetIDsOfNames(ti, rgszNames, cNames, rgDispId);
|
||||
return hr;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI shellfolderviewdual_Invoke(IShellFolderViewDual3 *iface,
|
||||
@ -3510,8 +3525,18 @@ static HRESULT WINAPI shellfolderviewdual_Invoke(IShellFolderViewDual3 *iface,
|
||||
UINT *puArgErr)
|
||||
{
|
||||
IShellViewImpl *This = impl_from_IShellFolderViewDual3(iface);
|
||||
FIXME("%p\n", This);
|
||||
return E_NOTIMPL;
|
||||
ITypeInfo *ti;
|
||||
HRESULT hr;
|
||||
|
||||
TRACE("(%p,%d,%p,%d,%u,%p,%p,%p,%p)\n", This, dispIdMember, riid, lcid,
|
||||
wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
|
||||
|
||||
hr = get_typeinfo(IShellFolderViewDual3_tid, &ti);
|
||||
if (SUCCEEDED(hr))
|
||||
hr = ITypeInfo_Invoke(ti, &This->IShellFolderViewDual3_iface, dispIdMember, wFlags, pDispParams,
|
||||
pVarResult, pExcepInfo, puArgErr);
|
||||
return hr;
|
||||
|
||||
}
|
||||
|
||||
static HRESULT WINAPI shellfolderviewdual_get_Application(IShellFolderViewDual3 *iface,
|
||||
|
Loading…
x
Reference in New Issue
Block a user