dinput: Avoid signed-unsigned integer comparisons.
[wine] / dlls / windowscodecs / proxy.c
1 /*
2  * Misleadingly named convenience functions for accessing WIC.
3  *
4  * Copyright 2012 Vincent Povirk for CodeWeavers
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19  */
20
21 #include "config.h"
22
23 #include <stdarg.h>
24
25 #define COBJMACROS
26 #define NONAMELESSUNION
27
28 #include "windef.h"
29 #include "winbase.h"
30 #include "objbase.h"
31 #include "wincodec.h"
32 #include "wincodecsdk.h"
33
34 #include "wincodecs_private.h"
35
36 #include "wine/debug.h"
37
38 WINE_DEFAULT_DEBUG_CHANNEL(wincodecs);
39
40 HRESULT WINAPI IWICBitmapClipper_Initialize_Proxy_W(IWICBitmapClipper *iface,
41     IWICBitmapSource *pISource, const WICRect *prc)
42 {
43     return IWICBitmapClipper_Initialize(iface, pISource, prc);
44 }
45
46 HRESULT WINAPI IWICBitmapCodecInfo_GetContainerFormat_Proxy_W(IWICBitmapCodecInfo *iface,
47     GUID *pguidContainerFormat)
48 {
49     return IWICBitmapCodecInfo_GetContainerFormat(iface, pguidContainerFormat);
50 }
51
52 HRESULT WINAPI IWICBitmapCodecInfo_GetDeviceManufacturer_Proxy_W(IWICBitmapCodecInfo *iface,
53     UINT cchDeviceManufacturer, WCHAR *wzDeviceManufacturer, UINT *pcchActual)
54 {
55     return IWICBitmapCodecInfo_GetDeviceManufacturer(iface, cchDeviceManufacturer, wzDeviceManufacturer, pcchActual);
56 }
57
58 HRESULT WINAPI IWICBitmapCodecInfo_GetDeviceModels_Proxy_W(IWICBitmapCodecInfo *iface,
59     UINT cchDeviceModels, WCHAR *wzDeviceModels, UINT *pcchActual)
60 {
61     return IWICBitmapCodecInfo_GetDeviceModels(iface, cchDeviceModels, wzDeviceModels, pcchActual);
62 }
63
64 HRESULT WINAPI IWICBitmapCodecInfo_GetMimeTypes_Proxy_W(IWICBitmapCodecInfo *iface,
65     UINT cchMimeTypes, WCHAR *wzMimeTypes, UINT *pcchActual)
66 {
67     return IWICBitmapCodecInfo_GetMimeTypes(iface, cchMimeTypes, wzMimeTypes, pcchActual);
68 }
69
70 HRESULT WINAPI IWICBitmapCodecInfo_GetFileExtensions_Proxy_W(IWICBitmapCodecInfo *iface,
71     UINT cchFileExtensions, WCHAR *wzFileExtensions, UINT *pcchActual)
72 {
73     return IWICBitmapCodecInfo_GetFileExtensions(iface, cchFileExtensions, wzFileExtensions, pcchActual);
74 }
75
76 HRESULT WINAPI IWICBitmapCodecInfo_DoesSupportAnimation_Proxy_W(IWICBitmapCodecInfo *iface,
77     BOOL *pfSupportAnimation)
78 {
79     return IWICBitmapCodecInfo_DoesSupportAnimation(iface, pfSupportAnimation);
80 }
81
82 HRESULT WINAPI IWICBitmapCodecInfo_DoesSupportLossless_Proxy_W(IWICBitmapCodecInfo *iface,
83     BOOL *pfSupportLossless)
84 {
85     return IWICBitmapCodecInfo_DoesSupportLossless(iface, pfSupportLossless);
86 }
87
88 HRESULT WINAPI IWICBitmapCodecInfo_DoesSupportMultiframe_Proxy_W(IWICBitmapCodecInfo *iface,
89     BOOL *pfSupportMultiframe)
90 {
91     return IWICBitmapCodecInfo_DoesSupportMultiframe(iface, pfSupportMultiframe);
92 }
93
94 HRESULT WINAPI IWICBitmapDecoder_GetDecoderInfo_Proxy_W(IWICBitmapDecoder *iface,
95     IWICBitmapDecoderInfo **ppIDecoderInfo)
96 {
97     return IWICBitmapDecoder_GetDecoderInfo(iface, ppIDecoderInfo);
98 }
99
100 HRESULT WINAPI IWICBitmapDecoder_CopyPalette_Proxy_W(IWICBitmapDecoder *iface,
101     IWICPalette *pIPalette)
102 {
103     return IWICBitmapDecoder_CopyPalette(iface, pIPalette);
104 }
105
106 HRESULT WINAPI IWICBitmapDecoder_GetMetadataQueryReader_Proxy_W(IWICBitmapDecoder *iface,
107     IWICMetadataQueryReader **ppIMetadataQueryReader)
108 {
109     return IWICBitmapDecoder_GetMetadataQueryReader(iface, ppIMetadataQueryReader);
110 }
111
112 HRESULT WINAPI IWICBitmapDecoder_GetPreview_Proxy_W(IWICBitmapDecoder *iface,
113     IWICBitmapSource **ppIBitmapSource)
114 {
115     return IWICBitmapDecoder_GetPreview(iface, ppIBitmapSource);
116 }
117
118 HRESULT WINAPI IWICBitmapDecoder_GetColorContexts_Proxy_W(IWICBitmapDecoder *iface,
119     UINT cCount, IWICColorContext **ppIColorContexts, UINT *pcActualCount)
120 {
121     return IWICBitmapDecoder_GetColorContexts(iface, cCount, ppIColorContexts, pcActualCount);
122 }
123
124 HRESULT WINAPI IWICBitmapDecoder_GetThumbnail_Proxy_W(IWICBitmapDecoder *iface,
125     IWICBitmapSource **ppIThumbnail)
126 {
127     return IWICBitmapDecoder_GetThumbnail(iface, ppIThumbnail);
128 }
129
130 HRESULT WINAPI IWICBitmapDecoder_GetFrameCount_Proxy_W(IWICBitmapDecoder *iface,
131     UINT *pCount)
132 {
133     return IWICBitmapDecoder_GetFrameCount(iface, pCount);
134 }
135
136 HRESULT WINAPI IWICBitmapDecoder_GetFrame_Proxy_W(IWICBitmapDecoder *iface,
137     UINT index, IWICBitmapFrameDecode **ppIBitmapFrame)
138 {
139     return IWICBitmapDecoder_GetFrame(iface, index, ppIBitmapFrame);
140 }
141
142 HRESULT WINAPI IWICBitmapEncoder_Initialize_Proxy_W(IWICBitmapEncoder *iface,
143     IStream *pIStream, WICBitmapEncoderCacheOption cacheOption)
144 {
145     return IWICBitmapEncoder_Initialize(iface, pIStream, cacheOption);
146 }
147
148 HRESULT WINAPI IWICBitmapEncoder_GetEncoderInfo_Proxy_W(IWICBitmapEncoder *iface,
149     IWICBitmapEncoderInfo **ppIEncoderInfo)
150 {
151     return IWICBitmapEncoder_GetEncoderInfo(iface, ppIEncoderInfo);
152 }
153
154 HRESULT WINAPI IWICBitmapEncoder_SetPalette_Proxy_W(IWICBitmapEncoder *iface,
155     IWICPalette *pIPalette)
156 {
157     return IWICBitmapEncoder_SetPalette(iface, pIPalette);
158 }
159
160 HRESULT WINAPI IWICBitmapEncoder_SetThumbnail_Proxy_W(IWICBitmapEncoder *iface,
161     IWICBitmapSource *pIThumbnail)
162 {
163     return IWICBitmapEncoder_SetThumbnail(iface, pIThumbnail);
164 }
165
166 HRESULT WINAPI IWICBitmapEncoder_CreateNewFrame_Proxy_W(IWICBitmapEncoder *iface,
167     IWICBitmapFrameEncode **ppIFrameEncode, IPropertyBag2 **ppIEncoderOptions)
168 {
169     return IWICBitmapEncoder_CreateNewFrame(iface, ppIFrameEncode, ppIEncoderOptions);
170 }
171
172 HRESULT WINAPI IWICBitmapEncoder_Commit_Proxy_W(IWICBitmapEncoder *iface)
173 {
174     return IWICBitmapEncoder_Commit(iface);
175 }
176
177 HRESULT WINAPI IWICBitmapEncoder_GetMetadataQueryWriter_Proxy_W(IWICBitmapEncoder *iface,
178     IWICMetadataQueryWriter **ppIMetadataQueryWriter)
179 {
180     return IWICBitmapEncoder_GetMetadataQueryWriter(iface, ppIMetadataQueryWriter);
181 }
182
183 HRESULT WINAPI IWICBitmapFlipRotator_Initialize_Proxy_W(IWICBitmapFlipRotator *iface,
184     IWICBitmapSource *pISource, WICBitmapTransformOptions options)
185 {
186     return IWICBitmapFlipRotator_Initialize(iface, pISource, options);
187 }
188
189 HRESULT WINAPI IWICBitmapFrameEncode_Initialize_Proxy_W(IWICBitmapFrameEncode *iface,
190     IPropertyBag2 *pIEncoderOptions)
191 {
192     return IWICBitmapFrameEncode_Initialize(iface, pIEncoderOptions);
193 }
194
195 HRESULT WINAPI IWICBitmapFrameEncode_SetSize_Proxy_W(IWICBitmapFrameEncode *iface,
196     UINT uiWidth, UINT uiHeight)
197 {
198     return IWICBitmapFrameEncode_SetSize(iface, uiWidth, uiHeight);
199 }
200
201 HRESULT WINAPI IWICBitmapFrameEncode_SetResolution_Proxy_W(IWICBitmapFrameEncode *iface,
202     double dpiX, double dpiY)
203 {
204     return IWICBitmapFrameEncode_SetResolution(iface, dpiX, dpiY);
205 }
206
207 HRESULT WINAPI IWICBitmapFrameEncode_SetColorContexts_Proxy_W(IWICBitmapFrameEncode *iface,
208     UINT cCount, IWICColorContext **ppIColorContext)
209 {
210     return IWICBitmapFrameEncode_SetColorContexts(iface, cCount, ppIColorContext);
211 }
212
213 HRESULT WINAPI IWICBitmapFrameEncode_SetThumbnail_Proxy_W(IWICBitmapFrameEncode *iface,
214     IWICBitmapSource *pIThumbnail)
215 {
216     return IWICBitmapFrameEncode_SetThumbnail(iface, pIThumbnail);
217 }
218
219 HRESULT WINAPI IWICBitmapFrameEncode_WriteSource_Proxy_W(IWICBitmapFrameEncode *iface,
220     IWICBitmapSource *pIBitmapSource, WICRect *prc)
221 {
222     return IWICBitmapFrameEncode_WriteSource(iface, pIBitmapSource, prc);
223 }
224
225 HRESULT WINAPI IWICBitmapFrameEncode_Commit_Proxy_W(IWICBitmapFrameEncode *iface)
226 {
227     return IWICBitmapFrameEncode_Commit(iface);
228 }
229
230 HRESULT WINAPI IWICBitmapFrameEncode_GetMetadataQueryWriter_Proxy_W(IWICBitmapFrameEncode *iface,
231     IWICMetadataQueryWriter **ppIMetadataQueryWriter)
232 {
233     return IWICBitmapFrameEncode_GetMetadataQueryWriter(iface, ppIMetadataQueryWriter);
234 }
235
236 HRESULT WINAPI IWICBitmapLock_GetDataPointer_Proxy_W(IWICBitmapLock *iface,
237     UINT *pcbBufferSize, BYTE **ppbData)
238 {
239     return IWICBitmapLock_GetDataPointer(iface, pcbBufferSize, ppbData);
240 }
241
242 HRESULT WINAPI IWICBitmapLock_GetStride_Proxy_W(IWICBitmapLock *iface,
243     UINT *pcbStride)
244 {
245     return IWICBitmapLock_GetStride(iface, pcbStride);
246 }
247
248 HRESULT WINAPI IWICBitmapScaler_Initialize_Proxy_W(IWICBitmapScaler *iface,
249     IWICBitmapSource *pISource, UINT uiWidth, UINT uiHeight, WICBitmapInterpolationMode mode)
250 {
251     return IWICBitmapScaler_Initialize(iface, pISource, uiWidth, uiHeight, mode);
252 }
253
254 HRESULT WINAPI IWICBitmapSource_GetSize_Proxy_W(IWICBitmapSource *iface,
255     UINT *puiWidth, UINT *puiHeight)
256 {
257     return IWICBitmapSource_GetSize(iface, puiWidth, puiHeight);
258 }
259
260 HRESULT WINAPI IWICBitmapSource_GetPixelFormat_Proxy_W(IWICBitmapSource *iface,
261     WICPixelFormatGUID *pPixelFormat)
262 {
263     return IWICBitmapSource_GetPixelFormat(iface, pPixelFormat);
264 }
265
266 HRESULT WINAPI IWICBitmapSource_GetResolution_Proxy_W(IWICBitmapSource *iface,
267     double *pDpiX, double *pDpiY)
268 {
269     return IWICBitmapSource_GetResolution(iface, pDpiX, pDpiY);
270 }
271
272 HRESULT WINAPI IWICBitmapSource_CopyPalette_Proxy_W(IWICBitmapSource *iface,
273     IWICPalette *pIPalette)
274 {
275     return IWICBitmapSource_CopyPalette(iface, pIPalette);
276 }
277
278 HRESULT WINAPI IWICBitmapSource_CopyPixels_Proxy_W(IWICBitmapSource *iface,
279     const WICRect *prc, UINT cbStride, UINT cbBufferSize, BYTE *pbBuffer)
280 {
281     return IWICBitmapSource_CopyPixels(iface, prc, cbStride, cbBufferSize, pbBuffer);
282 }
283
284 HRESULT WINAPI IWICBitmap_Lock_Proxy_W(IWICBitmap *iface,
285     const WICRect *prcLock, DWORD flags, IWICBitmapLock **ppILock)
286 {
287     return IWICBitmap_Lock(iface, prcLock, flags, ppILock);
288 }
289
290 HRESULT WINAPI IWICBitmap_SetPalette_Proxy_W(IWICBitmap *iface,
291     IWICPalette *pIPalette)
292 {
293     return IWICBitmap_SetPalette(iface, pIPalette);
294 }
295
296 HRESULT WINAPI IWICBitmap_SetResolution_Proxy_W(IWICBitmap *iface,
297     double dpiX, double dpiY)
298 {
299     return IWICBitmap_SetResolution(iface, dpiX, dpiY);
300 }
301
302 HRESULT WINAPI IWICColorContext_InitializeFromMemory_Proxy_W(IWICColorContext *iface,
303     const BYTE *pbBuffer, UINT cbBufferSize)
304 {
305     return IWICColorContext_InitializeFromMemory(iface, pbBuffer, cbBufferSize);
306 }
307
308 HRESULT WINAPI IWICComponentFactory_CreateMetadataWriterFromReader_Proxy_W(IWICComponentFactory *iface,
309     IWICMetadataReader *pIReader, const GUID *pguidVendor, IWICMetadataWriter **ppIWriter)
310 {
311     return IWICComponentFactory_CreateMetadataWriterFromReader(iface, pIReader, pguidVendor, ppIWriter);
312 }
313
314 HRESULT WINAPI IWICComponentFactory_CreateQueryWriterFromBlockWriter_Proxy_W(IWICComponentFactory *iface,
315     IWICMetadataBlockWriter *pIBlockWriter, IWICMetadataQueryWriter **ppIQueryWriter)
316 {
317     return IWICComponentFactory_CreateQueryWriterFromBlockWriter(iface, pIBlockWriter, ppIQueryWriter);
318 }
319
320 HRESULT WINAPI IWICComponentInfo_GetCLSID_Proxy_W(IWICComponentInfo *iface,
321     CLSID *pclsid)
322 {
323     return IWICComponentInfo_GetCLSID(iface, pclsid);
324 }
325
326 HRESULT WINAPI IWICComponentInfo_GetAuthor_Proxy_W(IWICComponentInfo *iface,
327     UINT cchAuthor, WCHAR *wzAuthor, UINT *pcchActual)
328 {
329     return IWICComponentInfo_GetAuthor(iface, cchAuthor, wzAuthor, pcchActual);
330 }
331
332 HRESULT WINAPI IWICComponentInfo_GetVersion_Proxy_W(IWICComponentInfo *iface,
333     UINT cchVersion, WCHAR *wzVersion, UINT *pcchActual)
334 {
335     return IWICComponentInfo_GetVersion(iface, cchVersion, wzVersion, pcchActual);
336 }
337
338 HRESULT WINAPI IWICComponentInfo_GetSpecVersion_Proxy_W(IWICComponentInfo *iface,
339     UINT cchSpecVersion, WCHAR *wzSpecVersion, UINT *pcchActual)
340 {
341     return IWICComponentInfo_GetSpecVersion(iface, cchSpecVersion, wzSpecVersion, pcchActual);
342 }
343
344 HRESULT WINAPI IWICComponentInfo_GetFriendlyName_Proxy_W(IWICComponentInfo *iface,
345     UINT cchFriendlyName, WCHAR *wzFriendlyName, UINT *pcchActual)
346 {
347     return IWICComponentInfo_GetFriendlyName(iface, cchFriendlyName, wzFriendlyName, pcchActual);
348 }
349
350 HRESULT WINAPI IWICFastMetadataEncoder_Commit_Proxy_W(IWICFastMetadataEncoder *iface)
351 {
352     return IWICFastMetadataEncoder_Commit(iface);
353 }
354
355 HRESULT WINAPI IWICFastMetadataEncoder_GetMetadataQueryWriter_Proxy_W(IWICFastMetadataEncoder *iface,
356     IWICMetadataQueryWriter **ppIMetadataQueryWriter)
357 {
358     return IWICFastMetadataEncoder_GetMetadataQueryWriter(iface, ppIMetadataQueryWriter);
359 }
360
361 HRESULT WINAPI IWICBitmapFrameDecode_GetMetadataQueryReader_Proxy_W(IWICBitmapFrameDecode *iface,
362     IWICMetadataQueryReader **ppIMetadataQueryReader)
363 {
364     return IWICBitmapFrameDecode_GetMetadataQueryReader(iface, ppIMetadataQueryReader);
365 }
366
367 HRESULT WINAPI IWICBitmapFrameDecode_GetColorContexts_Proxy_W(IWICBitmapFrameDecode *iface,
368     UINT cCount, IWICColorContext **ppIColorContexts, UINT *pcActualCount)
369 {
370     return IWICBitmapFrameDecode_GetColorContexts(iface, cCount, ppIColorContexts, pcActualCount);
371 }
372
373 HRESULT WINAPI IWICBitmapFrameDecode_GetThumbnail_Proxy_W(IWICBitmapFrameDecode *iface,
374     IWICBitmapSource **ppIThumbnail)
375 {
376     return IWICBitmapFrameDecode_GetThumbnail(iface, ppIThumbnail);
377 }
378
379 HRESULT WINAPI IWICFormatConverter_Initialize_Proxy_W(IWICFormatConverter *iface,
380     IWICBitmapSource *pISource, REFWICPixelFormatGUID dstFormat, WICBitmapDitherType dither,
381     IWICPalette *pIPalette, double alphaThresholdPercent, WICBitmapPaletteType paletteTranslate)
382 {
383     return IWICFormatConverter_Initialize(iface, pISource, dstFormat, dither,
384         pIPalette, alphaThresholdPercent, paletteTranslate);
385 }
386
387 HRESULT WINAPI IWICImagingFactory_CreateBitmapClipper_Proxy_W(IWICImagingFactory *pFactory,
388     IWICBitmapClipper **ppIBitmapClipper)
389 {
390     return IWICImagingFactory_CreateBitmapClipper(pFactory, ppIBitmapClipper);
391 }
392
393 HRESULT WINAPI IWICImagingFactory_CreateBitmapFlipRotator_Proxy_W(IWICImagingFactory *pFactory,
394     IWICBitmapFlipRotator **ppIBitmapFlipRotator)
395 {
396     return IWICImagingFactory_CreateBitmapFlipRotator(pFactory, ppIBitmapFlipRotator);
397 }
398
399 HRESULT WINAPI IWICImagingFactory_CreateBitmapFromHBITMAP_Proxy_W(IWICImagingFactory *pFactory,
400     HBITMAP hBitmap, HPALETTE hPalette, WICBitmapAlphaChannelOption options, IWICBitmap **ppIBitmap)
401 {
402     return IWICImagingFactory_CreateBitmapFromHBITMAP(pFactory, hBitmap, hPalette, options, ppIBitmap);
403 }
404
405 HRESULT WINAPI IWICImagingFactory_CreateBitmapFromHICON_Proxy_W(IWICImagingFactory *pFactory,
406     HICON hIcon, IWICBitmap **ppIBitmap)
407 {
408     return IWICImagingFactory_CreateBitmapFromHICON(pFactory, hIcon, ppIBitmap);
409 }
410
411 HRESULT WINAPI IWICImagingFactory_CreateBitmapFromMemory_Proxy_W(IWICImagingFactory *pFactory,
412     UINT uiWidth, UINT uiHeight, REFWICPixelFormatGUID pixelFormat, UINT cbStride,
413     UINT cbBufferSize, BYTE *pbBuffer, IWICBitmap **ppIBitmap)
414 {
415     return IWICImagingFactory_CreateBitmapFromMemory(pFactory, uiWidth, uiHeight,
416         pixelFormat, cbStride, cbBufferSize, pbBuffer, ppIBitmap);
417 }
418
419 HRESULT WINAPI IWICImagingFactory_CreateBitmapFromSource_Proxy_W(IWICImagingFactory *pFactory,
420     IWICBitmapSource *piBitmapSource, WICBitmapCreateCacheOption option, IWICBitmap **ppIBitmap)
421 {
422     return IWICImagingFactory_CreateBitmapFromSource(pFactory, piBitmapSource, option, ppIBitmap);
423 }
424
425 HRESULT WINAPI IWICImagingFactory_CreateBitmapScaler_Proxy_W(IWICImagingFactory *pFactory,
426     IWICBitmapScaler **ppIBitmapScaler)
427 {
428     return IWICImagingFactory_CreateBitmapScaler(pFactory, ppIBitmapScaler);
429 }
430
431 HRESULT WINAPI IWICImagingFactory_CreateBitmap_Proxy_W(IWICImagingFactory *pFactory,
432     UINT uiWidth, UINT uiHeight, REFWICPixelFormatGUID pixelFormat,
433     WICBitmapCreateCacheOption option, IWICBitmap **ppIBitmap)
434 {
435     return IWICImagingFactory_CreateBitmap(pFactory, uiWidth, uiHeight,
436         pixelFormat, option, ppIBitmap);
437 }
438
439 HRESULT WINAPI IWICImagingFactory_CreateComponentInfo_Proxy_W(IWICImagingFactory *pFactory,
440     REFCLSID clsidComponent, IWICComponentInfo **ppIInfo)
441 {
442     return IWICImagingFactory_CreateComponentInfo(pFactory, clsidComponent, ppIInfo);
443 }
444
445 HRESULT WINAPI IWICImagingFactory_CreateDecoderFromFileHandle_Proxy_W(IWICImagingFactory *pFactory,
446     ULONG_PTR hFile, const GUID *pguidVendor, WICDecodeOptions metadataOptions, IWICBitmapDecoder **ppIDecoder)
447 {
448     return IWICImagingFactory_CreateDecoderFromFileHandle(pFactory, hFile, pguidVendor, metadataOptions, ppIDecoder);
449 }
450
451 HRESULT WINAPI IWICImagingFactory_CreateDecoderFromFilename_Proxy_W(IWICImagingFactory *pFactory,
452     LPCWSTR wzFilename, const GUID *pguidVendor, DWORD dwDesiredAccess,
453     WICDecodeOptions metadataOptions, IWICBitmapDecoder **ppIDecoder)
454 {
455     return IWICImagingFactory_CreateDecoderFromFilename(pFactory, wzFilename,
456         pguidVendor, dwDesiredAccess, metadataOptions, ppIDecoder);
457 }
458
459 HRESULT WINAPI IWICImagingFactory_CreateDecoderFromStream_Proxy_W(IWICImagingFactory *pFactory,
460     IStream *pIStream, const GUID *pguidVendor,
461     WICDecodeOptions metadataOptions, IWICBitmapDecoder **ppIDecoder)
462 {
463     return IWICImagingFactory_CreateDecoderFromStream(pFactory, pIStream, pguidVendor, metadataOptions, ppIDecoder);
464 }
465
466 HRESULT WINAPI IWICImagingFactory_CreateEncoder_Proxy_W(IWICImagingFactory *pFactory,
467     REFGUID guidContainerFormat, const GUID *pguidVendor, IWICBitmapEncoder **ppIEncoder)
468 {
469     return IWICImagingFactory_CreateEncoder(pFactory, guidContainerFormat, pguidVendor, ppIEncoder);
470 }
471
472 HRESULT WINAPI IWICImagingFactory_CreateFastMetadataEncoderFromDecoder_Proxy_W(IWICImagingFactory *pFactory,
473     IWICBitmapDecoder *pIDecoder, IWICFastMetadataEncoder **ppIFastEncoder)
474 {
475     return IWICImagingFactory_CreateFastMetadataEncoderFromDecoder(pFactory, pIDecoder, ppIFastEncoder);
476 }
477
478 HRESULT WINAPI IWICImagingFactory_CreateFastMetadataEncoderFromFrameDecode_Proxy_W(IWICImagingFactory *pFactory,
479     IWICBitmapFrameDecode *pIFrameDecoder, IWICFastMetadataEncoder **ppIFastEncoder)
480 {
481     return IWICImagingFactory_CreateFastMetadataEncoderFromFrameDecode(pFactory, pIFrameDecoder, ppIFastEncoder);
482 }
483
484 HRESULT WINAPI IWICImagingFactory_CreateFormatConverter_Proxy_W(IWICImagingFactory *pFactory,
485     IWICFormatConverter **ppIFormatConverter)
486 {
487     return IWICImagingFactory_CreateFormatConverter(pFactory, ppIFormatConverter);
488 }
489
490 HRESULT WINAPI IWICImagingFactory_CreatePalette_Proxy_W(IWICImagingFactory *pFactory,
491     IWICPalette **ppIPalette)
492 {
493     return IWICImagingFactory_CreatePalette(pFactory, ppIPalette);
494 }
495
496 HRESULT WINAPI IWICImagingFactory_CreateQueryWriterFromReader_Proxy_W(IWICImagingFactory *pFactory,
497     IWICMetadataQueryReader *pIQueryReader, const GUID *pguidVendor,
498     IWICMetadataQueryWriter **ppIQueryWriter)
499 {
500     return IWICImagingFactory_CreateQueryWriterFromReader(pFactory, pIQueryReader, pguidVendor, ppIQueryWriter);
501 }
502
503 HRESULT WINAPI IWICImagingFactory_CreateQueryWriter_Proxy_W(IWICImagingFactory *pFactory,
504     REFGUID guidMetadataFormat, const GUID *pguidVendor, IWICMetadataQueryWriter **ppIQueryWriter)
505 {
506     return IWICImagingFactory_CreateQueryWriter(pFactory, guidMetadataFormat, pguidVendor, ppIQueryWriter);
507 }
508
509 HRESULT WINAPI IWICImagingFactory_CreateStream_Proxy_W(IWICImagingFactory *pFactory,
510     IWICStream **ppIWICStream)
511 {
512     return IWICImagingFactory_CreateStream(pFactory, ppIWICStream);
513 }
514
515 HRESULT WINAPI IWICMetadataBlockReader_GetCount_Proxy_W(IWICMetadataBlockReader *iface,
516     UINT *pcCount)
517 {
518     return IWICMetadataBlockReader_GetCount(iface, pcCount);
519 }
520
521 HRESULT WINAPI IWICMetadataBlockReader_GetReaderByIndex_Proxy_W(IWICMetadataBlockReader *iface,
522     UINT nIndex, IWICMetadataReader **ppIMetadataReader)
523 {
524     return IWICMetadataBlockReader_GetReaderByIndex(iface, nIndex, ppIMetadataReader);
525 }
526
527 HRESULT WINAPI IWICMetadataQueryReader_GetContainerFormat_Proxy_W(IWICMetadataQueryReader *iface,
528     GUID *pguidContainerFormat)
529 {
530     return IWICMetadataQueryReader_GetContainerFormat(iface, pguidContainerFormat);
531 }
532
533 HRESULT WINAPI IWICMetadataQueryReader_GetLocation_Proxy_W(IWICMetadataQueryReader *iface,
534     UINT cchMaxLength, WCHAR *wzNamespace, UINT *pcchActualLength)
535 {
536     return IWICMetadataQueryReader_GetLocation(iface, cchMaxLength, wzNamespace, pcchActualLength);
537 }
538
539 HRESULT WINAPI IWICMetadataQueryReader_GetMetadataByName_Proxy_W(IWICMetadataQueryReader *iface,
540     LPCWSTR wzName, PROPVARIANT *pvarValue)
541 {
542     return IWICMetadataQueryReader_GetMetadataByName(iface, wzName, pvarValue);
543 }
544
545 HRESULT WINAPI IWICMetadataQueryReader_GetEnumerator_Proxy_W(IWICMetadataQueryReader *iface,
546     IEnumString **ppIEnumString)
547 {
548     return IWICMetadataQueryReader_GetEnumerator(iface, ppIEnumString);
549 }
550
551 HRESULT WINAPI IWICMetadataQueryWriter_SetMetadataByName_Proxy_W(IWICMetadataQueryWriter *iface,
552     LPCWSTR wzName, const PROPVARIANT *pvarValue)
553 {
554     return IWICMetadataQueryWriter_SetMetadataByName(iface, wzName, pvarValue);
555 }
556
557 HRESULT WINAPI IWICMetadataQueryWriter_RemoveMetadataByName_Proxy_W(IWICMetadataQueryWriter *iface,
558     LPCWSTR wzName)
559 {
560     return IWICMetadataQueryWriter_RemoveMetadataByName(iface, wzName);
561 }
562
563 HRESULT WINAPI IWICPalette_InitializePredefined_Proxy_W(IWICPalette *iface,
564     WICBitmapPaletteType ePaletteType, BOOL fAddTransparentColor)
565 {
566     return IWICPalette_InitializePredefined(iface, ePaletteType, fAddTransparentColor);
567 }
568
569 HRESULT WINAPI IWICPalette_InitializeCustom_Proxy_W(IWICPalette *iface,
570     WICColor *pColors, UINT colorCount)
571 {
572     return IWICPalette_InitializeCustom(iface, pColors, colorCount);
573 }
574
575 HRESULT WINAPI IWICPalette_InitializeFromBitmap_Proxy_W(IWICPalette *iface,
576     IWICBitmapSource *pISurface, UINT colorCount, BOOL fAddTransparentColor)
577 {
578     return IWICPalette_InitializeFromBitmap(iface, pISurface, colorCount, fAddTransparentColor);
579 }
580
581 HRESULT WINAPI IWICPalette_InitializeFromPalette_Proxy_W(IWICPalette *iface,
582     IWICPalette *pIPalette)
583 {
584     return IWICPalette_InitializeFromPalette(iface, pIPalette);
585 }
586
587 HRESULT WINAPI IWICPalette_GetType_Proxy_W(IWICPalette *iface,
588     WICBitmapPaletteType *pePaletteType)
589 {
590     return IWICPalette_GetType(iface, pePaletteType);
591 }
592
593 HRESULT WINAPI IWICPalette_GetColorCount_Proxy_W(IWICPalette *iface,
594     UINT *pcCount)
595 {
596     return IWICPalette_GetColorCount(iface, pcCount);
597 }
598
599 HRESULT WINAPI IWICPalette_GetColors_Proxy_W(IWICPalette *iface,
600     UINT colorCount, WICColor *pColors, UINT *pcActualColors)
601 {
602     return IWICPalette_GetColors(iface, colorCount, pColors, pcActualColors);
603 }
604
605 HRESULT WINAPI IWICPalette_HasAlpha_Proxy_W(IWICPalette *iface,
606     BOOL *pfHasAlpha)
607 {
608     return IWICPalette_HasAlpha(iface, pfHasAlpha);
609 }
610
611 HRESULT WINAPI IWICStream_InitializeFromIStream_Proxy_W(IWICStream *iface,
612     IStream *pIStream)
613 {
614     return IWICStream_InitializeFromIStream(iface, pIStream);
615 }
616
617 HRESULT WINAPI IWICStream_InitializeFromMemory_Proxy_W(IWICStream *iface,
618     BYTE *pbBuffer, DWORD cbBufferSize)
619 {
620     return IWICStream_InitializeFromMemory(iface, pbBuffer, cbBufferSize);
621 }
622
623 HRESULT WINAPI WICCreateColorContext_Proxy(IWICImagingFactory *iface, IWICColorContext **ppIWICColorContext)
624 {
625     TRACE("%p, %p\n", iface, ppIWICColorContext);
626
627     return IWICImagingFactory_CreateColorContext(iface, ppIWICColorContext);
628 }
629
630 HRESULT WINAPI WICCreateImagingFactory_Proxy(UINT SDKVersion, IWICImagingFactory **ppIImagingFactory)
631 {
632     TRACE("%x, %p\n", SDKVersion, ppIImagingFactory);
633
634     return ComponentFactory_CreateInstance(NULL, &IID_IWICImagingFactory, (void**)ppIImagingFactory);
635 }