shell32: Added a stub for IShellImageDataFactory.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
73a0ddfa47
commit
3f4999cc6a
|
@ -154,3 +154,9 @@ coclass KnownFolderManager { interface IKnownFolderManager; }
|
|||
threading(apartment),
|
||||
uuid(77f10cf0-3db5-4966-b520-b7c54fd35ed6)
|
||||
] coclass DestinationList { interface ICustomDestinationList; }
|
||||
|
||||
[
|
||||
helpstring("Shell Image Data Factory"),
|
||||
threading(apartment),
|
||||
uuid(66e4e4fb-f385-4dd0-8d74-a2efd1bc6178)
|
||||
] coclass ShellImageDataFactory { interface IShellImageDataFactory; }
|
||||
|
|
|
@ -44,6 +44,8 @@
|
|||
extern HMODULE huser32 DECLSPEC_HIDDEN;
|
||||
extern HINSTANCE shell32_hInstance DECLSPEC_HIDDEN;
|
||||
|
||||
extern CLSID CLSID_ShellImageDataFactory;
|
||||
|
||||
/* Iconcache */
|
||||
#define INVALID_INDEX -1
|
||||
void SIC_Destroy(void) DECLSPEC_HIDDEN;
|
||||
|
|
|
@ -36,6 +36,7 @@
|
|||
#include "shlobj.h"
|
||||
#include "shlguid.h"
|
||||
#include "shldisp.h"
|
||||
#include "shimgdata.h"
|
||||
#include "winreg.h"
|
||||
#include "winerror.h"
|
||||
|
||||
|
@ -50,6 +51,7 @@
|
|||
WINE_DEFAULT_DEBUG_CHANNEL(shell);
|
||||
|
||||
extern INT WINAPI SHStringFromGUIDW(REFGUID guid, LPWSTR lpszDest, INT cchMax); /* shlwapi.24 */
|
||||
static HRESULT WINAPI ShellImageDataFactory_Constructor(IUnknown *outer, REFIID riid, void **obj);
|
||||
|
||||
/**************************************************************************
|
||||
* Default ClassFactory types
|
||||
|
@ -84,6 +86,7 @@ static const struct {
|
|||
{&CLSID_KnownFolderManager, KnownFolderManager_Constructor},
|
||||
{&CLSID_Shell, IShellDispatch_Constructor},
|
||||
{&CLSID_DestinationList, CustomDestinationList_Constructor},
|
||||
{&CLSID_ShellImageDataFactory, ShellImageDataFactory_Constructor},
|
||||
{NULL, NULL}
|
||||
};
|
||||
|
||||
|
@ -807,3 +810,91 @@ HRESULT WINAPI SHCreateQueryCancelAutoPlayMoniker(IMoniker **moniker)
|
|||
if (!moniker) return E_INVALIDARG;
|
||||
return CreateClassMoniker(&CLSID_QueryCancelAutoPlay, moniker);
|
||||
}
|
||||
|
||||
/* IShellImageDataFactory */
|
||||
static HRESULT WINAPI ShellImageDataFactory_QueryInterface(IShellImageDataFactory *iface, REFIID riid, void **obj)
|
||||
{
|
||||
TRACE("(%p, %s, %p)\n", iface, debugstr_guid(riid), obj);
|
||||
|
||||
if (IsEqualIID(&IID_IShellImageDataFactory, riid) || IsEqualIID(&IID_IUnknown, riid))
|
||||
{
|
||||
*obj = iface;
|
||||
}
|
||||
else
|
||||
{
|
||||
FIXME("not implemented for %s\n", debugstr_guid(riid));
|
||||
*obj = NULL;
|
||||
return E_NOINTERFACE;
|
||||
}
|
||||
|
||||
IUnknown_AddRef((IUnknown*)*obj);
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static ULONG WINAPI ShellImageDataFactory_AddRef(IShellImageDataFactory *iface)
|
||||
{
|
||||
TRACE("(%p)\n", iface);
|
||||
|
||||
return 2;
|
||||
}
|
||||
|
||||
static ULONG WINAPI ShellImageDataFactory_Release(IShellImageDataFactory *iface)
|
||||
{
|
||||
TRACE("(%p)\n", iface);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI ShellImageDataFactory_CreateIShellImageData(IShellImageDataFactory *iface, IShellImageData **data)
|
||||
{
|
||||
FIXME("%p, %p: stub\n", iface, data);
|
||||
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI ShellImageDataFactory_CreateImageFromFile(IShellImageDataFactory *iface, const WCHAR *path,
|
||||
IShellImageData **data)
|
||||
{
|
||||
FIXME("%p, %s, %p: stub\n", iface, debugstr_w(path), data);
|
||||
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI ShellImageDataFactory_CreateImageFromStream(IShellImageDataFactory *iface, IStream *stream,
|
||||
IShellImageData **data)
|
||||
{
|
||||
FIXME("%p, %p, %p: stub\n", iface, stream, data);
|
||||
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI ShellImageDataFactory_GetDataFormatFromPath(IShellImageDataFactory *iface, const WCHAR *path,
|
||||
GUID *format)
|
||||
{
|
||||
FIXME("%p, %s, %p: stub\n", iface, debugstr_w(path), format);
|
||||
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static const IShellImageDataFactoryVtbl ShellImageDataFactoryVtbl =
|
||||
{
|
||||
ShellImageDataFactory_QueryInterface,
|
||||
ShellImageDataFactory_AddRef,
|
||||
ShellImageDataFactory_Release,
|
||||
ShellImageDataFactory_CreateIShellImageData,
|
||||
ShellImageDataFactory_CreateImageFromFile,
|
||||
ShellImageDataFactory_CreateImageFromStream,
|
||||
ShellImageDataFactory_GetDataFormatFromPath,
|
||||
};
|
||||
|
||||
static IShellImageDataFactory ShellImageDataFactory = { &ShellImageDataFactoryVtbl };
|
||||
|
||||
HRESULT WINAPI ShellImageDataFactory_Constructor(IUnknown *outer, REFIID riid, void **obj)
|
||||
{
|
||||
TRACE("%p %s %p\n", outer, debugstr_guid(riid), obj);
|
||||
|
||||
if (outer)
|
||||
return CLASS_E_NOAGGREGATION;
|
||||
|
||||
return IShellImageDataFactory_QueryInterface(&ShellImageDataFactory, riid, obj);
|
||||
}
|
||||
|
|
|
@ -87,6 +87,7 @@ DEFINE_GUID(GUID_NULL,0,0,0,0,0,0,0,0,0,0,0);
|
|||
#include "tlogstg.h"
|
||||
#include "msdasc.h"
|
||||
#include "netcfgx.h"
|
||||
#include "shimgdata.h"
|
||||
|
||||
/* FIXME: cguids declares GUIDs but does not define their values */
|
||||
|
||||
|
@ -141,5 +142,7 @@ DEFINE_GUID(GUID_COMPARTMENT_PERSISTMENUENABLED, 0x575f3783,0x70c8,0x47c8,0xa
|
|||
DEFINE_GUID(GUID_COMPARTMENT_EMPTYCONTEXT, 0xd7487dbf,0x804e,0x41c5,0x89,0x4d,0xad,0x96,0xfd,0x4e,0xea,0x13);
|
||||
DEFINE_GUID(GUID_COMPARTMENT_TIPUISTATUS, 0x148ca3ec,0x0366,0x401c,0x8d,0x75,0xed,0x97,0x8d,0x85,0xfb,0xc9);
|
||||
|
||||
DEFINE_GUID(CLSID_ShellImageDataFactory, 0x66e4e4fb,0xf385,0x4dd0,0x8d,0x74,0xa2,0xef,0xd1,0xbc,0x61,0x78);
|
||||
|
||||
/* service identifiers not declared in headers */
|
||||
DEFINE_GUID(SID_SContainerDispatch,0xb722be00,0x4e68,0x101b,0xa2,0xbc,0x00,0xaa,0x00,0x40,0x47,0x70);
|
||||
|
|
Loading…
Reference in New Issue