windowscodecs: Add WICIfdMetadataReader stub implementation.

This commit is contained in:
Dmitry Timoshkov 2012-06-08 14:08:52 +09:00 committed by Alexandre Julliard
parent 8d71cc1f2d
commit 781113f4da
3 changed files with 25 additions and 3 deletions

View File

@ -60,6 +60,7 @@ static classinfo wic_classes[] = {
{&CLSID_WICDefaultFormatConverter, FormatConverter_CreateInstance},
{&CLSID_WineTgaDecoder, TgaDecoder_CreateInstance},
{&CLSID_WICUnknownMetadataReader, UnknownMetadataReader_CreateInstance},
{&CLSID_WICIfdMetadataReader, IfdMetadataReader_CreateInstance},
{0}};
typedef struct {

View File

@ -325,7 +325,7 @@ static const IWICPersistStreamVtbl MetadataHandler_PersistStream_Vtbl = {
MetadataHandler_SaveEx
};
HRESULT MetadataReader_Create(const MetadataHandlerVtbl *vtable, IUnknown *pUnkOuter, REFIID iid, void** ppv)
static HRESULT MetadataReader_Create(const MetadataHandlerVtbl *vtable, IUnknown *pUnkOuter, REFIID iid, void** ppv)
{
MetadataHandler *This;
HRESULT hr;
@ -597,3 +597,25 @@ HRESULT UnknownMetadataReader_CreateInstance(IUnknown *pUnkOuter, REFIID iid, vo
{
return MetadataReader_Create(&UnknownMetadataReader_Vtbl, pUnkOuter, iid, ppv);
}
static HRESULT LoadIfdMetadata(IStream *input, const GUID *preferred_vendor,
DWORD persist_options, MetadataItem **items, DWORD *item_count)
{
FIXME("stub\n");
*items = NULL;
*item_count = 0;
return S_OK;
}
static const MetadataHandlerVtbl IfdMetadataReader_Vtbl = {
0,
&CLSID_WICIfdMetadataReader,
LoadIfdMetadata
};
HRESULT IfdMetadataReader_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void **ppv)
{
return MetadataReader_Create(&IfdMetadataReader_Vtbl, pUnkOuter, iid, ppv);
}

View File

@ -84,8 +84,7 @@ typedef struct _MetadataHandlerVtbl
ULARGE_INTEGER *size);
} MetadataHandlerVtbl;
extern HRESULT MetadataReader_Create(const MetadataHandlerVtbl *vtable, IUnknown *pUnkOuter, REFIID iid, void** ppv) DECLSPEC_HIDDEN;
extern HRESULT UnknownMetadataReader_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void** ppv) DECLSPEC_HIDDEN;
extern HRESULT IfdMetadataReader_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void **ppv) DECLSPEC_HIDDEN;
#endif /* WINCODECS_PRIVATE_H */