windowscodecs: Move the aggregation check from object constructors to class factory.
This commit is contained in:
parent
91c5cf33ad
commit
d03f65a51f
@ -1185,17 +1185,15 @@ static HRESULT BmpDecoder_Create(int packed, int icoframe, BmpDecoder **ppDecode
|
|||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT BmpDecoder_Construct(int packed, int icoframe, IUnknown *pUnkOuter, REFIID iid, void** ppv)
|
static HRESULT BmpDecoder_Construct(int packed, int icoframe, REFIID iid, void** ppv)
|
||||||
{
|
{
|
||||||
BmpDecoder *This;
|
BmpDecoder *This;
|
||||||
HRESULT ret;
|
HRESULT ret;
|
||||||
|
|
||||||
TRACE("(%p,%s,%p)\n", pUnkOuter, debugstr_guid(iid), ppv);
|
TRACE("(%s,%p)\n", debugstr_guid(iid), ppv);
|
||||||
|
|
||||||
*ppv = NULL;
|
*ppv = NULL;
|
||||||
|
|
||||||
if (pUnkOuter) return CLASS_E_NOAGGREGATION;
|
|
||||||
|
|
||||||
ret = BmpDecoder_Create(packed, icoframe, &This);
|
ret = BmpDecoder_Create(packed, icoframe, &This);
|
||||||
if (FAILED(ret)) return ret;
|
if (FAILED(ret)) return ret;
|
||||||
|
|
||||||
@ -1205,14 +1203,14 @@ static HRESULT BmpDecoder_Construct(int packed, int icoframe, IUnknown *pUnkOute
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT BmpDecoder_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void** ppv)
|
HRESULT BmpDecoder_CreateInstance(REFIID iid, void** ppv)
|
||||||
{
|
{
|
||||||
return BmpDecoder_Construct(FALSE, FALSE, pUnkOuter, iid, ppv);
|
return BmpDecoder_Construct(FALSE, FALSE, iid, ppv);
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT DibDecoder_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void** ppv)
|
HRESULT DibDecoder_CreateInstance(REFIID iid, void** ppv)
|
||||||
{
|
{
|
||||||
return BmpDecoder_Construct(TRUE, FALSE, pUnkOuter, iid, ppv);
|
return BmpDecoder_Construct(TRUE, FALSE, iid, ppv);
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT IcoDibDecoder_CreateInstance(BmpDecoder **ppDecoder)
|
HRESULT IcoDibDecoder_CreateInstance(BmpDecoder **ppDecoder)
|
||||||
|
@ -601,17 +601,15 @@ static const IWICBitmapEncoderVtbl BmpEncoder_Vtbl = {
|
|||||||
BmpEncoder_GetMetadataQueryWriter
|
BmpEncoder_GetMetadataQueryWriter
|
||||||
};
|
};
|
||||||
|
|
||||||
HRESULT BmpEncoder_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void** ppv)
|
HRESULT BmpEncoder_CreateInstance(REFIID iid, void** ppv)
|
||||||
{
|
{
|
||||||
BmpEncoder *This;
|
BmpEncoder *This;
|
||||||
HRESULT ret;
|
HRESULT ret;
|
||||||
|
|
||||||
TRACE("(%p,%s,%p)\n", pUnkOuter, debugstr_guid(iid), ppv);
|
TRACE("(%s,%p)\n", debugstr_guid(iid), ppv);
|
||||||
|
|
||||||
*ppv = NULL;
|
*ppv = NULL;
|
||||||
|
|
||||||
if (pUnkOuter) return CLASS_E_NOAGGREGATION;
|
|
||||||
|
|
||||||
This = HeapAlloc(GetProcessHeap(), 0, sizeof(BmpEncoder));
|
This = HeapAlloc(GetProcessHeap(), 0, sizeof(BmpEncoder));
|
||||||
if (!This) return E_OUTOFMEMORY;
|
if (!This) return E_OUTOFMEMORY;
|
||||||
|
|
||||||
|
@ -41,7 +41,7 @@ extern HRESULT WINAPI WIC_DllGetClassObject(REFCLSID, REFIID, LPVOID *) DECLSPEC
|
|||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
REFCLSID classid;
|
REFCLSID classid;
|
||||||
HRESULT (*constructor)(IUnknown*,REFIID,void**);
|
HRESULT (*constructor)(REFIID,void**);
|
||||||
} classinfo;
|
} classinfo;
|
||||||
|
|
||||||
static const classinfo wic_classes[] = {
|
static const classinfo wic_classes[] = {
|
||||||
@ -131,7 +131,11 @@ static HRESULT WINAPI ClassFactoryImpl_CreateInstance(IClassFactory *iface,
|
|||||||
{
|
{
|
||||||
ClassFactoryImpl *This = impl_from_IClassFactory(iface);
|
ClassFactoryImpl *This = impl_from_IClassFactory(iface);
|
||||||
|
|
||||||
return This->info->constructor(pUnkOuter, riid, ppv);
|
*ppv = NULL;
|
||||||
|
|
||||||
|
if (pUnkOuter) return CLASS_E_NOAGGREGATION;
|
||||||
|
|
||||||
|
return This->info->constructor(riid, ppv);
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT WINAPI ClassFactoryImpl_LockServer(IClassFactory *iface, BOOL lock)
|
static HRESULT WINAPI ClassFactoryImpl_LockServer(IClassFactory *iface, BOOL lock)
|
||||||
|
@ -1271,17 +1271,15 @@ static const IWICFormatConverterVtbl FormatConverter_Vtbl = {
|
|||||||
FormatConverter_CanConvert
|
FormatConverter_CanConvert
|
||||||
};
|
};
|
||||||
|
|
||||||
HRESULT FormatConverter_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void** ppv)
|
HRESULT FormatConverter_CreateInstance(REFIID iid, void** ppv)
|
||||||
{
|
{
|
||||||
FormatConverter *This;
|
FormatConverter *This;
|
||||||
HRESULT ret;
|
HRESULT ret;
|
||||||
|
|
||||||
TRACE("(%p,%s,%p)\n", pUnkOuter, debugstr_guid(iid), ppv);
|
TRACE("(%s,%p)\n", debugstr_guid(iid), ppv);
|
||||||
|
|
||||||
*ppv = NULL;
|
*ppv = NULL;
|
||||||
|
|
||||||
if (pUnkOuter) return CLASS_E_NOAGGREGATION;
|
|
||||||
|
|
||||||
This = HeapAlloc(GetProcessHeap(), 0, sizeof(FormatConverter));
|
This = HeapAlloc(GetProcessHeap(), 0, sizeof(FormatConverter));
|
||||||
if (!This) return E_OUTOFMEMORY;
|
if (!This) return E_OUTOFMEMORY;
|
||||||
|
|
||||||
|
@ -144,9 +144,9 @@ static const MetadataHandlerVtbl LSDReader_Vtbl = {
|
|||||||
load_LSD_metadata
|
load_LSD_metadata
|
||||||
};
|
};
|
||||||
|
|
||||||
HRESULT LSDReader_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void **ppv)
|
HRESULT LSDReader_CreateInstance(REFIID iid, void **ppv)
|
||||||
{
|
{
|
||||||
return MetadataReader_Create(&LSDReader_Vtbl, pUnkOuter, iid, ppv);
|
return MetadataReader_Create(&LSDReader_Vtbl, iid, ppv);
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "pshpack1.h"
|
#include "pshpack1.h"
|
||||||
@ -242,9 +242,9 @@ static const MetadataHandlerVtbl IMDReader_Vtbl = {
|
|||||||
load_IMD_metadata
|
load_IMD_metadata
|
||||||
};
|
};
|
||||||
|
|
||||||
HRESULT IMDReader_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void **ppv)
|
HRESULT IMDReader_CreateInstance(REFIID iid, void **ppv)
|
||||||
{
|
{
|
||||||
return MetadataReader_Create(&IMDReader_Vtbl, pUnkOuter, iid, ppv);
|
return MetadataReader_Create(&IMDReader_Vtbl, iid, ppv);
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT load_GCE_metadata(IStream *stream, const GUID *vendor, DWORD options,
|
static HRESULT load_GCE_metadata(IStream *stream, const GUID *vendor, DWORD options,
|
||||||
@ -320,9 +320,9 @@ static const MetadataHandlerVtbl GCEReader_Vtbl = {
|
|||||||
load_GCE_metadata
|
load_GCE_metadata
|
||||||
};
|
};
|
||||||
|
|
||||||
HRESULT GCEReader_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void **ppv)
|
HRESULT GCEReader_CreateInstance(REFIID iid, void **ppv)
|
||||||
{
|
{
|
||||||
return MetadataReader_Create(&GCEReader_Vtbl, pUnkOuter, iid, ppv);
|
return MetadataReader_Create(&GCEReader_Vtbl, iid, ppv);
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT load_APE_metadata(IStream *stream, const GUID *vendor, DWORD options,
|
static HRESULT load_APE_metadata(IStream *stream, const GUID *vendor, DWORD options,
|
||||||
@ -427,9 +427,9 @@ static const MetadataHandlerVtbl APEReader_Vtbl = {
|
|||||||
load_APE_metadata
|
load_APE_metadata
|
||||||
};
|
};
|
||||||
|
|
||||||
HRESULT APEReader_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void **ppv)
|
HRESULT APEReader_CreateInstance(REFIID iid, void **ppv)
|
||||||
{
|
{
|
||||||
return MetadataReader_Create(&APEReader_Vtbl, pUnkOuter, iid, ppv);
|
return MetadataReader_Create(&APEReader_Vtbl, iid, ppv);
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT load_GifComment_metadata(IStream *stream, const GUID *vendor, DWORD options,
|
static HRESULT load_GifComment_metadata(IStream *stream, const GUID *vendor, DWORD options,
|
||||||
@ -521,9 +521,9 @@ static const MetadataHandlerVtbl GifCommentReader_Vtbl = {
|
|||||||
load_GifComment_metadata
|
load_GifComment_metadata
|
||||||
};
|
};
|
||||||
|
|
||||||
HRESULT GifCommentReader_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void **ppv)
|
HRESULT GifCommentReader_CreateInstance(REFIID iid, void **ppv)
|
||||||
{
|
{
|
||||||
return MetadataReader_Create(&GifCommentReader_Vtbl, pUnkOuter, iid, ppv);
|
return MetadataReader_Create(&GifCommentReader_Vtbl, iid, ppv);
|
||||||
}
|
}
|
||||||
|
|
||||||
static IStream *create_stream(const void *data, int data_size)
|
static IStream *create_stream(const void *data, int data_size)
|
||||||
@ -1417,17 +1417,15 @@ static const IWICMetadataBlockReaderVtbl GifDecoder_BlockVtbl =
|
|||||||
GifDecoder_Block_GetEnumerator
|
GifDecoder_Block_GetEnumerator
|
||||||
};
|
};
|
||||||
|
|
||||||
HRESULT GifDecoder_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void** ppv)
|
HRESULT GifDecoder_CreateInstance(REFIID iid, void** ppv)
|
||||||
{
|
{
|
||||||
GifDecoder *This;
|
GifDecoder *This;
|
||||||
HRESULT ret;
|
HRESULT ret;
|
||||||
|
|
||||||
TRACE("(%p,%s,%p)\n", pUnkOuter, debugstr_guid(iid), ppv);
|
TRACE("(%s,%p)\n", debugstr_guid(iid), ppv);
|
||||||
|
|
||||||
*ppv = NULL;
|
*ppv = NULL;
|
||||||
|
|
||||||
if (pUnkOuter) return CLASS_E_NOAGGREGATION;
|
|
||||||
|
|
||||||
This = HeapAlloc(GetProcessHeap(), 0, sizeof(GifDecoder));
|
This = HeapAlloc(GetProcessHeap(), 0, sizeof(GifDecoder));
|
||||||
if (!This) return E_OUTOFMEMORY;
|
if (!This) return E_OUTOFMEMORY;
|
||||||
|
|
||||||
|
@ -747,17 +747,15 @@ static const IWICBitmapEncoderVtbl IcnsEncoder_Vtbl = {
|
|||||||
IcnsEncoder_GetMetadataQueryWriter
|
IcnsEncoder_GetMetadataQueryWriter
|
||||||
};
|
};
|
||||||
|
|
||||||
HRESULT IcnsEncoder_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void** ppv)
|
HRESULT IcnsEncoder_CreateInstance(REFIID iid, void** ppv)
|
||||||
{
|
{
|
||||||
IcnsEncoder *This;
|
IcnsEncoder *This;
|
||||||
HRESULT ret;
|
HRESULT ret;
|
||||||
|
|
||||||
TRACE("(%p,%s,%p)\n", pUnkOuter, debugstr_guid(iid), ppv);
|
TRACE("(%s,%p)\n", debugstr_guid(iid), ppv);
|
||||||
|
|
||||||
*ppv = NULL;
|
*ppv = NULL;
|
||||||
|
|
||||||
if (pUnkOuter) return CLASS_E_NOAGGREGATION;
|
|
||||||
|
|
||||||
This = HeapAlloc(GetProcessHeap(), 0, sizeof(IcnsEncoder));
|
This = HeapAlloc(GetProcessHeap(), 0, sizeof(IcnsEncoder));
|
||||||
if (!This) return E_OUTOFMEMORY;
|
if (!This) return E_OUTOFMEMORY;
|
||||||
|
|
||||||
@ -780,7 +778,7 @@ HRESULT IcnsEncoder_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void** ppv)
|
|||||||
#else /* !defined(HAVE_APPLICATIONSERVICES_APPLICATIONSERVICES_H) ||
|
#else /* !defined(HAVE_APPLICATIONSERVICES_APPLICATIONSERVICES_H) ||
|
||||||
MAC_OS_X_VERSION_MAX_ALLOWED <= MAC_OS_X_VERSION_10_4 */
|
MAC_OS_X_VERSION_MAX_ALLOWED <= MAC_OS_X_VERSION_10_4 */
|
||||||
|
|
||||||
HRESULT IcnsEncoder_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void** ppv)
|
HRESULT IcnsEncoder_CreateInstance(REFIID iid, void** ppv)
|
||||||
{
|
{
|
||||||
ERR("Trying to save ICNS picture, but ICNS support is not compiled in.\n");
|
ERR("Trying to save ICNS picture, but ICNS support is not compiled in.\n");
|
||||||
return E_FAIL;
|
return E_FAIL;
|
||||||
|
@ -397,7 +397,7 @@ static HRESULT ReadIcoPng(IStream *stream, IcoFrameDecode *result)
|
|||||||
WICRect rect;
|
WICRect rect;
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
|
|
||||||
hr = PngDecoder_CreateInstance(NULL, &IID_IWICBitmapDecoder, (void**)&decoder);
|
hr = PngDecoder_CreateInstance(&IID_IWICBitmapDecoder, (void**)&decoder);
|
||||||
if (FAILED(hr))
|
if (FAILED(hr))
|
||||||
goto end;
|
goto end;
|
||||||
hr = IWICBitmapDecoder_Initialize(decoder, stream, WICDecodeMetadataCacheOnLoad);
|
hr = IWICBitmapDecoder_Initialize(decoder, stream, WICDecodeMetadataCacheOnLoad);
|
||||||
@ -738,17 +738,15 @@ static const IWICBitmapDecoderVtbl IcoDecoder_Vtbl = {
|
|||||||
IcoDecoder_GetFrame
|
IcoDecoder_GetFrame
|
||||||
};
|
};
|
||||||
|
|
||||||
HRESULT IcoDecoder_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void** ppv)
|
HRESULT IcoDecoder_CreateInstance(REFIID iid, void** ppv)
|
||||||
{
|
{
|
||||||
IcoDecoder *This;
|
IcoDecoder *This;
|
||||||
HRESULT ret;
|
HRESULT ret;
|
||||||
|
|
||||||
TRACE("(%p,%s,%p)\n", pUnkOuter, debugstr_guid(iid), ppv);
|
TRACE("(%s,%p)\n", debugstr_guid(iid), ppv);
|
||||||
|
|
||||||
*ppv = NULL;
|
*ppv = NULL;
|
||||||
|
|
||||||
if (pUnkOuter) return CLASS_E_NOAGGREGATION;
|
|
||||||
|
|
||||||
This = HeapAlloc(GetProcessHeap(), 0, sizeof(IcoDecoder));
|
This = HeapAlloc(GetProcessHeap(), 0, sizeof(IcoDecoder));
|
||||||
if (!This) return E_OUTOFMEMORY;
|
if (!This) return E_OUTOFMEMORY;
|
||||||
|
|
||||||
|
@ -423,7 +423,7 @@ static HRESULT WINAPI ComponentFactory_CreatePalette(IWICComponentFactory *iface
|
|||||||
static HRESULT WINAPI ComponentFactory_CreateFormatConverter(IWICComponentFactory *iface,
|
static HRESULT WINAPI ComponentFactory_CreateFormatConverter(IWICComponentFactory *iface,
|
||||||
IWICFormatConverter **ppIFormatConverter)
|
IWICFormatConverter **ppIFormatConverter)
|
||||||
{
|
{
|
||||||
return FormatConverter_CreateInstance(NULL, &IID_IWICFormatConverter, (void**)ppIFormatConverter);
|
return FormatConverter_CreateInstance(&IID_IWICFormatConverter, (void**)ppIFormatConverter);
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT WINAPI ComponentFactory_CreateBitmapScaler(IWICComponentFactory *iface,
|
static HRESULT WINAPI ComponentFactory_CreateBitmapScaler(IWICComponentFactory *iface,
|
||||||
@ -1032,17 +1032,15 @@ static const IWICComponentFactoryVtbl ComponentFactory_Vtbl = {
|
|||||||
ComponentFactory_CreateEncoderPropertyBag
|
ComponentFactory_CreateEncoderPropertyBag
|
||||||
};
|
};
|
||||||
|
|
||||||
HRESULT ComponentFactory_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void** ppv)
|
HRESULT ComponentFactory_CreateInstance(REFIID iid, void** ppv)
|
||||||
{
|
{
|
||||||
ComponentFactory *This;
|
ComponentFactory *This;
|
||||||
HRESULT ret;
|
HRESULT ret;
|
||||||
|
|
||||||
TRACE("(%p,%s,%p)\n", pUnkOuter, debugstr_guid(iid), ppv);
|
TRACE("(%s,%p)\n", debugstr_guid(iid), ppv);
|
||||||
|
|
||||||
*ppv = NULL;
|
*ppv = NULL;
|
||||||
|
|
||||||
if (pUnkOuter) return CLASS_E_NOAGGREGATION;
|
|
||||||
|
|
||||||
This = HeapAlloc(GetProcessHeap(), 0, sizeof(ComponentFactory));
|
This = HeapAlloc(GetProcessHeap(), 0, sizeof(ComponentFactory));
|
||||||
if (!This) return E_OUTOFMEMORY;
|
if (!This) return E_OUTOFMEMORY;
|
||||||
|
|
||||||
|
@ -715,12 +715,12 @@ static const IWICBitmapFrameDecodeVtbl JpegDecoder_Frame_Vtbl = {
|
|||||||
JpegDecoder_Frame_GetThumbnail
|
JpegDecoder_Frame_GetThumbnail
|
||||||
};
|
};
|
||||||
|
|
||||||
HRESULT JpegDecoder_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void** ppv)
|
HRESULT JpegDecoder_CreateInstance(REFIID iid, void** ppv)
|
||||||
{
|
{
|
||||||
JpegDecoder *This;
|
JpegDecoder *This;
|
||||||
HRESULT ret;
|
HRESULT ret;
|
||||||
|
|
||||||
TRACE("(%p,%s,%p)\n", pUnkOuter, debugstr_guid(iid), ppv);
|
TRACE("(%s,%p)\n", debugstr_guid(iid), ppv);
|
||||||
|
|
||||||
if (!libjpeg_handle && !load_libjpeg())
|
if (!libjpeg_handle && !load_libjpeg())
|
||||||
{
|
{
|
||||||
@ -730,8 +730,6 @@ HRESULT JpegDecoder_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void** ppv)
|
|||||||
|
|
||||||
*ppv = NULL;
|
*ppv = NULL;
|
||||||
|
|
||||||
if (pUnkOuter) return CLASS_E_NOAGGREGATION;
|
|
||||||
|
|
||||||
This = HeapAlloc(GetProcessHeap(), 0, sizeof(JpegDecoder));
|
This = HeapAlloc(GetProcessHeap(), 0, sizeof(JpegDecoder));
|
||||||
if (!This) return E_OUTOFMEMORY;
|
if (!This) return E_OUTOFMEMORY;
|
||||||
|
|
||||||
@ -1457,17 +1455,15 @@ static const IWICBitmapEncoderVtbl JpegEncoder_Vtbl = {
|
|||||||
JpegEncoder_GetMetadataQueryWriter
|
JpegEncoder_GetMetadataQueryWriter
|
||||||
};
|
};
|
||||||
|
|
||||||
HRESULT JpegEncoder_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void** ppv)
|
HRESULT JpegEncoder_CreateInstance(REFIID iid, void** ppv)
|
||||||
{
|
{
|
||||||
JpegEncoder *This;
|
JpegEncoder *This;
|
||||||
HRESULT ret;
|
HRESULT ret;
|
||||||
|
|
||||||
TRACE("(%p,%s,%p)\n", pUnkOuter, debugstr_guid(iid), ppv);
|
TRACE("(%s,%p)\n", debugstr_guid(iid), ppv);
|
||||||
|
|
||||||
*ppv = NULL;
|
*ppv = NULL;
|
||||||
|
|
||||||
if (pUnkOuter) return CLASS_E_NOAGGREGATION;
|
|
||||||
|
|
||||||
if (!libjpeg_handle && !load_libjpeg())
|
if (!libjpeg_handle && !load_libjpeg())
|
||||||
{
|
{
|
||||||
ERR("Failed writing JPEG because unable to find %s\n",SONAME_LIBJPEG);
|
ERR("Failed writing JPEG because unable to find %s\n",SONAME_LIBJPEG);
|
||||||
@ -1502,13 +1498,13 @@ HRESULT JpegEncoder_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void** ppv)
|
|||||||
|
|
||||||
#else /* !defined(SONAME_LIBJPEG) */
|
#else /* !defined(SONAME_LIBJPEG) */
|
||||||
|
|
||||||
HRESULT JpegDecoder_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void** ppv)
|
HRESULT JpegDecoder_CreateInstance(REFIID iid, void** ppv)
|
||||||
{
|
{
|
||||||
ERR("Trying to load JPEG picture, but JPEG support is not compiled in.\n");
|
ERR("Trying to load JPEG picture, but JPEG support is not compiled in.\n");
|
||||||
return E_FAIL;
|
return E_FAIL;
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT JpegEncoder_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void** ppv)
|
HRESULT JpegEncoder_CreateInstance(REFIID iid, void** ppv)
|
||||||
{
|
{
|
||||||
ERR("Trying to save JPEG picture, but JPEG support is not compiled in.\n");
|
ERR("Trying to save JPEG picture, but JPEG support is not compiled in.\n");
|
||||||
return E_FAIL;
|
return E_FAIL;
|
||||||
|
@ -456,7 +456,7 @@ static const IWICPersistStreamVtbl MetadataHandler_PersistStream_Vtbl = {
|
|||||||
MetadataHandler_SaveEx
|
MetadataHandler_SaveEx
|
||||||
};
|
};
|
||||||
|
|
||||||
HRESULT MetadataReader_Create(const MetadataHandlerVtbl *vtable, IUnknown *pUnkOuter, REFIID iid, void** ppv)
|
HRESULT MetadataReader_Create(const MetadataHandlerVtbl *vtable, REFIID iid, void** ppv)
|
||||||
{
|
{
|
||||||
MetadataHandler *This;
|
MetadataHandler *This;
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
@ -465,8 +465,6 @@ HRESULT MetadataReader_Create(const MetadataHandlerVtbl *vtable, IUnknown *pUnkO
|
|||||||
|
|
||||||
*ppv = NULL;
|
*ppv = NULL;
|
||||||
|
|
||||||
if (pUnkOuter) return CLASS_E_NOAGGREGATION;
|
|
||||||
|
|
||||||
This = HeapAlloc(GetProcessHeap(), 0, sizeof(MetadataHandler));
|
This = HeapAlloc(GetProcessHeap(), 0, sizeof(MetadataHandler));
|
||||||
if (!This) return E_OUTOFMEMORY;
|
if (!This) return E_OUTOFMEMORY;
|
||||||
|
|
||||||
@ -725,9 +723,9 @@ static const MetadataHandlerVtbl UnknownMetadataReader_Vtbl = {
|
|||||||
LoadUnknownMetadata
|
LoadUnknownMetadata
|
||||||
};
|
};
|
||||||
|
|
||||||
HRESULT UnknownMetadataReader_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void** ppv)
|
HRESULT UnknownMetadataReader_CreateInstance(REFIID iid, void** ppv)
|
||||||
{
|
{
|
||||||
return MetadataReader_Create(&UnknownMetadataReader_Vtbl, pUnkOuter, iid, ppv);
|
return MetadataReader_Create(&UnknownMetadataReader_Vtbl, iid, ppv);
|
||||||
}
|
}
|
||||||
|
|
||||||
#define SWAP_USHORT(x) do { if (!native_byte_order) (x) = RtlUshortByteSwap(x); } while(0)
|
#define SWAP_USHORT(x) do { if (!native_byte_order) (x) = RtlUshortByteSwap(x); } while(0)
|
||||||
@ -1160,7 +1158,7 @@ static const MetadataHandlerVtbl IfdMetadataReader_Vtbl = {
|
|||||||
LoadIfdMetadata
|
LoadIfdMetadata
|
||||||
};
|
};
|
||||||
|
|
||||||
HRESULT IfdMetadataReader_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void **ppv)
|
HRESULT IfdMetadataReader_CreateInstance(REFIID iid, void **ppv)
|
||||||
{
|
{
|
||||||
return MetadataReader_Create(&IfdMetadataReader_Vtbl, pUnkOuter, iid, ppv);
|
return MetadataReader_Create(&IfdMetadataReader_Vtbl, iid, ppv);
|
||||||
}
|
}
|
||||||
|
@ -148,9 +148,9 @@ static const MetadataHandlerVtbl TextReader_Vtbl = {
|
|||||||
LoadTextMetadata
|
LoadTextMetadata
|
||||||
};
|
};
|
||||||
|
|
||||||
HRESULT PngTextReader_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void** ppv)
|
HRESULT PngTextReader_CreateInstance(REFIID iid, void** ppv)
|
||||||
{
|
{
|
||||||
return MetadataReader_Create(&TextReader_Vtbl, pUnkOuter, iid, ppv);
|
return MetadataReader_Create(&TextReader_Vtbl, iid, ppv);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef SONAME_LIBPNG
|
#ifdef SONAME_LIBPNG
|
||||||
@ -982,17 +982,15 @@ static const IWICMetadataBlockReaderVtbl PngDecoder_BlockVtbl = {
|
|||||||
PngDecoder_Block_GetEnumerator,
|
PngDecoder_Block_GetEnumerator,
|
||||||
};
|
};
|
||||||
|
|
||||||
HRESULT PngDecoder_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void** ppv)
|
HRESULT PngDecoder_CreateInstance(REFIID iid, void** ppv)
|
||||||
{
|
{
|
||||||
PngDecoder *This;
|
PngDecoder *This;
|
||||||
HRESULT ret;
|
HRESULT ret;
|
||||||
|
|
||||||
TRACE("(%p,%s,%p)\n", pUnkOuter, debugstr_guid(iid), ppv);
|
TRACE("(%s,%p)\n", debugstr_guid(iid), ppv);
|
||||||
|
|
||||||
*ppv = NULL;
|
*ppv = NULL;
|
||||||
|
|
||||||
if (pUnkOuter) return CLASS_E_NOAGGREGATION;
|
|
||||||
|
|
||||||
if (!libpng_handle && !load_libpng())
|
if (!libpng_handle && !load_libpng())
|
||||||
{
|
{
|
||||||
ERR("Failed reading PNG because unable to find %s\n",SONAME_LIBPNG);
|
ERR("Failed reading PNG because unable to find %s\n",SONAME_LIBPNG);
|
||||||
@ -1674,17 +1672,15 @@ static const IWICBitmapEncoderVtbl PngEncoder_Vtbl = {
|
|||||||
PngEncoder_GetMetadataQueryWriter
|
PngEncoder_GetMetadataQueryWriter
|
||||||
};
|
};
|
||||||
|
|
||||||
HRESULT PngEncoder_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void** ppv)
|
HRESULT PngEncoder_CreateInstance(REFIID iid, void** ppv)
|
||||||
{
|
{
|
||||||
PngEncoder *This;
|
PngEncoder *This;
|
||||||
HRESULT ret;
|
HRESULT ret;
|
||||||
|
|
||||||
TRACE("(%p,%s,%p)\n", pUnkOuter, debugstr_guid(iid), ppv);
|
TRACE("(%s,%p)\n", debugstr_guid(iid), ppv);
|
||||||
|
|
||||||
*ppv = NULL;
|
*ppv = NULL;
|
||||||
|
|
||||||
if (pUnkOuter) return CLASS_E_NOAGGREGATION;
|
|
||||||
|
|
||||||
if (!libpng_handle && !load_libpng())
|
if (!libpng_handle && !load_libpng())
|
||||||
{
|
{
|
||||||
ERR("Failed writing PNG because unable to find %s\n",SONAME_LIBPNG);
|
ERR("Failed writing PNG because unable to find %s\n",SONAME_LIBPNG);
|
||||||
@ -1722,13 +1718,13 @@ HRESULT PngEncoder_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void** ppv)
|
|||||||
|
|
||||||
#else /* !HAVE_PNG_H */
|
#else /* !HAVE_PNG_H */
|
||||||
|
|
||||||
HRESULT PngDecoder_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void** ppv)
|
HRESULT PngDecoder_CreateInstance(REFIID iid, void** ppv)
|
||||||
{
|
{
|
||||||
ERR("Trying to load PNG picture, but PNG support is not compiled in.\n");
|
ERR("Trying to load PNG picture, but PNG support is not compiled in.\n");
|
||||||
return E_FAIL;
|
return E_FAIL;
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT PngEncoder_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void** ppv)
|
HRESULT PngEncoder_CreateInstance(REFIID iid, void** ppv)
|
||||||
{
|
{
|
||||||
ERR("Trying to save PNG picture, but PNG support is not compiled in.\n");
|
ERR("Trying to save PNG picture, but PNG support is not compiled in.\n");
|
||||||
return E_FAIL;
|
return E_FAIL;
|
||||||
|
@ -637,7 +637,7 @@ HRESULT WINAPI WICCreateImagingFactory_Proxy(UINT SDKVersion, IWICImagingFactory
|
|||||||
{
|
{
|
||||||
TRACE("%x, %p\n", SDKVersion, ppIImagingFactory);
|
TRACE("%x, %p\n", SDKVersion, ppIImagingFactory);
|
||||||
|
|
||||||
return ComponentFactory_CreateInstance(NULL, &IID_IWICImagingFactory, (void**)ppIImagingFactory);
|
return ComponentFactory_CreateInstance(&IID_IWICImagingFactory, (void**)ppIImagingFactory);
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT WINAPI WICSetEncoderFormat_Proxy(IWICBitmapSource *pSourceIn,
|
HRESULT WINAPI WICSetEncoderFormat_Proxy(IWICBitmapSource *pSourceIn,
|
||||||
|
@ -951,17 +951,15 @@ static const IWICBitmapFrameDecodeVtbl TgaDecoder_Frame_Vtbl = {
|
|||||||
TgaDecoder_Frame_GetThumbnail
|
TgaDecoder_Frame_GetThumbnail
|
||||||
};
|
};
|
||||||
|
|
||||||
HRESULT TgaDecoder_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void** ppv)
|
HRESULT TgaDecoder_CreateInstance(REFIID iid, void** ppv)
|
||||||
{
|
{
|
||||||
TgaDecoder *This;
|
TgaDecoder *This;
|
||||||
HRESULT ret;
|
HRESULT ret;
|
||||||
|
|
||||||
TRACE("(%p,%s,%p)\n", pUnkOuter, debugstr_guid(iid), ppv);
|
TRACE("(%s,%p)\n", debugstr_guid(iid), ppv);
|
||||||
|
|
||||||
*ppv = NULL;
|
*ppv = NULL;
|
||||||
|
|
||||||
if (pUnkOuter) return CLASS_E_NOAGGREGATION;
|
|
||||||
|
|
||||||
This = HeapAlloc(GetProcessHeap(), 0, sizeof(TgaDecoder));
|
This = HeapAlloc(GetProcessHeap(), 0, sizeof(TgaDecoder));
|
||||||
if (!This) return E_OUTOFMEMORY;
|
if (!This) return E_OUTOFMEMORY;
|
||||||
|
|
||||||
|
@ -1296,17 +1296,15 @@ static const IWICMetadataBlockReaderVtbl TiffFrameDecode_BlockVtbl =
|
|||||||
TiffFrameDecode_Block_GetEnumerator
|
TiffFrameDecode_Block_GetEnumerator
|
||||||
};
|
};
|
||||||
|
|
||||||
HRESULT TiffDecoder_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void** ppv)
|
HRESULT TiffDecoder_CreateInstance(REFIID iid, void** ppv)
|
||||||
{
|
{
|
||||||
HRESULT ret;
|
HRESULT ret;
|
||||||
TiffDecoder *This;
|
TiffDecoder *This;
|
||||||
|
|
||||||
TRACE("(%p,%s,%p)\n", pUnkOuter, debugstr_guid(iid), ppv);
|
TRACE("(%s,%p)\n", debugstr_guid(iid), ppv);
|
||||||
|
|
||||||
*ppv = NULL;
|
*ppv = NULL;
|
||||||
|
|
||||||
if (pUnkOuter) return CLASS_E_NOAGGREGATION;
|
|
||||||
|
|
||||||
if (!load_libtiff())
|
if (!load_libtiff())
|
||||||
{
|
{
|
||||||
ERR("Failed reading TIFF because unable to load %s\n",SONAME_LIBTIFF);
|
ERR("Failed reading TIFF because unable to load %s\n",SONAME_LIBTIFF);
|
||||||
@ -2040,17 +2038,15 @@ static const IWICBitmapEncoderVtbl TiffEncoder_Vtbl = {
|
|||||||
TiffEncoder_GetMetadataQueryWriter
|
TiffEncoder_GetMetadataQueryWriter
|
||||||
};
|
};
|
||||||
|
|
||||||
HRESULT TiffEncoder_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void** ppv)
|
HRESULT TiffEncoder_CreateInstance(REFIID iid, void** ppv)
|
||||||
{
|
{
|
||||||
TiffEncoder *This;
|
TiffEncoder *This;
|
||||||
HRESULT ret;
|
HRESULT ret;
|
||||||
|
|
||||||
TRACE("(%p,%s,%p)\n", pUnkOuter, debugstr_guid(iid), ppv);
|
TRACE("(%s,%p)\n", debugstr_guid(iid), ppv);
|
||||||
|
|
||||||
*ppv = NULL;
|
*ppv = NULL;
|
||||||
|
|
||||||
if (pUnkOuter) return CLASS_E_NOAGGREGATION;
|
|
||||||
|
|
||||||
if (!load_libtiff())
|
if (!load_libtiff())
|
||||||
{
|
{
|
||||||
ERR("Failed writing TIFF because unable to load %s\n",SONAME_LIBTIFF);
|
ERR("Failed writing TIFF because unable to load %s\n",SONAME_LIBTIFF);
|
||||||
@ -2079,13 +2075,13 @@ HRESULT TiffEncoder_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void** ppv)
|
|||||||
|
|
||||||
#else /* !SONAME_LIBTIFF */
|
#else /* !SONAME_LIBTIFF */
|
||||||
|
|
||||||
HRESULT TiffDecoder_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void** ppv)
|
HRESULT TiffDecoder_CreateInstance(REFIID iid, void** ppv)
|
||||||
{
|
{
|
||||||
ERR("Trying to load TIFF picture, but Wine was compiled without TIFF support.\n");
|
ERR("Trying to load TIFF picture, but Wine was compiled without TIFF support.\n");
|
||||||
return E_FAIL;
|
return E_FAIL;
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT TiffEncoder_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void** ppv)
|
HRESULT TiffEncoder_CreateInstance(REFIID iid, void** ppv)
|
||||||
{
|
{
|
||||||
ERR("Trying to save TIFF picture, but Wine was compiled without TIFF support.\n");
|
ERR("Trying to save TIFF picture, but Wine was compiled without TIFF support.\n");
|
||||||
return E_FAIL;
|
return E_FAIL;
|
||||||
|
@ -67,22 +67,21 @@ DECLARE_INTERFACE_(IMILUnknown2,IUnknown)
|
|||||||
};
|
};
|
||||||
#undef INTERFACE
|
#undef INTERFACE
|
||||||
|
|
||||||
extern HRESULT FormatConverter_CreateInstance(IUnknown *pUnkOuter, REFIID riid, void** ppv) DECLSPEC_HIDDEN;
|
extern HRESULT FormatConverter_CreateInstance(REFIID riid, void** ppv) DECLSPEC_HIDDEN;
|
||||||
extern HRESULT ComponentFactory_CreateInstance(IUnknown *pUnkOuter, REFIID riid, void** ppv) DECLSPEC_HIDDEN;
|
extern HRESULT ComponentFactory_CreateInstance(REFIID riid, void** ppv) DECLSPEC_HIDDEN;
|
||||||
extern HRESULT BmpDecoder_CreateInstance(IUnknown *pUnkOuter, REFIID riid, void** ppv) DECLSPEC_HIDDEN;
|
extern HRESULT BmpDecoder_CreateInstance(REFIID riid, void** ppv) DECLSPEC_HIDDEN;
|
||||||
extern HRESULT PngDecoder_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void** ppv) DECLSPEC_HIDDEN;
|
extern HRESULT PngDecoder_CreateInstance(REFIID iid, void** ppv) DECLSPEC_HIDDEN;
|
||||||
extern HRESULT PngEncoder_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void** ppv) DECLSPEC_HIDDEN;
|
extern HRESULT PngEncoder_CreateInstance(REFIID iid, void** ppv) DECLSPEC_HIDDEN;
|
||||||
extern HRESULT BmpEncoder_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void** ppv) DECLSPEC_HIDDEN;
|
extern HRESULT BmpEncoder_CreateInstance(REFIID iid, void** ppv) DECLSPEC_HIDDEN;
|
||||||
extern HRESULT DibDecoder_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void** ppv) DECLSPEC_HIDDEN;
|
extern HRESULT DibDecoder_CreateInstance(REFIID iid, void** ppv) DECLSPEC_HIDDEN;
|
||||||
extern HRESULT GifDecoder_CreateInstance(IUnknown *pUnkOuter, REFIID riid, void** ppv) DECLSPEC_HIDDEN;
|
extern HRESULT GifDecoder_CreateInstance(REFIID riid, void** ppv) DECLSPEC_HIDDEN;
|
||||||
extern HRESULT IcoDecoder_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void** ppv) DECLSPEC_HIDDEN;
|
extern HRESULT IcoDecoder_CreateInstance(REFIID iid, void** ppv) DECLSPEC_HIDDEN;
|
||||||
extern HRESULT JpegDecoder_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void** ppv) DECLSPEC_HIDDEN;
|
extern HRESULT JpegDecoder_CreateInstance(REFIID iid, void** ppv) DECLSPEC_HIDDEN;
|
||||||
extern HRESULT JpegEncoder_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void** ppv) DECLSPEC_HIDDEN;
|
extern HRESULT JpegEncoder_CreateInstance(REFIID iid, void** ppv) DECLSPEC_HIDDEN;
|
||||||
extern HRESULT TiffDecoder_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void** ppv) DECLSPEC_HIDDEN;
|
extern HRESULT TiffDecoder_CreateInstance(REFIID iid, void** ppv) DECLSPEC_HIDDEN;
|
||||||
extern HRESULT TiffEncoder_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void** ppv) DECLSPEC_HIDDEN;
|
extern HRESULT TiffEncoder_CreateInstance(REFIID iid, void** ppv) DECLSPEC_HIDDEN;
|
||||||
extern HRESULT IcnsEncoder_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void** ppv) DECLSPEC_HIDDEN;
|
extern HRESULT IcnsEncoder_CreateInstance(REFIID iid, void** ppv) DECLSPEC_HIDDEN;
|
||||||
|
extern HRESULT TgaDecoder_CreateInstance(REFIID iid, void** ppv) DECLSPEC_HIDDEN;
|
||||||
extern HRESULT TgaDecoder_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void** ppv) DECLSPEC_HIDDEN;
|
|
||||||
|
|
||||||
extern HRESULT BitmapImpl_Create(UINT uiWidth, UINT uiHeight,
|
extern HRESULT BitmapImpl_Create(UINT uiWidth, UINT uiHeight,
|
||||||
UINT stride, UINT datasize, BYTE *bits,
|
UINT stride, UINT datasize, BYTE *bits,
|
||||||
@ -135,16 +134,16 @@ typedef struct _MetadataHandlerVtbl
|
|||||||
ULARGE_INTEGER *size);
|
ULARGE_INTEGER *size);
|
||||||
} MetadataHandlerVtbl;
|
} MetadataHandlerVtbl;
|
||||||
|
|
||||||
extern HRESULT MetadataReader_Create(const MetadataHandlerVtbl *vtable, IUnknown *pUnkOuter, REFIID iid, void** ppv) DECLSPEC_HIDDEN;
|
extern HRESULT MetadataReader_Create(const MetadataHandlerVtbl *vtable, REFIID iid, void** ppv) DECLSPEC_HIDDEN;
|
||||||
|
|
||||||
extern HRESULT UnknownMetadataReader_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void** ppv) DECLSPEC_HIDDEN;
|
extern HRESULT UnknownMetadataReader_CreateInstance(REFIID iid, void** ppv) DECLSPEC_HIDDEN;
|
||||||
extern HRESULT IfdMetadataReader_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void **ppv) DECLSPEC_HIDDEN;
|
extern HRESULT IfdMetadataReader_CreateInstance(REFIID iid, void **ppv) DECLSPEC_HIDDEN;
|
||||||
extern HRESULT PngTextReader_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void** ppv) DECLSPEC_HIDDEN;
|
extern HRESULT PngTextReader_CreateInstance(REFIID iid, void** ppv) DECLSPEC_HIDDEN;
|
||||||
extern HRESULT LSDReader_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void **ppv) DECLSPEC_HIDDEN;
|
extern HRESULT LSDReader_CreateInstance(REFIID iid, void **ppv) DECLSPEC_HIDDEN;
|
||||||
extern HRESULT IMDReader_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void **ppv) DECLSPEC_HIDDEN;
|
extern HRESULT IMDReader_CreateInstance(REFIID iid, void **ppv) DECLSPEC_HIDDEN;
|
||||||
extern HRESULT GCEReader_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void **ppv) DECLSPEC_HIDDEN;
|
extern HRESULT GCEReader_CreateInstance(REFIID iid, void **ppv) DECLSPEC_HIDDEN;
|
||||||
extern HRESULT APEReader_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void **ppv) DECLSPEC_HIDDEN;
|
extern HRESULT APEReader_CreateInstance(REFIID iid, void **ppv) DECLSPEC_HIDDEN;
|
||||||
extern HRESULT GifCommentReader_CreateInstance(IUnknown *pUnkOuter, REFIID iid, void **ppv) DECLSPEC_HIDDEN;
|
extern HRESULT GifCommentReader_CreateInstance(REFIID iid, void **ppv) DECLSPEC_HIDDEN;
|
||||||
|
|
||||||
extern HRESULT stream_initialize_from_filehandle(IWICStream *iface, HANDLE hfile) DECLSPEC_HIDDEN;
|
extern HRESULT stream_initialize_from_filehandle(IWICStream *iface, HANDLE hfile) DECLSPEC_HIDDEN;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user