1/*** Autogenerated by WIDL 1.5.29 from /tmp/build-mingw64-toolchain-digit/src/mingw-w64-svn-r5861/mingw-w64-headers/include/wincodec.idl - Do not edit ***/
2
3#ifndef __REQUIRED_RPCNDR_H_VERSION__
4#define __REQUIRED_RPCNDR_H_VERSION__ 475
5#endif
6
7#include <rpc.h>
8#include <rpcndr.h>
9
10#ifndef COM_NO_WINDOWS_H
11#include <windows.h>
12#include <ole2.h>
13#endif
14
15#ifndef __wincodec_h__
16#define __wincodec_h__
17
18/* Forward declarations */
19
20#ifndef __IWICColorContext_FWD_DEFINED__
21#define __IWICColorContext_FWD_DEFINED__
22typedef interface IWICColorContext IWICColorContext;
23#endif
24
25#ifndef __IWICBitmapSource_FWD_DEFINED__
26#define __IWICBitmapSource_FWD_DEFINED__
27typedef interface IWICBitmapSource IWICBitmapSource;
28#endif
29
30#ifndef __IWICBitmapLock_FWD_DEFINED__
31#define __IWICBitmapLock_FWD_DEFINED__
32typedef interface IWICBitmapLock IWICBitmapLock;
33#endif
34
35#ifndef __IWICBitmapFlipRotator_FWD_DEFINED__
36#define __IWICBitmapFlipRotator_FWD_DEFINED__
37typedef interface IWICBitmapFlipRotator IWICBitmapFlipRotator;
38#endif
39
40#ifndef __IWICBitmap_FWD_DEFINED__
41#define __IWICBitmap_FWD_DEFINED__
42typedef interface IWICBitmap IWICBitmap;
43#endif
44
45#ifndef __IWICPalette_FWD_DEFINED__
46#define __IWICPalette_FWD_DEFINED__
47typedef interface IWICPalette IWICPalette;
48#endif
49
50#ifndef __IWICComponentInfo_FWD_DEFINED__
51#define __IWICComponentInfo_FWD_DEFINED__
52typedef interface IWICComponentInfo IWICComponentInfo;
53#endif
54
55#ifndef __IWICMetadataQueryReader_FWD_DEFINED__
56#define __IWICMetadataQueryReader_FWD_DEFINED__
57typedef interface IWICMetadataQueryReader IWICMetadataQueryReader;
58#endif
59
60#ifndef __IWICMetadataQueryWriter_FWD_DEFINED__
61#define __IWICMetadataQueryWriter_FWD_DEFINED__
62typedef interface IWICMetadataQueryWriter IWICMetadataQueryWriter;
63#endif
64
65#ifndef __IWICBitmapFrameDecode_FWD_DEFINED__
66#define __IWICBitmapFrameDecode_FWD_DEFINED__
67typedef interface IWICBitmapFrameDecode IWICBitmapFrameDecode;
68#endif
69
70#ifndef __IWICPixelFormatInfo_FWD_DEFINED__
71#define __IWICPixelFormatInfo_FWD_DEFINED__
72typedef interface IWICPixelFormatInfo IWICPixelFormatInfo;
73#endif
74
75#ifndef __IWICPixelFormatInfo2_FWD_DEFINED__
76#define __IWICPixelFormatInfo2_FWD_DEFINED__
77typedef interface IWICPixelFormatInfo2 IWICPixelFormatInfo2;
78#endif
79
80#ifndef __IWICBitmapCodecInfo_FWD_DEFINED__
81#define __IWICBitmapCodecInfo_FWD_DEFINED__
82typedef interface IWICBitmapCodecInfo IWICBitmapCodecInfo;
83#endif
84
85#ifndef __IWICBitmapDecoderInfo_FWD_DEFINED__
86#define __IWICBitmapDecoderInfo_FWD_DEFINED__
87typedef interface IWICBitmapDecoderInfo IWICBitmapDecoderInfo;
88#endif
89
90#ifndef __IWICBitmapDecoder_FWD_DEFINED__
91#define __IWICBitmapDecoder_FWD_DEFINED__
92typedef interface IWICBitmapDecoder IWICBitmapDecoder;
93#endif
94
95#ifndef __IWICBitmapFrameEncode_FWD_DEFINED__
96#define __IWICBitmapFrameEncode_FWD_DEFINED__
97typedef interface IWICBitmapFrameEncode IWICBitmapFrameEncode;
98#endif
99
100#ifndef __IWICBitmapEncoderInfo_FWD_DEFINED__
101#define __IWICBitmapEncoderInfo_FWD_DEFINED__
102typedef interface IWICBitmapEncoderInfo IWICBitmapEncoderInfo;
103#endif
104
105#ifndef __IWICBitmapEncoder_FWD_DEFINED__
106#define __IWICBitmapEncoder_FWD_DEFINED__
107typedef interface IWICBitmapEncoder IWICBitmapEncoder;
108#endif
109
110#ifndef __IWICFormatConverter_FWD_DEFINED__
111#define __IWICFormatConverter_FWD_DEFINED__
112typedef interface IWICFormatConverter IWICFormatConverter;
113#endif
114
115#ifndef __IWICFormatConverterInfo_FWD_DEFINED__
116#define __IWICFormatConverterInfo_FWD_DEFINED__
117typedef interface IWICFormatConverterInfo IWICFormatConverterInfo;
118#endif
119
120#ifndef __IWICStream_FWD_DEFINED__
121#define __IWICStream_FWD_DEFINED__
122typedef interface IWICStream IWICStream;
123#endif
124
125#ifndef __IWICBitmapScaler_FWD_DEFINED__
126#define __IWICBitmapScaler_FWD_DEFINED__
127typedef interface IWICBitmapScaler IWICBitmapScaler;
128#endif
129
130#ifndef __IWICBitmapClipper_FWD_DEFINED__
131#define __IWICBitmapClipper_FWD_DEFINED__
132typedef interface IWICBitmapClipper IWICBitmapClipper;
133#endif
134
135#ifndef __IWICColorTransform_FWD_DEFINED__
136#define __IWICColorTransform_FWD_DEFINED__
137typedef interface IWICColorTransform IWICColorTransform;
138#endif
139
140#ifndef __IWICFastMetadataEncoder_FWD_DEFINED__
141#define __IWICFastMetadataEncoder_FWD_DEFINED__
142typedef interface IWICFastMetadataEncoder IWICFastMetadataEncoder;
143#endif
144
145#ifndef __IWICImagingFactory_FWD_DEFINED__
146#define __IWICImagingFactory_FWD_DEFINED__
147typedef interface IWICImagingFactory IWICImagingFactory;
148#endif
149
150#ifndef __IWICEnumMetadataItem_FWD_DEFINED__
151#define __IWICEnumMetadataItem_FWD_DEFINED__
152typedef interface IWICEnumMetadataItem IWICEnumMetadataItem;
153#endif
154
155/* Headers for imported files */
156
157#include <wtypes.h>
158#include <propidl.h>
159#include <ocidl.h>
160
161#ifdef __cplusplus
162extern "C" {
163#endif
164
165#define WINCODEC_SDK_VERSION 0x0236
166typedef enum WICDecodeOptions {
167    WICDecodeMetadataCacheOnDemand = 0x0,
168    WICDecodeMetadataCacheOnLoad = 0x1,
169    WICMETADATACACHEOPTION_FORCE_DWORD = 0x7fffffff
170} WICDecodeOptions;
171typedef enum WICBitmapCreateCacheOption {
172    WICBitmapNoCache = 0x0,
173    WICBitmapCacheOnDemand = 0x1,
174    WICBitmapCacheOnLoad = 0x2,
175    WICBITMAPCREATECACHEOPTION_FORCE_DWORD = 0x7fffffff
176} WICBitmapCreateCacheOption;
177typedef enum WICBitmapAlphaChannelOption {
178    WICBitmapUseAlpha = 0x0,
179    WICBitmapUsePremultipliedAlpha = 0x1,
180    WICBitmapIgnoreAlpha = 0x2,
181    WICBITMAPALPHACHANNELOPTIONS_FORCE_DWORD = 0x7fffffff
182} WICBitmapAlphaChannelOption;
183typedef enum WICBitmapDecoderCapabilities {
184    WICBitmapDecoderCapabilitySameEncoder = 0x1,
185    WICBitmapDecoderCapabilityCanDecodeAllImages = 0x2,
186    WICBitmapDecoderCapabilityCanDecodeSomeImages = 0x4,
187    WICBitmapDecoderCapabilityCanEnumerateMetadata = 0x8,
188    WICBitmapDecoderCapabilityCanDecodeThumbnail = 0x10
189} WICBitmapDecoderCapabilities;
190typedef enum WICBitmapDitherType {
191    WICBitmapDitherTypeNone = 0x0,
192    WICBitmapDitherTypeSolid = 0x0,
193    WICBitmapDitherTypeOrdered4x4 = 0x1,
194    WICBitmapDitherTypeOrdered8x8 = 0x2,
195    WICBitmapDitherTypeOrdered16x16 = 0x3,
196    WICBitmapDitherTypeSpiral4x4 = 0x4,
197    WICBitmapDitherTypeSpiral8x8 = 0x5,
198    WICBitmapDitherTypeDualSpiral4x4 = 0x6,
199    WICBitmapDitherTypeDualSpiral8x8 = 0x7,
200    WICBitmapDitherTypeErrorDiffusion = 0x8,
201    WICBITMAPDITHERTYPE_FORCE_DWORD = 0x7fffffff
202} WICBitmapDitherType;
203typedef enum WICBitmapEncoderCacheOption {
204    WICBitmapEncoderCacheInMemory = 0x0,
205    WICBitmapEncoderCacheTempFile = 0x1,
206    WICBitmapEncoderNoCache = 0x2,
207    WICBITMAPENCODERCACHEOPTION_FORCE_DWORD = 0x7fffffff
208} WICBitmapEncoderCacheOption;
209typedef enum WICBitmapInterpolationMode {
210    WICBitmapInterpolationModeNearestNeighbor = 0x0,
211    WICBitmapInterpolationModeLinear = 0x1,
212    WICBitmapInterpolationModeCubic = 0x2,
213    WICBitmapInterpolationModeFant = 0x3,
214    WICBITMAPINTERPOLATIONMODE_FORCE_DWORD = 0x7fffffff
215} WICBitmapInterpolationMode;
216typedef enum WICBitmapLockFlags {
217    WICBitmapLockRead = 0x1,
218    WICBitmapLockWrite = 0x2,
219    WICBITMAPLOCKFLAGS_FORCE_DWORD = 0x7fffffff
220} WICBitmapLockFlags;
221typedef enum WICBitmapPaletteType {
222    WICBitmapPaletteTypeCustom = 0x0,
223    WICBitmapPaletteTypeMedianCut = 0x1,
224    WICBitmapPaletteTypeFixedBW = 0x2,
225    WICBitmapPaletteTypeFixedHalftone8 = 0x3,
226    WICBitmapPaletteTypeFixedHalftone27 = 0x4,
227    WICBitmapPaletteTypeFixedHalftone64 = 0x5,
228    WICBitmapPaletteTypeFixedHalftone125 = 0x6,
229    WICBitmapPaletteTypeFixedHalftone216 = 0x7,
230    WICBitmapPaletteTypeFixedWebPalette = WICBitmapPaletteTypeFixedHalftone216,
231    WICBitmapPaletteTypeFixedHalftone252 = 0x8,
232    WICBitmapPaletteTypeFixedHalftone256 = 0x9,
233    WICBitmapPaletteTypeFixedGray4 = 0xa,
234    WICBitmapPaletteTypeFixedGray16 = 0xb,
235    WICBitmapPaletteTypeFixedGray256 = 0xc,
236    WICBITMAPPALETTETYPE_FORCE_DWORD = 0x7fffffff
237} WICBitmapPaletteType;
238typedef enum WICBitmapTransformOptions {
239    WICBitmapTransformRotate0 = 0x0,
240    WICBitmapTransformRotate90 = 0x1,
241    WICBitmapTransformRotate180 = 0x2,
242    WICBitmapTransformRotate270 = 0x3,
243    WICBitmapTransformFlipHorizontal = 0x8,
244    WICBitmapTransformFlipVertical = 0x10,
245    WICBITMAPTRANSFORMOPTIONS_FORCE_DWORD = 0x7fffffff
246} WICBitmapTransformOptions;
247typedef enum WICColorContextType {
248    WICColorContextUninitialized = 0x0,
249    WICColorContextProfile = 0x1,
250    WICColorContextExifColorSpace = 0x2
251} WICColorContextType;
252typedef enum WICComponentType {
253    WICDecoder = 0x1,
254    WICEncoder = 0x2,
255    WICPixelFormatConverter = 0x4,
256    WICMetadataReader = 0x8,
257    WICMetadataWriter = 0x10,
258    WICPixelFormat = 0x20,
259    WICCOMPONENTTYPE_FORCE_DWORD = 0x7fffffff
260} WICComponentType;
261typedef enum WICComponentSigning {
262    WICComponentSigned = 0x1,
263    WICComponentUnsigned = 0x2,
264    WICComponentSafe = 0x4,
265    WICComponentDisabled = 0x80000000
266} WICComponentSigning;
267typedef enum WICComponentEnumerateOptions {
268    WICComponentEnumerateDefault = 0x0,
269    WICComponentEnumerateRefresh = 0x1,
270    WICComponentEnumerateBuiltInOnly = 0x20000000,
271    WICComponentEnumerateUnsigned = 0x40000000,
272    WICComponentEnumerateDisabled = 0x80000000
273} WICComponentEnumerateOptions;
274typedef enum WICPixelFormatNumericRepresentation {
275    WICPixelFormatNumericRepresentationUnspecified = 0x0,
276    WICPixelFormatNumericRepresentationIndexed = 0x1,
277    WICPixelFormatNumericRepresentationUnsignedInteger = 0x2,
278    WICPixelFormatNumericRepresentationSignedInteger = 0x3,
279    WICPixelFormatNumericRepresentationFixed = 0x4,
280    WICPixelFormatNumericRepresentationFloat = 0x5,
281    WICPIXELFORMATNUMERICREPRESENTATION_FORCE_DWORD = 0x7fffffff
282} WICPixelFormatNumericRepresentation;
283typedef enum WICTiffCompressionOption {
284    WICTiffCompressionDontCare = 0x0,
285    WICTiffCompressionNone = 0x1,
286    WICTiffCompressionCCITT3 = 0x2,
287    WICTiffCompressionCCITT4 = 0x3,
288    WICTiffCompressionLZW = 0x4,
289    WICTiffCompressionRLE = 0x5,
290    WICTiffCompressionZIP = 0x6,
291    WICTiffCompressionLZWHDifferencing = 0x7,
292    WICTIFFCOMPRESSIONOPTION_FORCE_DWORD = 0x7fffffff
293} WICTiffCompressionOption;
294typedef GUID WICPixelFormatGUID;
295typedef REFGUID REFWICPixelFormatGUID;
296DEFINE_GUID(GUID_WICPixelFormatDontCare, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x00);
297#define GUID_WICPixelFormatUndefined GUID_WICPixelFormatDontCare
298DEFINE_GUID(GUID_WICPixelFormat1bppIndexed, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x01);
299DEFINE_GUID(GUID_WICPixelFormat2bppIndexed, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x02);
300DEFINE_GUID(GUID_WICPixelFormat4bppIndexed, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x03);
301DEFINE_GUID(GUID_WICPixelFormat8bppIndexed, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x04);
302DEFINE_GUID(GUID_WICPixelFormatBlackWhite, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x05);
303DEFINE_GUID(GUID_WICPixelFormat2bppGray, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x06);
304DEFINE_GUID(GUID_WICPixelFormat4bppGray, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x07);
305DEFINE_GUID(GUID_WICPixelFormat8bppGray, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x08);
306DEFINE_GUID(GUID_WICPixelFormat16bppGray, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x0b);
307DEFINE_GUID(GUID_WICPixelFormat16bppBGR555, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x09);
308DEFINE_GUID(GUID_WICPixelFormat16bppBGR565, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x0a);
309DEFINE_GUID(GUID_WICPixelFormat16bppBGRA5551, 0x05ec7c2b,0xf1e6,0x4961,0xad,0x46,0xe1,0xcc,0x81,0x0a,0x87,0xd2);
310DEFINE_GUID(GUID_WICPixelFormat24bppBGR, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x0c);
311DEFINE_GUID(GUID_WICPixelFormat24bppRGB, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x0d);
312DEFINE_GUID(GUID_WICPixelFormat32bppBGR, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x0e);
313DEFINE_GUID(GUID_WICPixelFormat32bppBGRA, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x0f);
314DEFINE_GUID(GUID_WICPixelFormat32bppPBGRA, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x10);
315DEFINE_GUID(GUID_WICPixelFormat48bppRGB, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x15);
316DEFINE_GUID(GUID_WICPixelFormat64bppRGBA, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x16);
317DEFINE_GUID(GUID_WICPixelFormat64bppPRGBA, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x17);
318DEFINE_GUID(GUID_WICPixelFormat32bppCMYK, 0x6fddc324,0x4e03,0x4fbe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x1c);
319typedef struct WICRect {
320    INT X;
321    INT Y;
322    INT Width;
323    INT Height;
324} WICRect;
325typedef struct WICBitmapPattern {
326    ULARGE_INTEGER Position;
327    ULONG Length;
328    BYTE *Pattern;
329    BYTE *Mask;
330    WINBOOL EndOfStream;
331} WICBitmapPattern;
332typedef UINT32 WICColor;
333#define WINCODEC_ERR_WRONGSTATE 0x88982f04
334#define WINCODEC_ERR_VALUEOUTOFRANGE 0x88982f05
335#define WINCODEC_ERR_NOTINITIALIZED 0x88982f0c
336#define WINCODEC_ERR_ALREADYLOCKED 0x88982f0d
337#define WINCODEC_ERR_PROPERTYNOTFOUND 0x88982f40
338#define WINCODEC_ERR_CODECNOTHUMBNAIL 0x88982f44
339#define WINCODEC_ERR_PALETTEUNAVAILABLE 0x88982f45
340#define WINCODEC_ERR_COMPONENTNOTFOUND 0x88982f50
341#define WINCODEC_ERR_BADIMAGE 0x88982f60
342#define WINCODEC_ERR_FRAMEMISSING 0x88982f62
343#define WINCODEC_ERR_BADMETADATAHEADER 0x88982f63
344#define WINCODEC_ERR_UNSUPPORTEDPIXELFORMAT 0x88982f80
345#define WINCODEC_ERR_UNSUPPORTEDOPERATION 0x88982f81
346#define WINCODEC_ERR_INSUFFICIENTBUFFER 0x88982f8c
347#define WINCODEC_ERR_PROPERTYUNEXPECTEDTYPE 0x88982f8e
348#define WINCODEC_ERR_WIN32ERROR 0x88982f94
349#ifndef __IWICPalette_FWD_DEFINED__
350#define __IWICPalette_FWD_DEFINED__
351typedef interface IWICPalette IWICPalette;
352#endif
353
354/*****************************************************************************
355 * IWICColorContext interface
356 */
357#ifndef __IWICColorContext_INTERFACE_DEFINED__
358#define __IWICColorContext_INTERFACE_DEFINED__
359
360DEFINE_GUID(IID_IWICColorContext, 0x3c613a02, 0x34b2, 0x44ea, 0x9a,0x7c, 0x45,0xae,0xa9,0xc6,0xfd,0x6d);
361#if defined(__cplusplus) && !defined(CINTERFACE)
362MIDL_INTERFACE("3c613a02-34b2-44ea-9a7c-45aea9c6fd6d")
363IWICColorContext : public IUnknown
364{
365    virtual HRESULT STDMETHODCALLTYPE InitializeFromFilename(
366        LPCWSTR wzFilename) = 0;
367
368    virtual HRESULT STDMETHODCALLTYPE InitializeFromMemory(
369        const BYTE *pbBuffer,
370        UINT cbBufferSize) = 0;
371
372    virtual HRESULT STDMETHODCALLTYPE InitializeFromExifColorSpace(
373        UINT value) = 0;
374
375    virtual HRESULT STDMETHODCALLTYPE GetType(
376        WICColorContextType *pType) = 0;
377
378    virtual HRESULT STDMETHODCALLTYPE GetProfileBytes(
379        UINT cbBuffer,
380        BYTE *pbBuffer,
381        UINT *pcbActual) = 0;
382
383    virtual HRESULT STDMETHODCALLTYPE GetExifColorSpace(
384        UINT *pValue) = 0;
385
386};
387#ifdef __CRT_UUID_DECL
388__CRT_UUID_DECL(IWICColorContext, 0x3c613a02, 0x34b2, 0x44ea, 0x9a,0x7c, 0x45,0xae,0xa9,0xc6,0xfd,0x6d)
389#endif
390#else
391typedef struct IWICColorContextVtbl {
392    BEGIN_INTERFACE
393
394    /*** IUnknown methods ***/
395    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
396        IWICColorContext* This,
397        REFIID riid,
398        void **ppvObject);
399
400    ULONG (STDMETHODCALLTYPE *AddRef)(
401        IWICColorContext* This);
402
403    ULONG (STDMETHODCALLTYPE *Release)(
404        IWICColorContext* This);
405
406    /*** IWICColorContext methods ***/
407    HRESULT (STDMETHODCALLTYPE *InitializeFromFilename)(
408        IWICColorContext* This,
409        LPCWSTR wzFilename);
410
411    HRESULT (STDMETHODCALLTYPE *InitializeFromMemory)(
412        IWICColorContext* This,
413        const BYTE *pbBuffer,
414        UINT cbBufferSize);
415
416    HRESULT (STDMETHODCALLTYPE *InitializeFromExifColorSpace)(
417        IWICColorContext* This,
418        UINT value);
419
420    HRESULT (STDMETHODCALLTYPE *GetType)(
421        IWICColorContext* This,
422        WICColorContextType *pType);
423
424    HRESULT (STDMETHODCALLTYPE *GetProfileBytes)(
425        IWICColorContext* This,
426        UINT cbBuffer,
427        BYTE *pbBuffer,
428        UINT *pcbActual);
429
430    HRESULT (STDMETHODCALLTYPE *GetExifColorSpace)(
431        IWICColorContext* This,
432        UINT *pValue);
433
434    END_INTERFACE
435} IWICColorContextVtbl;
436interface IWICColorContext {
437    CONST_VTBL IWICColorContextVtbl* lpVtbl;
438};
439
440#ifdef COBJMACROS
441#ifndef WIDL_C_INLINE_WRAPPERS
442/*** IUnknown methods ***/
443#define IWICColorContext_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
444#define IWICColorContext_AddRef(This) (This)->lpVtbl->AddRef(This)
445#define IWICColorContext_Release(This) (This)->lpVtbl->Release(This)
446/*** IWICColorContext methods ***/
447#define IWICColorContext_InitializeFromFilename(This,wzFilename) (This)->lpVtbl->InitializeFromFilename(This,wzFilename)
448#define IWICColorContext_InitializeFromMemory(This,pbBuffer,cbBufferSize) (This)->lpVtbl->InitializeFromMemory(This,pbBuffer,cbBufferSize)
449#define IWICColorContext_InitializeFromExifColorSpace(This,value) (This)->lpVtbl->InitializeFromExifColorSpace(This,value)
450#define IWICColorContext_GetType(This,pType) (This)->lpVtbl->GetType(This,pType)
451#define IWICColorContext_GetProfileBytes(This,cbBuffer,pbBuffer,pcbActual) (This)->lpVtbl->GetProfileBytes(This,cbBuffer,pbBuffer,pcbActual)
452#define IWICColorContext_GetExifColorSpace(This,pValue) (This)->lpVtbl->GetExifColorSpace(This,pValue)
453#else
454/*** IUnknown methods ***/
455static FORCEINLINE HRESULT IWICColorContext_QueryInterface(IWICColorContext* This,REFIID riid,void **ppvObject) {
456    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
457}
458static FORCEINLINE ULONG IWICColorContext_AddRef(IWICColorContext* This) {
459    return This->lpVtbl->AddRef(This);
460}
461static FORCEINLINE ULONG IWICColorContext_Release(IWICColorContext* This) {
462    return This->lpVtbl->Release(This);
463}
464/*** IWICColorContext methods ***/
465static FORCEINLINE HRESULT IWICColorContext_InitializeFromFilename(IWICColorContext* This,LPCWSTR wzFilename) {
466    return This->lpVtbl->InitializeFromFilename(This,wzFilename);
467}
468static FORCEINLINE HRESULT IWICColorContext_InitializeFromMemory(IWICColorContext* This,const BYTE *pbBuffer,UINT cbBufferSize) {
469    return This->lpVtbl->InitializeFromMemory(This,pbBuffer,cbBufferSize);
470}
471static FORCEINLINE HRESULT IWICColorContext_InitializeFromExifColorSpace(IWICColorContext* This,UINT value) {
472    return This->lpVtbl->InitializeFromExifColorSpace(This,value);
473}
474static FORCEINLINE HRESULT IWICColorContext_GetType(IWICColorContext* This,WICColorContextType *pType) {
475    return This->lpVtbl->GetType(This,pType);
476}
477static FORCEINLINE HRESULT IWICColorContext_GetProfileBytes(IWICColorContext* This,UINT cbBuffer,BYTE *pbBuffer,UINT *pcbActual) {
478    return This->lpVtbl->GetProfileBytes(This,cbBuffer,pbBuffer,pcbActual);
479}
480static FORCEINLINE HRESULT IWICColorContext_GetExifColorSpace(IWICColorContext* This,UINT *pValue) {
481    return This->lpVtbl->GetExifColorSpace(This,pValue);
482}
483#endif
484#endif
485
486#endif
487
488HRESULT STDMETHODCALLTYPE IWICColorContext_InitializeFromFilename_Proxy(
489    IWICColorContext* This,
490    LPCWSTR wzFilename);
491void __RPC_STUB IWICColorContext_InitializeFromFilename_Stub(
492    IRpcStubBuffer* This,
493    IRpcChannelBuffer* pRpcChannelBuffer,
494    PRPC_MESSAGE pRpcMessage,
495    DWORD* pdwStubPhase);
496HRESULT STDMETHODCALLTYPE IWICColorContext_InitializeFromMemory_Proxy(
497    IWICColorContext* This,
498    const BYTE *pbBuffer,
499    UINT cbBufferSize);
500void __RPC_STUB IWICColorContext_InitializeFromMemory_Stub(
501    IRpcStubBuffer* This,
502    IRpcChannelBuffer* pRpcChannelBuffer,
503    PRPC_MESSAGE pRpcMessage,
504    DWORD* pdwStubPhase);
505HRESULT STDMETHODCALLTYPE IWICColorContext_InitializeFromExifColorSpace_Proxy(
506    IWICColorContext* This,
507    UINT value);
508void __RPC_STUB IWICColorContext_InitializeFromExifColorSpace_Stub(
509    IRpcStubBuffer* This,
510    IRpcChannelBuffer* pRpcChannelBuffer,
511    PRPC_MESSAGE pRpcMessage,
512    DWORD* pdwStubPhase);
513HRESULT STDMETHODCALLTYPE IWICColorContext_GetType_Proxy(
514    IWICColorContext* This,
515    WICColorContextType *pType);
516void __RPC_STUB IWICColorContext_GetType_Stub(
517    IRpcStubBuffer* This,
518    IRpcChannelBuffer* pRpcChannelBuffer,
519    PRPC_MESSAGE pRpcMessage,
520    DWORD* pdwStubPhase);
521HRESULT STDMETHODCALLTYPE IWICColorContext_GetProfileBytes_Proxy(
522    IWICColorContext* This,
523    UINT cbBuffer,
524    BYTE *pbBuffer,
525    UINT *pcbActual);
526void __RPC_STUB IWICColorContext_GetProfileBytes_Stub(
527    IRpcStubBuffer* This,
528    IRpcChannelBuffer* pRpcChannelBuffer,
529    PRPC_MESSAGE pRpcMessage,
530    DWORD* pdwStubPhase);
531HRESULT STDMETHODCALLTYPE IWICColorContext_GetExifColorSpace_Proxy(
532    IWICColorContext* This,
533    UINT *pValue);
534void __RPC_STUB IWICColorContext_GetExifColorSpace_Stub(
535    IRpcStubBuffer* This,
536    IRpcChannelBuffer* pRpcChannelBuffer,
537    PRPC_MESSAGE pRpcMessage,
538    DWORD* pdwStubPhase);
539
540#endif  /* __IWICColorContext_INTERFACE_DEFINED__ */
541
542/*****************************************************************************
543 * IWICBitmapSource interface
544 */
545#ifndef __IWICBitmapSource_INTERFACE_DEFINED__
546#define __IWICBitmapSource_INTERFACE_DEFINED__
547
548DEFINE_GUID(IID_IWICBitmapSource, 0x00000120, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94);
549#if defined(__cplusplus) && !defined(CINTERFACE)
550MIDL_INTERFACE("00000120-a8f2-4877-ba0a-fd2b6645fb94")
551IWICBitmapSource : public IUnknown
552{
553    virtual HRESULT STDMETHODCALLTYPE GetSize(
554        UINT *puiWidth,
555        UINT *puiHeight) = 0;
556
557    virtual HRESULT STDMETHODCALLTYPE GetPixelFormat(
558        WICPixelFormatGUID *pPixelFormat) = 0;
559
560    virtual HRESULT STDMETHODCALLTYPE GetResolution(
561        double *pDpiX,
562        double *pDpiY) = 0;
563
564    virtual HRESULT STDMETHODCALLTYPE CopyPalette(
565        IWICPalette *pIPalette) = 0;
566
567    virtual HRESULT STDMETHODCALLTYPE CopyPixels(
568        const WICRect *prc,
569        UINT cbStride,
570        UINT cbBufferSize,
571        BYTE *pbBuffer) = 0;
572
573};
574#ifdef __CRT_UUID_DECL
575__CRT_UUID_DECL(IWICBitmapSource, 0x00000120, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94)
576#endif
577#else
578typedef struct IWICBitmapSourceVtbl {
579    BEGIN_INTERFACE
580
581    /*** IUnknown methods ***/
582    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
583        IWICBitmapSource* This,
584        REFIID riid,
585        void **ppvObject);
586
587    ULONG (STDMETHODCALLTYPE *AddRef)(
588        IWICBitmapSource* This);
589
590    ULONG (STDMETHODCALLTYPE *Release)(
591        IWICBitmapSource* This);
592
593    /*** IWICBitmapSource methods ***/
594    HRESULT (STDMETHODCALLTYPE *GetSize)(
595        IWICBitmapSource* This,
596        UINT *puiWidth,
597        UINT *puiHeight);
598
599    HRESULT (STDMETHODCALLTYPE *GetPixelFormat)(
600        IWICBitmapSource* This,
601        WICPixelFormatGUID *pPixelFormat);
602
603    HRESULT (STDMETHODCALLTYPE *GetResolution)(
604        IWICBitmapSource* This,
605        double *pDpiX,
606        double *pDpiY);
607
608    HRESULT (STDMETHODCALLTYPE *CopyPalette)(
609        IWICBitmapSource* This,
610        IWICPalette *pIPalette);
611
612    HRESULT (STDMETHODCALLTYPE *CopyPixels)(
613        IWICBitmapSource* This,
614        const WICRect *prc,
615        UINT cbStride,
616        UINT cbBufferSize,
617        BYTE *pbBuffer);
618
619    END_INTERFACE
620} IWICBitmapSourceVtbl;
621interface IWICBitmapSource {
622    CONST_VTBL IWICBitmapSourceVtbl* lpVtbl;
623};
624
625#ifdef COBJMACROS
626#ifndef WIDL_C_INLINE_WRAPPERS
627/*** IUnknown methods ***/
628#define IWICBitmapSource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
629#define IWICBitmapSource_AddRef(This) (This)->lpVtbl->AddRef(This)
630#define IWICBitmapSource_Release(This) (This)->lpVtbl->Release(This)
631/*** IWICBitmapSource methods ***/
632#define IWICBitmapSource_GetSize(This,puiWidth,puiHeight) (This)->lpVtbl->GetSize(This,puiWidth,puiHeight)
633#define IWICBitmapSource_GetPixelFormat(This,pPixelFormat) (This)->lpVtbl->GetPixelFormat(This,pPixelFormat)
634#define IWICBitmapSource_GetResolution(This,pDpiX,pDpiY) (This)->lpVtbl->GetResolution(This,pDpiX,pDpiY)
635#define IWICBitmapSource_CopyPalette(This,pIPalette) (This)->lpVtbl->CopyPalette(This,pIPalette)
636#define IWICBitmapSource_CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer) (This)->lpVtbl->CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer)
637#else
638/*** IUnknown methods ***/
639static FORCEINLINE HRESULT IWICBitmapSource_QueryInterface(IWICBitmapSource* This,REFIID riid,void **ppvObject) {
640    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
641}
642static FORCEINLINE ULONG IWICBitmapSource_AddRef(IWICBitmapSource* This) {
643    return This->lpVtbl->AddRef(This);
644}
645static FORCEINLINE ULONG IWICBitmapSource_Release(IWICBitmapSource* This) {
646    return This->lpVtbl->Release(This);
647}
648/*** IWICBitmapSource methods ***/
649static FORCEINLINE HRESULT IWICBitmapSource_GetSize(IWICBitmapSource* This,UINT *puiWidth,UINT *puiHeight) {
650    return This->lpVtbl->GetSize(This,puiWidth,puiHeight);
651}
652static FORCEINLINE HRESULT IWICBitmapSource_GetPixelFormat(IWICBitmapSource* This,WICPixelFormatGUID *pPixelFormat) {
653    return This->lpVtbl->GetPixelFormat(This,pPixelFormat);
654}
655static FORCEINLINE HRESULT IWICBitmapSource_GetResolution(IWICBitmapSource* This,double *pDpiX,double *pDpiY) {
656    return This->lpVtbl->GetResolution(This,pDpiX,pDpiY);
657}
658static FORCEINLINE HRESULT IWICBitmapSource_CopyPalette(IWICBitmapSource* This,IWICPalette *pIPalette) {
659    return This->lpVtbl->CopyPalette(This,pIPalette);
660}
661static FORCEINLINE HRESULT IWICBitmapSource_CopyPixels(IWICBitmapSource* This,const WICRect *prc,UINT cbStride,UINT cbBufferSize,BYTE *pbBuffer) {
662    return This->lpVtbl->CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer);
663}
664#endif
665#endif
666
667#endif
668
669HRESULT STDMETHODCALLTYPE IWICBitmapSource_GetSize_Proxy(
670    IWICBitmapSource* This,
671    UINT *puiWidth,
672    UINT *puiHeight);
673void __RPC_STUB IWICBitmapSource_GetSize_Stub(
674    IRpcStubBuffer* This,
675    IRpcChannelBuffer* pRpcChannelBuffer,
676    PRPC_MESSAGE pRpcMessage,
677    DWORD* pdwStubPhase);
678HRESULT STDMETHODCALLTYPE IWICBitmapSource_GetPixelFormat_Proxy(
679    IWICBitmapSource* This,
680    WICPixelFormatGUID *pPixelFormat);
681void __RPC_STUB IWICBitmapSource_GetPixelFormat_Stub(
682    IRpcStubBuffer* This,
683    IRpcChannelBuffer* pRpcChannelBuffer,
684    PRPC_MESSAGE pRpcMessage,
685    DWORD* pdwStubPhase);
686HRESULT STDMETHODCALLTYPE IWICBitmapSource_GetResolution_Proxy(
687    IWICBitmapSource* This,
688    double *pDpiX,
689    double *pDpiY);
690void __RPC_STUB IWICBitmapSource_GetResolution_Stub(
691    IRpcStubBuffer* This,
692    IRpcChannelBuffer* pRpcChannelBuffer,
693    PRPC_MESSAGE pRpcMessage,
694    DWORD* pdwStubPhase);
695HRESULT STDMETHODCALLTYPE IWICBitmapSource_CopyPalette_Proxy(
696    IWICBitmapSource* This,
697    IWICPalette *pIPalette);
698void __RPC_STUB IWICBitmapSource_CopyPalette_Stub(
699    IRpcStubBuffer* This,
700    IRpcChannelBuffer* pRpcChannelBuffer,
701    PRPC_MESSAGE pRpcMessage,
702    DWORD* pdwStubPhase);
703HRESULT STDMETHODCALLTYPE IWICBitmapSource_CopyPixels_Proxy(
704    IWICBitmapSource* This,
705    const WICRect *prc,
706    UINT cbStride,
707    UINT cbBufferSize,
708    BYTE *pbBuffer);
709void __RPC_STUB IWICBitmapSource_CopyPixels_Stub(
710    IRpcStubBuffer* This,
711    IRpcChannelBuffer* pRpcChannelBuffer,
712    PRPC_MESSAGE pRpcMessage,
713    DWORD* pdwStubPhase);
714
715#endif  /* __IWICBitmapSource_INTERFACE_DEFINED__ */
716
717/*****************************************************************************
718 * IWICBitmapLock interface
719 */
720#ifndef __IWICBitmapLock_INTERFACE_DEFINED__
721#define __IWICBitmapLock_INTERFACE_DEFINED__
722
723DEFINE_GUID(IID_IWICBitmapLock, 0x00000123, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94);
724#if defined(__cplusplus) && !defined(CINTERFACE)
725MIDL_INTERFACE("00000123-a8f2-4877-ba0a-fd2b6645fb94")
726IWICBitmapLock : public IUnknown
727{
728    virtual HRESULT STDMETHODCALLTYPE GetSize(
729        UINT *pWidth,
730        UINT *pHeight) = 0;
731
732    virtual HRESULT STDMETHODCALLTYPE GetStride(
733        UINT *pcbStride) = 0;
734
735    virtual HRESULT STDMETHODCALLTYPE GetDataPointer(
736        UINT *pcbBufferSize,
737        BYTE **ppbData) = 0;
738
739    virtual HRESULT STDMETHODCALLTYPE GetPixelFormat(
740        WICPixelFormatGUID *pPixelFormat) = 0;
741
742};
743#ifdef __CRT_UUID_DECL
744__CRT_UUID_DECL(IWICBitmapLock, 0x00000123, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94)
745#endif
746#else
747typedef struct IWICBitmapLockVtbl {
748    BEGIN_INTERFACE
749
750    /*** IUnknown methods ***/
751    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
752        IWICBitmapLock* This,
753        REFIID riid,
754        void **ppvObject);
755
756    ULONG (STDMETHODCALLTYPE *AddRef)(
757        IWICBitmapLock* This);
758
759    ULONG (STDMETHODCALLTYPE *Release)(
760        IWICBitmapLock* This);
761
762    /*** IWICBitmapLock methods ***/
763    HRESULT (STDMETHODCALLTYPE *GetSize)(
764        IWICBitmapLock* This,
765        UINT *pWidth,
766        UINT *pHeight);
767
768    HRESULT (STDMETHODCALLTYPE *GetStride)(
769        IWICBitmapLock* This,
770        UINT *pcbStride);
771
772    HRESULT (STDMETHODCALLTYPE *GetDataPointer)(
773        IWICBitmapLock* This,
774        UINT *pcbBufferSize,
775        BYTE **ppbData);
776
777    HRESULT (STDMETHODCALLTYPE *GetPixelFormat)(
778        IWICBitmapLock* This,
779        WICPixelFormatGUID *pPixelFormat);
780
781    END_INTERFACE
782} IWICBitmapLockVtbl;
783interface IWICBitmapLock {
784    CONST_VTBL IWICBitmapLockVtbl* lpVtbl;
785};
786
787#ifdef COBJMACROS
788#ifndef WIDL_C_INLINE_WRAPPERS
789/*** IUnknown methods ***/
790#define IWICBitmapLock_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
791#define IWICBitmapLock_AddRef(This) (This)->lpVtbl->AddRef(This)
792#define IWICBitmapLock_Release(This) (This)->lpVtbl->Release(This)
793/*** IWICBitmapLock methods ***/
794#define IWICBitmapLock_GetSize(This,pWidth,pHeight) (This)->lpVtbl->GetSize(This,pWidth,pHeight)
795#define IWICBitmapLock_GetStride(This,pcbStride) (This)->lpVtbl->GetStride(This,pcbStride)
796#define IWICBitmapLock_GetDataPointer(This,pcbBufferSize,ppbData) (This)->lpVtbl->GetDataPointer(This,pcbBufferSize,ppbData)
797#define IWICBitmapLock_GetPixelFormat(This,pPixelFormat) (This)->lpVtbl->GetPixelFormat(This,pPixelFormat)
798#else
799/*** IUnknown methods ***/
800static FORCEINLINE HRESULT IWICBitmapLock_QueryInterface(IWICBitmapLock* This,REFIID riid,void **ppvObject) {
801    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
802}
803static FORCEINLINE ULONG IWICBitmapLock_AddRef(IWICBitmapLock* This) {
804    return This->lpVtbl->AddRef(This);
805}
806static FORCEINLINE ULONG IWICBitmapLock_Release(IWICBitmapLock* This) {
807    return This->lpVtbl->Release(This);
808}
809/*** IWICBitmapLock methods ***/
810static FORCEINLINE HRESULT IWICBitmapLock_GetSize(IWICBitmapLock* This,UINT *pWidth,UINT *pHeight) {
811    return This->lpVtbl->GetSize(This,pWidth,pHeight);
812}
813static FORCEINLINE HRESULT IWICBitmapLock_GetStride(IWICBitmapLock* This,UINT *pcbStride) {
814    return This->lpVtbl->GetStride(This,pcbStride);
815}
816static FORCEINLINE HRESULT IWICBitmapLock_GetDataPointer(IWICBitmapLock* This,UINT *pcbBufferSize,BYTE **ppbData) {
817    return This->lpVtbl->GetDataPointer(This,pcbBufferSize,ppbData);
818}
819static FORCEINLINE HRESULT IWICBitmapLock_GetPixelFormat(IWICBitmapLock* This,WICPixelFormatGUID *pPixelFormat) {
820    return This->lpVtbl->GetPixelFormat(This,pPixelFormat);
821}
822#endif
823#endif
824
825#endif
826
827HRESULT STDMETHODCALLTYPE IWICBitmapLock_GetSize_Proxy(
828    IWICBitmapLock* This,
829    UINT *pWidth,
830    UINT *pHeight);
831void __RPC_STUB IWICBitmapLock_GetSize_Stub(
832    IRpcStubBuffer* This,
833    IRpcChannelBuffer* pRpcChannelBuffer,
834    PRPC_MESSAGE pRpcMessage,
835    DWORD* pdwStubPhase);
836HRESULT STDMETHODCALLTYPE IWICBitmapLock_GetStride_Proxy(
837    IWICBitmapLock* This,
838    UINT *pcbStride);
839void __RPC_STUB IWICBitmapLock_GetStride_Stub(
840    IRpcStubBuffer* This,
841    IRpcChannelBuffer* pRpcChannelBuffer,
842    PRPC_MESSAGE pRpcMessage,
843    DWORD* pdwStubPhase);
844HRESULT STDMETHODCALLTYPE IWICBitmapLock_GetDataPointer_Proxy(
845    IWICBitmapLock* This,
846    UINT *pcbBufferSize,
847    BYTE **ppbData);
848void __RPC_STUB IWICBitmapLock_GetDataPointer_Stub(
849    IRpcStubBuffer* This,
850    IRpcChannelBuffer* pRpcChannelBuffer,
851    PRPC_MESSAGE pRpcMessage,
852    DWORD* pdwStubPhase);
853HRESULT STDMETHODCALLTYPE IWICBitmapLock_GetPixelFormat_Proxy(
854    IWICBitmapLock* This,
855    WICPixelFormatGUID *pPixelFormat);
856void __RPC_STUB IWICBitmapLock_GetPixelFormat_Stub(
857    IRpcStubBuffer* This,
858    IRpcChannelBuffer* pRpcChannelBuffer,
859    PRPC_MESSAGE pRpcMessage,
860    DWORD* pdwStubPhase);
861
862#endif  /* __IWICBitmapLock_INTERFACE_DEFINED__ */
863
864/*****************************************************************************
865 * IWICBitmapFlipRotator interface
866 */
867#ifndef __IWICBitmapFlipRotator_INTERFACE_DEFINED__
868#define __IWICBitmapFlipRotator_INTERFACE_DEFINED__
869
870DEFINE_GUID(IID_IWICBitmapFlipRotator, 0x5009834f, 0x2d6a, 0x41ce, 0x9e,0x1b, 0x17,0xc5,0xaf,0xf7,0xa7,0x82);
871#if defined(__cplusplus) && !defined(CINTERFACE)
872MIDL_INTERFACE("5009834f-2d6a-41ce-9e1b-17c5aff7a782")
873IWICBitmapFlipRotator : public IWICBitmapSource
874{
875    virtual HRESULT STDMETHODCALLTYPE Initialize(
876        IWICBitmapSource *pISource,
877        WICBitmapTransformOptions options) = 0;
878
879};
880#ifdef __CRT_UUID_DECL
881__CRT_UUID_DECL(IWICBitmapFlipRotator, 0x5009834f, 0x2d6a, 0x41ce, 0x9e,0x1b, 0x17,0xc5,0xaf,0xf7,0xa7,0x82)
882#endif
883#else
884typedef struct IWICBitmapFlipRotatorVtbl {
885    BEGIN_INTERFACE
886
887    /*** IUnknown methods ***/
888    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
889        IWICBitmapFlipRotator* This,
890        REFIID riid,
891        void **ppvObject);
892
893    ULONG (STDMETHODCALLTYPE *AddRef)(
894        IWICBitmapFlipRotator* This);
895
896    ULONG (STDMETHODCALLTYPE *Release)(
897        IWICBitmapFlipRotator* This);
898
899    /*** IWICBitmapSource methods ***/
900    HRESULT (STDMETHODCALLTYPE *GetSize)(
901        IWICBitmapFlipRotator* This,
902        UINT *puiWidth,
903        UINT *puiHeight);
904
905    HRESULT (STDMETHODCALLTYPE *GetPixelFormat)(
906        IWICBitmapFlipRotator* This,
907        WICPixelFormatGUID *pPixelFormat);
908
909    HRESULT (STDMETHODCALLTYPE *GetResolution)(
910        IWICBitmapFlipRotator* This,
911        double *pDpiX,
912        double *pDpiY);
913
914    HRESULT (STDMETHODCALLTYPE *CopyPalette)(
915        IWICBitmapFlipRotator* This,
916        IWICPalette *pIPalette);
917
918    HRESULT (STDMETHODCALLTYPE *CopyPixels)(
919        IWICBitmapFlipRotator* This,
920        const WICRect *prc,
921        UINT cbStride,
922        UINT cbBufferSize,
923        BYTE *pbBuffer);
924
925    /*** IWICBitmapFlipRotator methods ***/
926    HRESULT (STDMETHODCALLTYPE *Initialize)(
927        IWICBitmapFlipRotator* This,
928        IWICBitmapSource *pISource,
929        WICBitmapTransformOptions options);
930
931    END_INTERFACE
932} IWICBitmapFlipRotatorVtbl;
933interface IWICBitmapFlipRotator {
934    CONST_VTBL IWICBitmapFlipRotatorVtbl* lpVtbl;
935};
936
937#ifdef COBJMACROS
938#ifndef WIDL_C_INLINE_WRAPPERS
939/*** IUnknown methods ***/
940#define IWICBitmapFlipRotator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
941#define IWICBitmapFlipRotator_AddRef(This) (This)->lpVtbl->AddRef(This)
942#define IWICBitmapFlipRotator_Release(This) (This)->lpVtbl->Release(This)
943/*** IWICBitmapSource methods ***/
944#define IWICBitmapFlipRotator_GetSize(This,puiWidth,puiHeight) (This)->lpVtbl->GetSize(This,puiWidth,puiHeight)
945#define IWICBitmapFlipRotator_GetPixelFormat(This,pPixelFormat) (This)->lpVtbl->GetPixelFormat(This,pPixelFormat)
946#define IWICBitmapFlipRotator_GetResolution(This,pDpiX,pDpiY) (This)->lpVtbl->GetResolution(This,pDpiX,pDpiY)
947#define IWICBitmapFlipRotator_CopyPalette(This,pIPalette) (This)->lpVtbl->CopyPalette(This,pIPalette)
948#define IWICBitmapFlipRotator_CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer) (This)->lpVtbl->CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer)
949/*** IWICBitmapFlipRotator methods ***/
950#define IWICBitmapFlipRotator_Initialize(This,pISource,options) (This)->lpVtbl->Initialize(This,pISource,options)
951#else
952/*** IUnknown methods ***/
953static FORCEINLINE HRESULT IWICBitmapFlipRotator_QueryInterface(IWICBitmapFlipRotator* This,REFIID riid,void **ppvObject) {
954    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
955}
956static FORCEINLINE ULONG IWICBitmapFlipRotator_AddRef(IWICBitmapFlipRotator* This) {
957    return This->lpVtbl->AddRef(This);
958}
959static FORCEINLINE ULONG IWICBitmapFlipRotator_Release(IWICBitmapFlipRotator* This) {
960    return This->lpVtbl->Release(This);
961}
962/*** IWICBitmapSource methods ***/
963static FORCEINLINE HRESULT IWICBitmapFlipRotator_GetSize(IWICBitmapFlipRotator* This,UINT *puiWidth,UINT *puiHeight) {
964    return This->lpVtbl->GetSize(This,puiWidth,puiHeight);
965}
966static FORCEINLINE HRESULT IWICBitmapFlipRotator_GetPixelFormat(IWICBitmapFlipRotator* This,WICPixelFormatGUID *pPixelFormat) {
967    return This->lpVtbl->GetPixelFormat(This,pPixelFormat);
968}
969static FORCEINLINE HRESULT IWICBitmapFlipRotator_GetResolution(IWICBitmapFlipRotator* This,double *pDpiX,double *pDpiY) {
970    return This->lpVtbl->GetResolution(This,pDpiX,pDpiY);
971}
972static FORCEINLINE HRESULT IWICBitmapFlipRotator_CopyPalette(IWICBitmapFlipRotator* This,IWICPalette *pIPalette) {
973    return This->lpVtbl->CopyPalette(This,pIPalette);
974}
975static FORCEINLINE HRESULT IWICBitmapFlipRotator_CopyPixels(IWICBitmapFlipRotator* This,const WICRect *prc,UINT cbStride,UINT cbBufferSize,BYTE *pbBuffer) {
976    return This->lpVtbl->CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer);
977}
978/*** IWICBitmapFlipRotator methods ***/
979static FORCEINLINE HRESULT IWICBitmapFlipRotator_Initialize(IWICBitmapFlipRotator* This,IWICBitmapSource *pISource,WICBitmapTransformOptions options) {
980    return This->lpVtbl->Initialize(This,pISource,options);
981}
982#endif
983#endif
984
985#endif
986
987HRESULT STDMETHODCALLTYPE IWICBitmapFlipRotator_Initialize_Proxy(
988    IWICBitmapFlipRotator* This,
989    IWICBitmapSource *pISource,
990    WICBitmapTransformOptions options);
991void __RPC_STUB IWICBitmapFlipRotator_Initialize_Stub(
992    IRpcStubBuffer* This,
993    IRpcChannelBuffer* pRpcChannelBuffer,
994    PRPC_MESSAGE pRpcMessage,
995    DWORD* pdwStubPhase);
996
997#endif  /* __IWICBitmapFlipRotator_INTERFACE_DEFINED__ */
998
999/*****************************************************************************
1000 * IWICBitmap interface
1001 */
1002#ifndef __IWICBitmap_INTERFACE_DEFINED__
1003#define __IWICBitmap_INTERFACE_DEFINED__
1004
1005DEFINE_GUID(IID_IWICBitmap, 0x00000121, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94);
1006#if defined(__cplusplus) && !defined(CINTERFACE)
1007MIDL_INTERFACE("00000121-a8f2-4877-ba0a-fd2b6645fb94")
1008IWICBitmap : public IWICBitmapSource
1009{
1010    virtual HRESULT STDMETHODCALLTYPE Lock(
1011        const WICRect *prcLock,
1012        DWORD flags,
1013        IWICBitmapLock **ppILock) = 0;
1014
1015    virtual HRESULT STDMETHODCALLTYPE SetPalette(
1016        IWICPalette *pIPalette) = 0;
1017
1018    virtual HRESULT STDMETHODCALLTYPE SetResolution(
1019        double dpiX,
1020        double dpiY) = 0;
1021
1022};
1023#ifdef __CRT_UUID_DECL
1024__CRT_UUID_DECL(IWICBitmap, 0x00000121, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94)
1025#endif
1026#else
1027typedef struct IWICBitmapVtbl {
1028    BEGIN_INTERFACE
1029
1030    /*** IUnknown methods ***/
1031    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1032        IWICBitmap* This,
1033        REFIID riid,
1034        void **ppvObject);
1035
1036    ULONG (STDMETHODCALLTYPE *AddRef)(
1037        IWICBitmap* This);
1038
1039    ULONG (STDMETHODCALLTYPE *Release)(
1040        IWICBitmap* This);
1041
1042    /*** IWICBitmapSource methods ***/
1043    HRESULT (STDMETHODCALLTYPE *GetSize)(
1044        IWICBitmap* This,
1045        UINT *puiWidth,
1046        UINT *puiHeight);
1047
1048    HRESULT (STDMETHODCALLTYPE *GetPixelFormat)(
1049        IWICBitmap* This,
1050        WICPixelFormatGUID *pPixelFormat);
1051
1052    HRESULT (STDMETHODCALLTYPE *GetResolution)(
1053        IWICBitmap* This,
1054        double *pDpiX,
1055        double *pDpiY);
1056
1057    HRESULT (STDMETHODCALLTYPE *CopyPalette)(
1058        IWICBitmap* This,
1059        IWICPalette *pIPalette);
1060
1061    HRESULT (STDMETHODCALLTYPE *CopyPixels)(
1062        IWICBitmap* This,
1063        const WICRect *prc,
1064        UINT cbStride,
1065        UINT cbBufferSize,
1066        BYTE *pbBuffer);
1067
1068    /*** IWICBitmap methods ***/
1069    HRESULT (STDMETHODCALLTYPE *Lock)(
1070        IWICBitmap* This,
1071        const WICRect *prcLock,
1072        DWORD flags,
1073        IWICBitmapLock **ppILock);
1074
1075    HRESULT (STDMETHODCALLTYPE *SetPalette)(
1076        IWICBitmap* This,
1077        IWICPalette *pIPalette);
1078
1079    HRESULT (STDMETHODCALLTYPE *SetResolution)(
1080        IWICBitmap* This,
1081        double dpiX,
1082        double dpiY);
1083
1084    END_INTERFACE
1085} IWICBitmapVtbl;
1086interface IWICBitmap {
1087    CONST_VTBL IWICBitmapVtbl* lpVtbl;
1088};
1089
1090#ifdef COBJMACROS
1091#ifndef WIDL_C_INLINE_WRAPPERS
1092/*** IUnknown methods ***/
1093#define IWICBitmap_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1094#define IWICBitmap_AddRef(This) (This)->lpVtbl->AddRef(This)
1095#define IWICBitmap_Release(This) (This)->lpVtbl->Release(This)
1096/*** IWICBitmapSource methods ***/
1097#define IWICBitmap_GetSize(This,puiWidth,puiHeight) (This)->lpVtbl->GetSize(This,puiWidth,puiHeight)
1098#define IWICBitmap_GetPixelFormat(This,pPixelFormat) (This)->lpVtbl->GetPixelFormat(This,pPixelFormat)
1099#define IWICBitmap_GetResolution(This,pDpiX,pDpiY) (This)->lpVtbl->GetResolution(This,pDpiX,pDpiY)
1100#define IWICBitmap_CopyPalette(This,pIPalette) (This)->lpVtbl->CopyPalette(This,pIPalette)
1101#define IWICBitmap_CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer) (This)->lpVtbl->CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer)
1102/*** IWICBitmap methods ***/
1103#define IWICBitmap_Lock(This,prcLock,flags,ppILock) (This)->lpVtbl->Lock(This,prcLock,flags,ppILock)
1104#define IWICBitmap_SetPalette(This,pIPalette) (This)->lpVtbl->SetPalette(This,pIPalette)
1105#define IWICBitmap_SetResolution(This,dpiX,dpiY) (This)->lpVtbl->SetResolution(This,dpiX,dpiY)
1106#else
1107/*** IUnknown methods ***/
1108static FORCEINLINE HRESULT IWICBitmap_QueryInterface(IWICBitmap* This,REFIID riid,void **ppvObject) {
1109    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1110}
1111static FORCEINLINE ULONG IWICBitmap_AddRef(IWICBitmap* This) {
1112    return This->lpVtbl->AddRef(This);
1113}
1114static FORCEINLINE ULONG IWICBitmap_Release(IWICBitmap* This) {
1115    return This->lpVtbl->Release(This);
1116}
1117/*** IWICBitmapSource methods ***/
1118static FORCEINLINE HRESULT IWICBitmap_GetSize(IWICBitmap* This,UINT *puiWidth,UINT *puiHeight) {
1119    return This->lpVtbl->GetSize(This,puiWidth,puiHeight);
1120}
1121static FORCEINLINE HRESULT IWICBitmap_GetPixelFormat(IWICBitmap* This,WICPixelFormatGUID *pPixelFormat) {
1122    return This->lpVtbl->GetPixelFormat(This,pPixelFormat);
1123}
1124static FORCEINLINE HRESULT IWICBitmap_GetResolution(IWICBitmap* This,double *pDpiX,double *pDpiY) {
1125    return This->lpVtbl->GetResolution(This,pDpiX,pDpiY);
1126}
1127static FORCEINLINE HRESULT IWICBitmap_CopyPalette(IWICBitmap* This,IWICPalette *pIPalette) {
1128    return This->lpVtbl->CopyPalette(This,pIPalette);
1129}
1130static FORCEINLINE HRESULT IWICBitmap_CopyPixels(IWICBitmap* This,const WICRect *prc,UINT cbStride,UINT cbBufferSize,BYTE *pbBuffer) {
1131    return This->lpVtbl->CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer);
1132}
1133/*** IWICBitmap methods ***/
1134static FORCEINLINE HRESULT IWICBitmap_Lock(IWICBitmap* This,const WICRect *prcLock,DWORD flags,IWICBitmapLock **ppILock) {
1135    return This->lpVtbl->Lock(This,prcLock,flags,ppILock);
1136}
1137static FORCEINLINE HRESULT IWICBitmap_SetPalette(IWICBitmap* This,IWICPalette *pIPalette) {
1138    return This->lpVtbl->SetPalette(This,pIPalette);
1139}
1140static FORCEINLINE HRESULT IWICBitmap_SetResolution(IWICBitmap* This,double dpiX,double dpiY) {
1141    return This->lpVtbl->SetResolution(This,dpiX,dpiY);
1142}
1143#endif
1144#endif
1145
1146#endif
1147
1148HRESULT STDMETHODCALLTYPE IWICBitmap_Lock_Proxy(
1149    IWICBitmap* This,
1150    const WICRect *prcLock,
1151    DWORD flags,
1152    IWICBitmapLock **ppILock);
1153void __RPC_STUB IWICBitmap_Lock_Stub(
1154    IRpcStubBuffer* This,
1155    IRpcChannelBuffer* pRpcChannelBuffer,
1156    PRPC_MESSAGE pRpcMessage,
1157    DWORD* pdwStubPhase);
1158HRESULT STDMETHODCALLTYPE IWICBitmap_SetPalette_Proxy(
1159    IWICBitmap* This,
1160    IWICPalette *pIPalette);
1161void __RPC_STUB IWICBitmap_SetPalette_Stub(
1162    IRpcStubBuffer* This,
1163    IRpcChannelBuffer* pRpcChannelBuffer,
1164    PRPC_MESSAGE pRpcMessage,
1165    DWORD* pdwStubPhase);
1166HRESULT STDMETHODCALLTYPE IWICBitmap_SetResolution_Proxy(
1167    IWICBitmap* This,
1168    double dpiX,
1169    double dpiY);
1170void __RPC_STUB IWICBitmap_SetResolution_Stub(
1171    IRpcStubBuffer* This,
1172    IRpcChannelBuffer* pRpcChannelBuffer,
1173    PRPC_MESSAGE pRpcMessage,
1174    DWORD* pdwStubPhase);
1175
1176#endif  /* __IWICBitmap_INTERFACE_DEFINED__ */
1177
1178/*****************************************************************************
1179 * IWICPalette interface
1180 */
1181#ifndef __IWICPalette_INTERFACE_DEFINED__
1182#define __IWICPalette_INTERFACE_DEFINED__
1183
1184DEFINE_GUID(IID_IWICPalette, 0x00000040, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94);
1185#if defined(__cplusplus) && !defined(CINTERFACE)
1186MIDL_INTERFACE("00000040-a8f2-4877-ba0a-fd2b6645fb94")
1187IWICPalette : public IUnknown
1188{
1189    virtual HRESULT STDMETHODCALLTYPE InitializePredefined(
1190        WICBitmapPaletteType ePaletteType,
1191        WINBOOL fAddTransparentColor) = 0;
1192
1193    virtual HRESULT STDMETHODCALLTYPE InitializeCustom(
1194        WICColor *pColors,
1195        UINT colorCount) = 0;
1196
1197    virtual HRESULT STDMETHODCALLTYPE InitializeFromBitmap(
1198        IWICBitmapSource *pISurface,
1199        UINT colorCount,
1200        WINBOOL fAddTransparentColor) = 0;
1201
1202    virtual HRESULT STDMETHODCALLTYPE InitializeFromPalette(
1203        IWICPalette *pIPalette) = 0;
1204
1205    virtual HRESULT STDMETHODCALLTYPE GetType(
1206        WICBitmapPaletteType *pePaletteType) = 0;
1207
1208    virtual HRESULT STDMETHODCALLTYPE GetColorCount(
1209        UINT *pcCount) = 0;
1210
1211    virtual HRESULT STDMETHODCALLTYPE GetColors(
1212        UINT colorCount,
1213        WICColor *pColors,
1214        UINT *pcActualColors) = 0;
1215
1216    virtual HRESULT STDMETHODCALLTYPE IsBlackWhite(
1217        WINBOOL *pfIsBlackWhite) = 0;
1218
1219    virtual HRESULT STDMETHODCALLTYPE IsGrayscale(
1220        WINBOOL *pfIsGrayscale) = 0;
1221
1222    virtual HRESULT STDMETHODCALLTYPE HasAlpha(
1223        WINBOOL *pfHasAlpha) = 0;
1224
1225};
1226#ifdef __CRT_UUID_DECL
1227__CRT_UUID_DECL(IWICPalette, 0x00000040, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94)
1228#endif
1229#else
1230typedef struct IWICPaletteVtbl {
1231    BEGIN_INTERFACE
1232
1233    /*** IUnknown methods ***/
1234    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1235        IWICPalette* This,
1236        REFIID riid,
1237        void **ppvObject);
1238
1239    ULONG (STDMETHODCALLTYPE *AddRef)(
1240        IWICPalette* This);
1241
1242    ULONG (STDMETHODCALLTYPE *Release)(
1243        IWICPalette* This);
1244
1245    /*** IWICPalette methods ***/
1246    HRESULT (STDMETHODCALLTYPE *InitializePredefined)(
1247        IWICPalette* This,
1248        WICBitmapPaletteType ePaletteType,
1249        WINBOOL fAddTransparentColor);
1250
1251    HRESULT (STDMETHODCALLTYPE *InitializeCustom)(
1252        IWICPalette* This,
1253        WICColor *pColors,
1254        UINT colorCount);
1255
1256    HRESULT (STDMETHODCALLTYPE *InitializeFromBitmap)(
1257        IWICPalette* This,
1258        IWICBitmapSource *pISurface,
1259        UINT colorCount,
1260        WINBOOL fAddTransparentColor);
1261
1262    HRESULT (STDMETHODCALLTYPE *InitializeFromPalette)(
1263        IWICPalette* This,
1264        IWICPalette *pIPalette);
1265
1266    HRESULT (STDMETHODCALLTYPE *GetType)(
1267        IWICPalette* This,
1268        WICBitmapPaletteType *pePaletteType);
1269
1270    HRESULT (STDMETHODCALLTYPE *GetColorCount)(
1271        IWICPalette* This,
1272        UINT *pcCount);
1273
1274    HRESULT (STDMETHODCALLTYPE *GetColors)(
1275        IWICPalette* This,
1276        UINT colorCount,
1277        WICColor *pColors,
1278        UINT *pcActualColors);
1279
1280    HRESULT (STDMETHODCALLTYPE *IsBlackWhite)(
1281        IWICPalette* This,
1282        WINBOOL *pfIsBlackWhite);
1283
1284    HRESULT (STDMETHODCALLTYPE *IsGrayscale)(
1285        IWICPalette* This,
1286        WINBOOL *pfIsGrayscale);
1287
1288    HRESULT (STDMETHODCALLTYPE *HasAlpha)(
1289        IWICPalette* This,
1290        WINBOOL *pfHasAlpha);
1291
1292    END_INTERFACE
1293} IWICPaletteVtbl;
1294interface IWICPalette {
1295    CONST_VTBL IWICPaletteVtbl* lpVtbl;
1296};
1297
1298#ifdef COBJMACROS
1299#ifndef WIDL_C_INLINE_WRAPPERS
1300/*** IUnknown methods ***/
1301#define IWICPalette_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1302#define IWICPalette_AddRef(This) (This)->lpVtbl->AddRef(This)
1303#define IWICPalette_Release(This) (This)->lpVtbl->Release(This)
1304/*** IWICPalette methods ***/
1305#define IWICPalette_InitializePredefined(This,ePaletteType,fAddTransparentColor) (This)->lpVtbl->InitializePredefined(This,ePaletteType,fAddTransparentColor)
1306#define IWICPalette_InitializeCustom(This,pColors,colorCount) (This)->lpVtbl->InitializeCustom(This,pColors,colorCount)
1307#define IWICPalette_InitializeFromBitmap(This,pISurface,colorCount,fAddTransparentColor) (This)->lpVtbl->InitializeFromBitmap(This,pISurface,colorCount,fAddTransparentColor)
1308#define IWICPalette_InitializeFromPalette(This,pIPalette) (This)->lpVtbl->InitializeFromPalette(This,pIPalette)
1309#define IWICPalette_GetType(This,pePaletteType) (This)->lpVtbl->GetType(This,pePaletteType)
1310#define IWICPalette_GetColorCount(This,pcCount) (This)->lpVtbl->GetColorCount(This,pcCount)
1311#define IWICPalette_GetColors(This,colorCount,pColors,pcActualColors) (This)->lpVtbl->GetColors(This,colorCount,pColors,pcActualColors)
1312#define IWICPalette_IsBlackWhite(This,pfIsBlackWhite) (This)->lpVtbl->IsBlackWhite(This,pfIsBlackWhite)
1313#define IWICPalette_IsGrayscale(This,pfIsGrayscale) (This)->lpVtbl->IsGrayscale(This,pfIsGrayscale)
1314#define IWICPalette_HasAlpha(This,pfHasAlpha) (This)->lpVtbl->HasAlpha(This,pfHasAlpha)
1315#else
1316/*** IUnknown methods ***/
1317static FORCEINLINE HRESULT IWICPalette_QueryInterface(IWICPalette* This,REFIID riid,void **ppvObject) {
1318    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1319}
1320static FORCEINLINE ULONG IWICPalette_AddRef(IWICPalette* This) {
1321    return This->lpVtbl->AddRef(This);
1322}
1323static FORCEINLINE ULONG IWICPalette_Release(IWICPalette* This) {
1324    return This->lpVtbl->Release(This);
1325}
1326/*** IWICPalette methods ***/
1327static FORCEINLINE HRESULT IWICPalette_InitializePredefined(IWICPalette* This,WICBitmapPaletteType ePaletteType,WINBOOL fAddTransparentColor) {
1328    return This->lpVtbl->InitializePredefined(This,ePaletteType,fAddTransparentColor);
1329}
1330static FORCEINLINE HRESULT IWICPalette_InitializeCustom(IWICPalette* This,WICColor *pColors,UINT colorCount) {
1331    return This->lpVtbl->InitializeCustom(This,pColors,colorCount);
1332}
1333static FORCEINLINE HRESULT IWICPalette_InitializeFromBitmap(IWICPalette* This,IWICBitmapSource *pISurface,UINT colorCount,WINBOOL fAddTransparentColor) {
1334    return This->lpVtbl->InitializeFromBitmap(This,pISurface,colorCount,fAddTransparentColor);
1335}
1336static FORCEINLINE HRESULT IWICPalette_InitializeFromPalette(IWICPalette* This,IWICPalette *pIPalette) {
1337    return This->lpVtbl->InitializeFromPalette(This,pIPalette);
1338}
1339static FORCEINLINE HRESULT IWICPalette_GetType(IWICPalette* This,WICBitmapPaletteType *pePaletteType) {
1340    return This->lpVtbl->GetType(This,pePaletteType);
1341}
1342static FORCEINLINE HRESULT IWICPalette_GetColorCount(IWICPalette* This,UINT *pcCount) {
1343    return This->lpVtbl->GetColorCount(This,pcCount);
1344}
1345static FORCEINLINE HRESULT IWICPalette_GetColors(IWICPalette* This,UINT colorCount,WICColor *pColors,UINT *pcActualColors) {
1346    return This->lpVtbl->GetColors(This,colorCount,pColors,pcActualColors);
1347}
1348static FORCEINLINE HRESULT IWICPalette_IsBlackWhite(IWICPalette* This,WINBOOL *pfIsBlackWhite) {
1349    return This->lpVtbl->IsBlackWhite(This,pfIsBlackWhite);
1350}
1351static FORCEINLINE HRESULT IWICPalette_IsGrayscale(IWICPalette* This,WINBOOL *pfIsGrayscale) {
1352    return This->lpVtbl->IsGrayscale(This,pfIsGrayscale);
1353}
1354static FORCEINLINE HRESULT IWICPalette_HasAlpha(IWICPalette* This,WINBOOL *pfHasAlpha) {
1355    return This->lpVtbl->HasAlpha(This,pfHasAlpha);
1356}
1357#endif
1358#endif
1359
1360#endif
1361
1362HRESULT STDMETHODCALLTYPE IWICPalette_InitializePredefined_Proxy(
1363    IWICPalette* This,
1364    WICBitmapPaletteType ePaletteType,
1365    WINBOOL fAddTransparentColor);
1366void __RPC_STUB IWICPalette_InitializePredefined_Stub(
1367    IRpcStubBuffer* This,
1368    IRpcChannelBuffer* pRpcChannelBuffer,
1369    PRPC_MESSAGE pRpcMessage,
1370    DWORD* pdwStubPhase);
1371HRESULT STDMETHODCALLTYPE IWICPalette_InitializeCustom_Proxy(
1372    IWICPalette* This,
1373    WICColor *pColors,
1374    UINT colorCount);
1375void __RPC_STUB IWICPalette_InitializeCustom_Stub(
1376    IRpcStubBuffer* This,
1377    IRpcChannelBuffer* pRpcChannelBuffer,
1378    PRPC_MESSAGE pRpcMessage,
1379    DWORD* pdwStubPhase);
1380HRESULT STDMETHODCALLTYPE IWICPalette_InitializeFromBitmap_Proxy(
1381    IWICPalette* This,
1382    IWICBitmapSource *pISurface,
1383    UINT colorCount,
1384    WINBOOL fAddTransparentColor);
1385void __RPC_STUB IWICPalette_InitializeFromBitmap_Stub(
1386    IRpcStubBuffer* This,
1387    IRpcChannelBuffer* pRpcChannelBuffer,
1388    PRPC_MESSAGE pRpcMessage,
1389    DWORD* pdwStubPhase);
1390HRESULT STDMETHODCALLTYPE IWICPalette_InitializeFromPalette_Proxy(
1391    IWICPalette* This,
1392    IWICPalette *pIPalette);
1393void __RPC_STUB IWICPalette_InitializeFromPalette_Stub(
1394    IRpcStubBuffer* This,
1395    IRpcChannelBuffer* pRpcChannelBuffer,
1396    PRPC_MESSAGE pRpcMessage,
1397    DWORD* pdwStubPhase);
1398HRESULT STDMETHODCALLTYPE IWICPalette_GetType_Proxy(
1399    IWICPalette* This,
1400    WICBitmapPaletteType *pePaletteType);
1401void __RPC_STUB IWICPalette_GetType_Stub(
1402    IRpcStubBuffer* This,
1403    IRpcChannelBuffer* pRpcChannelBuffer,
1404    PRPC_MESSAGE pRpcMessage,
1405    DWORD* pdwStubPhase);
1406HRESULT STDMETHODCALLTYPE IWICPalette_GetColorCount_Proxy(
1407    IWICPalette* This,
1408    UINT *pcCount);
1409void __RPC_STUB IWICPalette_GetColorCount_Stub(
1410    IRpcStubBuffer* This,
1411    IRpcChannelBuffer* pRpcChannelBuffer,
1412    PRPC_MESSAGE pRpcMessage,
1413    DWORD* pdwStubPhase);
1414HRESULT STDMETHODCALLTYPE IWICPalette_GetColors_Proxy(
1415    IWICPalette* This,
1416    UINT colorCount,
1417    WICColor *pColors,
1418    UINT *pcActualColors);
1419void __RPC_STUB IWICPalette_GetColors_Stub(
1420    IRpcStubBuffer* This,
1421    IRpcChannelBuffer* pRpcChannelBuffer,
1422    PRPC_MESSAGE pRpcMessage,
1423    DWORD* pdwStubPhase);
1424HRESULT STDMETHODCALLTYPE IWICPalette_IsBlackWhite_Proxy(
1425    IWICPalette* This,
1426    WINBOOL *pfIsBlackWhite);
1427void __RPC_STUB IWICPalette_IsBlackWhite_Stub(
1428    IRpcStubBuffer* This,
1429    IRpcChannelBuffer* pRpcChannelBuffer,
1430    PRPC_MESSAGE pRpcMessage,
1431    DWORD* pdwStubPhase);
1432HRESULT STDMETHODCALLTYPE IWICPalette_IsGrayscale_Proxy(
1433    IWICPalette* This,
1434    WINBOOL *pfIsGrayscale);
1435void __RPC_STUB IWICPalette_IsGrayscale_Stub(
1436    IRpcStubBuffer* This,
1437    IRpcChannelBuffer* pRpcChannelBuffer,
1438    PRPC_MESSAGE pRpcMessage,
1439    DWORD* pdwStubPhase);
1440HRESULT STDMETHODCALLTYPE IWICPalette_HasAlpha_Proxy(
1441    IWICPalette* This,
1442    WINBOOL *pfHasAlpha);
1443void __RPC_STUB IWICPalette_HasAlpha_Stub(
1444    IRpcStubBuffer* This,
1445    IRpcChannelBuffer* pRpcChannelBuffer,
1446    PRPC_MESSAGE pRpcMessage,
1447    DWORD* pdwStubPhase);
1448
1449#endif  /* __IWICPalette_INTERFACE_DEFINED__ */
1450
1451/*****************************************************************************
1452 * IWICComponentInfo interface
1453 */
1454#ifndef __IWICComponentInfo_INTERFACE_DEFINED__
1455#define __IWICComponentInfo_INTERFACE_DEFINED__
1456
1457DEFINE_GUID(IID_IWICComponentInfo, 0x23bc3f0a, 0x698b, 0x4357, 0x88,0x6b, 0xf2,0x4d,0x50,0x67,0x13,0x34);
1458#if defined(__cplusplus) && !defined(CINTERFACE)
1459MIDL_INTERFACE("23bc3f0a-698b-4357-886b-f24d50671334")
1460IWICComponentInfo : public IUnknown
1461{
1462    virtual HRESULT STDMETHODCALLTYPE GetComponentType(
1463        WICComponentType *pType) = 0;
1464
1465    virtual HRESULT STDMETHODCALLTYPE GetCLSID(
1466        CLSID *pclsid) = 0;
1467
1468    virtual HRESULT STDMETHODCALLTYPE GetSigningStatus(
1469        DWORD *pStatus) = 0;
1470
1471    virtual HRESULT STDMETHODCALLTYPE GetAuthor(
1472        UINT cchAuthor,
1473        WCHAR *wzAuthor,
1474        UINT *pcchActual) = 0;
1475
1476    virtual HRESULT STDMETHODCALLTYPE GetVendorGUID(
1477        GUID *pguidVendor) = 0;
1478
1479    virtual HRESULT STDMETHODCALLTYPE GetVersion(
1480        UINT cchVersion,
1481        WCHAR *wzVersion,
1482        UINT *pcchActual) = 0;
1483
1484    virtual HRESULT STDMETHODCALLTYPE GetSpecVersion(
1485        UINT cchSpecVersion,
1486        WCHAR *wzSpecVersion,
1487        UINT *pcchActual) = 0;
1488
1489    virtual HRESULT STDMETHODCALLTYPE GetFriendlyName(
1490        UINT cchFriendlyName,
1491        WCHAR *wzFriendlyName,
1492        UINT *pcchActual) = 0;
1493
1494};
1495#ifdef __CRT_UUID_DECL
1496__CRT_UUID_DECL(IWICComponentInfo, 0x23bc3f0a, 0x698b, 0x4357, 0x88,0x6b, 0xf2,0x4d,0x50,0x67,0x13,0x34)
1497#endif
1498#else
1499typedef struct IWICComponentInfoVtbl {
1500    BEGIN_INTERFACE
1501
1502    /*** IUnknown methods ***/
1503    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1504        IWICComponentInfo* This,
1505        REFIID riid,
1506        void **ppvObject);
1507
1508    ULONG (STDMETHODCALLTYPE *AddRef)(
1509        IWICComponentInfo* This);
1510
1511    ULONG (STDMETHODCALLTYPE *Release)(
1512        IWICComponentInfo* This);
1513
1514    /*** IWICComponentInfo methods ***/
1515    HRESULT (STDMETHODCALLTYPE *GetComponentType)(
1516        IWICComponentInfo* This,
1517        WICComponentType *pType);
1518
1519    HRESULT (STDMETHODCALLTYPE *GetCLSID)(
1520        IWICComponentInfo* This,
1521        CLSID *pclsid);
1522
1523    HRESULT (STDMETHODCALLTYPE *GetSigningStatus)(
1524        IWICComponentInfo* This,
1525        DWORD *pStatus);
1526
1527    HRESULT (STDMETHODCALLTYPE *GetAuthor)(
1528        IWICComponentInfo* This,
1529        UINT cchAuthor,
1530        WCHAR *wzAuthor,
1531        UINT *pcchActual);
1532
1533    HRESULT (STDMETHODCALLTYPE *GetVendorGUID)(
1534        IWICComponentInfo* This,
1535        GUID *pguidVendor);
1536
1537    HRESULT (STDMETHODCALLTYPE *GetVersion)(
1538        IWICComponentInfo* This,
1539        UINT cchVersion,
1540        WCHAR *wzVersion,
1541        UINT *pcchActual);
1542
1543    HRESULT (STDMETHODCALLTYPE *GetSpecVersion)(
1544        IWICComponentInfo* This,
1545        UINT cchSpecVersion,
1546        WCHAR *wzSpecVersion,
1547        UINT *pcchActual);
1548
1549    HRESULT (STDMETHODCALLTYPE *GetFriendlyName)(
1550        IWICComponentInfo* This,
1551        UINT cchFriendlyName,
1552        WCHAR *wzFriendlyName,
1553        UINT *pcchActual);
1554
1555    END_INTERFACE
1556} IWICComponentInfoVtbl;
1557interface IWICComponentInfo {
1558    CONST_VTBL IWICComponentInfoVtbl* lpVtbl;
1559};
1560
1561#ifdef COBJMACROS
1562#ifndef WIDL_C_INLINE_WRAPPERS
1563/*** IUnknown methods ***/
1564#define IWICComponentInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1565#define IWICComponentInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
1566#define IWICComponentInfo_Release(This) (This)->lpVtbl->Release(This)
1567/*** IWICComponentInfo methods ***/
1568#define IWICComponentInfo_GetComponentType(This,pType) (This)->lpVtbl->GetComponentType(This,pType)
1569#define IWICComponentInfo_GetCLSID(This,pclsid) (This)->lpVtbl->GetCLSID(This,pclsid)
1570#define IWICComponentInfo_GetSigningStatus(This,pStatus) (This)->lpVtbl->GetSigningStatus(This,pStatus)
1571#define IWICComponentInfo_GetAuthor(This,cchAuthor,wzAuthor,pcchActual) (This)->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual)
1572#define IWICComponentInfo_GetVendorGUID(This,pguidVendor) (This)->lpVtbl->GetVendorGUID(This,pguidVendor)
1573#define IWICComponentInfo_GetVersion(This,cchVersion,wzVersion,pcchActual) (This)->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual)
1574#define IWICComponentInfo_GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual) (This)->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual)
1575#define IWICComponentInfo_GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual) (This)->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual)
1576#else
1577/*** IUnknown methods ***/
1578static FORCEINLINE HRESULT IWICComponentInfo_QueryInterface(IWICComponentInfo* This,REFIID riid,void **ppvObject) {
1579    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1580}
1581static FORCEINLINE ULONG IWICComponentInfo_AddRef(IWICComponentInfo* This) {
1582    return This->lpVtbl->AddRef(This);
1583}
1584static FORCEINLINE ULONG IWICComponentInfo_Release(IWICComponentInfo* This) {
1585    return This->lpVtbl->Release(This);
1586}
1587/*** IWICComponentInfo methods ***/
1588static FORCEINLINE HRESULT IWICComponentInfo_GetComponentType(IWICComponentInfo* This,WICComponentType *pType) {
1589    return This->lpVtbl->GetComponentType(This,pType);
1590}
1591static FORCEINLINE HRESULT IWICComponentInfo_GetCLSID(IWICComponentInfo* This,CLSID *pclsid) {
1592    return This->lpVtbl->GetCLSID(This,pclsid);
1593}
1594static FORCEINLINE HRESULT IWICComponentInfo_GetSigningStatus(IWICComponentInfo* This,DWORD *pStatus) {
1595    return This->lpVtbl->GetSigningStatus(This,pStatus);
1596}
1597static FORCEINLINE HRESULT IWICComponentInfo_GetAuthor(IWICComponentInfo* This,UINT cchAuthor,WCHAR *wzAuthor,UINT *pcchActual) {
1598    return This->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual);
1599}
1600static FORCEINLINE HRESULT IWICComponentInfo_GetVendorGUID(IWICComponentInfo* This,GUID *pguidVendor) {
1601    return This->lpVtbl->GetVendorGUID(This,pguidVendor);
1602}
1603static FORCEINLINE HRESULT IWICComponentInfo_GetVersion(IWICComponentInfo* This,UINT cchVersion,WCHAR *wzVersion,UINT *pcchActual) {
1604    return This->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual);
1605}
1606static FORCEINLINE HRESULT IWICComponentInfo_GetSpecVersion(IWICComponentInfo* This,UINT cchSpecVersion,WCHAR *wzSpecVersion,UINT *pcchActual) {
1607    return This->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual);
1608}
1609static FORCEINLINE HRESULT IWICComponentInfo_GetFriendlyName(IWICComponentInfo* This,UINT cchFriendlyName,WCHAR *wzFriendlyName,UINT *pcchActual) {
1610    return This->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual);
1611}
1612#endif
1613#endif
1614
1615#endif
1616
1617HRESULT STDMETHODCALLTYPE IWICComponentInfo_GetComponentType_Proxy(
1618    IWICComponentInfo* This,
1619    WICComponentType *pType);
1620void __RPC_STUB IWICComponentInfo_GetComponentType_Stub(
1621    IRpcStubBuffer* This,
1622    IRpcChannelBuffer* pRpcChannelBuffer,
1623    PRPC_MESSAGE pRpcMessage,
1624    DWORD* pdwStubPhase);
1625HRESULT STDMETHODCALLTYPE IWICComponentInfo_GetCLSID_Proxy(
1626    IWICComponentInfo* This,
1627    CLSID *pclsid);
1628void __RPC_STUB IWICComponentInfo_GetCLSID_Stub(
1629    IRpcStubBuffer* This,
1630    IRpcChannelBuffer* pRpcChannelBuffer,
1631    PRPC_MESSAGE pRpcMessage,
1632    DWORD* pdwStubPhase);
1633HRESULT STDMETHODCALLTYPE IWICComponentInfo_GetSigningStatus_Proxy(
1634    IWICComponentInfo* This,
1635    DWORD *pStatus);
1636void __RPC_STUB IWICComponentInfo_GetSigningStatus_Stub(
1637    IRpcStubBuffer* This,
1638    IRpcChannelBuffer* pRpcChannelBuffer,
1639    PRPC_MESSAGE pRpcMessage,
1640    DWORD* pdwStubPhase);
1641HRESULT STDMETHODCALLTYPE IWICComponentInfo_GetAuthor_Proxy(
1642    IWICComponentInfo* This,
1643    UINT cchAuthor,
1644    WCHAR *wzAuthor,
1645    UINT *pcchActual);
1646void __RPC_STUB IWICComponentInfo_GetAuthor_Stub(
1647    IRpcStubBuffer* This,
1648    IRpcChannelBuffer* pRpcChannelBuffer,
1649    PRPC_MESSAGE pRpcMessage,
1650    DWORD* pdwStubPhase);
1651HRESULT STDMETHODCALLTYPE IWICComponentInfo_GetVendorGUID_Proxy(
1652    IWICComponentInfo* This,
1653    GUID *pguidVendor);
1654void __RPC_STUB IWICComponentInfo_GetVendorGUID_Stub(
1655    IRpcStubBuffer* This,
1656    IRpcChannelBuffer* pRpcChannelBuffer,
1657    PRPC_MESSAGE pRpcMessage,
1658    DWORD* pdwStubPhase);
1659HRESULT STDMETHODCALLTYPE IWICComponentInfo_GetVersion_Proxy(
1660    IWICComponentInfo* This,
1661    UINT cchVersion,
1662    WCHAR *wzVersion,
1663    UINT *pcchActual);
1664void __RPC_STUB IWICComponentInfo_GetVersion_Stub(
1665    IRpcStubBuffer* This,
1666    IRpcChannelBuffer* pRpcChannelBuffer,
1667    PRPC_MESSAGE pRpcMessage,
1668    DWORD* pdwStubPhase);
1669HRESULT STDMETHODCALLTYPE IWICComponentInfo_GetSpecVersion_Proxy(
1670    IWICComponentInfo* This,
1671    UINT cchSpecVersion,
1672    WCHAR *wzSpecVersion,
1673    UINT *pcchActual);
1674void __RPC_STUB IWICComponentInfo_GetSpecVersion_Stub(
1675    IRpcStubBuffer* This,
1676    IRpcChannelBuffer* pRpcChannelBuffer,
1677    PRPC_MESSAGE pRpcMessage,
1678    DWORD* pdwStubPhase);
1679HRESULT STDMETHODCALLTYPE IWICComponentInfo_GetFriendlyName_Proxy(
1680    IWICComponentInfo* This,
1681    UINT cchFriendlyName,
1682    WCHAR *wzFriendlyName,
1683    UINT *pcchActual);
1684void __RPC_STUB IWICComponentInfo_GetFriendlyName_Stub(
1685    IRpcStubBuffer* This,
1686    IRpcChannelBuffer* pRpcChannelBuffer,
1687    PRPC_MESSAGE pRpcMessage,
1688    DWORD* pdwStubPhase);
1689
1690#endif  /* __IWICComponentInfo_INTERFACE_DEFINED__ */
1691
1692/*****************************************************************************
1693 * IWICMetadataQueryReader interface
1694 */
1695#ifndef __IWICMetadataQueryReader_INTERFACE_DEFINED__
1696#define __IWICMetadataQueryReader_INTERFACE_DEFINED__
1697
1698DEFINE_GUID(IID_IWICMetadataQueryReader, 0x30989668, 0xe1c9, 0x4597, 0xb3,0x95, 0x45,0x8e,0xed,0xb8,0x08,0xdf);
1699#if defined(__cplusplus) && !defined(CINTERFACE)
1700MIDL_INTERFACE("30989668-e1c9-4597-b395-458eedb808df")
1701IWICMetadataQueryReader : public IUnknown
1702{
1703    virtual HRESULT STDMETHODCALLTYPE GetContainerFormat(
1704        GUID *pguidContainerFormat) = 0;
1705
1706    virtual HRESULT STDMETHODCALLTYPE GetLocation(
1707        UINT cchMaxLength,
1708        WCHAR *wzNamespace,
1709        UINT *pcchActualLength) = 0;
1710
1711    virtual HRESULT STDMETHODCALLTYPE GetMetadataByName(
1712        LPCWSTR wzName,
1713        PROPVARIANT *pvarValue) = 0;
1714
1715    virtual HRESULT STDMETHODCALLTYPE GetEnumerator(
1716        IEnumString **ppIEnumString) = 0;
1717
1718};
1719#ifdef __CRT_UUID_DECL
1720__CRT_UUID_DECL(IWICMetadataQueryReader, 0x30989668, 0xe1c9, 0x4597, 0xb3,0x95, 0x45,0x8e,0xed,0xb8,0x08,0xdf)
1721#endif
1722#else
1723typedef struct IWICMetadataQueryReaderVtbl {
1724    BEGIN_INTERFACE
1725
1726    /*** IUnknown methods ***/
1727    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1728        IWICMetadataQueryReader* This,
1729        REFIID riid,
1730        void **ppvObject);
1731
1732    ULONG (STDMETHODCALLTYPE *AddRef)(
1733        IWICMetadataQueryReader* This);
1734
1735    ULONG (STDMETHODCALLTYPE *Release)(
1736        IWICMetadataQueryReader* This);
1737
1738    /*** IWICMetadataQueryReader methods ***/
1739    HRESULT (STDMETHODCALLTYPE *GetContainerFormat)(
1740        IWICMetadataQueryReader* This,
1741        GUID *pguidContainerFormat);
1742
1743    HRESULT (STDMETHODCALLTYPE *GetLocation)(
1744        IWICMetadataQueryReader* This,
1745        UINT cchMaxLength,
1746        WCHAR *wzNamespace,
1747        UINT *pcchActualLength);
1748
1749    HRESULT (STDMETHODCALLTYPE *GetMetadataByName)(
1750        IWICMetadataQueryReader* This,
1751        LPCWSTR wzName,
1752        PROPVARIANT *pvarValue);
1753
1754    HRESULT (STDMETHODCALLTYPE *GetEnumerator)(
1755        IWICMetadataQueryReader* This,
1756        IEnumString **ppIEnumString);
1757
1758    END_INTERFACE
1759} IWICMetadataQueryReaderVtbl;
1760interface IWICMetadataQueryReader {
1761    CONST_VTBL IWICMetadataQueryReaderVtbl* lpVtbl;
1762};
1763
1764#ifdef COBJMACROS
1765#ifndef WIDL_C_INLINE_WRAPPERS
1766/*** IUnknown methods ***/
1767#define IWICMetadataQueryReader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1768#define IWICMetadataQueryReader_AddRef(This) (This)->lpVtbl->AddRef(This)
1769#define IWICMetadataQueryReader_Release(This) (This)->lpVtbl->Release(This)
1770/*** IWICMetadataQueryReader methods ***/
1771#define IWICMetadataQueryReader_GetContainerFormat(This,pguidContainerFormat) (This)->lpVtbl->GetContainerFormat(This,pguidContainerFormat)
1772#define IWICMetadataQueryReader_GetLocation(This,cchMaxLength,wzNamespace,pcchActualLength) (This)->lpVtbl->GetLocation(This,cchMaxLength,wzNamespace,pcchActualLength)
1773#define IWICMetadataQueryReader_GetMetadataByName(This,wzName,pvarValue) (This)->lpVtbl->GetMetadataByName(This,wzName,pvarValue)
1774#define IWICMetadataQueryReader_GetEnumerator(This,ppIEnumString) (This)->lpVtbl->GetEnumerator(This,ppIEnumString)
1775#else
1776/*** IUnknown methods ***/
1777static FORCEINLINE HRESULT IWICMetadataQueryReader_QueryInterface(IWICMetadataQueryReader* This,REFIID riid,void **ppvObject) {
1778    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1779}
1780static FORCEINLINE ULONG IWICMetadataQueryReader_AddRef(IWICMetadataQueryReader* This) {
1781    return This->lpVtbl->AddRef(This);
1782}
1783static FORCEINLINE ULONG IWICMetadataQueryReader_Release(IWICMetadataQueryReader* This) {
1784    return This->lpVtbl->Release(This);
1785}
1786/*** IWICMetadataQueryReader methods ***/
1787static FORCEINLINE HRESULT IWICMetadataQueryReader_GetContainerFormat(IWICMetadataQueryReader* This,GUID *pguidContainerFormat) {
1788    return This->lpVtbl->GetContainerFormat(This,pguidContainerFormat);
1789}
1790static FORCEINLINE HRESULT IWICMetadataQueryReader_GetLocation(IWICMetadataQueryReader* This,UINT cchMaxLength,WCHAR *wzNamespace,UINT *pcchActualLength) {
1791    return This->lpVtbl->GetLocation(This,cchMaxLength,wzNamespace,pcchActualLength);
1792}
1793static FORCEINLINE HRESULT IWICMetadataQueryReader_GetMetadataByName(IWICMetadataQueryReader* This,LPCWSTR wzName,PROPVARIANT *pvarValue) {
1794    return This->lpVtbl->GetMetadataByName(This,wzName,pvarValue);
1795}
1796static FORCEINLINE HRESULT IWICMetadataQueryReader_GetEnumerator(IWICMetadataQueryReader* This,IEnumString **ppIEnumString) {
1797    return This->lpVtbl->GetEnumerator(This,ppIEnumString);
1798}
1799#endif
1800#endif
1801
1802#endif
1803
1804HRESULT STDMETHODCALLTYPE IWICMetadataQueryReader_GetContainerFormat_Proxy(
1805    IWICMetadataQueryReader* This,
1806    GUID *pguidContainerFormat);
1807void __RPC_STUB IWICMetadataQueryReader_GetContainerFormat_Stub(
1808    IRpcStubBuffer* This,
1809    IRpcChannelBuffer* pRpcChannelBuffer,
1810    PRPC_MESSAGE pRpcMessage,
1811    DWORD* pdwStubPhase);
1812HRESULT STDMETHODCALLTYPE IWICMetadataQueryReader_GetLocation_Proxy(
1813    IWICMetadataQueryReader* This,
1814    UINT cchMaxLength,
1815    WCHAR *wzNamespace,
1816    UINT *pcchActualLength);
1817void __RPC_STUB IWICMetadataQueryReader_GetLocation_Stub(
1818    IRpcStubBuffer* This,
1819    IRpcChannelBuffer* pRpcChannelBuffer,
1820    PRPC_MESSAGE pRpcMessage,
1821    DWORD* pdwStubPhase);
1822HRESULT STDMETHODCALLTYPE IWICMetadataQueryReader_GetMetadataByName_Proxy(
1823    IWICMetadataQueryReader* This,
1824    LPCWSTR wzName,
1825    PROPVARIANT *pvarValue);
1826void __RPC_STUB IWICMetadataQueryReader_GetMetadataByName_Stub(
1827    IRpcStubBuffer* This,
1828    IRpcChannelBuffer* pRpcChannelBuffer,
1829    PRPC_MESSAGE pRpcMessage,
1830    DWORD* pdwStubPhase);
1831HRESULT STDMETHODCALLTYPE IWICMetadataQueryReader_GetEnumerator_Proxy(
1832    IWICMetadataQueryReader* This,
1833    IEnumString **ppIEnumString);
1834void __RPC_STUB IWICMetadataQueryReader_GetEnumerator_Stub(
1835    IRpcStubBuffer* This,
1836    IRpcChannelBuffer* pRpcChannelBuffer,
1837    PRPC_MESSAGE pRpcMessage,
1838    DWORD* pdwStubPhase);
1839
1840#endif  /* __IWICMetadataQueryReader_INTERFACE_DEFINED__ */
1841
1842/*****************************************************************************
1843 * IWICMetadataQueryWriter interface
1844 */
1845#ifndef __IWICMetadataQueryWriter_INTERFACE_DEFINED__
1846#define __IWICMetadataQueryWriter_INTERFACE_DEFINED__
1847
1848DEFINE_GUID(IID_IWICMetadataQueryWriter, 0xa721791a, 0x0def, 0x4d06, 0xbd,0x91, 0x21,0x18,0xbf,0x1d,0xb1,0x0b);
1849#if defined(__cplusplus) && !defined(CINTERFACE)
1850MIDL_INTERFACE("a721791a-0def-4d06-bd91-2118bf1db10b")
1851IWICMetadataQueryWriter : public IWICMetadataQueryReader
1852{
1853    virtual HRESULT STDMETHODCALLTYPE SetMetadataByName(
1854        LPCWSTR wzName,
1855        const PROPVARIANT *pvarValue) = 0;
1856
1857    virtual HRESULT STDMETHODCALLTYPE RemoveMetadataByName(
1858        LPCWSTR wzName) = 0;
1859
1860};
1861#ifdef __CRT_UUID_DECL
1862__CRT_UUID_DECL(IWICMetadataQueryWriter, 0xa721791a, 0x0def, 0x4d06, 0xbd,0x91, 0x21,0x18,0xbf,0x1d,0xb1,0x0b)
1863#endif
1864#else
1865typedef struct IWICMetadataQueryWriterVtbl {
1866    BEGIN_INTERFACE
1867
1868    /*** IUnknown methods ***/
1869    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1870        IWICMetadataQueryWriter* This,
1871        REFIID riid,
1872        void **ppvObject);
1873
1874    ULONG (STDMETHODCALLTYPE *AddRef)(
1875        IWICMetadataQueryWriter* This);
1876
1877    ULONG (STDMETHODCALLTYPE *Release)(
1878        IWICMetadataQueryWriter* This);
1879
1880    /*** IWICMetadataQueryReader methods ***/
1881    HRESULT (STDMETHODCALLTYPE *GetContainerFormat)(
1882        IWICMetadataQueryWriter* This,
1883        GUID *pguidContainerFormat);
1884
1885    HRESULT (STDMETHODCALLTYPE *GetLocation)(
1886        IWICMetadataQueryWriter* This,
1887        UINT cchMaxLength,
1888        WCHAR *wzNamespace,
1889        UINT *pcchActualLength);
1890
1891    HRESULT (STDMETHODCALLTYPE *GetMetadataByName)(
1892        IWICMetadataQueryWriter* This,
1893        LPCWSTR wzName,
1894        PROPVARIANT *pvarValue);
1895
1896    HRESULT (STDMETHODCALLTYPE *GetEnumerator)(
1897        IWICMetadataQueryWriter* This,
1898        IEnumString **ppIEnumString);
1899
1900    /*** IWICMetadataQueryWriter methods ***/
1901    HRESULT (STDMETHODCALLTYPE *SetMetadataByName)(
1902        IWICMetadataQueryWriter* This,
1903        LPCWSTR wzName,
1904        const PROPVARIANT *pvarValue);
1905
1906    HRESULT (STDMETHODCALLTYPE *RemoveMetadataByName)(
1907        IWICMetadataQueryWriter* This,
1908        LPCWSTR wzName);
1909
1910    END_INTERFACE
1911} IWICMetadataQueryWriterVtbl;
1912interface IWICMetadataQueryWriter {
1913    CONST_VTBL IWICMetadataQueryWriterVtbl* lpVtbl;
1914};
1915
1916#ifdef COBJMACROS
1917#ifndef WIDL_C_INLINE_WRAPPERS
1918/*** IUnknown methods ***/
1919#define IWICMetadataQueryWriter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1920#define IWICMetadataQueryWriter_AddRef(This) (This)->lpVtbl->AddRef(This)
1921#define IWICMetadataQueryWriter_Release(This) (This)->lpVtbl->Release(This)
1922/*** IWICMetadataQueryReader methods ***/
1923#define IWICMetadataQueryWriter_GetContainerFormat(This,pguidContainerFormat) (This)->lpVtbl->GetContainerFormat(This,pguidContainerFormat)
1924#define IWICMetadataQueryWriter_GetLocation(This,cchMaxLength,wzNamespace,pcchActualLength) (This)->lpVtbl->GetLocation(This,cchMaxLength,wzNamespace,pcchActualLength)
1925#define IWICMetadataQueryWriter_GetMetadataByName(This,wzName,pvarValue) (This)->lpVtbl->GetMetadataByName(This,wzName,pvarValue)
1926#define IWICMetadataQueryWriter_GetEnumerator(This,ppIEnumString) (This)->lpVtbl->GetEnumerator(This,ppIEnumString)
1927/*** IWICMetadataQueryWriter methods ***/
1928#define IWICMetadataQueryWriter_SetMetadataByName(This,wzName,pvarValue) (This)->lpVtbl->SetMetadataByName(This,wzName,pvarValue)
1929#define IWICMetadataQueryWriter_RemoveMetadataByName(This,wzName) (This)->lpVtbl->RemoveMetadataByName(This,wzName)
1930#else
1931/*** IUnknown methods ***/
1932static FORCEINLINE HRESULT IWICMetadataQueryWriter_QueryInterface(IWICMetadataQueryWriter* This,REFIID riid,void **ppvObject) {
1933    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1934}
1935static FORCEINLINE ULONG IWICMetadataQueryWriter_AddRef(IWICMetadataQueryWriter* This) {
1936    return This->lpVtbl->AddRef(This);
1937}
1938static FORCEINLINE ULONG IWICMetadataQueryWriter_Release(IWICMetadataQueryWriter* This) {
1939    return This->lpVtbl->Release(This);
1940}
1941/*** IWICMetadataQueryReader methods ***/
1942static FORCEINLINE HRESULT IWICMetadataQueryWriter_GetContainerFormat(IWICMetadataQueryWriter* This,GUID *pguidContainerFormat) {
1943    return This->lpVtbl->GetContainerFormat(This,pguidContainerFormat);
1944}
1945static FORCEINLINE HRESULT IWICMetadataQueryWriter_GetLocation(IWICMetadataQueryWriter* This,UINT cchMaxLength,WCHAR *wzNamespace,UINT *pcchActualLength) {
1946    return This->lpVtbl->GetLocation(This,cchMaxLength,wzNamespace,pcchActualLength);
1947}
1948static FORCEINLINE HRESULT IWICMetadataQueryWriter_GetMetadataByName(IWICMetadataQueryWriter* This,LPCWSTR wzName,PROPVARIANT *pvarValue) {
1949    return This->lpVtbl->GetMetadataByName(This,wzName,pvarValue);
1950}
1951static FORCEINLINE HRESULT IWICMetadataQueryWriter_GetEnumerator(IWICMetadataQueryWriter* This,IEnumString **ppIEnumString) {
1952    return This->lpVtbl->GetEnumerator(This,ppIEnumString);
1953}
1954/*** IWICMetadataQueryWriter methods ***/
1955static FORCEINLINE HRESULT IWICMetadataQueryWriter_SetMetadataByName(IWICMetadataQueryWriter* This,LPCWSTR wzName,const PROPVARIANT *pvarValue) {
1956    return This->lpVtbl->SetMetadataByName(This,wzName,pvarValue);
1957}
1958static FORCEINLINE HRESULT IWICMetadataQueryWriter_RemoveMetadataByName(IWICMetadataQueryWriter* This,LPCWSTR wzName) {
1959    return This->lpVtbl->RemoveMetadataByName(This,wzName);
1960}
1961#endif
1962#endif
1963
1964#endif
1965
1966HRESULT STDMETHODCALLTYPE IWICMetadataQueryWriter_SetMetadataByName_Proxy(
1967    IWICMetadataQueryWriter* This,
1968    LPCWSTR wzName,
1969    const PROPVARIANT *pvarValue);
1970void __RPC_STUB IWICMetadataQueryWriter_SetMetadataByName_Stub(
1971    IRpcStubBuffer* This,
1972    IRpcChannelBuffer* pRpcChannelBuffer,
1973    PRPC_MESSAGE pRpcMessage,
1974    DWORD* pdwStubPhase);
1975HRESULT STDMETHODCALLTYPE IWICMetadataQueryWriter_RemoveMetadataByName_Proxy(
1976    IWICMetadataQueryWriter* This,
1977    LPCWSTR wzName);
1978void __RPC_STUB IWICMetadataQueryWriter_RemoveMetadataByName_Stub(
1979    IRpcStubBuffer* This,
1980    IRpcChannelBuffer* pRpcChannelBuffer,
1981    PRPC_MESSAGE pRpcMessage,
1982    DWORD* pdwStubPhase);
1983
1984#endif  /* __IWICMetadataQueryWriter_INTERFACE_DEFINED__ */
1985
1986/*****************************************************************************
1987 * IWICBitmapFrameDecode interface
1988 */
1989#ifndef __IWICBitmapFrameDecode_INTERFACE_DEFINED__
1990#define __IWICBitmapFrameDecode_INTERFACE_DEFINED__
1991
1992DEFINE_GUID(IID_IWICBitmapFrameDecode, 0x3b16811b, 0x6a43, 0x4ec9, 0xa8,0x13, 0x3d,0x93,0x0c,0x13,0xb9,0x40);
1993#if defined(__cplusplus) && !defined(CINTERFACE)
1994MIDL_INTERFACE("3b16811b-6a43-4ec9-a813-3d930c13b940")
1995IWICBitmapFrameDecode : public IWICBitmapSource
1996{
1997    virtual HRESULT STDMETHODCALLTYPE GetMetadataQueryReader(
1998        IWICMetadataQueryReader **ppIMetadataQueryReader) = 0;
1999
2000    virtual HRESULT STDMETHODCALLTYPE GetColorContexts(
2001        UINT cCount,
2002        IWICColorContext **ppIColorContexts,
2003        UINT *pcActualCount) = 0;
2004
2005    virtual HRESULT STDMETHODCALLTYPE GetThumbnail(
2006        IWICBitmapSource **ppIThumbnail) = 0;
2007
2008};
2009#ifdef __CRT_UUID_DECL
2010__CRT_UUID_DECL(IWICBitmapFrameDecode, 0x3b16811b, 0x6a43, 0x4ec9, 0xa8,0x13, 0x3d,0x93,0x0c,0x13,0xb9,0x40)
2011#endif
2012#else
2013typedef struct IWICBitmapFrameDecodeVtbl {
2014    BEGIN_INTERFACE
2015
2016    /*** IUnknown methods ***/
2017    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2018        IWICBitmapFrameDecode* This,
2019        REFIID riid,
2020        void **ppvObject);
2021
2022    ULONG (STDMETHODCALLTYPE *AddRef)(
2023        IWICBitmapFrameDecode* This);
2024
2025    ULONG (STDMETHODCALLTYPE *Release)(
2026        IWICBitmapFrameDecode* This);
2027
2028    /*** IWICBitmapSource methods ***/
2029    HRESULT (STDMETHODCALLTYPE *GetSize)(
2030        IWICBitmapFrameDecode* This,
2031        UINT *puiWidth,
2032        UINT *puiHeight);
2033
2034    HRESULT (STDMETHODCALLTYPE *GetPixelFormat)(
2035        IWICBitmapFrameDecode* This,
2036        WICPixelFormatGUID *pPixelFormat);
2037
2038    HRESULT (STDMETHODCALLTYPE *GetResolution)(
2039        IWICBitmapFrameDecode* This,
2040        double *pDpiX,
2041        double *pDpiY);
2042
2043    HRESULT (STDMETHODCALLTYPE *CopyPalette)(
2044        IWICBitmapFrameDecode* This,
2045        IWICPalette *pIPalette);
2046
2047    HRESULT (STDMETHODCALLTYPE *CopyPixels)(
2048        IWICBitmapFrameDecode* This,
2049        const WICRect *prc,
2050        UINT cbStride,
2051        UINT cbBufferSize,
2052        BYTE *pbBuffer);
2053
2054    /*** IWICBitmapFrameDecode methods ***/
2055    HRESULT (STDMETHODCALLTYPE *GetMetadataQueryReader)(
2056        IWICBitmapFrameDecode* This,
2057        IWICMetadataQueryReader **ppIMetadataQueryReader);
2058
2059    HRESULT (STDMETHODCALLTYPE *GetColorContexts)(
2060        IWICBitmapFrameDecode* This,
2061        UINT cCount,
2062        IWICColorContext **ppIColorContexts,
2063        UINT *pcActualCount);
2064
2065    HRESULT (STDMETHODCALLTYPE *GetThumbnail)(
2066        IWICBitmapFrameDecode* This,
2067        IWICBitmapSource **ppIThumbnail);
2068
2069    END_INTERFACE
2070} IWICBitmapFrameDecodeVtbl;
2071interface IWICBitmapFrameDecode {
2072    CONST_VTBL IWICBitmapFrameDecodeVtbl* lpVtbl;
2073};
2074
2075#ifdef COBJMACROS
2076#ifndef WIDL_C_INLINE_WRAPPERS
2077/*** IUnknown methods ***/
2078#define IWICBitmapFrameDecode_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2079#define IWICBitmapFrameDecode_AddRef(This) (This)->lpVtbl->AddRef(This)
2080#define IWICBitmapFrameDecode_Release(This) (This)->lpVtbl->Release(This)
2081/*** IWICBitmapSource methods ***/
2082#define IWICBitmapFrameDecode_GetSize(This,puiWidth,puiHeight) (This)->lpVtbl->GetSize(This,puiWidth,puiHeight)
2083#define IWICBitmapFrameDecode_GetPixelFormat(This,pPixelFormat) (This)->lpVtbl->GetPixelFormat(This,pPixelFormat)
2084#define IWICBitmapFrameDecode_GetResolution(This,pDpiX,pDpiY) (This)->lpVtbl->GetResolution(This,pDpiX,pDpiY)
2085#define IWICBitmapFrameDecode_CopyPalette(This,pIPalette) (This)->lpVtbl->CopyPalette(This,pIPalette)
2086#define IWICBitmapFrameDecode_CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer) (This)->lpVtbl->CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer)
2087/*** IWICBitmapFrameDecode methods ***/
2088#define IWICBitmapFrameDecode_GetMetadataQueryReader(This,ppIMetadataQueryReader) (This)->lpVtbl->GetMetadataQueryReader(This,ppIMetadataQueryReader)
2089#define IWICBitmapFrameDecode_GetColorContexts(This,cCount,ppIColorContexts,pcActualCount) (This)->lpVtbl->GetColorContexts(This,cCount,ppIColorContexts,pcActualCount)
2090#define IWICBitmapFrameDecode_GetThumbnail(This,ppIThumbnail) (This)->lpVtbl->GetThumbnail(This,ppIThumbnail)
2091#else
2092/*** IUnknown methods ***/
2093static FORCEINLINE HRESULT IWICBitmapFrameDecode_QueryInterface(IWICBitmapFrameDecode* This,REFIID riid,void **ppvObject) {
2094    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2095}
2096static FORCEINLINE ULONG IWICBitmapFrameDecode_AddRef(IWICBitmapFrameDecode* This) {
2097    return This->lpVtbl->AddRef(This);
2098}
2099static FORCEINLINE ULONG IWICBitmapFrameDecode_Release(IWICBitmapFrameDecode* This) {
2100    return This->lpVtbl->Release(This);
2101}
2102/*** IWICBitmapSource methods ***/
2103static FORCEINLINE HRESULT IWICBitmapFrameDecode_GetSize(IWICBitmapFrameDecode* This,UINT *puiWidth,UINT *puiHeight) {
2104    return This->lpVtbl->GetSize(This,puiWidth,puiHeight);
2105}
2106static FORCEINLINE HRESULT IWICBitmapFrameDecode_GetPixelFormat(IWICBitmapFrameDecode* This,WICPixelFormatGUID *pPixelFormat) {
2107    return This->lpVtbl->GetPixelFormat(This,pPixelFormat);
2108}
2109static FORCEINLINE HRESULT IWICBitmapFrameDecode_GetResolution(IWICBitmapFrameDecode* This,double *pDpiX,double *pDpiY) {
2110    return This->lpVtbl->GetResolution(This,pDpiX,pDpiY);
2111}
2112static FORCEINLINE HRESULT IWICBitmapFrameDecode_CopyPalette(IWICBitmapFrameDecode* This,IWICPalette *pIPalette) {
2113    return This->lpVtbl->CopyPalette(This,pIPalette);
2114}
2115static FORCEINLINE HRESULT IWICBitmapFrameDecode_CopyPixels(IWICBitmapFrameDecode* This,const WICRect *prc,UINT cbStride,UINT cbBufferSize,BYTE *pbBuffer) {
2116    return This->lpVtbl->CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer);
2117}
2118/*** IWICBitmapFrameDecode methods ***/
2119static FORCEINLINE HRESULT IWICBitmapFrameDecode_GetMetadataQueryReader(IWICBitmapFrameDecode* This,IWICMetadataQueryReader **ppIMetadataQueryReader) {
2120    return This->lpVtbl->GetMetadataQueryReader(This,ppIMetadataQueryReader);
2121}
2122static FORCEINLINE HRESULT IWICBitmapFrameDecode_GetColorContexts(IWICBitmapFrameDecode* This,UINT cCount,IWICColorContext **ppIColorContexts,UINT *pcActualCount) {
2123    return This->lpVtbl->GetColorContexts(This,cCount,ppIColorContexts,pcActualCount);
2124}
2125static FORCEINLINE HRESULT IWICBitmapFrameDecode_GetThumbnail(IWICBitmapFrameDecode* This,IWICBitmapSource **ppIThumbnail) {
2126    return This->lpVtbl->GetThumbnail(This,ppIThumbnail);
2127}
2128#endif
2129#endif
2130
2131#endif
2132
2133HRESULT STDMETHODCALLTYPE IWICBitmapFrameDecode_GetMetadataQueryReader_Proxy(
2134    IWICBitmapFrameDecode* This,
2135    IWICMetadataQueryReader **ppIMetadataQueryReader);
2136void __RPC_STUB IWICBitmapFrameDecode_GetMetadataQueryReader_Stub(
2137    IRpcStubBuffer* This,
2138    IRpcChannelBuffer* pRpcChannelBuffer,
2139    PRPC_MESSAGE pRpcMessage,
2140    DWORD* pdwStubPhase);
2141HRESULT STDMETHODCALLTYPE IWICBitmapFrameDecode_GetColorContexts_Proxy(
2142    IWICBitmapFrameDecode* This,
2143    UINT cCount,
2144    IWICColorContext **ppIColorContexts,
2145    UINT *pcActualCount);
2146void __RPC_STUB IWICBitmapFrameDecode_GetColorContexts_Stub(
2147    IRpcStubBuffer* This,
2148    IRpcChannelBuffer* pRpcChannelBuffer,
2149    PRPC_MESSAGE pRpcMessage,
2150    DWORD* pdwStubPhase);
2151HRESULT STDMETHODCALLTYPE IWICBitmapFrameDecode_GetThumbnail_Proxy(
2152    IWICBitmapFrameDecode* This,
2153    IWICBitmapSource **ppIThumbnail);
2154void __RPC_STUB IWICBitmapFrameDecode_GetThumbnail_Stub(
2155    IRpcStubBuffer* This,
2156    IRpcChannelBuffer* pRpcChannelBuffer,
2157    PRPC_MESSAGE pRpcMessage,
2158    DWORD* pdwStubPhase);
2159
2160#endif  /* __IWICBitmapFrameDecode_INTERFACE_DEFINED__ */
2161
2162/*****************************************************************************
2163 * IWICPixelFormatInfo interface
2164 */
2165#ifndef __IWICPixelFormatInfo_INTERFACE_DEFINED__
2166#define __IWICPixelFormatInfo_INTERFACE_DEFINED__
2167
2168DEFINE_GUID(IID_IWICPixelFormatInfo, 0xe8eda601, 0x3d48, 0x431a, 0xab,0x44, 0x69,0x05,0x9b,0xe8,0x8b,0xbe);
2169#if defined(__cplusplus) && !defined(CINTERFACE)
2170MIDL_INTERFACE("e8eda601-3d48-431a-ab44-69059be88bbe")
2171IWICPixelFormatInfo : public IWICComponentInfo
2172{
2173    virtual HRESULT STDMETHODCALLTYPE GetFormatGUID(
2174        GUID *pFormat) = 0;
2175
2176    virtual HRESULT STDMETHODCALLTYPE GetColorContext(
2177        IWICColorContext **ppIColorContext) = 0;
2178
2179    virtual HRESULT STDMETHODCALLTYPE GetBitsPerPixel(
2180        UINT *puiBitsPerPixel) = 0;
2181
2182    virtual HRESULT STDMETHODCALLTYPE GetChannelCount(
2183        UINT *puiChannelCount) = 0;
2184
2185    virtual HRESULT STDMETHODCALLTYPE GetChannelMask(
2186        UINT uiChannelIndex,
2187        UINT cbMaskBuffer,
2188        BYTE *pbMaskBuffer,
2189        UINT *pcbActual) = 0;
2190
2191};
2192#ifdef __CRT_UUID_DECL
2193__CRT_UUID_DECL(IWICPixelFormatInfo, 0xe8eda601, 0x3d48, 0x431a, 0xab,0x44, 0x69,0x05,0x9b,0xe8,0x8b,0xbe)
2194#endif
2195#else
2196typedef struct IWICPixelFormatInfoVtbl {
2197    BEGIN_INTERFACE
2198
2199    /*** IUnknown methods ***/
2200    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2201        IWICPixelFormatInfo* This,
2202        REFIID riid,
2203        void **ppvObject);
2204
2205    ULONG (STDMETHODCALLTYPE *AddRef)(
2206        IWICPixelFormatInfo* This);
2207
2208    ULONG (STDMETHODCALLTYPE *Release)(
2209        IWICPixelFormatInfo* This);
2210
2211    /*** IWICComponentInfo methods ***/
2212    HRESULT (STDMETHODCALLTYPE *GetComponentType)(
2213        IWICPixelFormatInfo* This,
2214        WICComponentType *pType);
2215
2216    HRESULT (STDMETHODCALLTYPE *GetCLSID)(
2217        IWICPixelFormatInfo* This,
2218        CLSID *pclsid);
2219
2220    HRESULT (STDMETHODCALLTYPE *GetSigningStatus)(
2221        IWICPixelFormatInfo* This,
2222        DWORD *pStatus);
2223
2224    HRESULT (STDMETHODCALLTYPE *GetAuthor)(
2225        IWICPixelFormatInfo* This,
2226        UINT cchAuthor,
2227        WCHAR *wzAuthor,
2228        UINT *pcchActual);
2229
2230    HRESULT (STDMETHODCALLTYPE *GetVendorGUID)(
2231        IWICPixelFormatInfo* This,
2232        GUID *pguidVendor);
2233
2234    HRESULT (STDMETHODCALLTYPE *GetVersion)(
2235        IWICPixelFormatInfo* This,
2236        UINT cchVersion,
2237        WCHAR *wzVersion,
2238        UINT *pcchActual);
2239
2240    HRESULT (STDMETHODCALLTYPE *GetSpecVersion)(
2241        IWICPixelFormatInfo* This,
2242        UINT cchSpecVersion,
2243        WCHAR *wzSpecVersion,
2244        UINT *pcchActual);
2245
2246    HRESULT (STDMETHODCALLTYPE *GetFriendlyName)(
2247        IWICPixelFormatInfo* This,
2248        UINT cchFriendlyName,
2249        WCHAR *wzFriendlyName,
2250        UINT *pcchActual);
2251
2252    /*** IWICPixelFormatInfo methods ***/
2253    HRESULT (STDMETHODCALLTYPE *GetFormatGUID)(
2254        IWICPixelFormatInfo* This,
2255        GUID *pFormat);
2256
2257    HRESULT (STDMETHODCALLTYPE *GetColorContext)(
2258        IWICPixelFormatInfo* This,
2259        IWICColorContext **ppIColorContext);
2260
2261    HRESULT (STDMETHODCALLTYPE *GetBitsPerPixel)(
2262        IWICPixelFormatInfo* This,
2263        UINT *puiBitsPerPixel);
2264
2265    HRESULT (STDMETHODCALLTYPE *GetChannelCount)(
2266        IWICPixelFormatInfo* This,
2267        UINT *puiChannelCount);
2268
2269    HRESULT (STDMETHODCALLTYPE *GetChannelMask)(
2270        IWICPixelFormatInfo* This,
2271        UINT uiChannelIndex,
2272        UINT cbMaskBuffer,
2273        BYTE *pbMaskBuffer,
2274        UINT *pcbActual);
2275
2276    END_INTERFACE
2277} IWICPixelFormatInfoVtbl;
2278interface IWICPixelFormatInfo {
2279    CONST_VTBL IWICPixelFormatInfoVtbl* lpVtbl;
2280};
2281
2282#ifdef COBJMACROS
2283#ifndef WIDL_C_INLINE_WRAPPERS
2284/*** IUnknown methods ***/
2285#define IWICPixelFormatInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2286#define IWICPixelFormatInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
2287#define IWICPixelFormatInfo_Release(This) (This)->lpVtbl->Release(This)
2288/*** IWICComponentInfo methods ***/
2289#define IWICPixelFormatInfo_GetComponentType(This,pType) (This)->lpVtbl->GetComponentType(This,pType)
2290#define IWICPixelFormatInfo_GetCLSID(This,pclsid) (This)->lpVtbl->GetCLSID(This,pclsid)
2291#define IWICPixelFormatInfo_GetSigningStatus(This,pStatus) (This)->lpVtbl->GetSigningStatus(This,pStatus)
2292#define IWICPixelFormatInfo_GetAuthor(This,cchAuthor,wzAuthor,pcchActual) (This)->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual)
2293#define IWICPixelFormatInfo_GetVendorGUID(This,pguidVendor) (This)->lpVtbl->GetVendorGUID(This,pguidVendor)
2294#define IWICPixelFormatInfo_GetVersion(This,cchVersion,wzVersion,pcchActual) (This)->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual)
2295#define IWICPixelFormatInfo_GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual) (This)->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual)
2296#define IWICPixelFormatInfo_GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual) (This)->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual)
2297/*** IWICPixelFormatInfo methods ***/
2298#define IWICPixelFormatInfo_GetFormatGUID(This,pFormat) (This)->lpVtbl->GetFormatGUID(This,pFormat)
2299#define IWICPixelFormatInfo_GetColorContext(This,ppIColorContext) (This)->lpVtbl->GetColorContext(This,ppIColorContext)
2300#define IWICPixelFormatInfo_GetBitsPerPixel(This,puiBitsPerPixel) (This)->lpVtbl->GetBitsPerPixel(This,puiBitsPerPixel)
2301#define IWICPixelFormatInfo_GetChannelCount(This,puiChannelCount) (This)->lpVtbl->GetChannelCount(This,puiChannelCount)
2302#define IWICPixelFormatInfo_GetChannelMask(This,uiChannelIndex,cbMaskBuffer,pbMaskBuffer,pcbActual) (This)->lpVtbl->GetChannelMask(This,uiChannelIndex,cbMaskBuffer,pbMaskBuffer,pcbActual)
2303#else
2304/*** IUnknown methods ***/
2305static FORCEINLINE HRESULT IWICPixelFormatInfo_QueryInterface(IWICPixelFormatInfo* This,REFIID riid,void **ppvObject) {
2306    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2307}
2308static FORCEINLINE ULONG IWICPixelFormatInfo_AddRef(IWICPixelFormatInfo* This) {
2309    return This->lpVtbl->AddRef(This);
2310}
2311static FORCEINLINE ULONG IWICPixelFormatInfo_Release(IWICPixelFormatInfo* This) {
2312    return This->lpVtbl->Release(This);
2313}
2314/*** IWICComponentInfo methods ***/
2315static FORCEINLINE HRESULT IWICPixelFormatInfo_GetComponentType(IWICPixelFormatInfo* This,WICComponentType *pType) {
2316    return This->lpVtbl->GetComponentType(This,pType);
2317}
2318static FORCEINLINE HRESULT IWICPixelFormatInfo_GetCLSID(IWICPixelFormatInfo* This,CLSID *pclsid) {
2319    return This->lpVtbl->GetCLSID(This,pclsid);
2320}
2321static FORCEINLINE HRESULT IWICPixelFormatInfo_GetSigningStatus(IWICPixelFormatInfo* This,DWORD *pStatus) {
2322    return This->lpVtbl->GetSigningStatus(This,pStatus);
2323}
2324static FORCEINLINE HRESULT IWICPixelFormatInfo_GetAuthor(IWICPixelFormatInfo* This,UINT cchAuthor,WCHAR *wzAuthor,UINT *pcchActual) {
2325    return This->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual);
2326}
2327static FORCEINLINE HRESULT IWICPixelFormatInfo_GetVendorGUID(IWICPixelFormatInfo* This,GUID *pguidVendor) {
2328    return This->lpVtbl->GetVendorGUID(This,pguidVendor);
2329}
2330static FORCEINLINE HRESULT IWICPixelFormatInfo_GetVersion(IWICPixelFormatInfo* This,UINT cchVersion,WCHAR *wzVersion,UINT *pcchActual) {
2331    return This->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual);
2332}
2333static FORCEINLINE HRESULT IWICPixelFormatInfo_GetSpecVersion(IWICPixelFormatInfo* This,UINT cchSpecVersion,WCHAR *wzSpecVersion,UINT *pcchActual) {
2334    return This->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual);
2335}
2336static FORCEINLINE HRESULT IWICPixelFormatInfo_GetFriendlyName(IWICPixelFormatInfo* This,UINT cchFriendlyName,WCHAR *wzFriendlyName,UINT *pcchActual) {
2337    return This->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual);
2338}
2339/*** IWICPixelFormatInfo methods ***/
2340static FORCEINLINE HRESULT IWICPixelFormatInfo_GetFormatGUID(IWICPixelFormatInfo* This,GUID *pFormat) {
2341    return This->lpVtbl->GetFormatGUID(This,pFormat);
2342}
2343static FORCEINLINE HRESULT IWICPixelFormatInfo_GetColorContext(IWICPixelFormatInfo* This,IWICColorContext **ppIColorContext) {
2344    return This->lpVtbl->GetColorContext(This,ppIColorContext);
2345}
2346static FORCEINLINE HRESULT IWICPixelFormatInfo_GetBitsPerPixel(IWICPixelFormatInfo* This,UINT *puiBitsPerPixel) {
2347    return This->lpVtbl->GetBitsPerPixel(This,puiBitsPerPixel);
2348}
2349static FORCEINLINE HRESULT IWICPixelFormatInfo_GetChannelCount(IWICPixelFormatInfo* This,UINT *puiChannelCount) {
2350    return This->lpVtbl->GetChannelCount(This,puiChannelCount);
2351}
2352static FORCEINLINE HRESULT IWICPixelFormatInfo_GetChannelMask(IWICPixelFormatInfo* This,UINT uiChannelIndex,UINT cbMaskBuffer,BYTE *pbMaskBuffer,UINT *pcbActual) {
2353    return This->lpVtbl->GetChannelMask(This,uiChannelIndex,cbMaskBuffer,pbMaskBuffer,pcbActual);
2354}
2355#endif
2356#endif
2357
2358#endif
2359
2360HRESULT STDMETHODCALLTYPE IWICPixelFormatInfo_GetFormatGUID_Proxy(
2361    IWICPixelFormatInfo* This,
2362    GUID *pFormat);
2363void __RPC_STUB IWICPixelFormatInfo_GetFormatGUID_Stub(
2364    IRpcStubBuffer* This,
2365    IRpcChannelBuffer* pRpcChannelBuffer,
2366    PRPC_MESSAGE pRpcMessage,
2367    DWORD* pdwStubPhase);
2368HRESULT STDMETHODCALLTYPE IWICPixelFormatInfo_GetColorContext_Proxy(
2369    IWICPixelFormatInfo* This,
2370    IWICColorContext **ppIColorContext);
2371void __RPC_STUB IWICPixelFormatInfo_GetColorContext_Stub(
2372    IRpcStubBuffer* This,
2373    IRpcChannelBuffer* pRpcChannelBuffer,
2374    PRPC_MESSAGE pRpcMessage,
2375    DWORD* pdwStubPhase);
2376HRESULT STDMETHODCALLTYPE IWICPixelFormatInfo_GetBitsPerPixel_Proxy(
2377    IWICPixelFormatInfo* This,
2378    UINT *puiBitsPerPixel);
2379void __RPC_STUB IWICPixelFormatInfo_GetBitsPerPixel_Stub(
2380    IRpcStubBuffer* This,
2381    IRpcChannelBuffer* pRpcChannelBuffer,
2382    PRPC_MESSAGE pRpcMessage,
2383    DWORD* pdwStubPhase);
2384HRESULT STDMETHODCALLTYPE IWICPixelFormatInfo_GetChannelCount_Proxy(
2385    IWICPixelFormatInfo* This,
2386    UINT *puiChannelCount);
2387void __RPC_STUB IWICPixelFormatInfo_GetChannelCount_Stub(
2388    IRpcStubBuffer* This,
2389    IRpcChannelBuffer* pRpcChannelBuffer,
2390    PRPC_MESSAGE pRpcMessage,
2391    DWORD* pdwStubPhase);
2392HRESULT STDMETHODCALLTYPE IWICPixelFormatInfo_GetChannelMask_Proxy(
2393    IWICPixelFormatInfo* This,
2394    UINT uiChannelIndex,
2395    UINT cbMaskBuffer,
2396    BYTE *pbMaskBuffer,
2397    UINT *pcbActual);
2398void __RPC_STUB IWICPixelFormatInfo_GetChannelMask_Stub(
2399    IRpcStubBuffer* This,
2400    IRpcChannelBuffer* pRpcChannelBuffer,
2401    PRPC_MESSAGE pRpcMessage,
2402    DWORD* pdwStubPhase);
2403
2404#endif  /* __IWICPixelFormatInfo_INTERFACE_DEFINED__ */
2405
2406/*****************************************************************************
2407 * IWICPixelFormatInfo2 interface
2408 */
2409#ifndef __IWICPixelFormatInfo2_INTERFACE_DEFINED__
2410#define __IWICPixelFormatInfo2_INTERFACE_DEFINED__
2411
2412DEFINE_GUID(IID_IWICPixelFormatInfo2, 0xa9db33a2, 0xaf5f, 0x43c7, 0xb6,0x79, 0x74,0xf5,0x98,0x4b,0x5a,0xa4);
2413#if defined(__cplusplus) && !defined(CINTERFACE)
2414MIDL_INTERFACE("a9db33a2-af5f-43c7-b679-74f5984b5aa4")
2415IWICPixelFormatInfo2 : public IWICPixelFormatInfo
2416{
2417    virtual HRESULT STDMETHODCALLTYPE SupportsTransparency(
2418        WINBOOL *pfSupportsTransparency) = 0;
2419
2420    virtual HRESULT STDMETHODCALLTYPE GetNumericRepresentation(
2421        WICPixelFormatNumericRepresentation *pNumericRepresentation) = 0;
2422
2423};
2424#ifdef __CRT_UUID_DECL
2425__CRT_UUID_DECL(IWICPixelFormatInfo2, 0xa9db33a2, 0xaf5f, 0x43c7, 0xb6,0x79, 0x74,0xf5,0x98,0x4b,0x5a,0xa4)
2426#endif
2427#else
2428typedef struct IWICPixelFormatInfo2Vtbl {
2429    BEGIN_INTERFACE
2430
2431    /*** IUnknown methods ***/
2432    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2433        IWICPixelFormatInfo2* This,
2434        REFIID riid,
2435        void **ppvObject);
2436
2437    ULONG (STDMETHODCALLTYPE *AddRef)(
2438        IWICPixelFormatInfo2* This);
2439
2440    ULONG (STDMETHODCALLTYPE *Release)(
2441        IWICPixelFormatInfo2* This);
2442
2443    /*** IWICComponentInfo methods ***/
2444    HRESULT (STDMETHODCALLTYPE *GetComponentType)(
2445        IWICPixelFormatInfo2* This,
2446        WICComponentType *pType);
2447
2448    HRESULT (STDMETHODCALLTYPE *GetCLSID)(
2449        IWICPixelFormatInfo2* This,
2450        CLSID *pclsid);
2451
2452    HRESULT (STDMETHODCALLTYPE *GetSigningStatus)(
2453        IWICPixelFormatInfo2* This,
2454        DWORD *pStatus);
2455
2456    HRESULT (STDMETHODCALLTYPE *GetAuthor)(
2457        IWICPixelFormatInfo2* This,
2458        UINT cchAuthor,
2459        WCHAR *wzAuthor,
2460        UINT *pcchActual);
2461
2462    HRESULT (STDMETHODCALLTYPE *GetVendorGUID)(
2463        IWICPixelFormatInfo2* This,
2464        GUID *pguidVendor);
2465
2466    HRESULT (STDMETHODCALLTYPE *GetVersion)(
2467        IWICPixelFormatInfo2* This,
2468        UINT cchVersion,
2469        WCHAR *wzVersion,
2470        UINT *pcchActual);
2471
2472    HRESULT (STDMETHODCALLTYPE *GetSpecVersion)(
2473        IWICPixelFormatInfo2* This,
2474        UINT cchSpecVersion,
2475        WCHAR *wzSpecVersion,
2476        UINT *pcchActual);
2477
2478    HRESULT (STDMETHODCALLTYPE *GetFriendlyName)(
2479        IWICPixelFormatInfo2* This,
2480        UINT cchFriendlyName,
2481        WCHAR *wzFriendlyName,
2482        UINT *pcchActual);
2483
2484    /*** IWICPixelFormatInfo methods ***/
2485    HRESULT (STDMETHODCALLTYPE *GetFormatGUID)(
2486        IWICPixelFormatInfo2* This,
2487        GUID *pFormat);
2488
2489    HRESULT (STDMETHODCALLTYPE *GetColorContext)(
2490        IWICPixelFormatInfo2* This,
2491        IWICColorContext **ppIColorContext);
2492
2493    HRESULT (STDMETHODCALLTYPE *GetBitsPerPixel)(
2494        IWICPixelFormatInfo2* This,
2495        UINT *puiBitsPerPixel);
2496
2497    HRESULT (STDMETHODCALLTYPE *GetChannelCount)(
2498        IWICPixelFormatInfo2* This,
2499        UINT *puiChannelCount);
2500
2501    HRESULT (STDMETHODCALLTYPE *GetChannelMask)(
2502        IWICPixelFormatInfo2* This,
2503        UINT uiChannelIndex,
2504        UINT cbMaskBuffer,
2505        BYTE *pbMaskBuffer,
2506        UINT *pcbActual);
2507
2508    /*** IWICPixelFormatInfo2 methods ***/
2509    HRESULT (STDMETHODCALLTYPE *SupportsTransparency)(
2510        IWICPixelFormatInfo2* This,
2511        WINBOOL *pfSupportsTransparency);
2512
2513    HRESULT (STDMETHODCALLTYPE *GetNumericRepresentation)(
2514        IWICPixelFormatInfo2* This,
2515        WICPixelFormatNumericRepresentation *pNumericRepresentation);
2516
2517    END_INTERFACE
2518} IWICPixelFormatInfo2Vtbl;
2519interface IWICPixelFormatInfo2 {
2520    CONST_VTBL IWICPixelFormatInfo2Vtbl* lpVtbl;
2521};
2522
2523#ifdef COBJMACROS
2524#ifndef WIDL_C_INLINE_WRAPPERS
2525/*** IUnknown methods ***/
2526#define IWICPixelFormatInfo2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2527#define IWICPixelFormatInfo2_AddRef(This) (This)->lpVtbl->AddRef(This)
2528#define IWICPixelFormatInfo2_Release(This) (This)->lpVtbl->Release(This)
2529/*** IWICComponentInfo methods ***/
2530#define IWICPixelFormatInfo2_GetComponentType(This,pType) (This)->lpVtbl->GetComponentType(This,pType)
2531#define IWICPixelFormatInfo2_GetCLSID(This,pclsid) (This)->lpVtbl->GetCLSID(This,pclsid)
2532#define IWICPixelFormatInfo2_GetSigningStatus(This,pStatus) (This)->lpVtbl->GetSigningStatus(This,pStatus)
2533#define IWICPixelFormatInfo2_GetAuthor(This,cchAuthor,wzAuthor,pcchActual) (This)->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual)
2534#define IWICPixelFormatInfo2_GetVendorGUID(This,pguidVendor) (This)->lpVtbl->GetVendorGUID(This,pguidVendor)
2535#define IWICPixelFormatInfo2_GetVersion(This,cchVersion,wzVersion,pcchActual) (This)->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual)
2536#define IWICPixelFormatInfo2_GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual) (This)->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual)
2537#define IWICPixelFormatInfo2_GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual) (This)->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual)
2538/*** IWICPixelFormatInfo methods ***/
2539#define IWICPixelFormatInfo2_GetFormatGUID(This,pFormat) (This)->lpVtbl->GetFormatGUID(This,pFormat)
2540#define IWICPixelFormatInfo2_GetColorContext(This,ppIColorContext) (This)->lpVtbl->GetColorContext(This,ppIColorContext)
2541#define IWICPixelFormatInfo2_GetBitsPerPixel(This,puiBitsPerPixel) (This)->lpVtbl->GetBitsPerPixel(This,puiBitsPerPixel)
2542#define IWICPixelFormatInfo2_GetChannelCount(This,puiChannelCount) (This)->lpVtbl->GetChannelCount(This,puiChannelCount)
2543#define IWICPixelFormatInfo2_GetChannelMask(This,uiChannelIndex,cbMaskBuffer,pbMaskBuffer,pcbActual) (This)->lpVtbl->GetChannelMask(This,uiChannelIndex,cbMaskBuffer,pbMaskBuffer,pcbActual)
2544/*** IWICPixelFormatInfo2 methods ***/
2545#define IWICPixelFormatInfo2_SupportsTransparency(This,pfSupportsTransparency) (This)->lpVtbl->SupportsTransparency(This,pfSupportsTransparency)
2546#define IWICPixelFormatInfo2_GetNumericRepresentation(This,pNumericRepresentation) (This)->lpVtbl->GetNumericRepresentation(This,pNumericRepresentation)
2547#else
2548/*** IUnknown methods ***/
2549static FORCEINLINE HRESULT IWICPixelFormatInfo2_QueryInterface(IWICPixelFormatInfo2* This,REFIID riid,void **ppvObject) {
2550    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2551}
2552static FORCEINLINE ULONG IWICPixelFormatInfo2_AddRef(IWICPixelFormatInfo2* This) {
2553    return This->lpVtbl->AddRef(This);
2554}
2555static FORCEINLINE ULONG IWICPixelFormatInfo2_Release(IWICPixelFormatInfo2* This) {
2556    return This->lpVtbl->Release(This);
2557}
2558/*** IWICComponentInfo methods ***/
2559static FORCEINLINE HRESULT IWICPixelFormatInfo2_GetComponentType(IWICPixelFormatInfo2* This,WICComponentType *pType) {
2560    return This->lpVtbl->GetComponentType(This,pType);
2561}
2562static FORCEINLINE HRESULT IWICPixelFormatInfo2_GetCLSID(IWICPixelFormatInfo2* This,CLSID *pclsid) {
2563    return This->lpVtbl->GetCLSID(This,pclsid);
2564}
2565static FORCEINLINE HRESULT IWICPixelFormatInfo2_GetSigningStatus(IWICPixelFormatInfo2* This,DWORD *pStatus) {
2566    return This->lpVtbl->GetSigningStatus(This,pStatus);
2567}
2568static FORCEINLINE HRESULT IWICPixelFormatInfo2_GetAuthor(IWICPixelFormatInfo2* This,UINT cchAuthor,WCHAR *wzAuthor,UINT *pcchActual) {
2569    return This->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual);
2570}
2571static FORCEINLINE HRESULT IWICPixelFormatInfo2_GetVendorGUID(IWICPixelFormatInfo2* This,GUID *pguidVendor) {
2572    return This->lpVtbl->GetVendorGUID(This,pguidVendor);
2573}
2574static FORCEINLINE HRESULT IWICPixelFormatInfo2_GetVersion(IWICPixelFormatInfo2* This,UINT cchVersion,WCHAR *wzVersion,UINT *pcchActual) {
2575    return This->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual);
2576}
2577static FORCEINLINE HRESULT IWICPixelFormatInfo2_GetSpecVersion(IWICPixelFormatInfo2* This,UINT cchSpecVersion,WCHAR *wzSpecVersion,UINT *pcchActual) {
2578    return This->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual);
2579}
2580static FORCEINLINE HRESULT IWICPixelFormatInfo2_GetFriendlyName(IWICPixelFormatInfo2* This,UINT cchFriendlyName,WCHAR *wzFriendlyName,UINT *pcchActual) {
2581    return This->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual);
2582}
2583/*** IWICPixelFormatInfo methods ***/
2584static FORCEINLINE HRESULT IWICPixelFormatInfo2_GetFormatGUID(IWICPixelFormatInfo2* This,GUID *pFormat) {
2585    return This->lpVtbl->GetFormatGUID(This,pFormat);
2586}
2587static FORCEINLINE HRESULT IWICPixelFormatInfo2_GetColorContext(IWICPixelFormatInfo2* This,IWICColorContext **ppIColorContext) {
2588    return This->lpVtbl->GetColorContext(This,ppIColorContext);
2589}
2590static FORCEINLINE HRESULT IWICPixelFormatInfo2_GetBitsPerPixel(IWICPixelFormatInfo2* This,UINT *puiBitsPerPixel) {
2591    return This->lpVtbl->GetBitsPerPixel(This,puiBitsPerPixel);
2592}
2593static FORCEINLINE HRESULT IWICPixelFormatInfo2_GetChannelCount(IWICPixelFormatInfo2* This,UINT *puiChannelCount) {
2594    return This->lpVtbl->GetChannelCount(This,puiChannelCount);
2595}
2596static FORCEINLINE HRESULT IWICPixelFormatInfo2_GetChannelMask(IWICPixelFormatInfo2* This,UINT uiChannelIndex,UINT cbMaskBuffer,BYTE *pbMaskBuffer,UINT *pcbActual) {
2597    return This->lpVtbl->GetChannelMask(This,uiChannelIndex,cbMaskBuffer,pbMaskBuffer,pcbActual);
2598}
2599/*** IWICPixelFormatInfo2 methods ***/
2600static FORCEINLINE HRESULT IWICPixelFormatInfo2_SupportsTransparency(IWICPixelFormatInfo2* This,WINBOOL *pfSupportsTransparency) {
2601    return This->lpVtbl->SupportsTransparency(This,pfSupportsTransparency);
2602}
2603static FORCEINLINE HRESULT IWICPixelFormatInfo2_GetNumericRepresentation(IWICPixelFormatInfo2* This,WICPixelFormatNumericRepresentation *pNumericRepresentation) {
2604    return This->lpVtbl->GetNumericRepresentation(This,pNumericRepresentation);
2605}
2606#endif
2607#endif
2608
2609#endif
2610
2611HRESULT STDMETHODCALLTYPE IWICPixelFormatInfo2_SupportsTransparency_Proxy(
2612    IWICPixelFormatInfo2* This,
2613    WINBOOL *pfSupportsTransparency);
2614void __RPC_STUB IWICPixelFormatInfo2_SupportsTransparency_Stub(
2615    IRpcStubBuffer* This,
2616    IRpcChannelBuffer* pRpcChannelBuffer,
2617    PRPC_MESSAGE pRpcMessage,
2618    DWORD* pdwStubPhase);
2619HRESULT STDMETHODCALLTYPE IWICPixelFormatInfo2_GetNumericRepresentation_Proxy(
2620    IWICPixelFormatInfo2* This,
2621    WICPixelFormatNumericRepresentation *pNumericRepresentation);
2622void __RPC_STUB IWICPixelFormatInfo2_GetNumericRepresentation_Stub(
2623    IRpcStubBuffer* This,
2624    IRpcChannelBuffer* pRpcChannelBuffer,
2625    PRPC_MESSAGE pRpcMessage,
2626    DWORD* pdwStubPhase);
2627
2628#endif  /* __IWICPixelFormatInfo2_INTERFACE_DEFINED__ */
2629
2630/*****************************************************************************
2631 * IWICBitmapCodecInfo interface
2632 */
2633#ifndef __IWICBitmapCodecInfo_INTERFACE_DEFINED__
2634#define __IWICBitmapCodecInfo_INTERFACE_DEFINED__
2635
2636DEFINE_GUID(IID_IWICBitmapCodecInfo, 0xe87a44c4, 0xb76e, 0x4c47, 0x8b,0x09, 0x29,0x8e,0xb1,0x2a,0x27,0x14);
2637#if defined(__cplusplus) && !defined(CINTERFACE)
2638MIDL_INTERFACE("e87a44c4-b76e-4c47-8b09-298eb12a2714")
2639IWICBitmapCodecInfo : public IWICComponentInfo
2640{
2641    virtual HRESULT STDMETHODCALLTYPE GetContainerFormat(
2642        GUID *pguidContainerFormat) = 0;
2643
2644    virtual HRESULT STDMETHODCALLTYPE GetPixelFormats(
2645        UINT cFormats,
2646        GUID *pguidPixelFormats,
2647        UINT *pcActual) = 0;
2648
2649    virtual HRESULT STDMETHODCALLTYPE GetColorManagementVersion(
2650        UINT cchColorManagementVersion,
2651        WCHAR *wzColorManagementVersion,
2652        UINT *pcchActual) = 0;
2653
2654    virtual HRESULT STDMETHODCALLTYPE GetDeviceManufacturer(
2655        UINT cchDeviceManufacturer,
2656        WCHAR *wzDeviceManufacturer,
2657        UINT *pcchActual) = 0;
2658
2659    virtual HRESULT STDMETHODCALLTYPE GetDeviceModels(
2660        UINT cchDeviceModels,
2661        WCHAR *wzDeviceModels,
2662        UINT *pcchActual) = 0;
2663
2664    virtual HRESULT STDMETHODCALLTYPE GetMimeTypes(
2665        UINT cchMimeTypes,
2666        WCHAR *wzMimeTypes,
2667        UINT *pcchActual) = 0;
2668
2669    virtual HRESULT STDMETHODCALLTYPE GetFileExtensions(
2670        UINT cchFileExtensions,
2671        WCHAR *wzFileExtensions,
2672        UINT *pcchActual) = 0;
2673
2674    virtual HRESULT STDMETHODCALLTYPE DoesSupportAnimation(
2675        WINBOOL *pfSupportAnimation) = 0;
2676
2677    virtual HRESULT STDMETHODCALLTYPE DoesSupportChromaKey(
2678        WINBOOL *pfSupportChromaKey) = 0;
2679
2680    virtual HRESULT STDMETHODCALLTYPE DoesSupportLossless(
2681        WINBOOL *pfSupportLossless) = 0;
2682
2683    virtual HRESULT STDMETHODCALLTYPE DoesSupportMultiframe(
2684        WINBOOL *pfSupportMultiframe) = 0;
2685
2686    virtual HRESULT STDMETHODCALLTYPE MatchesMimeType(
2687        LPCWSTR wzMimeType,
2688        WINBOOL *pfMatches) = 0;
2689
2690};
2691#ifdef __CRT_UUID_DECL
2692__CRT_UUID_DECL(IWICBitmapCodecInfo, 0xe87a44c4, 0xb76e, 0x4c47, 0x8b,0x09, 0x29,0x8e,0xb1,0x2a,0x27,0x14)
2693#endif
2694#else
2695typedef struct IWICBitmapCodecInfoVtbl {
2696    BEGIN_INTERFACE
2697
2698    /*** IUnknown methods ***/
2699    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2700        IWICBitmapCodecInfo* This,
2701        REFIID riid,
2702        void **ppvObject);
2703
2704    ULONG (STDMETHODCALLTYPE *AddRef)(
2705        IWICBitmapCodecInfo* This);
2706
2707    ULONG (STDMETHODCALLTYPE *Release)(
2708        IWICBitmapCodecInfo* This);
2709
2710    /*** IWICComponentInfo methods ***/
2711    HRESULT (STDMETHODCALLTYPE *GetComponentType)(
2712        IWICBitmapCodecInfo* This,
2713        WICComponentType *pType);
2714
2715    HRESULT (STDMETHODCALLTYPE *GetCLSID)(
2716        IWICBitmapCodecInfo* This,
2717        CLSID *pclsid);
2718
2719    HRESULT (STDMETHODCALLTYPE *GetSigningStatus)(
2720        IWICBitmapCodecInfo* This,
2721        DWORD *pStatus);
2722
2723    HRESULT (STDMETHODCALLTYPE *GetAuthor)(
2724        IWICBitmapCodecInfo* This,
2725        UINT cchAuthor,
2726        WCHAR *wzAuthor,
2727        UINT *pcchActual);
2728
2729    HRESULT (STDMETHODCALLTYPE *GetVendorGUID)(
2730        IWICBitmapCodecInfo* This,
2731        GUID *pguidVendor);
2732
2733    HRESULT (STDMETHODCALLTYPE *GetVersion)(
2734        IWICBitmapCodecInfo* This,
2735        UINT cchVersion,
2736        WCHAR *wzVersion,
2737        UINT *pcchActual);
2738
2739    HRESULT (STDMETHODCALLTYPE *GetSpecVersion)(
2740        IWICBitmapCodecInfo* This,
2741        UINT cchSpecVersion,
2742        WCHAR *wzSpecVersion,
2743        UINT *pcchActual);
2744
2745    HRESULT (STDMETHODCALLTYPE *GetFriendlyName)(
2746        IWICBitmapCodecInfo* This,
2747        UINT cchFriendlyName,
2748        WCHAR *wzFriendlyName,
2749        UINT *pcchActual);
2750
2751    /*** IWICBitmapCodecInfo methods ***/
2752    HRESULT (STDMETHODCALLTYPE *GetContainerFormat)(
2753        IWICBitmapCodecInfo* This,
2754        GUID *pguidContainerFormat);
2755
2756    HRESULT (STDMETHODCALLTYPE *GetPixelFormats)(
2757        IWICBitmapCodecInfo* This,
2758        UINT cFormats,
2759        GUID *pguidPixelFormats,
2760        UINT *pcActual);
2761
2762    HRESULT (STDMETHODCALLTYPE *GetColorManagementVersion)(
2763        IWICBitmapCodecInfo* This,
2764        UINT cchColorManagementVersion,
2765        WCHAR *wzColorManagementVersion,
2766        UINT *pcchActual);
2767
2768    HRESULT (STDMETHODCALLTYPE *GetDeviceManufacturer)(
2769        IWICBitmapCodecInfo* This,
2770        UINT cchDeviceManufacturer,
2771        WCHAR *wzDeviceManufacturer,
2772        UINT *pcchActual);
2773
2774    HRESULT (STDMETHODCALLTYPE *GetDeviceModels)(
2775        IWICBitmapCodecInfo* This,
2776        UINT cchDeviceModels,
2777        WCHAR *wzDeviceModels,
2778        UINT *pcchActual);
2779
2780    HRESULT (STDMETHODCALLTYPE *GetMimeTypes)(
2781        IWICBitmapCodecInfo* This,
2782        UINT cchMimeTypes,
2783        WCHAR *wzMimeTypes,
2784        UINT *pcchActual);
2785
2786    HRESULT (STDMETHODCALLTYPE *GetFileExtensions)(
2787        IWICBitmapCodecInfo* This,
2788        UINT cchFileExtensions,
2789        WCHAR *wzFileExtensions,
2790        UINT *pcchActual);
2791
2792    HRESULT (STDMETHODCALLTYPE *DoesSupportAnimation)(
2793        IWICBitmapCodecInfo* This,
2794        WINBOOL *pfSupportAnimation);
2795
2796    HRESULT (STDMETHODCALLTYPE *DoesSupportChromaKey)(
2797        IWICBitmapCodecInfo* This,
2798        WINBOOL *pfSupportChromaKey);
2799
2800    HRESULT (STDMETHODCALLTYPE *DoesSupportLossless)(
2801        IWICBitmapCodecInfo* This,
2802        WINBOOL *pfSupportLossless);
2803
2804    HRESULT (STDMETHODCALLTYPE *DoesSupportMultiframe)(
2805        IWICBitmapCodecInfo* This,
2806        WINBOOL *pfSupportMultiframe);
2807
2808    HRESULT (STDMETHODCALLTYPE *MatchesMimeType)(
2809        IWICBitmapCodecInfo* This,
2810        LPCWSTR wzMimeType,
2811        WINBOOL *pfMatches);
2812
2813    END_INTERFACE
2814} IWICBitmapCodecInfoVtbl;
2815interface IWICBitmapCodecInfo {
2816    CONST_VTBL IWICBitmapCodecInfoVtbl* lpVtbl;
2817};
2818
2819#ifdef COBJMACROS
2820#ifndef WIDL_C_INLINE_WRAPPERS
2821/*** IUnknown methods ***/
2822#define IWICBitmapCodecInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2823#define IWICBitmapCodecInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
2824#define IWICBitmapCodecInfo_Release(This) (This)->lpVtbl->Release(This)
2825/*** IWICComponentInfo methods ***/
2826#define IWICBitmapCodecInfo_GetComponentType(This,pType) (This)->lpVtbl->GetComponentType(This,pType)
2827#define IWICBitmapCodecInfo_GetCLSID(This,pclsid) (This)->lpVtbl->GetCLSID(This,pclsid)
2828#define IWICBitmapCodecInfo_GetSigningStatus(This,pStatus) (This)->lpVtbl->GetSigningStatus(This,pStatus)
2829#define IWICBitmapCodecInfo_GetAuthor(This,cchAuthor,wzAuthor,pcchActual) (This)->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual)
2830#define IWICBitmapCodecInfo_GetVendorGUID(This,pguidVendor) (This)->lpVtbl->GetVendorGUID(This,pguidVendor)
2831#define IWICBitmapCodecInfo_GetVersion(This,cchVersion,wzVersion,pcchActual) (This)->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual)
2832#define IWICBitmapCodecInfo_GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual) (This)->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual)
2833#define IWICBitmapCodecInfo_GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual) (This)->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual)
2834/*** IWICBitmapCodecInfo methods ***/
2835#define IWICBitmapCodecInfo_GetContainerFormat(This,pguidContainerFormat) (This)->lpVtbl->GetContainerFormat(This,pguidContainerFormat)
2836#define IWICBitmapCodecInfo_GetPixelFormats(This,cFormats,pguidPixelFormats,pcActual) (This)->lpVtbl->GetPixelFormats(This,cFormats,pguidPixelFormats,pcActual)
2837#define IWICBitmapCodecInfo_GetColorManagementVersion(This,cchColorManagementVersion,wzColorManagementVersion,pcchActual) (This)->lpVtbl->GetColorManagementVersion(This,cchColorManagementVersion,wzColorManagementVersion,pcchActual)
2838#define IWICBitmapCodecInfo_GetDeviceManufacturer(This,cchDeviceManufacturer,wzDeviceManufacturer,pcchActual) (This)->lpVtbl->GetDeviceManufacturer(This,cchDeviceManufacturer,wzDeviceManufacturer,pcchActual)
2839#define IWICBitmapCodecInfo_GetDeviceModels(This,cchDeviceModels,wzDeviceModels,pcchActual) (This)->lpVtbl->GetDeviceModels(This,cchDeviceModels,wzDeviceModels,pcchActual)
2840#define IWICBitmapCodecInfo_GetMimeTypes(This,cchMimeTypes,wzMimeTypes,pcchActual) (This)->lpVtbl->GetMimeTypes(This,cchMimeTypes,wzMimeTypes,pcchActual)
2841#define IWICBitmapCodecInfo_GetFileExtensions(This,cchFileExtensions,wzFileExtensions,pcchActual) (This)->lpVtbl->GetFileExtensions(This,cchFileExtensions,wzFileExtensions,pcchActual)
2842#define IWICBitmapCodecInfo_DoesSupportAnimation(This,pfSupportAnimation) (This)->lpVtbl->DoesSupportAnimation(This,pfSupportAnimation)
2843#define IWICBitmapCodecInfo_DoesSupportChromaKey(This,pfSupportChromaKey) (This)->lpVtbl->DoesSupportChromaKey(This,pfSupportChromaKey)
2844#define IWICBitmapCodecInfo_DoesSupportLossless(This,pfSupportLossless) (This)->lpVtbl->DoesSupportLossless(This,pfSupportLossless)
2845#define IWICBitmapCodecInfo_DoesSupportMultiframe(This,pfSupportMultiframe) (This)->lpVtbl->DoesSupportMultiframe(This,pfSupportMultiframe)
2846#define IWICBitmapCodecInfo_MatchesMimeType(This,wzMimeType,pfMatches) (This)->lpVtbl->MatchesMimeType(This,wzMimeType,pfMatches)
2847#else
2848/*** IUnknown methods ***/
2849static FORCEINLINE HRESULT IWICBitmapCodecInfo_QueryInterface(IWICBitmapCodecInfo* This,REFIID riid,void **ppvObject) {
2850    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2851}
2852static FORCEINLINE ULONG IWICBitmapCodecInfo_AddRef(IWICBitmapCodecInfo* This) {
2853    return This->lpVtbl->AddRef(This);
2854}
2855static FORCEINLINE ULONG IWICBitmapCodecInfo_Release(IWICBitmapCodecInfo* This) {
2856    return This->lpVtbl->Release(This);
2857}
2858/*** IWICComponentInfo methods ***/
2859static FORCEINLINE HRESULT IWICBitmapCodecInfo_GetComponentType(IWICBitmapCodecInfo* This,WICComponentType *pType) {
2860    return This->lpVtbl->GetComponentType(This,pType);
2861}
2862static FORCEINLINE HRESULT IWICBitmapCodecInfo_GetCLSID(IWICBitmapCodecInfo* This,CLSID *pclsid) {
2863    return This->lpVtbl->GetCLSID(This,pclsid);
2864}
2865static FORCEINLINE HRESULT IWICBitmapCodecInfo_GetSigningStatus(IWICBitmapCodecInfo* This,DWORD *pStatus) {
2866    return This->lpVtbl->GetSigningStatus(This,pStatus);
2867}
2868static FORCEINLINE HRESULT IWICBitmapCodecInfo_GetAuthor(IWICBitmapCodecInfo* This,UINT cchAuthor,WCHAR *wzAuthor,UINT *pcchActual) {
2869    return This->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual);
2870}
2871static FORCEINLINE HRESULT IWICBitmapCodecInfo_GetVendorGUID(IWICBitmapCodecInfo* This,GUID *pguidVendor) {
2872    return This->lpVtbl->GetVendorGUID(This,pguidVendor);
2873}
2874static FORCEINLINE HRESULT IWICBitmapCodecInfo_GetVersion(IWICBitmapCodecInfo* This,UINT cchVersion,WCHAR *wzVersion,UINT *pcchActual) {
2875    return This->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual);
2876}
2877static FORCEINLINE HRESULT IWICBitmapCodecInfo_GetSpecVersion(IWICBitmapCodecInfo* This,UINT cchSpecVersion,WCHAR *wzSpecVersion,UINT *pcchActual) {
2878    return This->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual);
2879}
2880static FORCEINLINE HRESULT IWICBitmapCodecInfo_GetFriendlyName(IWICBitmapCodecInfo* This,UINT cchFriendlyName,WCHAR *wzFriendlyName,UINT *pcchActual) {
2881    return This->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual);
2882}
2883/*** IWICBitmapCodecInfo methods ***/
2884static FORCEINLINE HRESULT IWICBitmapCodecInfo_GetContainerFormat(IWICBitmapCodecInfo* This,GUID *pguidContainerFormat) {
2885    return This->lpVtbl->GetContainerFormat(This,pguidContainerFormat);
2886}
2887static FORCEINLINE HRESULT IWICBitmapCodecInfo_GetPixelFormats(IWICBitmapCodecInfo* This,UINT cFormats,GUID *pguidPixelFormats,UINT *pcActual) {
2888    return This->lpVtbl->GetPixelFormats(This,cFormats,pguidPixelFormats,pcActual);
2889}
2890static FORCEINLINE HRESULT IWICBitmapCodecInfo_GetColorManagementVersion(IWICBitmapCodecInfo* This,UINT cchColorManagementVersion,WCHAR *wzColorManagementVersion,UINT *pcchActual) {
2891    return This->lpVtbl->GetColorManagementVersion(This,cchColorManagementVersion,wzColorManagementVersion,pcchActual);
2892}
2893static FORCEINLINE HRESULT IWICBitmapCodecInfo_GetDeviceManufacturer(IWICBitmapCodecInfo* This,UINT cchDeviceManufacturer,WCHAR *wzDeviceManufacturer,UINT *pcchActual) {
2894    return This->lpVtbl->GetDeviceManufacturer(This,cchDeviceManufacturer,wzDeviceManufacturer,pcchActual);
2895}
2896static FORCEINLINE HRESULT IWICBitmapCodecInfo_GetDeviceModels(IWICBitmapCodecInfo* This,UINT cchDeviceModels,WCHAR *wzDeviceModels,UINT *pcchActual) {
2897    return This->lpVtbl->GetDeviceModels(This,cchDeviceModels,wzDeviceModels,pcchActual);
2898}
2899static FORCEINLINE HRESULT IWICBitmapCodecInfo_GetMimeTypes(IWICBitmapCodecInfo* This,UINT cchMimeTypes,WCHAR *wzMimeTypes,UINT *pcchActual) {
2900    return This->lpVtbl->GetMimeTypes(This,cchMimeTypes,wzMimeTypes,pcchActual);
2901}
2902static FORCEINLINE HRESULT IWICBitmapCodecInfo_GetFileExtensions(IWICBitmapCodecInfo* This,UINT cchFileExtensions,WCHAR *wzFileExtensions,UINT *pcchActual) {
2903    return This->lpVtbl->GetFileExtensions(This,cchFileExtensions,wzFileExtensions,pcchActual);
2904}
2905static FORCEINLINE HRESULT IWICBitmapCodecInfo_DoesSupportAnimation(IWICBitmapCodecInfo* This,WINBOOL *pfSupportAnimation) {
2906    return This->lpVtbl->DoesSupportAnimation(This,pfSupportAnimation);
2907}
2908static FORCEINLINE HRESULT IWICBitmapCodecInfo_DoesSupportChromaKey(IWICBitmapCodecInfo* This,WINBOOL *pfSupportChromaKey) {
2909    return This->lpVtbl->DoesSupportChromaKey(This,pfSupportChromaKey);
2910}
2911static FORCEINLINE HRESULT IWICBitmapCodecInfo_DoesSupportLossless(IWICBitmapCodecInfo* This,WINBOOL *pfSupportLossless) {
2912    return This->lpVtbl->DoesSupportLossless(This,pfSupportLossless);
2913}
2914static FORCEINLINE HRESULT IWICBitmapCodecInfo_DoesSupportMultiframe(IWICBitmapCodecInfo* This,WINBOOL *pfSupportMultiframe) {
2915    return This->lpVtbl->DoesSupportMultiframe(This,pfSupportMultiframe);
2916}
2917static FORCEINLINE HRESULT IWICBitmapCodecInfo_MatchesMimeType(IWICBitmapCodecInfo* This,LPCWSTR wzMimeType,WINBOOL *pfMatches) {
2918    return This->lpVtbl->MatchesMimeType(This,wzMimeType,pfMatches);
2919}
2920#endif
2921#endif
2922
2923#endif
2924
2925HRESULT STDMETHODCALLTYPE IWICBitmapCodecInfo_GetContainerFormat_Proxy(
2926    IWICBitmapCodecInfo* This,
2927    GUID *pguidContainerFormat);
2928void __RPC_STUB IWICBitmapCodecInfo_GetContainerFormat_Stub(
2929    IRpcStubBuffer* This,
2930    IRpcChannelBuffer* pRpcChannelBuffer,
2931    PRPC_MESSAGE pRpcMessage,
2932    DWORD* pdwStubPhase);
2933HRESULT STDMETHODCALLTYPE IWICBitmapCodecInfo_GetPixelFormats_Proxy(
2934    IWICBitmapCodecInfo* This,
2935    UINT cFormats,
2936    GUID *pguidPixelFormats,
2937    UINT *pcActual);
2938void __RPC_STUB IWICBitmapCodecInfo_GetPixelFormats_Stub(
2939    IRpcStubBuffer* This,
2940    IRpcChannelBuffer* pRpcChannelBuffer,
2941    PRPC_MESSAGE pRpcMessage,
2942    DWORD* pdwStubPhase);
2943HRESULT STDMETHODCALLTYPE IWICBitmapCodecInfo_GetColorManagementVersion_Proxy(
2944    IWICBitmapCodecInfo* This,
2945    UINT cchColorManagementVersion,
2946    WCHAR *wzColorManagementVersion,
2947    UINT *pcchActual);
2948void __RPC_STUB IWICBitmapCodecInfo_GetColorManagementVersion_Stub(
2949    IRpcStubBuffer* This,
2950    IRpcChannelBuffer* pRpcChannelBuffer,
2951    PRPC_MESSAGE pRpcMessage,
2952    DWORD* pdwStubPhase);
2953HRESULT STDMETHODCALLTYPE IWICBitmapCodecInfo_GetDeviceManufacturer_Proxy(
2954    IWICBitmapCodecInfo* This,
2955    UINT cchDeviceManufacturer,
2956    WCHAR *wzDeviceManufacturer,
2957    UINT *pcchActual);
2958void __RPC_STUB IWICBitmapCodecInfo_GetDeviceManufacturer_Stub(
2959    IRpcStubBuffer* This,
2960    IRpcChannelBuffer* pRpcChannelBuffer,
2961    PRPC_MESSAGE pRpcMessage,
2962    DWORD* pdwStubPhase);
2963HRESULT STDMETHODCALLTYPE IWICBitmapCodecInfo_GetDeviceModels_Proxy(
2964    IWICBitmapCodecInfo* This,
2965    UINT cchDeviceModels,
2966    WCHAR *wzDeviceModels,
2967    UINT *pcchActual);
2968void __RPC_STUB IWICBitmapCodecInfo_GetDeviceModels_Stub(
2969    IRpcStubBuffer* This,
2970    IRpcChannelBuffer* pRpcChannelBuffer,
2971    PRPC_MESSAGE pRpcMessage,
2972    DWORD* pdwStubPhase);
2973HRESULT STDMETHODCALLTYPE IWICBitmapCodecInfo_GetMimeTypes_Proxy(
2974    IWICBitmapCodecInfo* This,
2975    UINT cchMimeTypes,
2976    WCHAR *wzMimeTypes,
2977    UINT *pcchActual);
2978void __RPC_STUB IWICBitmapCodecInfo_GetMimeTypes_Stub(
2979    IRpcStubBuffer* This,
2980    IRpcChannelBuffer* pRpcChannelBuffer,
2981    PRPC_MESSAGE pRpcMessage,
2982    DWORD* pdwStubPhase);
2983HRESULT STDMETHODCALLTYPE IWICBitmapCodecInfo_GetFileExtensions_Proxy(
2984    IWICBitmapCodecInfo* This,
2985    UINT cchFileExtensions,
2986    WCHAR *wzFileExtensions,
2987    UINT *pcchActual);
2988void __RPC_STUB IWICBitmapCodecInfo_GetFileExtensions_Stub(
2989    IRpcStubBuffer* This,
2990    IRpcChannelBuffer* pRpcChannelBuffer,
2991    PRPC_MESSAGE pRpcMessage,
2992    DWORD* pdwStubPhase);
2993HRESULT STDMETHODCALLTYPE IWICBitmapCodecInfo_DoesSupportAnimation_Proxy(
2994    IWICBitmapCodecInfo* This,
2995    WINBOOL *pfSupportAnimation);
2996void __RPC_STUB IWICBitmapCodecInfo_DoesSupportAnimation_Stub(
2997    IRpcStubBuffer* This,
2998    IRpcChannelBuffer* pRpcChannelBuffer,
2999    PRPC_MESSAGE pRpcMessage,
3000    DWORD* pdwStubPhase);
3001HRESULT STDMETHODCALLTYPE IWICBitmapCodecInfo_DoesSupportChromaKey_Proxy(
3002    IWICBitmapCodecInfo* This,
3003    WINBOOL *pfSupportChromaKey);
3004void __RPC_STUB IWICBitmapCodecInfo_DoesSupportChromaKey_Stub(
3005    IRpcStubBuffer* This,
3006    IRpcChannelBuffer* pRpcChannelBuffer,
3007    PRPC_MESSAGE pRpcMessage,
3008    DWORD* pdwStubPhase);
3009HRESULT STDMETHODCALLTYPE IWICBitmapCodecInfo_DoesSupportLossless_Proxy(
3010    IWICBitmapCodecInfo* This,
3011    WINBOOL *pfSupportLossless);
3012void __RPC_STUB IWICBitmapCodecInfo_DoesSupportLossless_Stub(
3013    IRpcStubBuffer* This,
3014    IRpcChannelBuffer* pRpcChannelBuffer,
3015    PRPC_MESSAGE pRpcMessage,
3016    DWORD* pdwStubPhase);
3017HRESULT STDMETHODCALLTYPE IWICBitmapCodecInfo_DoesSupportMultiframe_Proxy(
3018    IWICBitmapCodecInfo* This,
3019    WINBOOL *pfSupportMultiframe);
3020void __RPC_STUB IWICBitmapCodecInfo_DoesSupportMultiframe_Stub(
3021    IRpcStubBuffer* This,
3022    IRpcChannelBuffer* pRpcChannelBuffer,
3023    PRPC_MESSAGE pRpcMessage,
3024    DWORD* pdwStubPhase);
3025HRESULT STDMETHODCALLTYPE IWICBitmapCodecInfo_MatchesMimeType_Proxy(
3026    IWICBitmapCodecInfo* This,
3027    LPCWSTR wzMimeType,
3028    WINBOOL *pfMatches);
3029void __RPC_STUB IWICBitmapCodecInfo_MatchesMimeType_Stub(
3030    IRpcStubBuffer* This,
3031    IRpcChannelBuffer* pRpcChannelBuffer,
3032    PRPC_MESSAGE pRpcMessage,
3033    DWORD* pdwStubPhase);
3034
3035#endif  /* __IWICBitmapCodecInfo_INTERFACE_DEFINED__ */
3036
3037#ifndef __IWICBitmapDecoder_FWD_DEFINED__
3038#define __IWICBitmapDecoder_FWD_DEFINED__
3039typedef interface IWICBitmapDecoder IWICBitmapDecoder;
3040#endif
3041
3042/*****************************************************************************
3043 * IWICBitmapDecoderInfo interface
3044 */
3045#ifndef __IWICBitmapDecoderInfo_INTERFACE_DEFINED__
3046#define __IWICBitmapDecoderInfo_INTERFACE_DEFINED__
3047
3048DEFINE_GUID(IID_IWICBitmapDecoderInfo, 0xd8cd007f, 0xd08f, 0x4191, 0x9b,0xfc, 0x23,0x6e,0xa7,0xf0,0xe4,0xb5);
3049#if defined(__cplusplus) && !defined(CINTERFACE)
3050MIDL_INTERFACE("d8cd007f-d08f-4191-9bfc-236ea7f0e4b5")
3051IWICBitmapDecoderInfo : public IWICBitmapCodecInfo
3052{
3053    virtual HRESULT STDMETHODCALLTYPE GetPatterns(
3054        UINT cbSizePatterns,
3055        WICBitmapPattern *pPatterns,
3056        UINT *pcPatterns,
3057        UINT *pcbPatternsActual) = 0;
3058
3059    virtual HRESULT STDMETHODCALLTYPE MatchesPattern(
3060        IStream *pIStream,
3061        WINBOOL *pfMatches) = 0;
3062
3063    virtual HRESULT STDMETHODCALLTYPE CreateInstance(
3064        IWICBitmapDecoder **ppIBitmapDecoder) = 0;
3065
3066};
3067#ifdef __CRT_UUID_DECL
3068__CRT_UUID_DECL(IWICBitmapDecoderInfo, 0xd8cd007f, 0xd08f, 0x4191, 0x9b,0xfc, 0x23,0x6e,0xa7,0xf0,0xe4,0xb5)
3069#endif
3070#else
3071typedef struct IWICBitmapDecoderInfoVtbl {
3072    BEGIN_INTERFACE
3073
3074    /*** IUnknown methods ***/
3075    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3076        IWICBitmapDecoderInfo* This,
3077        REFIID riid,
3078        void **ppvObject);
3079
3080    ULONG (STDMETHODCALLTYPE *AddRef)(
3081        IWICBitmapDecoderInfo* This);
3082
3083    ULONG (STDMETHODCALLTYPE *Release)(
3084        IWICBitmapDecoderInfo* This);
3085
3086    /*** IWICComponentInfo methods ***/
3087    HRESULT (STDMETHODCALLTYPE *GetComponentType)(
3088        IWICBitmapDecoderInfo* This,
3089        WICComponentType *pType);
3090
3091    HRESULT (STDMETHODCALLTYPE *GetCLSID)(
3092        IWICBitmapDecoderInfo* This,
3093        CLSID *pclsid);
3094
3095    HRESULT (STDMETHODCALLTYPE *GetSigningStatus)(
3096        IWICBitmapDecoderInfo* This,
3097        DWORD *pStatus);
3098
3099    HRESULT (STDMETHODCALLTYPE *GetAuthor)(
3100        IWICBitmapDecoderInfo* This,
3101        UINT cchAuthor,
3102        WCHAR *wzAuthor,
3103        UINT *pcchActual);
3104
3105    HRESULT (STDMETHODCALLTYPE *GetVendorGUID)(
3106        IWICBitmapDecoderInfo* This,
3107        GUID *pguidVendor);
3108
3109    HRESULT (STDMETHODCALLTYPE *GetVersion)(
3110        IWICBitmapDecoderInfo* This,
3111        UINT cchVersion,
3112        WCHAR *wzVersion,
3113        UINT *pcchActual);
3114
3115    HRESULT (STDMETHODCALLTYPE *GetSpecVersion)(
3116        IWICBitmapDecoderInfo* This,
3117        UINT cchSpecVersion,
3118        WCHAR *wzSpecVersion,
3119        UINT *pcchActual);
3120
3121    HRESULT (STDMETHODCALLTYPE *GetFriendlyName)(
3122        IWICBitmapDecoderInfo* This,
3123        UINT cchFriendlyName,
3124        WCHAR *wzFriendlyName,
3125        UINT *pcchActual);
3126
3127    /*** IWICBitmapCodecInfo methods ***/
3128    HRESULT (STDMETHODCALLTYPE *GetContainerFormat)(
3129        IWICBitmapDecoderInfo* This,
3130        GUID *pguidContainerFormat);
3131
3132    HRESULT (STDMETHODCALLTYPE *GetPixelFormats)(
3133        IWICBitmapDecoderInfo* This,
3134        UINT cFormats,
3135        GUID *pguidPixelFormats,
3136        UINT *pcActual);
3137
3138    HRESULT (STDMETHODCALLTYPE *GetColorManagementVersion)(
3139        IWICBitmapDecoderInfo* This,
3140        UINT cchColorManagementVersion,
3141        WCHAR *wzColorManagementVersion,
3142        UINT *pcchActual);
3143
3144    HRESULT (STDMETHODCALLTYPE *GetDeviceManufacturer)(
3145        IWICBitmapDecoderInfo* This,
3146        UINT cchDeviceManufacturer,
3147        WCHAR *wzDeviceManufacturer,
3148        UINT *pcchActual);
3149
3150    HRESULT (STDMETHODCALLTYPE *GetDeviceModels)(
3151        IWICBitmapDecoderInfo* This,
3152        UINT cchDeviceModels,
3153        WCHAR *wzDeviceModels,
3154        UINT *pcchActual);
3155
3156    HRESULT (STDMETHODCALLTYPE *GetMimeTypes)(
3157        IWICBitmapDecoderInfo* This,
3158        UINT cchMimeTypes,
3159        WCHAR *wzMimeTypes,
3160        UINT *pcchActual);
3161
3162    HRESULT (STDMETHODCALLTYPE *GetFileExtensions)(
3163        IWICBitmapDecoderInfo* This,
3164        UINT cchFileExtensions,
3165        WCHAR *wzFileExtensions,
3166        UINT *pcchActual);
3167
3168    HRESULT (STDMETHODCALLTYPE *DoesSupportAnimation)(
3169        IWICBitmapDecoderInfo* This,
3170        WINBOOL *pfSupportAnimation);
3171
3172    HRESULT (STDMETHODCALLTYPE *DoesSupportChromaKey)(
3173        IWICBitmapDecoderInfo* This,
3174        WINBOOL *pfSupportChromaKey);
3175
3176    HRESULT (STDMETHODCALLTYPE *DoesSupportLossless)(
3177        IWICBitmapDecoderInfo* This,
3178        WINBOOL *pfSupportLossless);
3179
3180    HRESULT (STDMETHODCALLTYPE *DoesSupportMultiframe)(
3181        IWICBitmapDecoderInfo* This,
3182        WINBOOL *pfSupportMultiframe);
3183
3184    HRESULT (STDMETHODCALLTYPE *MatchesMimeType)(
3185        IWICBitmapDecoderInfo* This,
3186        LPCWSTR wzMimeType,
3187        WINBOOL *pfMatches);
3188
3189    /*** IWICBitmapDecoderInfo methods ***/
3190    HRESULT (STDMETHODCALLTYPE *GetPatterns)(
3191        IWICBitmapDecoderInfo* This,
3192        UINT cbSizePatterns,
3193        WICBitmapPattern *pPatterns,
3194        UINT *pcPatterns,
3195        UINT *pcbPatternsActual);
3196
3197    HRESULT (STDMETHODCALLTYPE *MatchesPattern)(
3198        IWICBitmapDecoderInfo* This,
3199        IStream *pIStream,
3200        WINBOOL *pfMatches);
3201
3202    HRESULT (STDMETHODCALLTYPE *CreateInstance)(
3203        IWICBitmapDecoderInfo* This,
3204        IWICBitmapDecoder **ppIBitmapDecoder);
3205
3206    END_INTERFACE
3207} IWICBitmapDecoderInfoVtbl;
3208interface IWICBitmapDecoderInfo {
3209    CONST_VTBL IWICBitmapDecoderInfoVtbl* lpVtbl;
3210};
3211
3212#ifdef COBJMACROS
3213#ifndef WIDL_C_INLINE_WRAPPERS
3214/*** IUnknown methods ***/
3215#define IWICBitmapDecoderInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3216#define IWICBitmapDecoderInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
3217#define IWICBitmapDecoderInfo_Release(This) (This)->lpVtbl->Release(This)
3218/*** IWICComponentInfo methods ***/
3219#define IWICBitmapDecoderInfo_GetComponentType(This,pType) (This)->lpVtbl->GetComponentType(This,pType)
3220#define IWICBitmapDecoderInfo_GetCLSID(This,pclsid) (This)->lpVtbl->GetCLSID(This,pclsid)
3221#define IWICBitmapDecoderInfo_GetSigningStatus(This,pStatus) (This)->lpVtbl->GetSigningStatus(This,pStatus)
3222#define IWICBitmapDecoderInfo_GetAuthor(This,cchAuthor,wzAuthor,pcchActual) (This)->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual)
3223#define IWICBitmapDecoderInfo_GetVendorGUID(This,pguidVendor) (This)->lpVtbl->GetVendorGUID(This,pguidVendor)
3224#define IWICBitmapDecoderInfo_GetVersion(This,cchVersion,wzVersion,pcchActual) (This)->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual)
3225#define IWICBitmapDecoderInfo_GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual) (This)->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual)
3226#define IWICBitmapDecoderInfo_GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual) (This)->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual)
3227/*** IWICBitmapCodecInfo methods ***/
3228#define IWICBitmapDecoderInfo_GetContainerFormat(This,pguidContainerFormat) (This)->lpVtbl->GetContainerFormat(This,pguidContainerFormat)
3229#define IWICBitmapDecoderInfo_GetPixelFormats(This,cFormats,pguidPixelFormats,pcActual) (This)->lpVtbl->GetPixelFormats(This,cFormats,pguidPixelFormats,pcActual)
3230#define IWICBitmapDecoderInfo_GetColorManagementVersion(This,cchColorManagementVersion,wzColorManagementVersion,pcchActual) (This)->lpVtbl->GetColorManagementVersion(This,cchColorManagementVersion,wzColorManagementVersion,pcchActual)
3231#define IWICBitmapDecoderInfo_GetDeviceManufacturer(This,cchDeviceManufacturer,wzDeviceManufacturer,pcchActual) (This)->lpVtbl->GetDeviceManufacturer(This,cchDeviceManufacturer,wzDeviceManufacturer,pcchActual)
3232#define IWICBitmapDecoderInfo_GetDeviceModels(This,cchDeviceModels,wzDeviceModels,pcchActual) (This)->lpVtbl->GetDeviceModels(This,cchDeviceModels,wzDeviceModels,pcchActual)
3233#define IWICBitmapDecoderInfo_GetMimeTypes(This,cchMimeTypes,wzMimeTypes,pcchActual) (This)->lpVtbl->GetMimeTypes(This,cchMimeTypes,wzMimeTypes,pcchActual)
3234#define IWICBitmapDecoderInfo_GetFileExtensions(This,cchFileExtensions,wzFileExtensions,pcchActual) (This)->lpVtbl->GetFileExtensions(This,cchFileExtensions,wzFileExtensions,pcchActual)
3235#define IWICBitmapDecoderInfo_DoesSupportAnimation(This,pfSupportAnimation) (This)->lpVtbl->DoesSupportAnimation(This,pfSupportAnimation)
3236#define IWICBitmapDecoderInfo_DoesSupportChromaKey(This,pfSupportChromaKey) (This)->lpVtbl->DoesSupportChromaKey(This,pfSupportChromaKey)
3237#define IWICBitmapDecoderInfo_DoesSupportLossless(This,pfSupportLossless) (This)->lpVtbl->DoesSupportLossless(This,pfSupportLossless)
3238#define IWICBitmapDecoderInfo_DoesSupportMultiframe(This,pfSupportMultiframe) (This)->lpVtbl->DoesSupportMultiframe(This,pfSupportMultiframe)
3239#define IWICBitmapDecoderInfo_MatchesMimeType(This,wzMimeType,pfMatches) (This)->lpVtbl->MatchesMimeType(This,wzMimeType,pfMatches)
3240/*** IWICBitmapDecoderInfo methods ***/
3241#define IWICBitmapDecoderInfo_GetPatterns(This,cbSizePatterns,pPatterns,pcPatterns,pcbPatternsActual) (This)->lpVtbl->GetPatterns(This,cbSizePatterns,pPatterns,pcPatterns,pcbPatternsActual)
3242#define IWICBitmapDecoderInfo_MatchesPattern(This,pIStream,pfMatches) (This)->lpVtbl->MatchesPattern(This,pIStream,pfMatches)
3243#define IWICBitmapDecoderInfo_CreateInstance(This,ppIBitmapDecoder) (This)->lpVtbl->CreateInstance(This,ppIBitmapDecoder)
3244#else
3245/*** IUnknown methods ***/
3246static FORCEINLINE HRESULT IWICBitmapDecoderInfo_QueryInterface(IWICBitmapDecoderInfo* This,REFIID riid,void **ppvObject) {
3247    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3248}
3249static FORCEINLINE ULONG IWICBitmapDecoderInfo_AddRef(IWICBitmapDecoderInfo* This) {
3250    return This->lpVtbl->AddRef(This);
3251}
3252static FORCEINLINE ULONG IWICBitmapDecoderInfo_Release(IWICBitmapDecoderInfo* This) {
3253    return This->lpVtbl->Release(This);
3254}
3255/*** IWICComponentInfo methods ***/
3256static FORCEINLINE HRESULT IWICBitmapDecoderInfo_GetComponentType(IWICBitmapDecoderInfo* This,WICComponentType *pType) {
3257    return This->lpVtbl->GetComponentType(This,pType);
3258}
3259static FORCEINLINE HRESULT IWICBitmapDecoderInfo_GetCLSID(IWICBitmapDecoderInfo* This,CLSID *pclsid) {
3260    return This->lpVtbl->GetCLSID(This,pclsid);
3261}
3262static FORCEINLINE HRESULT IWICBitmapDecoderInfo_GetSigningStatus(IWICBitmapDecoderInfo* This,DWORD *pStatus) {
3263    return This->lpVtbl->GetSigningStatus(This,pStatus);
3264}
3265static FORCEINLINE HRESULT IWICBitmapDecoderInfo_GetAuthor(IWICBitmapDecoderInfo* This,UINT cchAuthor,WCHAR *wzAuthor,UINT *pcchActual) {
3266    return This->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual);
3267}
3268static FORCEINLINE HRESULT IWICBitmapDecoderInfo_GetVendorGUID(IWICBitmapDecoderInfo* This,GUID *pguidVendor) {
3269    return This->lpVtbl->GetVendorGUID(This,pguidVendor);
3270}
3271static FORCEINLINE HRESULT IWICBitmapDecoderInfo_GetVersion(IWICBitmapDecoderInfo* This,UINT cchVersion,WCHAR *wzVersion,UINT *pcchActual) {
3272    return This->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual);
3273}
3274static FORCEINLINE HRESULT IWICBitmapDecoderInfo_GetSpecVersion(IWICBitmapDecoderInfo* This,UINT cchSpecVersion,WCHAR *wzSpecVersion,UINT *pcchActual) {
3275    return This->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual);
3276}
3277static FORCEINLINE HRESULT IWICBitmapDecoderInfo_GetFriendlyName(IWICBitmapDecoderInfo* This,UINT cchFriendlyName,WCHAR *wzFriendlyName,UINT *pcchActual) {
3278    return This->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual);
3279}
3280/*** IWICBitmapCodecInfo methods ***/
3281static FORCEINLINE HRESULT IWICBitmapDecoderInfo_GetContainerFormat(IWICBitmapDecoderInfo* This,GUID *pguidContainerFormat) {
3282    return This->lpVtbl->GetContainerFormat(This,pguidContainerFormat);
3283}
3284static FORCEINLINE HRESULT IWICBitmapDecoderInfo_GetPixelFormats(IWICBitmapDecoderInfo* This,UINT cFormats,GUID *pguidPixelFormats,UINT *pcActual) {
3285    return This->lpVtbl->GetPixelFormats(This,cFormats,pguidPixelFormats,pcActual);
3286}
3287static FORCEINLINE HRESULT IWICBitmapDecoderInfo_GetColorManagementVersion(IWICBitmapDecoderInfo* This,UINT cchColorManagementVersion,WCHAR *wzColorManagementVersion,UINT *pcchActual) {
3288    return This->lpVtbl->GetColorManagementVersion(This,cchColorManagementVersion,wzColorManagementVersion,pcchActual);
3289}
3290static FORCEINLINE HRESULT IWICBitmapDecoderInfo_GetDeviceManufacturer(IWICBitmapDecoderInfo* This,UINT cchDeviceManufacturer,WCHAR *wzDeviceManufacturer,UINT *pcchActual) {
3291    return This->lpVtbl->GetDeviceManufacturer(This,cchDeviceManufacturer,wzDeviceManufacturer,pcchActual);
3292}
3293static FORCEINLINE HRESULT IWICBitmapDecoderInfo_GetDeviceModels(IWICBitmapDecoderInfo* This,UINT cchDeviceModels,WCHAR *wzDeviceModels,UINT *pcchActual) {
3294    return This->lpVtbl->GetDeviceModels(This,cchDeviceModels,wzDeviceModels,pcchActual);
3295}
3296static FORCEINLINE HRESULT IWICBitmapDecoderInfo_GetMimeTypes(IWICBitmapDecoderInfo* This,UINT cchMimeTypes,WCHAR *wzMimeTypes,UINT *pcchActual) {
3297    return This->lpVtbl->GetMimeTypes(This,cchMimeTypes,wzMimeTypes,pcchActual);
3298}
3299static FORCEINLINE HRESULT IWICBitmapDecoderInfo_GetFileExtensions(IWICBitmapDecoderInfo* This,UINT cchFileExtensions,WCHAR *wzFileExtensions,UINT *pcchActual) {
3300    return This->lpVtbl->GetFileExtensions(This,cchFileExtensions,wzFileExtensions,pcchActual);
3301}
3302static FORCEINLINE HRESULT IWICBitmapDecoderInfo_DoesSupportAnimation(IWICBitmapDecoderInfo* This,WINBOOL *pfSupportAnimation) {
3303    return This->lpVtbl->DoesSupportAnimation(This,pfSupportAnimation);
3304}
3305static FORCEINLINE HRESULT IWICBitmapDecoderInfo_DoesSupportChromaKey(IWICBitmapDecoderInfo* This,WINBOOL *pfSupportChromaKey) {
3306    return This->lpVtbl->DoesSupportChromaKey(This,pfSupportChromaKey);
3307}
3308static FORCEINLINE HRESULT IWICBitmapDecoderInfo_DoesSupportLossless(IWICBitmapDecoderInfo* This,WINBOOL *pfSupportLossless) {
3309    return This->lpVtbl->DoesSupportLossless(This,pfSupportLossless);
3310}
3311static FORCEINLINE HRESULT IWICBitmapDecoderInfo_DoesSupportMultiframe(IWICBitmapDecoderInfo* This,WINBOOL *pfSupportMultiframe) {
3312    return This->lpVtbl->DoesSupportMultiframe(This,pfSupportMultiframe);
3313}
3314static FORCEINLINE HRESULT IWICBitmapDecoderInfo_MatchesMimeType(IWICBitmapDecoderInfo* This,LPCWSTR wzMimeType,WINBOOL *pfMatches) {
3315    return This->lpVtbl->MatchesMimeType(This,wzMimeType,pfMatches);
3316}
3317/*** IWICBitmapDecoderInfo methods ***/
3318static FORCEINLINE HRESULT IWICBitmapDecoderInfo_GetPatterns(IWICBitmapDecoderInfo* This,UINT cbSizePatterns,WICBitmapPattern *pPatterns,UINT *pcPatterns,UINT *pcbPatternsActual) {
3319    return This->lpVtbl->GetPatterns(This,cbSizePatterns,pPatterns,pcPatterns,pcbPatternsActual);
3320}
3321static FORCEINLINE HRESULT IWICBitmapDecoderInfo_MatchesPattern(IWICBitmapDecoderInfo* This,IStream *pIStream,WINBOOL *pfMatches) {
3322    return This->lpVtbl->MatchesPattern(This,pIStream,pfMatches);
3323}
3324static FORCEINLINE HRESULT IWICBitmapDecoderInfo_CreateInstance(IWICBitmapDecoderInfo* This,IWICBitmapDecoder **ppIBitmapDecoder) {
3325    return This->lpVtbl->CreateInstance(This,ppIBitmapDecoder);
3326}
3327#endif
3328#endif
3329
3330#endif
3331
3332HRESULT STDMETHODCALLTYPE IWICBitmapDecoderInfo_MatchesPattern_Proxy(
3333    IWICBitmapDecoderInfo* This,
3334    IStream *pIStream,
3335    WINBOOL *pfMatches);
3336void __RPC_STUB IWICBitmapDecoderInfo_MatchesPattern_Stub(
3337    IRpcStubBuffer* This,
3338    IRpcChannelBuffer* pRpcChannelBuffer,
3339    PRPC_MESSAGE pRpcMessage,
3340    DWORD* pdwStubPhase);
3341HRESULT STDMETHODCALLTYPE IWICBitmapDecoderInfo_CreateInstance_Proxy(
3342    IWICBitmapDecoderInfo* This,
3343    IWICBitmapDecoder **ppIBitmapDecoder);
3344void __RPC_STUB IWICBitmapDecoderInfo_CreateInstance_Stub(
3345    IRpcStubBuffer* This,
3346    IRpcChannelBuffer* pRpcChannelBuffer,
3347    PRPC_MESSAGE pRpcMessage,
3348    DWORD* pdwStubPhase);
3349
3350#endif  /* __IWICBitmapDecoderInfo_INTERFACE_DEFINED__ */
3351
3352/*****************************************************************************
3353 * IWICBitmapDecoder interface
3354 */
3355#ifndef __IWICBitmapDecoder_INTERFACE_DEFINED__
3356#define __IWICBitmapDecoder_INTERFACE_DEFINED__
3357
3358DEFINE_GUID(IID_IWICBitmapDecoder, 0x9edde9e7, 0x8dee, 0x47ea, 0x99,0xdf, 0xe6,0xfa,0xf2,0xed,0x44,0xbf);
3359#if defined(__cplusplus) && !defined(CINTERFACE)
3360MIDL_INTERFACE("9edde9e7-8dee-47ea-99df-e6faf2ed44bf")
3361IWICBitmapDecoder : public IUnknown
3362{
3363    virtual HRESULT STDMETHODCALLTYPE QueryCapability(
3364        IStream *pIStream,
3365        DWORD *pdwCapability) = 0;
3366
3367    virtual HRESULT STDMETHODCALLTYPE Initialize(
3368        IStream *pIStream,
3369        WICDecodeOptions cacheOptions) = 0;
3370
3371    virtual HRESULT STDMETHODCALLTYPE GetContainerFormat(
3372        GUID *pguidContainerFormat) = 0;
3373
3374    virtual HRESULT STDMETHODCALLTYPE GetDecoderInfo(
3375        IWICBitmapDecoderInfo **ppIDecoderInfo) = 0;
3376
3377    virtual HRESULT STDMETHODCALLTYPE CopyPalette(
3378        IWICPalette *pIPalette) = 0;
3379
3380    virtual HRESULT STDMETHODCALLTYPE GetMetadataQueryReader(
3381        IWICMetadataQueryReader **ppIMetadataQueryReader) = 0;
3382
3383    virtual HRESULT STDMETHODCALLTYPE GetPreview(
3384        IWICBitmapSource **ppIBitmapSource) = 0;
3385
3386    virtual HRESULT STDMETHODCALLTYPE GetColorContexts(
3387        UINT cCount,
3388        IWICColorContext **ppIColorContexts,
3389        UINT *pcActualCount) = 0;
3390
3391    virtual HRESULT STDMETHODCALLTYPE GetThumbnail(
3392        IWICBitmapSource **ppIThumbnail) = 0;
3393
3394    virtual HRESULT STDMETHODCALLTYPE GetFrameCount(
3395        UINT *pCount) = 0;
3396
3397    virtual HRESULT STDMETHODCALLTYPE GetFrame(
3398        UINT index,
3399        IWICBitmapFrameDecode **ppIBitmapFrame) = 0;
3400
3401};
3402#ifdef __CRT_UUID_DECL
3403__CRT_UUID_DECL(IWICBitmapDecoder, 0x9edde9e7, 0x8dee, 0x47ea, 0x99,0xdf, 0xe6,0xfa,0xf2,0xed,0x44,0xbf)
3404#endif
3405#else
3406typedef struct IWICBitmapDecoderVtbl {
3407    BEGIN_INTERFACE
3408
3409    /*** IUnknown methods ***/
3410    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3411        IWICBitmapDecoder* This,
3412        REFIID riid,
3413        void **ppvObject);
3414
3415    ULONG (STDMETHODCALLTYPE *AddRef)(
3416        IWICBitmapDecoder* This);
3417
3418    ULONG (STDMETHODCALLTYPE *Release)(
3419        IWICBitmapDecoder* This);
3420
3421    /*** IWICBitmapDecoder methods ***/
3422    HRESULT (STDMETHODCALLTYPE *QueryCapability)(
3423        IWICBitmapDecoder* This,
3424        IStream *pIStream,
3425        DWORD *pdwCapability);
3426
3427    HRESULT (STDMETHODCALLTYPE *Initialize)(
3428        IWICBitmapDecoder* This,
3429        IStream *pIStream,
3430        WICDecodeOptions cacheOptions);
3431
3432    HRESULT (STDMETHODCALLTYPE *GetContainerFormat)(
3433        IWICBitmapDecoder* This,
3434        GUID *pguidContainerFormat);
3435
3436    HRESULT (STDMETHODCALLTYPE *GetDecoderInfo)(
3437        IWICBitmapDecoder* This,
3438        IWICBitmapDecoderInfo **ppIDecoderInfo);
3439
3440    HRESULT (STDMETHODCALLTYPE *CopyPalette)(
3441        IWICBitmapDecoder* This,
3442        IWICPalette *pIPalette);
3443
3444    HRESULT (STDMETHODCALLTYPE *GetMetadataQueryReader)(
3445        IWICBitmapDecoder* This,
3446        IWICMetadataQueryReader **ppIMetadataQueryReader);
3447
3448    HRESULT (STDMETHODCALLTYPE *GetPreview)(
3449        IWICBitmapDecoder* This,
3450        IWICBitmapSource **ppIBitmapSource);
3451
3452    HRESULT (STDMETHODCALLTYPE *GetColorContexts)(
3453        IWICBitmapDecoder* This,
3454        UINT cCount,
3455        IWICColorContext **ppIColorContexts,
3456        UINT *pcActualCount);
3457
3458    HRESULT (STDMETHODCALLTYPE *GetThumbnail)(
3459        IWICBitmapDecoder* This,
3460        IWICBitmapSource **ppIThumbnail);
3461
3462    HRESULT (STDMETHODCALLTYPE *GetFrameCount)(
3463        IWICBitmapDecoder* This,
3464        UINT *pCount);
3465
3466    HRESULT (STDMETHODCALLTYPE *GetFrame)(
3467        IWICBitmapDecoder* This,
3468        UINT index,
3469        IWICBitmapFrameDecode **ppIBitmapFrame);
3470
3471    END_INTERFACE
3472} IWICBitmapDecoderVtbl;
3473interface IWICBitmapDecoder {
3474    CONST_VTBL IWICBitmapDecoderVtbl* lpVtbl;
3475};
3476
3477#ifdef COBJMACROS
3478#ifndef WIDL_C_INLINE_WRAPPERS
3479/*** IUnknown methods ***/
3480#define IWICBitmapDecoder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3481#define IWICBitmapDecoder_AddRef(This) (This)->lpVtbl->AddRef(This)
3482#define IWICBitmapDecoder_Release(This) (This)->lpVtbl->Release(This)
3483/*** IWICBitmapDecoder methods ***/
3484#define IWICBitmapDecoder_QueryCapability(This,pIStream,pdwCapability) (This)->lpVtbl->QueryCapability(This,pIStream,pdwCapability)
3485#define IWICBitmapDecoder_Initialize(This,pIStream,cacheOptions) (This)->lpVtbl->Initialize(This,pIStream,cacheOptions)
3486#define IWICBitmapDecoder_GetContainerFormat(This,pguidContainerFormat) (This)->lpVtbl->GetContainerFormat(This,pguidContainerFormat)
3487#define IWICBitmapDecoder_GetDecoderInfo(This,ppIDecoderInfo) (This)->lpVtbl->GetDecoderInfo(This,ppIDecoderInfo)
3488#define IWICBitmapDecoder_CopyPalette(This,pIPalette) (This)->lpVtbl->CopyPalette(This,pIPalette)
3489#define IWICBitmapDecoder_GetMetadataQueryReader(This,ppIMetadataQueryReader) (This)->lpVtbl->GetMetadataQueryReader(This,ppIMetadataQueryReader)
3490#define IWICBitmapDecoder_GetPreview(This,ppIBitmapSource) (This)->lpVtbl->GetPreview(This,ppIBitmapSource)
3491#define IWICBitmapDecoder_GetColorContexts(This,cCount,ppIColorContexts,pcActualCount) (This)->lpVtbl->GetColorContexts(This,cCount,ppIColorContexts,pcActualCount)
3492#define IWICBitmapDecoder_GetThumbnail(This,ppIThumbnail) (This)->lpVtbl->GetThumbnail(This,ppIThumbnail)
3493#define IWICBitmapDecoder_GetFrameCount(This,pCount) (This)->lpVtbl->GetFrameCount(This,pCount)
3494#define IWICBitmapDecoder_GetFrame(This,index,ppIBitmapFrame) (This)->lpVtbl->GetFrame(This,index,ppIBitmapFrame)
3495#else
3496/*** IUnknown methods ***/
3497static FORCEINLINE HRESULT IWICBitmapDecoder_QueryInterface(IWICBitmapDecoder* This,REFIID riid,void **ppvObject) {
3498    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3499}
3500static FORCEINLINE ULONG IWICBitmapDecoder_AddRef(IWICBitmapDecoder* This) {
3501    return This->lpVtbl->AddRef(This);
3502}
3503static FORCEINLINE ULONG IWICBitmapDecoder_Release(IWICBitmapDecoder* This) {
3504    return This->lpVtbl->Release(This);
3505}
3506/*** IWICBitmapDecoder methods ***/
3507static FORCEINLINE HRESULT IWICBitmapDecoder_QueryCapability(IWICBitmapDecoder* This,IStream *pIStream,DWORD *pdwCapability) {
3508    return This->lpVtbl->QueryCapability(This,pIStream,pdwCapability);
3509}
3510static FORCEINLINE HRESULT IWICBitmapDecoder_Initialize(IWICBitmapDecoder* This,IStream *pIStream,WICDecodeOptions cacheOptions) {
3511    return This->lpVtbl->Initialize(This,pIStream,cacheOptions);
3512}
3513static FORCEINLINE HRESULT IWICBitmapDecoder_GetContainerFormat(IWICBitmapDecoder* This,GUID *pguidContainerFormat) {
3514    return This->lpVtbl->GetContainerFormat(This,pguidContainerFormat);
3515}
3516static FORCEINLINE HRESULT IWICBitmapDecoder_GetDecoderInfo(IWICBitmapDecoder* This,IWICBitmapDecoderInfo **ppIDecoderInfo) {
3517    return This->lpVtbl->GetDecoderInfo(This,ppIDecoderInfo);
3518}
3519static FORCEINLINE HRESULT IWICBitmapDecoder_CopyPalette(IWICBitmapDecoder* This,IWICPalette *pIPalette) {
3520    return This->lpVtbl->CopyPalette(This,pIPalette);
3521}
3522static FORCEINLINE HRESULT IWICBitmapDecoder_GetMetadataQueryReader(IWICBitmapDecoder* This,IWICMetadataQueryReader **ppIMetadataQueryReader) {
3523    return This->lpVtbl->GetMetadataQueryReader(This,ppIMetadataQueryReader);
3524}
3525static FORCEINLINE HRESULT IWICBitmapDecoder_GetPreview(IWICBitmapDecoder* This,IWICBitmapSource **ppIBitmapSource) {
3526    return This->lpVtbl->GetPreview(This,ppIBitmapSource);
3527}
3528static FORCEINLINE HRESULT IWICBitmapDecoder_GetColorContexts(IWICBitmapDecoder* This,UINT cCount,IWICColorContext **ppIColorContexts,UINT *pcActualCount) {
3529    return This->lpVtbl->GetColorContexts(This,cCount,ppIColorContexts,pcActualCount);
3530}
3531static FORCEINLINE HRESULT IWICBitmapDecoder_GetThumbnail(IWICBitmapDecoder* This,IWICBitmapSource **ppIThumbnail) {
3532    return This->lpVtbl->GetThumbnail(This,ppIThumbnail);
3533}
3534static FORCEINLINE HRESULT IWICBitmapDecoder_GetFrameCount(IWICBitmapDecoder* This,UINT *pCount) {
3535    return This->lpVtbl->GetFrameCount(This,pCount);
3536}
3537static FORCEINLINE HRESULT IWICBitmapDecoder_GetFrame(IWICBitmapDecoder* This,UINT index,IWICBitmapFrameDecode **ppIBitmapFrame) {
3538    return This->lpVtbl->GetFrame(This,index,ppIBitmapFrame);
3539}
3540#endif
3541#endif
3542
3543#endif
3544
3545HRESULT STDMETHODCALLTYPE IWICBitmapDecoder_QueryCapability_Proxy(
3546    IWICBitmapDecoder* This,
3547    IStream *pIStream,
3548    DWORD *pdwCapability);
3549void __RPC_STUB IWICBitmapDecoder_QueryCapability_Stub(
3550    IRpcStubBuffer* This,
3551    IRpcChannelBuffer* pRpcChannelBuffer,
3552    PRPC_MESSAGE pRpcMessage,
3553    DWORD* pdwStubPhase);
3554HRESULT STDMETHODCALLTYPE IWICBitmapDecoder_Initialize_Proxy(
3555    IWICBitmapDecoder* This,
3556    IStream *pIStream,
3557    WICDecodeOptions cacheOptions);
3558void __RPC_STUB IWICBitmapDecoder_Initialize_Stub(
3559    IRpcStubBuffer* This,
3560    IRpcChannelBuffer* pRpcChannelBuffer,
3561    PRPC_MESSAGE pRpcMessage,
3562    DWORD* pdwStubPhase);
3563HRESULT STDMETHODCALLTYPE IWICBitmapDecoder_GetContainerFormat_Proxy(
3564    IWICBitmapDecoder* This,
3565    GUID *pguidContainerFormat);
3566void __RPC_STUB IWICBitmapDecoder_GetContainerFormat_Stub(
3567    IRpcStubBuffer* This,
3568    IRpcChannelBuffer* pRpcChannelBuffer,
3569    PRPC_MESSAGE pRpcMessage,
3570    DWORD* pdwStubPhase);
3571HRESULT STDMETHODCALLTYPE IWICBitmapDecoder_GetDecoderInfo_Proxy(
3572    IWICBitmapDecoder* This,
3573    IWICBitmapDecoderInfo **ppIDecoderInfo);
3574void __RPC_STUB IWICBitmapDecoder_GetDecoderInfo_Stub(
3575    IRpcStubBuffer* This,
3576    IRpcChannelBuffer* pRpcChannelBuffer,
3577    PRPC_MESSAGE pRpcMessage,
3578    DWORD* pdwStubPhase);
3579HRESULT STDMETHODCALLTYPE IWICBitmapDecoder_CopyPalette_Proxy(
3580    IWICBitmapDecoder* This,
3581    IWICPalette *pIPalette);
3582void __RPC_STUB IWICBitmapDecoder_CopyPalette_Stub(
3583    IRpcStubBuffer* This,
3584    IRpcChannelBuffer* pRpcChannelBuffer,
3585    PRPC_MESSAGE pRpcMessage,
3586    DWORD* pdwStubPhase);
3587HRESULT STDMETHODCALLTYPE IWICBitmapDecoder_GetMetadataQueryReader_Proxy(
3588    IWICBitmapDecoder* This,
3589    IWICMetadataQueryReader **ppIMetadataQueryReader);
3590void __RPC_STUB IWICBitmapDecoder_GetMetadataQueryReader_Stub(
3591    IRpcStubBuffer* This,
3592    IRpcChannelBuffer* pRpcChannelBuffer,
3593    PRPC_MESSAGE pRpcMessage,
3594    DWORD* pdwStubPhase);
3595HRESULT STDMETHODCALLTYPE IWICBitmapDecoder_GetPreview_Proxy(
3596    IWICBitmapDecoder* This,
3597    IWICBitmapSource **ppIBitmapSource);
3598void __RPC_STUB IWICBitmapDecoder_GetPreview_Stub(
3599    IRpcStubBuffer* This,
3600    IRpcChannelBuffer* pRpcChannelBuffer,
3601    PRPC_MESSAGE pRpcMessage,
3602    DWORD* pdwStubPhase);
3603HRESULT STDMETHODCALLTYPE IWICBitmapDecoder_GetColorContexts_Proxy(
3604    IWICBitmapDecoder* This,
3605    UINT cCount,
3606    IWICColorContext **ppIColorContexts,
3607    UINT *pcActualCount);
3608void __RPC_STUB IWICBitmapDecoder_GetColorContexts_Stub(
3609    IRpcStubBuffer* This,
3610    IRpcChannelBuffer* pRpcChannelBuffer,
3611    PRPC_MESSAGE pRpcMessage,
3612    DWORD* pdwStubPhase);
3613HRESULT STDMETHODCALLTYPE IWICBitmapDecoder_GetThumbnail_Proxy(
3614    IWICBitmapDecoder* This,
3615    IWICBitmapSource **ppIThumbnail);
3616void __RPC_STUB IWICBitmapDecoder_GetThumbnail_Stub(
3617    IRpcStubBuffer* This,
3618    IRpcChannelBuffer* pRpcChannelBuffer,
3619    PRPC_MESSAGE pRpcMessage,
3620    DWORD* pdwStubPhase);
3621HRESULT STDMETHODCALLTYPE IWICBitmapDecoder_GetFrameCount_Proxy(
3622    IWICBitmapDecoder* This,
3623    UINT *pCount);
3624void __RPC_STUB IWICBitmapDecoder_GetFrameCount_Stub(
3625    IRpcStubBuffer* This,
3626    IRpcChannelBuffer* pRpcChannelBuffer,
3627    PRPC_MESSAGE pRpcMessage,
3628    DWORD* pdwStubPhase);
3629HRESULT STDMETHODCALLTYPE IWICBitmapDecoder_GetFrame_Proxy(
3630    IWICBitmapDecoder* This,
3631    UINT index,
3632    IWICBitmapFrameDecode **ppIBitmapFrame);
3633void __RPC_STUB IWICBitmapDecoder_GetFrame_Stub(
3634    IRpcStubBuffer* This,
3635    IRpcChannelBuffer* pRpcChannelBuffer,
3636    PRPC_MESSAGE pRpcMessage,
3637    DWORD* pdwStubPhase);
3638
3639#endif  /* __IWICBitmapDecoder_INTERFACE_DEFINED__ */
3640
3641/*****************************************************************************
3642 * IWICBitmapFrameEncode interface
3643 */
3644#ifndef __IWICBitmapFrameEncode_INTERFACE_DEFINED__
3645#define __IWICBitmapFrameEncode_INTERFACE_DEFINED__
3646
3647DEFINE_GUID(IID_IWICBitmapFrameEncode, 0x00000105, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94);
3648#if defined(__cplusplus) && !defined(CINTERFACE)
3649MIDL_INTERFACE("00000105-a8f2-4877-ba0a-fd2b6645fb94")
3650IWICBitmapFrameEncode : public IUnknown
3651{
3652    virtual HRESULT STDMETHODCALLTYPE Initialize(
3653        IPropertyBag2 *pIEncoderOptions) = 0;
3654
3655    virtual HRESULT STDMETHODCALLTYPE SetSize(
3656        UINT uiWidth,
3657        UINT uiHeight) = 0;
3658
3659    virtual HRESULT STDMETHODCALLTYPE SetResolution(
3660        double dpiX,
3661        double dpiY) = 0;
3662
3663    virtual HRESULT STDMETHODCALLTYPE SetPixelFormat(
3664        WICPixelFormatGUID *pPixelFormat) = 0;
3665
3666    virtual HRESULT STDMETHODCALLTYPE SetColorContexts(
3667        UINT cCount,
3668        IWICColorContext **ppIColorContext) = 0;
3669
3670    virtual HRESULT STDMETHODCALLTYPE SetPalette(
3671        IWICPalette *pIPalette) = 0;
3672
3673    virtual HRESULT STDMETHODCALLTYPE SetThumbnail(
3674        IWICBitmapSource *pIThumbnail) = 0;
3675
3676    virtual HRESULT STDMETHODCALLTYPE WritePixels(
3677        UINT lineCount,
3678        UINT cbStride,
3679        UINT cbBufferSize,
3680        BYTE *pbPixels) = 0;
3681
3682    virtual HRESULT STDMETHODCALLTYPE WriteSource(
3683        IWICBitmapSource *pIBitmapSource,
3684        WICRect *prc) = 0;
3685
3686    virtual HRESULT STDMETHODCALLTYPE Commit(
3687        ) = 0;
3688
3689    virtual HRESULT STDMETHODCALLTYPE GetMetadataQueryWriter(
3690        IWICMetadataQueryWriter **ppIMetadataQueryWriter) = 0;
3691
3692};
3693#ifdef __CRT_UUID_DECL
3694__CRT_UUID_DECL(IWICBitmapFrameEncode, 0x00000105, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94)
3695#endif
3696#else
3697typedef struct IWICBitmapFrameEncodeVtbl {
3698    BEGIN_INTERFACE
3699
3700    /*** IUnknown methods ***/
3701    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3702        IWICBitmapFrameEncode* This,
3703        REFIID riid,
3704        void **ppvObject);
3705
3706    ULONG (STDMETHODCALLTYPE *AddRef)(
3707        IWICBitmapFrameEncode* This);
3708
3709    ULONG (STDMETHODCALLTYPE *Release)(
3710        IWICBitmapFrameEncode* This);
3711
3712    /*** IWICBitmapFrameEncode methods ***/
3713    HRESULT (STDMETHODCALLTYPE *Initialize)(
3714        IWICBitmapFrameEncode* This,
3715        IPropertyBag2 *pIEncoderOptions);
3716
3717    HRESULT (STDMETHODCALLTYPE *SetSize)(
3718        IWICBitmapFrameEncode* This,
3719        UINT uiWidth,
3720        UINT uiHeight);
3721
3722    HRESULT (STDMETHODCALLTYPE *SetResolution)(
3723        IWICBitmapFrameEncode* This,
3724        double dpiX,
3725        double dpiY);
3726
3727    HRESULT (STDMETHODCALLTYPE *SetPixelFormat)(
3728        IWICBitmapFrameEncode* This,
3729        WICPixelFormatGUID *pPixelFormat);
3730
3731    HRESULT (STDMETHODCALLTYPE *SetColorContexts)(
3732        IWICBitmapFrameEncode* This,
3733        UINT cCount,
3734        IWICColorContext **ppIColorContext);
3735
3736    HRESULT (STDMETHODCALLTYPE *SetPalette)(
3737        IWICBitmapFrameEncode* This,
3738        IWICPalette *pIPalette);
3739
3740    HRESULT (STDMETHODCALLTYPE *SetThumbnail)(
3741        IWICBitmapFrameEncode* This,
3742        IWICBitmapSource *pIThumbnail);
3743
3744    HRESULT (STDMETHODCALLTYPE *WritePixels)(
3745        IWICBitmapFrameEncode* This,
3746        UINT lineCount,
3747        UINT cbStride,
3748        UINT cbBufferSize,
3749        BYTE *pbPixels);
3750
3751    HRESULT (STDMETHODCALLTYPE *WriteSource)(
3752        IWICBitmapFrameEncode* This,
3753        IWICBitmapSource *pIBitmapSource,
3754        WICRect *prc);
3755
3756    HRESULT (STDMETHODCALLTYPE *Commit)(
3757        IWICBitmapFrameEncode* This);
3758
3759    HRESULT (STDMETHODCALLTYPE *GetMetadataQueryWriter)(
3760        IWICBitmapFrameEncode* This,
3761        IWICMetadataQueryWriter **ppIMetadataQueryWriter);
3762
3763    END_INTERFACE
3764} IWICBitmapFrameEncodeVtbl;
3765interface IWICBitmapFrameEncode {
3766    CONST_VTBL IWICBitmapFrameEncodeVtbl* lpVtbl;
3767};
3768
3769#ifdef COBJMACROS
3770#ifndef WIDL_C_INLINE_WRAPPERS
3771/*** IUnknown methods ***/
3772#define IWICBitmapFrameEncode_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3773#define IWICBitmapFrameEncode_AddRef(This) (This)->lpVtbl->AddRef(This)
3774#define IWICBitmapFrameEncode_Release(This) (This)->lpVtbl->Release(This)
3775/*** IWICBitmapFrameEncode methods ***/
3776#define IWICBitmapFrameEncode_Initialize(This,pIEncoderOptions) (This)->lpVtbl->Initialize(This,pIEncoderOptions)
3777#define IWICBitmapFrameEncode_SetSize(This,uiWidth,uiHeight) (This)->lpVtbl->SetSize(This,uiWidth,uiHeight)
3778#define IWICBitmapFrameEncode_SetResolution(This,dpiX,dpiY) (This)->lpVtbl->SetResolution(This,dpiX,dpiY)
3779#define IWICBitmapFrameEncode_SetPixelFormat(This,pPixelFormat) (This)->lpVtbl->SetPixelFormat(This,pPixelFormat)
3780#define IWICBitmapFrameEncode_SetColorContexts(This,cCount,ppIColorContext) (This)->lpVtbl->SetColorContexts(This,cCount,ppIColorContext)
3781#define IWICBitmapFrameEncode_SetPalette(This,pIPalette) (This)->lpVtbl->SetPalette(This,pIPalette)
3782#define IWICBitmapFrameEncode_SetThumbnail(This,pIThumbnail) (This)->lpVtbl->SetThumbnail(This,pIThumbnail)
3783#define IWICBitmapFrameEncode_WritePixels(This,lineCount,cbStride,cbBufferSize,pbPixels) (This)->lpVtbl->WritePixels(This,lineCount,cbStride,cbBufferSize,pbPixels)
3784#define IWICBitmapFrameEncode_WriteSource(This,pIBitmapSource,prc) (This)->lpVtbl->WriteSource(This,pIBitmapSource,prc)
3785#define IWICBitmapFrameEncode_Commit(This) (This)->lpVtbl->Commit(This)
3786#define IWICBitmapFrameEncode_GetMetadataQueryWriter(This,ppIMetadataQueryWriter) (This)->lpVtbl->GetMetadataQueryWriter(This,ppIMetadataQueryWriter)
3787#else
3788/*** IUnknown methods ***/
3789static FORCEINLINE HRESULT IWICBitmapFrameEncode_QueryInterface(IWICBitmapFrameEncode* This,REFIID riid,void **ppvObject) {
3790    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3791}
3792static FORCEINLINE ULONG IWICBitmapFrameEncode_AddRef(IWICBitmapFrameEncode* This) {
3793    return This->lpVtbl->AddRef(This);
3794}
3795static FORCEINLINE ULONG IWICBitmapFrameEncode_Release(IWICBitmapFrameEncode* This) {
3796    return This->lpVtbl->Release(This);
3797}
3798/*** IWICBitmapFrameEncode methods ***/
3799static FORCEINLINE HRESULT IWICBitmapFrameEncode_Initialize(IWICBitmapFrameEncode* This,IPropertyBag2 *pIEncoderOptions) {
3800    return This->lpVtbl->Initialize(This,pIEncoderOptions);
3801}
3802static FORCEINLINE HRESULT IWICBitmapFrameEncode_SetSize(IWICBitmapFrameEncode* This,UINT uiWidth,UINT uiHeight) {
3803    return This->lpVtbl->SetSize(This,uiWidth,uiHeight);
3804}
3805static FORCEINLINE HRESULT IWICBitmapFrameEncode_SetResolution(IWICBitmapFrameEncode* This,double dpiX,double dpiY) {
3806    return This->lpVtbl->SetResolution(This,dpiX,dpiY);
3807}
3808static FORCEINLINE HRESULT IWICBitmapFrameEncode_SetPixelFormat(IWICBitmapFrameEncode* This,WICPixelFormatGUID *pPixelFormat) {
3809    return This->lpVtbl->SetPixelFormat(This,pPixelFormat);
3810}
3811static FORCEINLINE HRESULT IWICBitmapFrameEncode_SetColorContexts(IWICBitmapFrameEncode* This,UINT cCount,IWICColorContext **ppIColorContext) {
3812    return This->lpVtbl->SetColorContexts(This,cCount,ppIColorContext);
3813}
3814static FORCEINLINE HRESULT IWICBitmapFrameEncode_SetPalette(IWICBitmapFrameEncode* This,IWICPalette *pIPalette) {
3815    return This->lpVtbl->SetPalette(This,pIPalette);
3816}
3817static FORCEINLINE HRESULT IWICBitmapFrameEncode_SetThumbnail(IWICBitmapFrameEncode* This,IWICBitmapSource *pIThumbnail) {
3818    return This->lpVtbl->SetThumbnail(This,pIThumbnail);
3819}
3820static FORCEINLINE HRESULT IWICBitmapFrameEncode_WritePixels(IWICBitmapFrameEncode* This,UINT lineCount,UINT cbStride,UINT cbBufferSize,BYTE *pbPixels) {
3821    return This->lpVtbl->WritePixels(This,lineCount,cbStride,cbBufferSize,pbPixels);
3822}
3823static FORCEINLINE HRESULT IWICBitmapFrameEncode_WriteSource(IWICBitmapFrameEncode* This,IWICBitmapSource *pIBitmapSource,WICRect *prc) {
3824    return This->lpVtbl->WriteSource(This,pIBitmapSource,prc);
3825}
3826static FORCEINLINE HRESULT IWICBitmapFrameEncode_Commit(IWICBitmapFrameEncode* This) {
3827    return This->lpVtbl->Commit(This);
3828}
3829static FORCEINLINE HRESULT IWICBitmapFrameEncode_GetMetadataQueryWriter(IWICBitmapFrameEncode* This,IWICMetadataQueryWriter **ppIMetadataQueryWriter) {
3830    return This->lpVtbl->GetMetadataQueryWriter(This,ppIMetadataQueryWriter);
3831}
3832#endif
3833#endif
3834
3835#endif
3836
3837HRESULT STDMETHODCALLTYPE IWICBitmapFrameEncode_Initialize_Proxy(
3838    IWICBitmapFrameEncode* This,
3839    IPropertyBag2 *pIEncoderOptions);
3840void __RPC_STUB IWICBitmapFrameEncode_Initialize_Stub(
3841    IRpcStubBuffer* This,
3842    IRpcChannelBuffer* pRpcChannelBuffer,
3843    PRPC_MESSAGE pRpcMessage,
3844    DWORD* pdwStubPhase);
3845HRESULT STDMETHODCALLTYPE IWICBitmapFrameEncode_SetSize_Proxy(
3846    IWICBitmapFrameEncode* This,
3847    UINT uiWidth,
3848    UINT uiHeight);
3849void __RPC_STUB IWICBitmapFrameEncode_SetSize_Stub(
3850    IRpcStubBuffer* This,
3851    IRpcChannelBuffer* pRpcChannelBuffer,
3852    PRPC_MESSAGE pRpcMessage,
3853    DWORD* pdwStubPhase);
3854HRESULT STDMETHODCALLTYPE IWICBitmapFrameEncode_SetResolution_Proxy(
3855    IWICBitmapFrameEncode* This,
3856    double dpiX,
3857    double dpiY);
3858void __RPC_STUB IWICBitmapFrameEncode_SetResolution_Stub(
3859    IRpcStubBuffer* This,
3860    IRpcChannelBuffer* pRpcChannelBuffer,
3861    PRPC_MESSAGE pRpcMessage,
3862    DWORD* pdwStubPhase);
3863HRESULT STDMETHODCALLTYPE IWICBitmapFrameEncode_SetPixelFormat_Proxy(
3864    IWICBitmapFrameEncode* This,
3865    WICPixelFormatGUID *pPixelFormat);
3866void __RPC_STUB IWICBitmapFrameEncode_SetPixelFormat_Stub(
3867    IRpcStubBuffer* This,
3868    IRpcChannelBuffer* pRpcChannelBuffer,
3869    PRPC_MESSAGE pRpcMessage,
3870    DWORD* pdwStubPhase);
3871HRESULT STDMETHODCALLTYPE IWICBitmapFrameEncode_SetColorContexts_Proxy(
3872    IWICBitmapFrameEncode* This,
3873    UINT cCount,
3874    IWICColorContext **ppIColorContext);
3875void __RPC_STUB IWICBitmapFrameEncode_SetColorContexts_Stub(
3876    IRpcStubBuffer* This,
3877    IRpcChannelBuffer* pRpcChannelBuffer,
3878    PRPC_MESSAGE pRpcMessage,
3879    DWORD* pdwStubPhase);
3880HRESULT STDMETHODCALLTYPE IWICBitmapFrameEncode_SetPalette_Proxy(
3881    IWICBitmapFrameEncode* This,
3882    IWICPalette *pIPalette);
3883void __RPC_STUB IWICBitmapFrameEncode_SetPalette_Stub(
3884    IRpcStubBuffer* This,
3885    IRpcChannelBuffer* pRpcChannelBuffer,
3886    PRPC_MESSAGE pRpcMessage,
3887    DWORD* pdwStubPhase);
3888HRESULT STDMETHODCALLTYPE IWICBitmapFrameEncode_SetThumbnail_Proxy(
3889    IWICBitmapFrameEncode* This,
3890    IWICBitmapSource *pIThumbnail);
3891void __RPC_STUB IWICBitmapFrameEncode_SetThumbnail_Stub(
3892    IRpcStubBuffer* This,
3893    IRpcChannelBuffer* pRpcChannelBuffer,
3894    PRPC_MESSAGE pRpcMessage,
3895    DWORD* pdwStubPhase);
3896HRESULT STDMETHODCALLTYPE IWICBitmapFrameEncode_WritePixels_Proxy(
3897    IWICBitmapFrameEncode* This,
3898    UINT lineCount,
3899    UINT cbStride,
3900    UINT cbBufferSize,
3901    BYTE *pbPixels);
3902void __RPC_STUB IWICBitmapFrameEncode_WritePixels_Stub(
3903    IRpcStubBuffer* This,
3904    IRpcChannelBuffer* pRpcChannelBuffer,
3905    PRPC_MESSAGE pRpcMessage,
3906    DWORD* pdwStubPhase);
3907HRESULT STDMETHODCALLTYPE IWICBitmapFrameEncode_WriteSource_Proxy(
3908    IWICBitmapFrameEncode* This,
3909    IWICBitmapSource *pIBitmapSource,
3910    WICRect *prc);
3911void __RPC_STUB IWICBitmapFrameEncode_WriteSource_Stub(
3912    IRpcStubBuffer* This,
3913    IRpcChannelBuffer* pRpcChannelBuffer,
3914    PRPC_MESSAGE pRpcMessage,
3915    DWORD* pdwStubPhase);
3916HRESULT STDMETHODCALLTYPE IWICBitmapFrameEncode_Commit_Proxy(
3917    IWICBitmapFrameEncode* This);
3918void __RPC_STUB IWICBitmapFrameEncode_Commit_Stub(
3919    IRpcStubBuffer* This,
3920    IRpcChannelBuffer* pRpcChannelBuffer,
3921    PRPC_MESSAGE pRpcMessage,
3922    DWORD* pdwStubPhase);
3923HRESULT STDMETHODCALLTYPE IWICBitmapFrameEncode_GetMetadataQueryWriter_Proxy(
3924    IWICBitmapFrameEncode* This,
3925    IWICMetadataQueryWriter **ppIMetadataQueryWriter);
3926void __RPC_STUB IWICBitmapFrameEncode_GetMetadataQueryWriter_Stub(
3927    IRpcStubBuffer* This,
3928    IRpcChannelBuffer* pRpcChannelBuffer,
3929    PRPC_MESSAGE pRpcMessage,
3930    DWORD* pdwStubPhase);
3931
3932#endif  /* __IWICBitmapFrameEncode_INTERFACE_DEFINED__ */
3933
3934#ifndef __IWICBitmapEncoder_FWD_DEFINED__
3935#define __IWICBitmapEncoder_FWD_DEFINED__
3936typedef interface IWICBitmapEncoder IWICBitmapEncoder;
3937#endif
3938
3939/*****************************************************************************
3940 * IWICBitmapEncoderInfo interface
3941 */
3942#ifndef __IWICBitmapEncoderInfo_INTERFACE_DEFINED__
3943#define __IWICBitmapEncoderInfo_INTERFACE_DEFINED__
3944
3945DEFINE_GUID(IID_IWICBitmapEncoderInfo, 0x94c9b4ee, 0xa09f, 0x4f92, 0x8a,0x1e, 0x4a,0x9b,0xce,0x7e,0x76,0xfb);
3946#if defined(__cplusplus) && !defined(CINTERFACE)
3947MIDL_INTERFACE("94c9b4ee-a09f-4f92-8a1e-4a9bce7e76fb")
3948IWICBitmapEncoderInfo : public IWICBitmapCodecInfo
3949{
3950    virtual HRESULT STDMETHODCALLTYPE CreateInstance(
3951        IWICBitmapEncoder **ppIBitmapEncoder) = 0;
3952
3953};
3954#ifdef __CRT_UUID_DECL
3955__CRT_UUID_DECL(IWICBitmapEncoderInfo, 0x94c9b4ee, 0xa09f, 0x4f92, 0x8a,0x1e, 0x4a,0x9b,0xce,0x7e,0x76,0xfb)
3956#endif
3957#else
3958typedef struct IWICBitmapEncoderInfoVtbl {
3959    BEGIN_INTERFACE
3960
3961    /*** IUnknown methods ***/
3962    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3963        IWICBitmapEncoderInfo* This,
3964        REFIID riid,
3965        void **ppvObject);
3966
3967    ULONG (STDMETHODCALLTYPE *AddRef)(
3968        IWICBitmapEncoderInfo* This);
3969
3970    ULONG (STDMETHODCALLTYPE *Release)(
3971        IWICBitmapEncoderInfo* This);
3972
3973    /*** IWICComponentInfo methods ***/
3974    HRESULT (STDMETHODCALLTYPE *GetComponentType)(
3975        IWICBitmapEncoderInfo* This,
3976        WICComponentType *pType);
3977
3978    HRESULT (STDMETHODCALLTYPE *GetCLSID)(
3979        IWICBitmapEncoderInfo* This,
3980        CLSID *pclsid);
3981
3982    HRESULT (STDMETHODCALLTYPE *GetSigningStatus)(
3983        IWICBitmapEncoderInfo* This,
3984        DWORD *pStatus);
3985
3986    HRESULT (STDMETHODCALLTYPE *GetAuthor)(
3987        IWICBitmapEncoderInfo* This,
3988        UINT cchAuthor,
3989        WCHAR *wzAuthor,
3990        UINT *pcchActual);
3991
3992    HRESULT (STDMETHODCALLTYPE *GetVendorGUID)(
3993        IWICBitmapEncoderInfo* This,
3994        GUID *pguidVendor);
3995
3996    HRESULT (STDMETHODCALLTYPE *GetVersion)(
3997        IWICBitmapEncoderInfo* This,
3998        UINT cchVersion,
3999        WCHAR *wzVersion,
4000        UINT *pcchActual);
4001
4002    HRESULT (STDMETHODCALLTYPE *GetSpecVersion)(
4003        IWICBitmapEncoderInfo* This,
4004        UINT cchSpecVersion,
4005        WCHAR *wzSpecVersion,
4006        UINT *pcchActual);
4007
4008    HRESULT (STDMETHODCALLTYPE *GetFriendlyName)(
4009        IWICBitmapEncoderInfo* This,
4010        UINT cchFriendlyName,
4011        WCHAR *wzFriendlyName,
4012        UINT *pcchActual);
4013
4014    /*** IWICBitmapCodecInfo methods ***/
4015    HRESULT (STDMETHODCALLTYPE *GetContainerFormat)(
4016        IWICBitmapEncoderInfo* This,
4017        GUID *pguidContainerFormat);
4018
4019    HRESULT (STDMETHODCALLTYPE *GetPixelFormats)(
4020        IWICBitmapEncoderInfo* This,
4021        UINT cFormats,
4022        GUID *pguidPixelFormats,
4023        UINT *pcActual);
4024
4025    HRESULT (STDMETHODCALLTYPE *GetColorManagementVersion)(
4026        IWICBitmapEncoderInfo* This,
4027        UINT cchColorManagementVersion,
4028        WCHAR *wzColorManagementVersion,
4029        UINT *pcchActual);
4030
4031    HRESULT (STDMETHODCALLTYPE *GetDeviceManufacturer)(
4032        IWICBitmapEncoderInfo* This,
4033        UINT cchDeviceManufacturer,
4034        WCHAR *wzDeviceManufacturer,
4035        UINT *pcchActual);
4036
4037    HRESULT (STDMETHODCALLTYPE *GetDeviceModels)(
4038        IWICBitmapEncoderInfo* This,
4039        UINT cchDeviceModels,
4040        WCHAR *wzDeviceModels,
4041        UINT *pcchActual);
4042
4043    HRESULT (STDMETHODCALLTYPE *GetMimeTypes)(
4044        IWICBitmapEncoderInfo* This,
4045        UINT cchMimeTypes,
4046        WCHAR *wzMimeTypes,
4047        UINT *pcchActual);
4048
4049    HRESULT (STDMETHODCALLTYPE *GetFileExtensions)(
4050        IWICBitmapEncoderInfo* This,
4051        UINT cchFileExtensions,
4052        WCHAR *wzFileExtensions,
4053        UINT *pcchActual);
4054
4055    HRESULT (STDMETHODCALLTYPE *DoesSupportAnimation)(
4056        IWICBitmapEncoderInfo* This,
4057        WINBOOL *pfSupportAnimation);
4058
4059    HRESULT (STDMETHODCALLTYPE *DoesSupportChromaKey)(
4060        IWICBitmapEncoderInfo* This,
4061        WINBOOL *pfSupportChromaKey);
4062
4063    HRESULT (STDMETHODCALLTYPE *DoesSupportLossless)(
4064        IWICBitmapEncoderInfo* This,
4065        WINBOOL *pfSupportLossless);
4066
4067    HRESULT (STDMETHODCALLTYPE *DoesSupportMultiframe)(
4068        IWICBitmapEncoderInfo* This,
4069        WINBOOL *pfSupportMultiframe);
4070
4071    HRESULT (STDMETHODCALLTYPE *MatchesMimeType)(
4072        IWICBitmapEncoderInfo* This,
4073        LPCWSTR wzMimeType,
4074        WINBOOL *pfMatches);
4075
4076    /*** IWICBitmapEncoderInfo methods ***/
4077    HRESULT (STDMETHODCALLTYPE *CreateInstance)(
4078        IWICBitmapEncoderInfo* This,
4079        IWICBitmapEncoder **ppIBitmapEncoder);
4080
4081    END_INTERFACE
4082} IWICBitmapEncoderInfoVtbl;
4083interface IWICBitmapEncoderInfo {
4084    CONST_VTBL IWICBitmapEncoderInfoVtbl* lpVtbl;
4085};
4086
4087#ifdef COBJMACROS
4088#ifndef WIDL_C_INLINE_WRAPPERS
4089/*** IUnknown methods ***/
4090#define IWICBitmapEncoderInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4091#define IWICBitmapEncoderInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
4092#define IWICBitmapEncoderInfo_Release(This) (This)->lpVtbl->Release(This)
4093/*** IWICComponentInfo methods ***/
4094#define IWICBitmapEncoderInfo_GetComponentType(This,pType) (This)->lpVtbl->GetComponentType(This,pType)
4095#define IWICBitmapEncoderInfo_GetCLSID(This,pclsid) (This)->lpVtbl->GetCLSID(This,pclsid)
4096#define IWICBitmapEncoderInfo_GetSigningStatus(This,pStatus) (This)->lpVtbl->GetSigningStatus(This,pStatus)
4097#define IWICBitmapEncoderInfo_GetAuthor(This,cchAuthor,wzAuthor,pcchActual) (This)->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual)
4098#define IWICBitmapEncoderInfo_GetVendorGUID(This,pguidVendor) (This)->lpVtbl->GetVendorGUID(This,pguidVendor)
4099#define IWICBitmapEncoderInfo_GetVersion(This,cchVersion,wzVersion,pcchActual) (This)->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual)
4100#define IWICBitmapEncoderInfo_GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual) (This)->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual)
4101#define IWICBitmapEncoderInfo_GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual) (This)->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual)
4102/*** IWICBitmapCodecInfo methods ***/
4103#define IWICBitmapEncoderInfo_GetContainerFormat(This,pguidContainerFormat) (This)->lpVtbl->GetContainerFormat(This,pguidContainerFormat)
4104#define IWICBitmapEncoderInfo_GetPixelFormats(This,cFormats,pguidPixelFormats,pcActual) (This)->lpVtbl->GetPixelFormats(This,cFormats,pguidPixelFormats,pcActual)
4105#define IWICBitmapEncoderInfo_GetColorManagementVersion(This,cchColorManagementVersion,wzColorManagementVersion,pcchActual) (This)->lpVtbl->GetColorManagementVersion(This,cchColorManagementVersion,wzColorManagementVersion,pcchActual)
4106#define IWICBitmapEncoderInfo_GetDeviceManufacturer(This,cchDeviceManufacturer,wzDeviceManufacturer,pcchActual) (This)->lpVtbl->GetDeviceManufacturer(This,cchDeviceManufacturer,wzDeviceManufacturer,pcchActual)
4107#define IWICBitmapEncoderInfo_GetDeviceModels(This,cchDeviceModels,wzDeviceModels,pcchActual) (This)->lpVtbl->GetDeviceModels(This,cchDeviceModels,wzDeviceModels,pcchActual)
4108#define IWICBitmapEncoderInfo_GetMimeTypes(This,cchMimeTypes,wzMimeTypes,pcchActual) (This)->lpVtbl->GetMimeTypes(This,cchMimeTypes,wzMimeTypes,pcchActual)
4109#define IWICBitmapEncoderInfo_GetFileExtensions(This,cchFileExtensions,wzFileExtensions,pcchActual) (This)->lpVtbl->GetFileExtensions(This,cchFileExtensions,wzFileExtensions,pcchActual)
4110#define IWICBitmapEncoderInfo_DoesSupportAnimation(This,pfSupportAnimation) (This)->lpVtbl->DoesSupportAnimation(This,pfSupportAnimation)
4111#define IWICBitmapEncoderInfo_DoesSupportChromaKey(This,pfSupportChromaKey) (This)->lpVtbl->DoesSupportChromaKey(This,pfSupportChromaKey)
4112#define IWICBitmapEncoderInfo_DoesSupportLossless(This,pfSupportLossless) (This)->lpVtbl->DoesSupportLossless(This,pfSupportLossless)
4113#define IWICBitmapEncoderInfo_DoesSupportMultiframe(This,pfSupportMultiframe) (This)->lpVtbl->DoesSupportMultiframe(This,pfSupportMultiframe)
4114#define IWICBitmapEncoderInfo_MatchesMimeType(This,wzMimeType,pfMatches) (This)->lpVtbl->MatchesMimeType(This,wzMimeType,pfMatches)
4115/*** IWICBitmapEncoderInfo methods ***/
4116#define IWICBitmapEncoderInfo_CreateInstance(This,ppIBitmapEncoder) (This)->lpVtbl->CreateInstance(This,ppIBitmapEncoder)
4117#else
4118/*** IUnknown methods ***/
4119static FORCEINLINE HRESULT IWICBitmapEncoderInfo_QueryInterface(IWICBitmapEncoderInfo* This,REFIID riid,void **ppvObject) {
4120    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4121}
4122static FORCEINLINE ULONG IWICBitmapEncoderInfo_AddRef(IWICBitmapEncoderInfo* This) {
4123    return This->lpVtbl->AddRef(This);
4124}
4125static FORCEINLINE ULONG IWICBitmapEncoderInfo_Release(IWICBitmapEncoderInfo* This) {
4126    return This->lpVtbl->Release(This);
4127}
4128/*** IWICComponentInfo methods ***/
4129static FORCEINLINE HRESULT IWICBitmapEncoderInfo_GetComponentType(IWICBitmapEncoderInfo* This,WICComponentType *pType) {
4130    return This->lpVtbl->GetComponentType(This,pType);
4131}
4132static FORCEINLINE HRESULT IWICBitmapEncoderInfo_GetCLSID(IWICBitmapEncoderInfo* This,CLSID *pclsid) {
4133    return This->lpVtbl->GetCLSID(This,pclsid);
4134}
4135static FORCEINLINE HRESULT IWICBitmapEncoderInfo_GetSigningStatus(IWICBitmapEncoderInfo* This,DWORD *pStatus) {
4136    return This->lpVtbl->GetSigningStatus(This,pStatus);
4137}
4138static FORCEINLINE HRESULT IWICBitmapEncoderInfo_GetAuthor(IWICBitmapEncoderInfo* This,UINT cchAuthor,WCHAR *wzAuthor,UINT *pcchActual) {
4139    return This->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual);
4140}
4141static FORCEINLINE HRESULT IWICBitmapEncoderInfo_GetVendorGUID(IWICBitmapEncoderInfo* This,GUID *pguidVendor) {
4142    return This->lpVtbl->GetVendorGUID(This,pguidVendor);
4143}
4144static FORCEINLINE HRESULT IWICBitmapEncoderInfo_GetVersion(IWICBitmapEncoderInfo* This,UINT cchVersion,WCHAR *wzVersion,UINT *pcchActual) {
4145    return This->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual);
4146}
4147static FORCEINLINE HRESULT IWICBitmapEncoderInfo_GetSpecVersion(IWICBitmapEncoderInfo* This,UINT cchSpecVersion,WCHAR *wzSpecVersion,UINT *pcchActual) {
4148    return This->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual);
4149}
4150static FORCEINLINE HRESULT IWICBitmapEncoderInfo_GetFriendlyName(IWICBitmapEncoderInfo* This,UINT cchFriendlyName,WCHAR *wzFriendlyName,UINT *pcchActual) {
4151    return This->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual);
4152}
4153/*** IWICBitmapCodecInfo methods ***/
4154static FORCEINLINE HRESULT IWICBitmapEncoderInfo_GetContainerFormat(IWICBitmapEncoderInfo* This,GUID *pguidContainerFormat) {
4155    return This->lpVtbl->GetContainerFormat(This,pguidContainerFormat);
4156}
4157static FORCEINLINE HRESULT IWICBitmapEncoderInfo_GetPixelFormats(IWICBitmapEncoderInfo* This,UINT cFormats,GUID *pguidPixelFormats,UINT *pcActual) {
4158    return This->lpVtbl->GetPixelFormats(This,cFormats,pguidPixelFormats,pcActual);
4159}
4160static FORCEINLINE HRESULT IWICBitmapEncoderInfo_GetColorManagementVersion(IWICBitmapEncoderInfo* This,UINT cchColorManagementVersion,WCHAR *wzColorManagementVersion,UINT *pcchActual) {
4161    return This->lpVtbl->GetColorManagementVersion(This,cchColorManagementVersion,wzColorManagementVersion,pcchActual);
4162}
4163static FORCEINLINE HRESULT IWICBitmapEncoderInfo_GetDeviceManufacturer(IWICBitmapEncoderInfo* This,UINT cchDeviceManufacturer,WCHAR *wzDeviceManufacturer,UINT *pcchActual) {
4164    return This->lpVtbl->GetDeviceManufacturer(This,cchDeviceManufacturer,wzDeviceManufacturer,pcchActual);
4165}
4166static FORCEINLINE HRESULT IWICBitmapEncoderInfo_GetDeviceModels(IWICBitmapEncoderInfo* This,UINT cchDeviceModels,WCHAR *wzDeviceModels,UINT *pcchActual) {
4167    return This->lpVtbl->GetDeviceModels(This,cchDeviceModels,wzDeviceModels,pcchActual);
4168}
4169static FORCEINLINE HRESULT IWICBitmapEncoderInfo_GetMimeTypes(IWICBitmapEncoderInfo* This,UINT cchMimeTypes,WCHAR *wzMimeTypes,UINT *pcchActual) {
4170    return This->lpVtbl->GetMimeTypes(This,cchMimeTypes,wzMimeTypes,pcchActual);
4171}
4172static FORCEINLINE HRESULT IWICBitmapEncoderInfo_GetFileExtensions(IWICBitmapEncoderInfo* This,UINT cchFileExtensions,WCHAR *wzFileExtensions,UINT *pcchActual) {
4173    return This->lpVtbl->GetFileExtensions(This,cchFileExtensions,wzFileExtensions,pcchActual);
4174}
4175static FORCEINLINE HRESULT IWICBitmapEncoderInfo_DoesSupportAnimation(IWICBitmapEncoderInfo* This,WINBOOL *pfSupportAnimation) {
4176    return This->lpVtbl->DoesSupportAnimation(This,pfSupportAnimation);
4177}
4178static FORCEINLINE HRESULT IWICBitmapEncoderInfo_DoesSupportChromaKey(IWICBitmapEncoderInfo* This,WINBOOL *pfSupportChromaKey) {
4179    return This->lpVtbl->DoesSupportChromaKey(This,pfSupportChromaKey);
4180}
4181static FORCEINLINE HRESULT IWICBitmapEncoderInfo_DoesSupportLossless(IWICBitmapEncoderInfo* This,WINBOOL *pfSupportLossless) {
4182    return This->lpVtbl->DoesSupportLossless(This,pfSupportLossless);
4183}
4184static FORCEINLINE HRESULT IWICBitmapEncoderInfo_DoesSupportMultiframe(IWICBitmapEncoderInfo* This,WINBOOL *pfSupportMultiframe) {
4185    return This->lpVtbl->DoesSupportMultiframe(This,pfSupportMultiframe);
4186}
4187static FORCEINLINE HRESULT IWICBitmapEncoderInfo_MatchesMimeType(IWICBitmapEncoderInfo* This,LPCWSTR wzMimeType,WINBOOL *pfMatches) {
4188    return This->lpVtbl->MatchesMimeType(This,wzMimeType,pfMatches);
4189}
4190/*** IWICBitmapEncoderInfo methods ***/
4191static FORCEINLINE HRESULT IWICBitmapEncoderInfo_CreateInstance(IWICBitmapEncoderInfo* This,IWICBitmapEncoder **ppIBitmapEncoder) {
4192    return This->lpVtbl->CreateInstance(This,ppIBitmapEncoder);
4193}
4194#endif
4195#endif
4196
4197#endif
4198
4199HRESULT STDMETHODCALLTYPE IWICBitmapEncoderInfo_CreateInstance_Proxy(
4200    IWICBitmapEncoderInfo* This,
4201    IWICBitmapEncoder **ppIBitmapEncoder);
4202void __RPC_STUB IWICBitmapEncoderInfo_CreateInstance_Stub(
4203    IRpcStubBuffer* This,
4204    IRpcChannelBuffer* pRpcChannelBuffer,
4205    PRPC_MESSAGE pRpcMessage,
4206    DWORD* pdwStubPhase);
4207
4208#endif  /* __IWICBitmapEncoderInfo_INTERFACE_DEFINED__ */
4209
4210/*****************************************************************************
4211 * IWICBitmapEncoder interface
4212 */
4213#ifndef __IWICBitmapEncoder_INTERFACE_DEFINED__
4214#define __IWICBitmapEncoder_INTERFACE_DEFINED__
4215
4216DEFINE_GUID(IID_IWICBitmapEncoder, 0x00000103, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94);
4217#if defined(__cplusplus) && !defined(CINTERFACE)
4218MIDL_INTERFACE("00000103-a8f2-4877-ba0a-fd2b6645fb94")
4219IWICBitmapEncoder : public IUnknown
4220{
4221    virtual HRESULT STDMETHODCALLTYPE Initialize(
4222        IStream *pIStream,
4223        WICBitmapEncoderCacheOption cacheOption) = 0;
4224
4225    virtual HRESULT STDMETHODCALLTYPE GetContainerFormat(
4226        GUID *pguidContainerFormat) = 0;
4227
4228    virtual HRESULT STDMETHODCALLTYPE GetEncoderInfo(
4229        IWICBitmapEncoderInfo **ppIEncoderInfo) = 0;
4230
4231    virtual HRESULT STDMETHODCALLTYPE SetColorContexts(
4232        UINT cCount,
4233        IWICColorContext **ppIColorContext) = 0;
4234
4235    virtual HRESULT STDMETHODCALLTYPE SetPalette(
4236        IWICPalette *pIPalette) = 0;
4237
4238    virtual HRESULT STDMETHODCALLTYPE SetThumbnail(
4239        IWICBitmapSource *pIThumbnail) = 0;
4240
4241    virtual HRESULT STDMETHODCALLTYPE SetPreview(
4242        IWICBitmapSource *pIPreview) = 0;
4243
4244    virtual HRESULT STDMETHODCALLTYPE CreateNewFrame(
4245        IWICBitmapFrameEncode **ppIFrameEncode,
4246        IPropertyBag2 **ppIEncoderOptions) = 0;
4247
4248    virtual HRESULT STDMETHODCALLTYPE Commit(
4249        ) = 0;
4250
4251    virtual HRESULT STDMETHODCALLTYPE GetMetadataQueryWriter(
4252        IWICMetadataQueryWriter **ppIMetadataQueryWriter) = 0;
4253
4254};
4255#ifdef __CRT_UUID_DECL
4256__CRT_UUID_DECL(IWICBitmapEncoder, 0x00000103, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94)
4257#endif
4258#else
4259typedef struct IWICBitmapEncoderVtbl {
4260    BEGIN_INTERFACE
4261
4262    /*** IUnknown methods ***/
4263    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4264        IWICBitmapEncoder* This,
4265        REFIID riid,
4266        void **ppvObject);
4267
4268    ULONG (STDMETHODCALLTYPE *AddRef)(
4269        IWICBitmapEncoder* This);
4270
4271    ULONG (STDMETHODCALLTYPE *Release)(
4272        IWICBitmapEncoder* This);
4273
4274    /*** IWICBitmapEncoder methods ***/
4275    HRESULT (STDMETHODCALLTYPE *Initialize)(
4276        IWICBitmapEncoder* This,
4277        IStream *pIStream,
4278        WICBitmapEncoderCacheOption cacheOption);
4279
4280    HRESULT (STDMETHODCALLTYPE *GetContainerFormat)(
4281        IWICBitmapEncoder* This,
4282        GUID *pguidContainerFormat);
4283
4284    HRESULT (STDMETHODCALLTYPE *GetEncoderInfo)(
4285        IWICBitmapEncoder* This,
4286        IWICBitmapEncoderInfo **ppIEncoderInfo);
4287
4288    HRESULT (STDMETHODCALLTYPE *SetColorContexts)(
4289        IWICBitmapEncoder* This,
4290        UINT cCount,
4291        IWICColorContext **ppIColorContext);
4292
4293    HRESULT (STDMETHODCALLTYPE *SetPalette)(
4294        IWICBitmapEncoder* This,
4295        IWICPalette *pIPalette);
4296
4297    HRESULT (STDMETHODCALLTYPE *SetThumbnail)(
4298        IWICBitmapEncoder* This,
4299        IWICBitmapSource *pIThumbnail);
4300
4301    HRESULT (STDMETHODCALLTYPE *SetPreview)(
4302        IWICBitmapEncoder* This,
4303        IWICBitmapSource *pIPreview);
4304
4305    HRESULT (STDMETHODCALLTYPE *CreateNewFrame)(
4306        IWICBitmapEncoder* This,
4307        IWICBitmapFrameEncode **ppIFrameEncode,
4308        IPropertyBag2 **ppIEncoderOptions);
4309
4310    HRESULT (STDMETHODCALLTYPE *Commit)(
4311        IWICBitmapEncoder* This);
4312
4313    HRESULT (STDMETHODCALLTYPE *GetMetadataQueryWriter)(
4314        IWICBitmapEncoder* This,
4315        IWICMetadataQueryWriter **ppIMetadataQueryWriter);
4316
4317    END_INTERFACE
4318} IWICBitmapEncoderVtbl;
4319interface IWICBitmapEncoder {
4320    CONST_VTBL IWICBitmapEncoderVtbl* lpVtbl;
4321};
4322
4323#ifdef COBJMACROS
4324#ifndef WIDL_C_INLINE_WRAPPERS
4325/*** IUnknown methods ***/
4326#define IWICBitmapEncoder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4327#define IWICBitmapEncoder_AddRef(This) (This)->lpVtbl->AddRef(This)
4328#define IWICBitmapEncoder_Release(This) (This)->lpVtbl->Release(This)
4329/*** IWICBitmapEncoder methods ***/
4330#define IWICBitmapEncoder_Initialize(This,pIStream,cacheOption) (This)->lpVtbl->Initialize(This,pIStream,cacheOption)
4331#define IWICBitmapEncoder_GetContainerFormat(This,pguidContainerFormat) (This)->lpVtbl->GetContainerFormat(This,pguidContainerFormat)
4332#define IWICBitmapEncoder_GetEncoderInfo(This,ppIEncoderInfo) (This)->lpVtbl->GetEncoderInfo(This,ppIEncoderInfo)
4333#define IWICBitmapEncoder_SetColorContexts(This,cCount,ppIColorContext) (This)->lpVtbl->SetColorContexts(This,cCount,ppIColorContext)
4334#define IWICBitmapEncoder_SetPalette(This,pIPalette) (This)->lpVtbl->SetPalette(This,pIPalette)
4335#define IWICBitmapEncoder_SetThumbnail(This,pIThumbnail) (This)->lpVtbl->SetThumbnail(This,pIThumbnail)
4336#define IWICBitmapEncoder_SetPreview(This,pIPreview) (This)->lpVtbl->SetPreview(This,pIPreview)
4337#define IWICBitmapEncoder_CreateNewFrame(This,ppIFrameEncode,ppIEncoderOptions) (This)->lpVtbl->CreateNewFrame(This,ppIFrameEncode,ppIEncoderOptions)
4338#define IWICBitmapEncoder_Commit(This) (This)->lpVtbl->Commit(This)
4339#define IWICBitmapEncoder_GetMetadataQueryWriter(This,ppIMetadataQueryWriter) (This)->lpVtbl->GetMetadataQueryWriter(This,ppIMetadataQueryWriter)
4340#else
4341/*** IUnknown methods ***/
4342static FORCEINLINE HRESULT IWICBitmapEncoder_QueryInterface(IWICBitmapEncoder* This,REFIID riid,void **ppvObject) {
4343    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4344}
4345static FORCEINLINE ULONG IWICBitmapEncoder_AddRef(IWICBitmapEncoder* This) {
4346    return This->lpVtbl->AddRef(This);
4347}
4348static FORCEINLINE ULONG IWICBitmapEncoder_Release(IWICBitmapEncoder* This) {
4349    return This->lpVtbl->Release(This);
4350}
4351/*** IWICBitmapEncoder methods ***/
4352static FORCEINLINE HRESULT IWICBitmapEncoder_Initialize(IWICBitmapEncoder* This,IStream *pIStream,WICBitmapEncoderCacheOption cacheOption) {
4353    return This->lpVtbl->Initialize(This,pIStream,cacheOption);
4354}
4355static FORCEINLINE HRESULT IWICBitmapEncoder_GetContainerFormat(IWICBitmapEncoder* This,GUID *pguidContainerFormat) {
4356    return This->lpVtbl->GetContainerFormat(This,pguidContainerFormat);
4357}
4358static FORCEINLINE HRESULT IWICBitmapEncoder_GetEncoderInfo(IWICBitmapEncoder* This,IWICBitmapEncoderInfo **ppIEncoderInfo) {
4359    return This->lpVtbl->GetEncoderInfo(This,ppIEncoderInfo);
4360}
4361static FORCEINLINE HRESULT IWICBitmapEncoder_SetColorContexts(IWICBitmapEncoder* This,UINT cCount,IWICColorContext **ppIColorContext) {
4362    return This->lpVtbl->SetColorContexts(This,cCount,ppIColorContext);
4363}
4364static FORCEINLINE HRESULT IWICBitmapEncoder_SetPalette(IWICBitmapEncoder* This,IWICPalette *pIPalette) {
4365    return This->lpVtbl->SetPalette(This,pIPalette);
4366}
4367static FORCEINLINE HRESULT IWICBitmapEncoder_SetThumbnail(IWICBitmapEncoder* This,IWICBitmapSource *pIThumbnail) {
4368    return This->lpVtbl->SetThumbnail(This,pIThumbnail);
4369}
4370static FORCEINLINE HRESULT IWICBitmapEncoder_SetPreview(IWICBitmapEncoder* This,IWICBitmapSource *pIPreview) {
4371    return This->lpVtbl->SetPreview(This,pIPreview);
4372}
4373static FORCEINLINE HRESULT IWICBitmapEncoder_CreateNewFrame(IWICBitmapEncoder* This,IWICBitmapFrameEncode **ppIFrameEncode,IPropertyBag2 **ppIEncoderOptions) {
4374    return This->lpVtbl->CreateNewFrame(This,ppIFrameEncode,ppIEncoderOptions);
4375}
4376static FORCEINLINE HRESULT IWICBitmapEncoder_Commit(IWICBitmapEncoder* This) {
4377    return This->lpVtbl->Commit(This);
4378}
4379static FORCEINLINE HRESULT IWICBitmapEncoder_GetMetadataQueryWriter(IWICBitmapEncoder* This,IWICMetadataQueryWriter **ppIMetadataQueryWriter) {
4380    return This->lpVtbl->GetMetadataQueryWriter(This,ppIMetadataQueryWriter);
4381}
4382#endif
4383#endif
4384
4385#endif
4386
4387HRESULT STDMETHODCALLTYPE IWICBitmapEncoder_Initialize_Proxy(
4388    IWICBitmapEncoder* This,
4389    IStream *pIStream,
4390    WICBitmapEncoderCacheOption cacheOption);
4391void __RPC_STUB IWICBitmapEncoder_Initialize_Stub(
4392    IRpcStubBuffer* This,
4393    IRpcChannelBuffer* pRpcChannelBuffer,
4394    PRPC_MESSAGE pRpcMessage,
4395    DWORD* pdwStubPhase);
4396HRESULT STDMETHODCALLTYPE IWICBitmapEncoder_GetContainerFormat_Proxy(
4397    IWICBitmapEncoder* This,
4398    GUID *pguidContainerFormat);
4399void __RPC_STUB IWICBitmapEncoder_GetContainerFormat_Stub(
4400    IRpcStubBuffer* This,
4401    IRpcChannelBuffer* pRpcChannelBuffer,
4402    PRPC_MESSAGE pRpcMessage,
4403    DWORD* pdwStubPhase);
4404HRESULT STDMETHODCALLTYPE IWICBitmapEncoder_GetEncoderInfo_Proxy(
4405    IWICBitmapEncoder* This,
4406    IWICBitmapEncoderInfo **ppIEncoderInfo);
4407void __RPC_STUB IWICBitmapEncoder_GetEncoderInfo_Stub(
4408    IRpcStubBuffer* This,
4409    IRpcChannelBuffer* pRpcChannelBuffer,
4410    PRPC_MESSAGE pRpcMessage,
4411    DWORD* pdwStubPhase);
4412HRESULT STDMETHODCALLTYPE IWICBitmapEncoder_SetColorContexts_Proxy(
4413    IWICBitmapEncoder* This,
4414    UINT cCount,
4415    IWICColorContext **ppIColorContext);
4416void __RPC_STUB IWICBitmapEncoder_SetColorContexts_Stub(
4417    IRpcStubBuffer* This,
4418    IRpcChannelBuffer* pRpcChannelBuffer,
4419    PRPC_MESSAGE pRpcMessage,
4420    DWORD* pdwStubPhase);
4421HRESULT STDMETHODCALLTYPE IWICBitmapEncoder_SetPalette_Proxy(
4422    IWICBitmapEncoder* This,
4423    IWICPalette *pIPalette);
4424void __RPC_STUB IWICBitmapEncoder_SetPalette_Stub(
4425    IRpcStubBuffer* This,
4426    IRpcChannelBuffer* pRpcChannelBuffer,
4427    PRPC_MESSAGE pRpcMessage,
4428    DWORD* pdwStubPhase);
4429HRESULT STDMETHODCALLTYPE IWICBitmapEncoder_SetThumbnail_Proxy(
4430    IWICBitmapEncoder* This,
4431    IWICBitmapSource *pIThumbnail);
4432void __RPC_STUB IWICBitmapEncoder_SetThumbnail_Stub(
4433    IRpcStubBuffer* This,
4434    IRpcChannelBuffer* pRpcChannelBuffer,
4435    PRPC_MESSAGE pRpcMessage,
4436    DWORD* pdwStubPhase);
4437HRESULT STDMETHODCALLTYPE IWICBitmapEncoder_SetPreview_Proxy(
4438    IWICBitmapEncoder* This,
4439    IWICBitmapSource *pIPreview);
4440void __RPC_STUB IWICBitmapEncoder_SetPreview_Stub(
4441    IRpcStubBuffer* This,
4442    IRpcChannelBuffer* pRpcChannelBuffer,
4443    PRPC_MESSAGE pRpcMessage,
4444    DWORD* pdwStubPhase);
4445HRESULT STDMETHODCALLTYPE IWICBitmapEncoder_CreateNewFrame_Proxy(
4446    IWICBitmapEncoder* This,
4447    IWICBitmapFrameEncode **ppIFrameEncode,
4448    IPropertyBag2 **ppIEncoderOptions);
4449void __RPC_STUB IWICBitmapEncoder_CreateNewFrame_Stub(
4450    IRpcStubBuffer* This,
4451    IRpcChannelBuffer* pRpcChannelBuffer,
4452    PRPC_MESSAGE pRpcMessage,
4453    DWORD* pdwStubPhase);
4454HRESULT STDMETHODCALLTYPE IWICBitmapEncoder_Commit_Proxy(
4455    IWICBitmapEncoder* This);
4456void __RPC_STUB IWICBitmapEncoder_Commit_Stub(
4457    IRpcStubBuffer* This,
4458    IRpcChannelBuffer* pRpcChannelBuffer,
4459    PRPC_MESSAGE pRpcMessage,
4460    DWORD* pdwStubPhase);
4461HRESULT STDMETHODCALLTYPE IWICBitmapEncoder_GetMetadataQueryWriter_Proxy(
4462    IWICBitmapEncoder* This,
4463    IWICMetadataQueryWriter **ppIMetadataQueryWriter);
4464void __RPC_STUB IWICBitmapEncoder_GetMetadataQueryWriter_Stub(
4465    IRpcStubBuffer* This,
4466    IRpcChannelBuffer* pRpcChannelBuffer,
4467    PRPC_MESSAGE pRpcMessage,
4468    DWORD* pdwStubPhase);
4469
4470#endif  /* __IWICBitmapEncoder_INTERFACE_DEFINED__ */
4471
4472/*****************************************************************************
4473 * IWICFormatConverter interface
4474 */
4475#ifndef __IWICFormatConverter_INTERFACE_DEFINED__
4476#define __IWICFormatConverter_INTERFACE_DEFINED__
4477
4478DEFINE_GUID(IID_IWICFormatConverter, 0x00000301, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94);
4479#if defined(__cplusplus) && !defined(CINTERFACE)
4480MIDL_INTERFACE("00000301-a8f2-4877-ba0a-fd2b6645fb94")
4481IWICFormatConverter : public IWICBitmapSource
4482{
4483    virtual HRESULT STDMETHODCALLTYPE Initialize(
4484        IWICBitmapSource *pISource,
4485        REFWICPixelFormatGUID dstFormat,
4486        WICBitmapDitherType dither,
4487        IWICPalette *pIPalette,
4488        double alphaThresholdPercent,
4489        WICBitmapPaletteType paletteTranslate) = 0;
4490
4491    virtual HRESULT STDMETHODCALLTYPE CanConvert(
4492        REFWICPixelFormatGUID srcPixelFormat,
4493        REFWICPixelFormatGUID dstPixelFormat,
4494        WINBOOL *pfCanConvert) = 0;
4495
4496};
4497#ifdef __CRT_UUID_DECL
4498__CRT_UUID_DECL(IWICFormatConverter, 0x00000301, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94)
4499#endif
4500#else
4501typedef struct IWICFormatConverterVtbl {
4502    BEGIN_INTERFACE
4503
4504    /*** IUnknown methods ***/
4505    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4506        IWICFormatConverter* This,
4507        REFIID riid,
4508        void **ppvObject);
4509
4510    ULONG (STDMETHODCALLTYPE *AddRef)(
4511        IWICFormatConverter* This);
4512
4513    ULONG (STDMETHODCALLTYPE *Release)(
4514        IWICFormatConverter* This);
4515
4516    /*** IWICBitmapSource methods ***/
4517    HRESULT (STDMETHODCALLTYPE *GetSize)(
4518        IWICFormatConverter* This,
4519        UINT *puiWidth,
4520        UINT *puiHeight);
4521
4522    HRESULT (STDMETHODCALLTYPE *GetPixelFormat)(
4523        IWICFormatConverter* This,
4524        WICPixelFormatGUID *pPixelFormat);
4525
4526    HRESULT (STDMETHODCALLTYPE *GetResolution)(
4527        IWICFormatConverter* This,
4528        double *pDpiX,
4529        double *pDpiY);
4530
4531    HRESULT (STDMETHODCALLTYPE *CopyPalette)(
4532        IWICFormatConverter* This,
4533        IWICPalette *pIPalette);
4534
4535    HRESULT (STDMETHODCALLTYPE *CopyPixels)(
4536        IWICFormatConverter* This,
4537        const WICRect *prc,
4538        UINT cbStride,
4539        UINT cbBufferSize,
4540        BYTE *pbBuffer);
4541
4542    /*** IWICFormatConverter methods ***/
4543    HRESULT (STDMETHODCALLTYPE *Initialize)(
4544        IWICFormatConverter* This,
4545        IWICBitmapSource *pISource,
4546        REFWICPixelFormatGUID dstFormat,
4547        WICBitmapDitherType dither,
4548        IWICPalette *pIPalette,
4549        double alphaThresholdPercent,
4550        WICBitmapPaletteType paletteTranslate);
4551
4552    HRESULT (STDMETHODCALLTYPE *CanConvert)(
4553        IWICFormatConverter* This,
4554        REFWICPixelFormatGUID srcPixelFormat,
4555        REFWICPixelFormatGUID dstPixelFormat,
4556        WINBOOL *pfCanConvert);
4557
4558    END_INTERFACE
4559} IWICFormatConverterVtbl;
4560interface IWICFormatConverter {
4561    CONST_VTBL IWICFormatConverterVtbl* lpVtbl;
4562};
4563
4564#ifdef COBJMACROS
4565#ifndef WIDL_C_INLINE_WRAPPERS
4566/*** IUnknown methods ***/
4567#define IWICFormatConverter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4568#define IWICFormatConverter_AddRef(This) (This)->lpVtbl->AddRef(This)
4569#define IWICFormatConverter_Release(This) (This)->lpVtbl->Release(This)
4570/*** IWICBitmapSource methods ***/
4571#define IWICFormatConverter_GetSize(This,puiWidth,puiHeight) (This)->lpVtbl->GetSize(This,puiWidth,puiHeight)
4572#define IWICFormatConverter_GetPixelFormat(This,pPixelFormat) (This)->lpVtbl->GetPixelFormat(This,pPixelFormat)
4573#define IWICFormatConverter_GetResolution(This,pDpiX,pDpiY) (This)->lpVtbl->GetResolution(This,pDpiX,pDpiY)
4574#define IWICFormatConverter_CopyPalette(This,pIPalette) (This)->lpVtbl->CopyPalette(This,pIPalette)
4575#define IWICFormatConverter_CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer) (This)->lpVtbl->CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer)
4576/*** IWICFormatConverter methods ***/
4577#define IWICFormatConverter_Initialize(This,pISource,dstFormat,dither,pIPalette,alphaThresholdPercent,paletteTranslate) (This)->lpVtbl->Initialize(This,pISource,dstFormat,dither,pIPalette,alphaThresholdPercent,paletteTranslate)
4578#define IWICFormatConverter_CanConvert(This,srcPixelFormat,dstPixelFormat,pfCanConvert) (This)->lpVtbl->CanConvert(This,srcPixelFormat,dstPixelFormat,pfCanConvert)
4579#else
4580/*** IUnknown methods ***/
4581static FORCEINLINE HRESULT IWICFormatConverter_QueryInterface(IWICFormatConverter* This,REFIID riid,void **ppvObject) {
4582    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4583}
4584static FORCEINLINE ULONG IWICFormatConverter_AddRef(IWICFormatConverter* This) {
4585    return This->lpVtbl->AddRef(This);
4586}
4587static FORCEINLINE ULONG IWICFormatConverter_Release(IWICFormatConverter* This) {
4588    return This->lpVtbl->Release(This);
4589}
4590/*** IWICBitmapSource methods ***/
4591static FORCEINLINE HRESULT IWICFormatConverter_GetSize(IWICFormatConverter* This,UINT *puiWidth,UINT *puiHeight) {
4592    return This->lpVtbl->GetSize(This,puiWidth,puiHeight);
4593}
4594static FORCEINLINE HRESULT IWICFormatConverter_GetPixelFormat(IWICFormatConverter* This,WICPixelFormatGUID *pPixelFormat) {
4595    return This->lpVtbl->GetPixelFormat(This,pPixelFormat);
4596}
4597static FORCEINLINE HRESULT IWICFormatConverter_GetResolution(IWICFormatConverter* This,double *pDpiX,double *pDpiY) {
4598    return This->lpVtbl->GetResolution(This,pDpiX,pDpiY);
4599}
4600static FORCEINLINE HRESULT IWICFormatConverter_CopyPalette(IWICFormatConverter* This,IWICPalette *pIPalette) {
4601    return This->lpVtbl->CopyPalette(This,pIPalette);
4602}
4603static FORCEINLINE HRESULT IWICFormatConverter_CopyPixels(IWICFormatConverter* This,const WICRect *prc,UINT cbStride,UINT cbBufferSize,BYTE *pbBuffer) {
4604    return This->lpVtbl->CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer);
4605}
4606/*** IWICFormatConverter methods ***/
4607static FORCEINLINE HRESULT IWICFormatConverter_Initialize(IWICFormatConverter* This,IWICBitmapSource *pISource,REFWICPixelFormatGUID dstFormat,WICBitmapDitherType dither,IWICPalette *pIPalette,double alphaThresholdPercent,WICBitmapPaletteType paletteTranslate) {
4608    return This->lpVtbl->Initialize(This,pISource,dstFormat,dither,pIPalette,alphaThresholdPercent,paletteTranslate);
4609}
4610static FORCEINLINE HRESULT IWICFormatConverter_CanConvert(IWICFormatConverter* This,REFWICPixelFormatGUID srcPixelFormat,REFWICPixelFormatGUID dstPixelFormat,WINBOOL *pfCanConvert) {
4611    return This->lpVtbl->CanConvert(This,srcPixelFormat,dstPixelFormat,pfCanConvert);
4612}
4613#endif
4614#endif
4615
4616#endif
4617
4618HRESULT STDMETHODCALLTYPE IWICFormatConverter_Initialize_Proxy(
4619    IWICFormatConverter* This,
4620    IWICBitmapSource *pISource,
4621    REFWICPixelFormatGUID dstFormat,
4622    WICBitmapDitherType dither,
4623    IWICPalette *pIPalette,
4624    double alphaThresholdPercent,
4625    WICBitmapPaletteType paletteTranslate);
4626void __RPC_STUB IWICFormatConverter_Initialize_Stub(
4627    IRpcStubBuffer* This,
4628    IRpcChannelBuffer* pRpcChannelBuffer,
4629    PRPC_MESSAGE pRpcMessage,
4630    DWORD* pdwStubPhase);
4631HRESULT STDMETHODCALLTYPE IWICFormatConverter_CanConvert_Proxy(
4632    IWICFormatConverter* This,
4633    REFWICPixelFormatGUID srcPixelFormat,
4634    REFWICPixelFormatGUID dstPixelFormat,
4635    WINBOOL *pfCanConvert);
4636void __RPC_STUB IWICFormatConverter_CanConvert_Stub(
4637    IRpcStubBuffer* This,
4638    IRpcChannelBuffer* pRpcChannelBuffer,
4639    PRPC_MESSAGE pRpcMessage,
4640    DWORD* pdwStubPhase);
4641
4642#endif  /* __IWICFormatConverter_INTERFACE_DEFINED__ */
4643
4644/*****************************************************************************
4645 * IWICFormatConverterInfo interface
4646 */
4647#ifndef __IWICFormatConverterInfo_INTERFACE_DEFINED__
4648#define __IWICFormatConverterInfo_INTERFACE_DEFINED__
4649
4650DEFINE_GUID(IID_IWICFormatConverterInfo, 0x9f34fb65, 0x13f4, 0x4f15, 0xbc,0x57, 0x37,0x26,0xb5,0xe5,0x3d,0x9f);
4651#if defined(__cplusplus) && !defined(CINTERFACE)
4652MIDL_INTERFACE("9f34fb65-13f4-4f15-bc57-3726b5e53d9f")
4653IWICFormatConverterInfo : public IWICComponentInfo
4654{
4655    virtual HRESULT STDMETHODCALLTYPE GetPixelFormats(
4656        UINT cFormats,
4657        WICPixelFormatGUID *pPixelFormatGUIDs,
4658        UINT *pcActual) = 0;
4659
4660    virtual HRESULT STDMETHODCALLTYPE CreateInstance(
4661        IWICFormatConverter **ppIConverter) = 0;
4662
4663};
4664#ifdef __CRT_UUID_DECL
4665__CRT_UUID_DECL(IWICFormatConverterInfo, 0x9f34fb65, 0x13f4, 0x4f15, 0xbc,0x57, 0x37,0x26,0xb5,0xe5,0x3d,0x9f)
4666#endif
4667#else
4668typedef struct IWICFormatConverterInfoVtbl {
4669    BEGIN_INTERFACE
4670
4671    /*** IUnknown methods ***/
4672    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4673        IWICFormatConverterInfo* This,
4674        REFIID riid,
4675        void **ppvObject);
4676
4677    ULONG (STDMETHODCALLTYPE *AddRef)(
4678        IWICFormatConverterInfo* This);
4679
4680    ULONG (STDMETHODCALLTYPE *Release)(
4681        IWICFormatConverterInfo* This);
4682
4683    /*** IWICComponentInfo methods ***/
4684    HRESULT (STDMETHODCALLTYPE *GetComponentType)(
4685        IWICFormatConverterInfo* This,
4686        WICComponentType *pType);
4687
4688    HRESULT (STDMETHODCALLTYPE *GetCLSID)(
4689        IWICFormatConverterInfo* This,
4690        CLSID *pclsid);
4691
4692    HRESULT (STDMETHODCALLTYPE *GetSigningStatus)(
4693        IWICFormatConverterInfo* This,
4694        DWORD *pStatus);
4695
4696    HRESULT (STDMETHODCALLTYPE *GetAuthor)(
4697        IWICFormatConverterInfo* This,
4698        UINT cchAuthor,
4699        WCHAR *wzAuthor,
4700        UINT *pcchActual);
4701
4702    HRESULT (STDMETHODCALLTYPE *GetVendorGUID)(
4703        IWICFormatConverterInfo* This,
4704        GUID *pguidVendor);
4705
4706    HRESULT (STDMETHODCALLTYPE *GetVersion)(
4707        IWICFormatConverterInfo* This,
4708        UINT cchVersion,
4709        WCHAR *wzVersion,
4710        UINT *pcchActual);
4711
4712    HRESULT (STDMETHODCALLTYPE *GetSpecVersion)(
4713        IWICFormatConverterInfo* This,
4714        UINT cchSpecVersion,
4715        WCHAR *wzSpecVersion,
4716        UINT *pcchActual);
4717
4718    HRESULT (STDMETHODCALLTYPE *GetFriendlyName)(
4719        IWICFormatConverterInfo* This,
4720        UINT cchFriendlyName,
4721        WCHAR *wzFriendlyName,
4722        UINT *pcchActual);
4723
4724    /*** IWICFormatConverterInfo methods ***/
4725    HRESULT (STDMETHODCALLTYPE *GetPixelFormats)(
4726        IWICFormatConverterInfo* This,
4727        UINT cFormats,
4728        WICPixelFormatGUID *pPixelFormatGUIDs,
4729        UINT *pcActual);
4730
4731    HRESULT (STDMETHODCALLTYPE *CreateInstance)(
4732        IWICFormatConverterInfo* This,
4733        IWICFormatConverter **ppIConverter);
4734
4735    END_INTERFACE
4736} IWICFormatConverterInfoVtbl;
4737interface IWICFormatConverterInfo {
4738    CONST_VTBL IWICFormatConverterInfoVtbl* lpVtbl;
4739};
4740
4741#ifdef COBJMACROS
4742#ifndef WIDL_C_INLINE_WRAPPERS
4743/*** IUnknown methods ***/
4744#define IWICFormatConverterInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4745#define IWICFormatConverterInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
4746#define IWICFormatConverterInfo_Release(This) (This)->lpVtbl->Release(This)
4747/*** IWICComponentInfo methods ***/
4748#define IWICFormatConverterInfo_GetComponentType(This,pType) (This)->lpVtbl->GetComponentType(This,pType)
4749#define IWICFormatConverterInfo_GetCLSID(This,pclsid) (This)->lpVtbl->GetCLSID(This,pclsid)
4750#define IWICFormatConverterInfo_GetSigningStatus(This,pStatus) (This)->lpVtbl->GetSigningStatus(This,pStatus)
4751#define IWICFormatConverterInfo_GetAuthor(This,cchAuthor,wzAuthor,pcchActual) (This)->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual)
4752#define IWICFormatConverterInfo_GetVendorGUID(This,pguidVendor) (This)->lpVtbl->GetVendorGUID(This,pguidVendor)
4753#define IWICFormatConverterInfo_GetVersion(This,cchVersion,wzVersion,pcchActual) (This)->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual)
4754#define IWICFormatConverterInfo_GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual) (This)->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual)
4755#define IWICFormatConverterInfo_GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual) (This)->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual)
4756/*** IWICFormatConverterInfo methods ***/
4757#define IWICFormatConverterInfo_GetPixelFormats(This,cFormats,pPixelFormatGUIDs,pcActual) (This)->lpVtbl->GetPixelFormats(This,cFormats,pPixelFormatGUIDs,pcActual)
4758#define IWICFormatConverterInfo_CreateInstance(This,ppIConverter) (This)->lpVtbl->CreateInstance(This,ppIConverter)
4759#else
4760/*** IUnknown methods ***/
4761static FORCEINLINE HRESULT IWICFormatConverterInfo_QueryInterface(IWICFormatConverterInfo* This,REFIID riid,void **ppvObject) {
4762    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4763}
4764static FORCEINLINE ULONG IWICFormatConverterInfo_AddRef(IWICFormatConverterInfo* This) {
4765    return This->lpVtbl->AddRef(This);
4766}
4767static FORCEINLINE ULONG IWICFormatConverterInfo_Release(IWICFormatConverterInfo* This) {
4768    return This->lpVtbl->Release(This);
4769}
4770/*** IWICComponentInfo methods ***/
4771static FORCEINLINE HRESULT IWICFormatConverterInfo_GetComponentType(IWICFormatConverterInfo* This,WICComponentType *pType) {
4772    return This->lpVtbl->GetComponentType(This,pType);
4773}
4774static FORCEINLINE HRESULT IWICFormatConverterInfo_GetCLSID(IWICFormatConverterInfo* This,CLSID *pclsid) {
4775    return This->lpVtbl->GetCLSID(This,pclsid);
4776}
4777static FORCEINLINE HRESULT IWICFormatConverterInfo_GetSigningStatus(IWICFormatConverterInfo* This,DWORD *pStatus) {
4778    return This->lpVtbl->GetSigningStatus(This,pStatus);
4779}
4780static FORCEINLINE HRESULT IWICFormatConverterInfo_GetAuthor(IWICFormatConverterInfo* This,UINT cchAuthor,WCHAR *wzAuthor,UINT *pcchActual) {
4781    return This->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual);
4782}
4783static FORCEINLINE HRESULT IWICFormatConverterInfo_GetVendorGUID(IWICFormatConverterInfo* This,GUID *pguidVendor) {
4784    return This->lpVtbl->GetVendorGUID(This,pguidVendor);
4785}
4786static FORCEINLINE HRESULT IWICFormatConverterInfo_GetVersion(IWICFormatConverterInfo* This,UINT cchVersion,WCHAR *wzVersion,UINT *pcchActual) {
4787    return This->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual);
4788}
4789static FORCEINLINE HRESULT IWICFormatConverterInfo_GetSpecVersion(IWICFormatConverterInfo* This,UINT cchSpecVersion,WCHAR *wzSpecVersion,UINT *pcchActual) {
4790    return This->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual);
4791}
4792static FORCEINLINE HRESULT IWICFormatConverterInfo_GetFriendlyName(IWICFormatConverterInfo* This,UINT cchFriendlyName,WCHAR *wzFriendlyName,UINT *pcchActual) {
4793    return This->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual);
4794}
4795/*** IWICFormatConverterInfo methods ***/
4796static FORCEINLINE HRESULT IWICFormatConverterInfo_GetPixelFormats(IWICFormatConverterInfo* This,UINT cFormats,WICPixelFormatGUID *pPixelFormatGUIDs,UINT *pcActual) {
4797    return This->lpVtbl->GetPixelFormats(This,cFormats,pPixelFormatGUIDs,pcActual);
4798}
4799static FORCEINLINE HRESULT IWICFormatConverterInfo_CreateInstance(IWICFormatConverterInfo* This,IWICFormatConverter **ppIConverter) {
4800    return This->lpVtbl->CreateInstance(This,ppIConverter);
4801}
4802#endif
4803#endif
4804
4805#endif
4806
4807HRESULT STDMETHODCALLTYPE IWICFormatConverterInfo_GetPixelFormats_Proxy(
4808    IWICFormatConverterInfo* This,
4809    UINT cFormats,
4810    WICPixelFormatGUID *pPixelFormatGUIDs,
4811    UINT *pcActual);
4812void __RPC_STUB IWICFormatConverterInfo_GetPixelFormats_Stub(
4813    IRpcStubBuffer* This,
4814    IRpcChannelBuffer* pRpcChannelBuffer,
4815    PRPC_MESSAGE pRpcMessage,
4816    DWORD* pdwStubPhase);
4817HRESULT STDMETHODCALLTYPE IWICFormatConverterInfo_CreateInstance_Proxy(
4818    IWICFormatConverterInfo* This,
4819    IWICFormatConverter **ppIConverter);
4820void __RPC_STUB IWICFormatConverterInfo_CreateInstance_Stub(
4821    IRpcStubBuffer* This,
4822    IRpcChannelBuffer* pRpcChannelBuffer,
4823    PRPC_MESSAGE pRpcMessage,
4824    DWORD* pdwStubPhase);
4825
4826#endif  /* __IWICFormatConverterInfo_INTERFACE_DEFINED__ */
4827
4828/*****************************************************************************
4829 * IWICStream interface
4830 */
4831#ifndef __IWICStream_INTERFACE_DEFINED__
4832#define __IWICStream_INTERFACE_DEFINED__
4833
4834DEFINE_GUID(IID_IWICStream, 0x135ff860, 0x22b7, 0x4ddf, 0xb0,0xf6, 0x21,0x8f,0x4f,0x29,0x9a,0x43);
4835#if defined(__cplusplus) && !defined(CINTERFACE)
4836MIDL_INTERFACE("135ff860-22b7-4ddf-b0f6-218f4f299a43")
4837IWICStream : public IStream
4838{
4839    virtual HRESULT STDMETHODCALLTYPE InitializeFromIStream(
4840        IStream *pIStream) = 0;
4841
4842    virtual HRESULT STDMETHODCALLTYPE InitializeFromFilename(
4843        LPCWSTR wzFileName,
4844        DWORD dwAccessMode) = 0;
4845
4846    virtual HRESULT STDMETHODCALLTYPE InitializeFromMemory(
4847        BYTE *pbBuffer,
4848        DWORD cbBufferSize) = 0;
4849
4850    virtual HRESULT STDMETHODCALLTYPE InitializeFromIStreamRegion(
4851        IStream *pIStream,
4852        ULARGE_INTEGER ulOffset,
4853        ULARGE_INTEGER ulMaxSize) = 0;
4854
4855};
4856#ifdef __CRT_UUID_DECL
4857__CRT_UUID_DECL(IWICStream, 0x135ff860, 0x22b7, 0x4ddf, 0xb0,0xf6, 0x21,0x8f,0x4f,0x29,0x9a,0x43)
4858#endif
4859#else
4860typedef struct IWICStreamVtbl {
4861    BEGIN_INTERFACE
4862
4863    /*** IUnknown methods ***/
4864    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4865        IWICStream* This,
4866        REFIID riid,
4867        void **ppvObject);
4868
4869    ULONG (STDMETHODCALLTYPE *AddRef)(
4870        IWICStream* This);
4871
4872    ULONG (STDMETHODCALLTYPE *Release)(
4873        IWICStream* This);
4874
4875    /*** ISequentialStream methods ***/
4876    HRESULT (STDMETHODCALLTYPE *Read)(
4877        IWICStream* This,
4878        void *pv,
4879        ULONG cb,
4880        ULONG *pcbRead);
4881
4882    HRESULT (STDMETHODCALLTYPE *Write)(
4883        IWICStream* This,
4884        const void *pv,
4885        ULONG cb,
4886        ULONG *pcbWritten);
4887
4888    /*** IStream methods ***/
4889    HRESULT (STDMETHODCALLTYPE *Seek)(
4890        IWICStream* This,
4891        LARGE_INTEGER dlibMove,
4892        DWORD dwOrigin,
4893        ULARGE_INTEGER *plibNewPosition);
4894
4895    HRESULT (STDMETHODCALLTYPE *SetSize)(
4896        IWICStream* This,
4897        ULARGE_INTEGER libNewSize);
4898
4899    HRESULT (STDMETHODCALLTYPE *CopyTo)(
4900        IWICStream* This,
4901        IStream *pstm,
4902        ULARGE_INTEGER cb,
4903        ULARGE_INTEGER *pcbRead,
4904        ULARGE_INTEGER *pcbWritten);
4905
4906    HRESULT (STDMETHODCALLTYPE *Commit)(
4907        IWICStream* This,
4908        DWORD grfCommitFlags);
4909
4910    HRESULT (STDMETHODCALLTYPE *Revert)(
4911        IWICStream* This);
4912
4913    HRESULT (STDMETHODCALLTYPE *LockRegion)(
4914        IWICStream* This,
4915        ULARGE_INTEGER libOffset,
4916        ULARGE_INTEGER cb,
4917        DWORD dwLockType);
4918
4919    HRESULT (STDMETHODCALLTYPE *UnlockRegion)(
4920        IWICStream* This,
4921        ULARGE_INTEGER libOffset,
4922        ULARGE_INTEGER cb,
4923        DWORD dwLockType);
4924
4925    HRESULT (STDMETHODCALLTYPE *Stat)(
4926        IWICStream* This,
4927        STATSTG *pstatstg,
4928        DWORD grfStatFlag);
4929
4930    HRESULT (STDMETHODCALLTYPE *Clone)(
4931        IWICStream* This,
4932        IStream **ppstm);
4933
4934    /*** IWICStream methods ***/
4935    HRESULT (STDMETHODCALLTYPE *InitializeFromIStream)(
4936        IWICStream* This,
4937        IStream *pIStream);
4938
4939    HRESULT (STDMETHODCALLTYPE *InitializeFromFilename)(
4940        IWICStream* This,
4941        LPCWSTR wzFileName,
4942        DWORD dwAccessMode);
4943
4944    HRESULT (STDMETHODCALLTYPE *InitializeFromMemory)(
4945        IWICStream* This,
4946        BYTE *pbBuffer,
4947        DWORD cbBufferSize);
4948
4949    HRESULT (STDMETHODCALLTYPE *InitializeFromIStreamRegion)(
4950        IWICStream* This,
4951        IStream *pIStream,
4952        ULARGE_INTEGER ulOffset,
4953        ULARGE_INTEGER ulMaxSize);
4954
4955    END_INTERFACE
4956} IWICStreamVtbl;
4957interface IWICStream {
4958    CONST_VTBL IWICStreamVtbl* lpVtbl;
4959};
4960
4961#ifdef COBJMACROS
4962#ifndef WIDL_C_INLINE_WRAPPERS
4963/*** IUnknown methods ***/
4964#define IWICStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4965#define IWICStream_AddRef(This) (This)->lpVtbl->AddRef(This)
4966#define IWICStream_Release(This) (This)->lpVtbl->Release(This)
4967/*** ISequentialStream methods ***/
4968#define IWICStream_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead)
4969#define IWICStream_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten)
4970/*** IStream methods ***/
4971#define IWICStream_Seek(This,dlibMove,dwOrigin,plibNewPosition) (This)->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition)
4972#define IWICStream_SetSize(This,libNewSize) (This)->lpVtbl->SetSize(This,libNewSize)
4973#define IWICStream_CopyTo(This,pstm,cb,pcbRead,pcbWritten) (This)->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten)
4974#define IWICStream_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags)
4975#define IWICStream_Revert(This) (This)->lpVtbl->Revert(This)
4976#define IWICStream_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType)
4977#define IWICStream_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType)
4978#define IWICStream_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag)
4979#define IWICStream_Clone(This,ppstm) (This)->lpVtbl->Clone(This,ppstm)
4980/*** IWICStream methods ***/
4981#define IWICStream_InitializeFromIStream(This,pIStream) (This)->lpVtbl->InitializeFromIStream(This,pIStream)
4982#define IWICStream_InitializeFromFilename(This,wzFileName,dwAccessMode) (This)->lpVtbl->InitializeFromFilename(This,wzFileName,dwAccessMode)
4983#define IWICStream_InitializeFromMemory(This,pbBuffer,cbBufferSize) (This)->lpVtbl->InitializeFromMemory(This,pbBuffer,cbBufferSize)
4984#define IWICStream_InitializeFromIStreamRegion(This,pIStream,ulOffset,ulMaxSize) (This)->lpVtbl->InitializeFromIStreamRegion(This,pIStream,ulOffset,ulMaxSize)
4985#else
4986/*** IUnknown methods ***/
4987static FORCEINLINE HRESULT IWICStream_QueryInterface(IWICStream* This,REFIID riid,void **ppvObject) {
4988    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4989}
4990static FORCEINLINE ULONG IWICStream_AddRef(IWICStream* This) {
4991    return This->lpVtbl->AddRef(This);
4992}
4993static FORCEINLINE ULONG IWICStream_Release(IWICStream* This) {
4994    return This->lpVtbl->Release(This);
4995}
4996/*** ISequentialStream methods ***/
4997static FORCEINLINE HRESULT IWICStream_Read(IWICStream* This,void *pv,ULONG cb,ULONG *pcbRead) {
4998    return This->lpVtbl->Read(This,pv,cb,pcbRead);
4999}
5000static FORCEINLINE HRESULT IWICStream_Write(IWICStream* This,const void *pv,ULONG cb,ULONG *pcbWritten) {
5001    return This->lpVtbl->Write(This,pv,cb,pcbWritten);
5002}
5003/*** IStream methods ***/
5004static FORCEINLINE HRESULT IWICStream_Seek(IWICStream* This,LARGE_INTEGER dlibMove,DWORD dwOrigin,ULARGE_INTEGER *plibNewPosition) {
5005    return This->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition);
5006}
5007static FORCEINLINE HRESULT IWICStream_SetSize(IWICStream* This,ULARGE_INTEGER libNewSize) {
5008    return This->lpVtbl->SetSize(This,libNewSize);
5009}
5010static FORCEINLINE HRESULT IWICStream_CopyTo(IWICStream* This,IStream *pstm,ULARGE_INTEGER cb,ULARGE_INTEGER *pcbRead,ULARGE_INTEGER *pcbWritten) {
5011    return This->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten);
5012}
5013static FORCEINLINE HRESULT IWICStream_Commit(IWICStream* This,DWORD grfCommitFlags) {
5014    return This->lpVtbl->Commit(This,grfCommitFlags);
5015}
5016static FORCEINLINE HRESULT IWICStream_Revert(IWICStream* This) {
5017    return This->lpVtbl->Revert(This);
5018}
5019static FORCEINLINE HRESULT IWICStream_LockRegion(IWICStream* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
5020    return This->lpVtbl->LockRegion(This,libOffset,cb,dwLockType);
5021}
5022static FORCEINLINE HRESULT IWICStream_UnlockRegion(IWICStream* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
5023    return This->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType);
5024}
5025static FORCEINLINE HRESULT IWICStream_Stat(IWICStream* This,STATSTG *pstatstg,DWORD grfStatFlag) {
5026    return This->lpVtbl->Stat(This,pstatstg,grfStatFlag);
5027}
5028static FORCEINLINE HRESULT IWICStream_Clone(IWICStream* This,IStream **ppstm) {
5029    return This->lpVtbl->Clone(This,ppstm);
5030}
5031/*** IWICStream methods ***/
5032static FORCEINLINE HRESULT IWICStream_InitializeFromIStream(IWICStream* This,IStream *pIStream) {
5033    return This->lpVtbl->InitializeFromIStream(This,pIStream);
5034}
5035static FORCEINLINE HRESULT IWICStream_InitializeFromFilename(IWICStream* This,LPCWSTR wzFileName,DWORD dwAccessMode) {
5036    return This->lpVtbl->InitializeFromFilename(This,wzFileName,dwAccessMode);
5037}
5038static FORCEINLINE HRESULT IWICStream_InitializeFromMemory(IWICStream* This,BYTE *pbBuffer,DWORD cbBufferSize) {
5039    return This->lpVtbl->InitializeFromMemory(This,pbBuffer,cbBufferSize);
5040}
5041static FORCEINLINE HRESULT IWICStream_InitializeFromIStreamRegion(IWICStream* This,IStream *pIStream,ULARGE_INTEGER ulOffset,ULARGE_INTEGER ulMaxSize) {
5042    return This->lpVtbl->InitializeFromIStreamRegion(This,pIStream,ulOffset,ulMaxSize);
5043}
5044#endif
5045#endif
5046
5047#endif
5048
5049HRESULT STDMETHODCALLTYPE IWICStream_InitializeFromIStream_Proxy(
5050    IWICStream* This,
5051    IStream *pIStream);
5052void __RPC_STUB IWICStream_InitializeFromIStream_Stub(
5053    IRpcStubBuffer* This,
5054    IRpcChannelBuffer* pRpcChannelBuffer,
5055    PRPC_MESSAGE pRpcMessage,
5056    DWORD* pdwStubPhase);
5057HRESULT STDMETHODCALLTYPE IWICStream_InitializeFromFilename_Proxy(
5058    IWICStream* This,
5059    LPCWSTR wzFileName,
5060    DWORD dwAccessMode);
5061void __RPC_STUB IWICStream_InitializeFromFilename_Stub(
5062    IRpcStubBuffer* This,
5063    IRpcChannelBuffer* pRpcChannelBuffer,
5064    PRPC_MESSAGE pRpcMessage,
5065    DWORD* pdwStubPhase);
5066HRESULT STDMETHODCALLTYPE IWICStream_InitializeFromMemory_Proxy(
5067    IWICStream* This,
5068    BYTE *pbBuffer,
5069    DWORD cbBufferSize);
5070void __RPC_STUB IWICStream_InitializeFromMemory_Stub(
5071    IRpcStubBuffer* This,
5072    IRpcChannelBuffer* pRpcChannelBuffer,
5073    PRPC_MESSAGE pRpcMessage,
5074    DWORD* pdwStubPhase);
5075HRESULT STDMETHODCALLTYPE IWICStream_InitializeFromIStreamRegion_Proxy(
5076    IWICStream* This,
5077    IStream *pIStream,
5078    ULARGE_INTEGER ulOffset,
5079    ULARGE_INTEGER ulMaxSize);
5080void __RPC_STUB IWICStream_InitializeFromIStreamRegion_Stub(
5081    IRpcStubBuffer* This,
5082    IRpcChannelBuffer* pRpcChannelBuffer,
5083    PRPC_MESSAGE pRpcMessage,
5084    DWORD* pdwStubPhase);
5085
5086#endif  /* __IWICStream_INTERFACE_DEFINED__ */
5087
5088/*****************************************************************************
5089 * IWICBitmapScaler interface
5090 */
5091#ifndef __IWICBitmapScaler_INTERFACE_DEFINED__
5092#define __IWICBitmapScaler_INTERFACE_DEFINED__
5093
5094DEFINE_GUID(IID_IWICBitmapScaler, 0x00000302, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94);
5095#if defined(__cplusplus) && !defined(CINTERFACE)
5096MIDL_INTERFACE("00000302-a8f2-4877-ba0a-fd2b6645fb94")
5097IWICBitmapScaler : public IWICBitmapSource
5098{
5099    virtual HRESULT STDMETHODCALLTYPE Initialize(
5100        IWICBitmapSource *pISource,
5101        UINT uiWidth,
5102        UINT uiHeight,
5103        WICBitmapInterpolationMode mode) = 0;
5104
5105};
5106#ifdef __CRT_UUID_DECL
5107__CRT_UUID_DECL(IWICBitmapScaler, 0x00000302, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94)
5108#endif
5109#else
5110typedef struct IWICBitmapScalerVtbl {
5111    BEGIN_INTERFACE
5112
5113    /*** IUnknown methods ***/
5114    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5115        IWICBitmapScaler* This,
5116        REFIID riid,
5117        void **ppvObject);
5118
5119    ULONG (STDMETHODCALLTYPE *AddRef)(
5120        IWICBitmapScaler* This);
5121
5122    ULONG (STDMETHODCALLTYPE *Release)(
5123        IWICBitmapScaler* This);
5124
5125    /*** IWICBitmapSource methods ***/
5126    HRESULT (STDMETHODCALLTYPE *GetSize)(
5127        IWICBitmapScaler* This,
5128        UINT *puiWidth,
5129        UINT *puiHeight);
5130
5131    HRESULT (STDMETHODCALLTYPE *GetPixelFormat)(
5132        IWICBitmapScaler* This,
5133        WICPixelFormatGUID *pPixelFormat);
5134
5135    HRESULT (STDMETHODCALLTYPE *GetResolution)(
5136        IWICBitmapScaler* This,
5137        double *pDpiX,
5138        double *pDpiY);
5139
5140    HRESULT (STDMETHODCALLTYPE *CopyPalette)(
5141        IWICBitmapScaler* This,
5142        IWICPalette *pIPalette);
5143
5144    HRESULT (STDMETHODCALLTYPE *CopyPixels)(
5145        IWICBitmapScaler* This,
5146        const WICRect *prc,
5147        UINT cbStride,
5148        UINT cbBufferSize,
5149        BYTE *pbBuffer);
5150
5151    /*** IWICBitmapScaler methods ***/
5152    HRESULT (STDMETHODCALLTYPE *Initialize)(
5153        IWICBitmapScaler* This,
5154        IWICBitmapSource *pISource,
5155        UINT uiWidth,
5156        UINT uiHeight,
5157        WICBitmapInterpolationMode mode);
5158
5159    END_INTERFACE
5160} IWICBitmapScalerVtbl;
5161interface IWICBitmapScaler {
5162    CONST_VTBL IWICBitmapScalerVtbl* lpVtbl;
5163};
5164
5165#ifdef COBJMACROS
5166#ifndef WIDL_C_INLINE_WRAPPERS
5167/*** IUnknown methods ***/
5168#define IWICBitmapScaler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5169#define IWICBitmapScaler_AddRef(This) (This)->lpVtbl->AddRef(This)
5170#define IWICBitmapScaler_Release(This) (This)->lpVtbl->Release(This)
5171/*** IWICBitmapSource methods ***/
5172#define IWICBitmapScaler_GetSize(This,puiWidth,puiHeight) (This)->lpVtbl->GetSize(This,puiWidth,puiHeight)
5173#define IWICBitmapScaler_GetPixelFormat(This,pPixelFormat) (This)->lpVtbl->GetPixelFormat(This,pPixelFormat)
5174#define IWICBitmapScaler_GetResolution(This,pDpiX,pDpiY) (This)->lpVtbl->GetResolution(This,pDpiX,pDpiY)
5175#define IWICBitmapScaler_CopyPalette(This,pIPalette) (This)->lpVtbl->CopyPalette(This,pIPalette)
5176#define IWICBitmapScaler_CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer) (This)->lpVtbl->CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer)
5177/*** IWICBitmapScaler methods ***/
5178#define IWICBitmapScaler_Initialize(This,pISource,uiWidth,uiHeight,mode) (This)->lpVtbl->Initialize(This,pISource,uiWidth,uiHeight,mode)
5179#else
5180/*** IUnknown methods ***/
5181static FORCEINLINE HRESULT IWICBitmapScaler_QueryInterface(IWICBitmapScaler* This,REFIID riid,void **ppvObject) {
5182    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5183}
5184static FORCEINLINE ULONG IWICBitmapScaler_AddRef(IWICBitmapScaler* This) {
5185    return This->lpVtbl->AddRef(This);
5186}
5187static FORCEINLINE ULONG IWICBitmapScaler_Release(IWICBitmapScaler* This) {
5188    return This->lpVtbl->Release(This);
5189}
5190/*** IWICBitmapSource methods ***/
5191static FORCEINLINE HRESULT IWICBitmapScaler_GetSize(IWICBitmapScaler* This,UINT *puiWidth,UINT *puiHeight) {
5192    return This->lpVtbl->GetSize(This,puiWidth,puiHeight);
5193}
5194static FORCEINLINE HRESULT IWICBitmapScaler_GetPixelFormat(IWICBitmapScaler* This,WICPixelFormatGUID *pPixelFormat) {
5195    return This->lpVtbl->GetPixelFormat(This,pPixelFormat);
5196}
5197static FORCEINLINE HRESULT IWICBitmapScaler_GetResolution(IWICBitmapScaler* This,double *pDpiX,double *pDpiY) {
5198    return This->lpVtbl->GetResolution(This,pDpiX,pDpiY);
5199}
5200static FORCEINLINE HRESULT IWICBitmapScaler_CopyPalette(IWICBitmapScaler* This,IWICPalette *pIPalette) {
5201    return This->lpVtbl->CopyPalette(This,pIPalette);
5202}
5203static FORCEINLINE HRESULT IWICBitmapScaler_CopyPixels(IWICBitmapScaler* This,const WICRect *prc,UINT cbStride,UINT cbBufferSize,BYTE *pbBuffer) {
5204    return This->lpVtbl->CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer);
5205}
5206/*** IWICBitmapScaler methods ***/
5207static FORCEINLINE HRESULT IWICBitmapScaler_Initialize(IWICBitmapScaler* This,IWICBitmapSource *pISource,UINT uiWidth,UINT uiHeight,WICBitmapInterpolationMode mode) {
5208    return This->lpVtbl->Initialize(This,pISource,uiWidth,uiHeight,mode);
5209}
5210#endif
5211#endif
5212
5213#endif
5214
5215HRESULT STDMETHODCALLTYPE IWICBitmapScaler_Initialize_Proxy(
5216    IWICBitmapScaler* This,
5217    IWICBitmapSource *pISource,
5218    UINT uiWidth,
5219    UINT uiHeight,
5220    WICBitmapInterpolationMode mode);
5221void __RPC_STUB IWICBitmapScaler_Initialize_Stub(
5222    IRpcStubBuffer* This,
5223    IRpcChannelBuffer* pRpcChannelBuffer,
5224    PRPC_MESSAGE pRpcMessage,
5225    DWORD* pdwStubPhase);
5226
5227#endif  /* __IWICBitmapScaler_INTERFACE_DEFINED__ */
5228
5229/*****************************************************************************
5230 * IWICBitmapClipper interface
5231 */
5232#ifndef __IWICBitmapClipper_INTERFACE_DEFINED__
5233#define __IWICBitmapClipper_INTERFACE_DEFINED__
5234
5235DEFINE_GUID(IID_IWICBitmapClipper, 0xe4fbcf03, 0x223d, 0x4e81, 0x93,0x33, 0xd6,0x35,0x55,0x6d,0xd1,0xb5);
5236#if defined(__cplusplus) && !defined(CINTERFACE)
5237MIDL_INTERFACE("e4fbcf03-223d-4e81-9333-d635556dd1b5")
5238IWICBitmapClipper : public IWICBitmapSource
5239{
5240    virtual HRESULT STDMETHODCALLTYPE Initialize(
5241        IWICBitmapSource *pISource,
5242        const WICRect *prc) = 0;
5243
5244};
5245#ifdef __CRT_UUID_DECL
5246__CRT_UUID_DECL(IWICBitmapClipper, 0xe4fbcf03, 0x223d, 0x4e81, 0x93,0x33, 0xd6,0x35,0x55,0x6d,0xd1,0xb5)
5247#endif
5248#else
5249typedef struct IWICBitmapClipperVtbl {
5250    BEGIN_INTERFACE
5251
5252    /*** IUnknown methods ***/
5253    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5254        IWICBitmapClipper* This,
5255        REFIID riid,
5256        void **ppvObject);
5257
5258    ULONG (STDMETHODCALLTYPE *AddRef)(
5259        IWICBitmapClipper* This);
5260
5261    ULONG (STDMETHODCALLTYPE *Release)(
5262        IWICBitmapClipper* This);
5263
5264    /*** IWICBitmapSource methods ***/
5265    HRESULT (STDMETHODCALLTYPE *GetSize)(
5266        IWICBitmapClipper* This,
5267        UINT *puiWidth,
5268        UINT *puiHeight);
5269
5270    HRESULT (STDMETHODCALLTYPE *GetPixelFormat)(
5271        IWICBitmapClipper* This,
5272        WICPixelFormatGUID *pPixelFormat);
5273
5274    HRESULT (STDMETHODCALLTYPE *GetResolution)(
5275        IWICBitmapClipper* This,
5276        double *pDpiX,
5277        double *pDpiY);
5278
5279    HRESULT (STDMETHODCALLTYPE *CopyPalette)(
5280        IWICBitmapClipper* This,
5281        IWICPalette *pIPalette);
5282
5283    HRESULT (STDMETHODCALLTYPE *CopyPixels)(
5284        IWICBitmapClipper* This,
5285        const WICRect *prc,
5286        UINT cbStride,
5287        UINT cbBufferSize,
5288        BYTE *pbBuffer);
5289
5290    /*** IWICBitmapClipper methods ***/
5291    HRESULT (STDMETHODCALLTYPE *Initialize)(
5292        IWICBitmapClipper* This,
5293        IWICBitmapSource *pISource,
5294        const WICRect *prc);
5295
5296    END_INTERFACE
5297} IWICBitmapClipperVtbl;
5298interface IWICBitmapClipper {
5299    CONST_VTBL IWICBitmapClipperVtbl* lpVtbl;
5300};
5301
5302#ifdef COBJMACROS
5303#ifndef WIDL_C_INLINE_WRAPPERS
5304/*** IUnknown methods ***/
5305#define IWICBitmapClipper_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5306#define IWICBitmapClipper_AddRef(This) (This)->lpVtbl->AddRef(This)
5307#define IWICBitmapClipper_Release(This) (This)->lpVtbl->Release(This)
5308/*** IWICBitmapSource methods ***/
5309#define IWICBitmapClipper_GetSize(This,puiWidth,puiHeight) (This)->lpVtbl->GetSize(This,puiWidth,puiHeight)
5310#define IWICBitmapClipper_GetPixelFormat(This,pPixelFormat) (This)->lpVtbl->GetPixelFormat(This,pPixelFormat)
5311#define IWICBitmapClipper_GetResolution(This,pDpiX,pDpiY) (This)->lpVtbl->GetResolution(This,pDpiX,pDpiY)
5312#define IWICBitmapClipper_CopyPalette(This,pIPalette) (This)->lpVtbl->CopyPalette(This,pIPalette)
5313#define IWICBitmapClipper_CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer) (This)->lpVtbl->CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer)
5314/*** IWICBitmapClipper methods ***/
5315#define IWICBitmapClipper_Initialize(This,pISource,prc) (This)->lpVtbl->Initialize(This,pISource,prc)
5316#else
5317/*** IUnknown methods ***/
5318static FORCEINLINE HRESULT IWICBitmapClipper_QueryInterface(IWICBitmapClipper* This,REFIID riid,void **ppvObject) {
5319    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5320}
5321static FORCEINLINE ULONG IWICBitmapClipper_AddRef(IWICBitmapClipper* This) {
5322    return This->lpVtbl->AddRef(This);
5323}
5324static FORCEINLINE ULONG IWICBitmapClipper_Release(IWICBitmapClipper* This) {
5325    return This->lpVtbl->Release(This);
5326}
5327/*** IWICBitmapSource methods ***/
5328static FORCEINLINE HRESULT IWICBitmapClipper_GetSize(IWICBitmapClipper* This,UINT *puiWidth,UINT *puiHeight) {
5329    return This->lpVtbl->GetSize(This,puiWidth,puiHeight);
5330}
5331static FORCEINLINE HRESULT IWICBitmapClipper_GetPixelFormat(IWICBitmapClipper* This,WICPixelFormatGUID *pPixelFormat) {
5332    return This->lpVtbl->GetPixelFormat(This,pPixelFormat);
5333}
5334static FORCEINLINE HRESULT IWICBitmapClipper_GetResolution(IWICBitmapClipper* This,double *pDpiX,double *pDpiY) {
5335    return This->lpVtbl->GetResolution(This,pDpiX,pDpiY);
5336}
5337static FORCEINLINE HRESULT IWICBitmapClipper_CopyPalette(IWICBitmapClipper* This,IWICPalette *pIPalette) {
5338    return This->lpVtbl->CopyPalette(This,pIPalette);
5339}
5340static FORCEINLINE HRESULT IWICBitmapClipper_CopyPixels(IWICBitmapClipper* This,const WICRect *prc,UINT cbStride,UINT cbBufferSize,BYTE *pbBuffer) {
5341    return This->lpVtbl->CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer);
5342}
5343/*** IWICBitmapClipper methods ***/
5344static FORCEINLINE HRESULT IWICBitmapClipper_Initialize(IWICBitmapClipper* This,IWICBitmapSource *pISource,const WICRect *prc) {
5345    return This->lpVtbl->Initialize(This,pISource,prc);
5346}
5347#endif
5348#endif
5349
5350#endif
5351
5352HRESULT STDMETHODCALLTYPE IWICBitmapClipper_Initialize_Proxy(
5353    IWICBitmapClipper* This,
5354    IWICBitmapSource *pISource,
5355    const WICRect *prc);
5356void __RPC_STUB IWICBitmapClipper_Initialize_Stub(
5357    IRpcStubBuffer* This,
5358    IRpcChannelBuffer* pRpcChannelBuffer,
5359    PRPC_MESSAGE pRpcMessage,
5360    DWORD* pdwStubPhase);
5361
5362#endif  /* __IWICBitmapClipper_INTERFACE_DEFINED__ */
5363
5364/*****************************************************************************
5365 * IWICColorTransform interface
5366 */
5367#ifndef __IWICColorTransform_INTERFACE_DEFINED__
5368#define __IWICColorTransform_INTERFACE_DEFINED__
5369
5370DEFINE_GUID(IID_IWICColorTransform, 0xb66f034f, 0xd0e2, 0x40ab, 0xb4,0x36, 0x6d,0xe3,0x9e,0x32,0x1a,0x94);
5371#if defined(__cplusplus) && !defined(CINTERFACE)
5372MIDL_INTERFACE("b66f034f-d0e2-40ab-b436-6de39e321a94")
5373IWICColorTransform : public IWICBitmapSource
5374{
5375    virtual HRESULT STDMETHODCALLTYPE Initialize(
5376        IWICBitmapSource *pIBitmapSource,
5377        IWICColorContext *pIContextSource,
5378        IWICColorContext *pIContextDest,
5379        REFWICPixelFormatGUID pixelFmtDest) = 0;
5380
5381};
5382#ifdef __CRT_UUID_DECL
5383__CRT_UUID_DECL(IWICColorTransform, 0xb66f034f, 0xd0e2, 0x40ab, 0xb4,0x36, 0x6d,0xe3,0x9e,0x32,0x1a,0x94)
5384#endif
5385#else
5386typedef struct IWICColorTransformVtbl {
5387    BEGIN_INTERFACE
5388
5389    /*** IUnknown methods ***/
5390    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5391        IWICColorTransform* This,
5392        REFIID riid,
5393        void **ppvObject);
5394
5395    ULONG (STDMETHODCALLTYPE *AddRef)(
5396        IWICColorTransform* This);
5397
5398    ULONG (STDMETHODCALLTYPE *Release)(
5399        IWICColorTransform* This);
5400
5401    /*** IWICBitmapSource methods ***/
5402    HRESULT (STDMETHODCALLTYPE *GetSize)(
5403        IWICColorTransform* This,
5404        UINT *puiWidth,
5405        UINT *puiHeight);
5406
5407    HRESULT (STDMETHODCALLTYPE *GetPixelFormat)(
5408        IWICColorTransform* This,
5409        WICPixelFormatGUID *pPixelFormat);
5410
5411    HRESULT (STDMETHODCALLTYPE *GetResolution)(
5412        IWICColorTransform* This,
5413        double *pDpiX,
5414        double *pDpiY);
5415
5416    HRESULT (STDMETHODCALLTYPE *CopyPalette)(
5417        IWICColorTransform* This,
5418        IWICPalette *pIPalette);
5419
5420    HRESULT (STDMETHODCALLTYPE *CopyPixels)(
5421        IWICColorTransform* This,
5422        const WICRect *prc,
5423        UINT cbStride,
5424        UINT cbBufferSize,
5425        BYTE *pbBuffer);
5426
5427    /*** IWICColorTransform methods ***/
5428    HRESULT (STDMETHODCALLTYPE *Initialize)(
5429        IWICColorTransform* This,
5430        IWICBitmapSource *pIBitmapSource,
5431        IWICColorContext *pIContextSource,
5432        IWICColorContext *pIContextDest,
5433        REFWICPixelFormatGUID pixelFmtDest);
5434
5435    END_INTERFACE
5436} IWICColorTransformVtbl;
5437interface IWICColorTransform {
5438    CONST_VTBL IWICColorTransformVtbl* lpVtbl;
5439};
5440
5441#ifdef COBJMACROS
5442#ifndef WIDL_C_INLINE_WRAPPERS
5443/*** IUnknown methods ***/
5444#define IWICColorTransform_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5445#define IWICColorTransform_AddRef(This) (This)->lpVtbl->AddRef(This)
5446#define IWICColorTransform_Release(This) (This)->lpVtbl->Release(This)
5447/*** IWICBitmapSource methods ***/
5448#define IWICColorTransform_GetSize(This,puiWidth,puiHeight) (This)->lpVtbl->GetSize(This,puiWidth,puiHeight)
5449#define IWICColorTransform_GetPixelFormat(This,pPixelFormat) (This)->lpVtbl->GetPixelFormat(This,pPixelFormat)
5450#define IWICColorTransform_GetResolution(This,pDpiX,pDpiY) (This)->lpVtbl->GetResolution(This,pDpiX,pDpiY)
5451#define IWICColorTransform_CopyPalette(This,pIPalette) (This)->lpVtbl->CopyPalette(This,pIPalette)
5452#define IWICColorTransform_CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer) (This)->lpVtbl->CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer)
5453/*** IWICColorTransform methods ***/
5454#define IWICColorTransform_Initialize(This,pIBitmapSource,pIContextSource,pIContextDest,pixelFmtDest) (This)->lpVtbl->Initialize(This,pIBitmapSource,pIContextSource,pIContextDest,pixelFmtDest)
5455#else
5456/*** IUnknown methods ***/
5457static FORCEINLINE HRESULT IWICColorTransform_QueryInterface(IWICColorTransform* This,REFIID riid,void **ppvObject) {
5458    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5459}
5460static FORCEINLINE ULONG IWICColorTransform_AddRef(IWICColorTransform* This) {
5461    return This->lpVtbl->AddRef(This);
5462}
5463static FORCEINLINE ULONG IWICColorTransform_Release(IWICColorTransform* This) {
5464    return This->lpVtbl->Release(This);
5465}
5466/*** IWICBitmapSource methods ***/
5467static FORCEINLINE HRESULT IWICColorTransform_GetSize(IWICColorTransform* This,UINT *puiWidth,UINT *puiHeight) {
5468    return This->lpVtbl->GetSize(This,puiWidth,puiHeight);
5469}
5470static FORCEINLINE HRESULT IWICColorTransform_GetPixelFormat(IWICColorTransform* This,WICPixelFormatGUID *pPixelFormat) {
5471    return This->lpVtbl->GetPixelFormat(This,pPixelFormat);
5472}
5473static FORCEINLINE HRESULT IWICColorTransform_GetResolution(IWICColorTransform* This,double *pDpiX,double *pDpiY) {
5474    return This->lpVtbl->GetResolution(This,pDpiX,pDpiY);
5475}
5476static FORCEINLINE HRESULT IWICColorTransform_CopyPalette(IWICColorTransform* This,IWICPalette *pIPalette) {
5477    return This->lpVtbl->CopyPalette(This,pIPalette);
5478}
5479static FORCEINLINE HRESULT IWICColorTransform_CopyPixels(IWICColorTransform* This,const WICRect *prc,UINT cbStride,UINT cbBufferSize,BYTE *pbBuffer) {
5480    return This->lpVtbl->CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer);
5481}
5482/*** IWICColorTransform methods ***/
5483static FORCEINLINE HRESULT IWICColorTransform_Initialize(IWICColorTransform* This,IWICBitmapSource *pIBitmapSource,IWICColorContext *pIContextSource,IWICColorContext *pIContextDest,REFWICPixelFormatGUID pixelFmtDest) {
5484    return This->lpVtbl->Initialize(This,pIBitmapSource,pIContextSource,pIContextDest,pixelFmtDest);
5485}
5486#endif
5487#endif
5488
5489#endif
5490
5491HRESULT STDMETHODCALLTYPE IWICColorTransform_Initialize_Proxy(
5492    IWICColorTransform* This,
5493    IWICBitmapSource *pIBitmapSource,
5494    IWICColorContext *pIContextSource,
5495    IWICColorContext *pIContextDest,
5496    REFWICPixelFormatGUID pixelFmtDest);
5497void __RPC_STUB IWICColorTransform_Initialize_Stub(
5498    IRpcStubBuffer* This,
5499    IRpcChannelBuffer* pRpcChannelBuffer,
5500    PRPC_MESSAGE pRpcMessage,
5501    DWORD* pdwStubPhase);
5502
5503#endif  /* __IWICColorTransform_INTERFACE_DEFINED__ */
5504
5505/*****************************************************************************
5506 * IWICFastMetadataEncoder interface
5507 */
5508#ifndef __IWICFastMetadataEncoder_INTERFACE_DEFINED__
5509#define __IWICFastMetadataEncoder_INTERFACE_DEFINED__
5510
5511DEFINE_GUID(IID_IWICFastMetadataEncoder, 0xb84e2c09, 0x78c9, 0x4ac4, 0x8b,0xd3, 0x52,0x4a,0xe1,0x66,0x3a,0x2f);
5512#if defined(__cplusplus) && !defined(CINTERFACE)
5513MIDL_INTERFACE("b84e2c09-78c9-4ac4-8bd3-524ae1663a2f")
5514IWICFastMetadataEncoder : public IUnknown
5515{
5516    virtual HRESULT STDMETHODCALLTYPE Commit(
5517        ) = 0;
5518
5519    virtual HRESULT STDMETHODCALLTYPE GetMetadataQueryWriter(
5520        IWICMetadataQueryWriter **ppIMetadataQueryWriter) = 0;
5521
5522};
5523#ifdef __CRT_UUID_DECL
5524__CRT_UUID_DECL(IWICFastMetadataEncoder, 0xb84e2c09, 0x78c9, 0x4ac4, 0x8b,0xd3, 0x52,0x4a,0xe1,0x66,0x3a,0x2f)
5525#endif
5526#else
5527typedef struct IWICFastMetadataEncoderVtbl {
5528    BEGIN_INTERFACE
5529
5530    /*** IUnknown methods ***/
5531    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5532        IWICFastMetadataEncoder* This,
5533        REFIID riid,
5534        void **ppvObject);
5535
5536    ULONG (STDMETHODCALLTYPE *AddRef)(
5537        IWICFastMetadataEncoder* This);
5538
5539    ULONG (STDMETHODCALLTYPE *Release)(
5540        IWICFastMetadataEncoder* This);
5541
5542    /*** IWICFastMetadataEncoder methods ***/
5543    HRESULT (STDMETHODCALLTYPE *Commit)(
5544        IWICFastMetadataEncoder* This);
5545
5546    HRESULT (STDMETHODCALLTYPE *GetMetadataQueryWriter)(
5547        IWICFastMetadataEncoder* This,
5548        IWICMetadataQueryWriter **ppIMetadataQueryWriter);
5549
5550    END_INTERFACE
5551} IWICFastMetadataEncoderVtbl;
5552interface IWICFastMetadataEncoder {
5553    CONST_VTBL IWICFastMetadataEncoderVtbl* lpVtbl;
5554};
5555
5556#ifdef COBJMACROS
5557#ifndef WIDL_C_INLINE_WRAPPERS
5558/*** IUnknown methods ***/
5559#define IWICFastMetadataEncoder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5560#define IWICFastMetadataEncoder_AddRef(This) (This)->lpVtbl->AddRef(This)
5561#define IWICFastMetadataEncoder_Release(This) (This)->lpVtbl->Release(This)
5562/*** IWICFastMetadataEncoder methods ***/
5563#define IWICFastMetadataEncoder_Commit(This) (This)->lpVtbl->Commit(This)
5564#define IWICFastMetadataEncoder_GetMetadataQueryWriter(This,ppIMetadataQueryWriter) (This)->lpVtbl->GetMetadataQueryWriter(This,ppIMetadataQueryWriter)
5565#else
5566/*** IUnknown methods ***/
5567static FORCEINLINE HRESULT IWICFastMetadataEncoder_QueryInterface(IWICFastMetadataEncoder* This,REFIID riid,void **ppvObject) {
5568    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5569}
5570static FORCEINLINE ULONG IWICFastMetadataEncoder_AddRef(IWICFastMetadataEncoder* This) {
5571    return This->lpVtbl->AddRef(This);
5572}
5573static FORCEINLINE ULONG IWICFastMetadataEncoder_Release(IWICFastMetadataEncoder* This) {
5574    return This->lpVtbl->Release(This);
5575}
5576/*** IWICFastMetadataEncoder methods ***/
5577static FORCEINLINE HRESULT IWICFastMetadataEncoder_Commit(IWICFastMetadataEncoder* This) {
5578    return This->lpVtbl->Commit(This);
5579}
5580static FORCEINLINE HRESULT IWICFastMetadataEncoder_GetMetadataQueryWriter(IWICFastMetadataEncoder* This,IWICMetadataQueryWriter **ppIMetadataQueryWriter) {
5581    return This->lpVtbl->GetMetadataQueryWriter(This,ppIMetadataQueryWriter);
5582}
5583#endif
5584#endif
5585
5586#endif
5587
5588HRESULT STDMETHODCALLTYPE IWICFastMetadataEncoder_Commit_Proxy(
5589    IWICFastMetadataEncoder* This);
5590void __RPC_STUB IWICFastMetadataEncoder_Commit_Stub(
5591    IRpcStubBuffer* This,
5592    IRpcChannelBuffer* pRpcChannelBuffer,
5593    PRPC_MESSAGE pRpcMessage,
5594    DWORD* pdwStubPhase);
5595HRESULT STDMETHODCALLTYPE IWICFastMetadataEncoder_GetMetadataQueryWriter_Proxy(
5596    IWICFastMetadataEncoder* This,
5597    IWICMetadataQueryWriter **ppIMetadataQueryWriter);
5598void __RPC_STUB IWICFastMetadataEncoder_GetMetadataQueryWriter_Stub(
5599    IRpcStubBuffer* This,
5600    IRpcChannelBuffer* pRpcChannelBuffer,
5601    PRPC_MESSAGE pRpcMessage,
5602    DWORD* pdwStubPhase);
5603
5604#endif  /* __IWICFastMetadataEncoder_INTERFACE_DEFINED__ */
5605
5606DEFINE_GUID(CLSID_WICImagingFactory, 0xcacaf262,0x9370,0x4615,0xa1,0x3b,0x9f,0x55,0x39,0xda,0x4c,0x0a);
5607/*****************************************************************************
5608 * IWICImagingFactory interface
5609 */
5610#ifndef __IWICImagingFactory_INTERFACE_DEFINED__
5611#define __IWICImagingFactory_INTERFACE_DEFINED__
5612
5613DEFINE_GUID(IID_IWICImagingFactory, 0xec5ec8a9, 0xc395, 0x4314, 0x9c,0x77, 0x54,0xd7,0xa9,0x35,0xff,0x70);
5614#if defined(__cplusplus) && !defined(CINTERFACE)
5615MIDL_INTERFACE("ec5ec8a9-c395-4314-9c77-54d7a935ff70")
5616IWICImagingFactory : public IUnknown
5617{
5618    virtual HRESULT STDMETHODCALLTYPE CreateDecoderFromFilename(
5619        LPCWSTR wzFilename,
5620        const GUID *pguidVendor,
5621        DWORD dwDesiredAccess,
5622        WICDecodeOptions metadataOptions,
5623        IWICBitmapDecoder **ppIDecoder) = 0;
5624
5625    virtual HRESULT STDMETHODCALLTYPE CreateDecoderFromStream(
5626        IStream *pIStream,
5627        const GUID *pguidVendor,
5628        WICDecodeOptions metadataOptions,
5629        IWICBitmapDecoder **ppIDecoder) = 0;
5630
5631    virtual HRESULT STDMETHODCALLTYPE CreateDecoderFromFileHandle(
5632        ULONG_PTR hFile,
5633        const GUID *pguidVendor,
5634        WICDecodeOptions metadataOptions,
5635        IWICBitmapDecoder **ppIDecoder) = 0;
5636
5637    virtual HRESULT STDMETHODCALLTYPE CreateComponentInfo(
5638        REFCLSID clsidComponent,
5639        IWICComponentInfo **ppIInfo) = 0;
5640
5641    virtual HRESULT STDMETHODCALLTYPE CreateDecoder(
5642        REFGUID guidContainerFormat,
5643        const GUID *pguidVendor,
5644        IWICBitmapDecoder **ppIDecoder) = 0;
5645
5646    virtual HRESULT STDMETHODCALLTYPE CreateEncoder(
5647        REFGUID guidContainerFormat,
5648        const GUID *pguidVendor,
5649        IWICBitmapEncoder **ppIEncoder) = 0;
5650
5651    virtual HRESULT STDMETHODCALLTYPE CreatePalette(
5652        IWICPalette **ppIPalette) = 0;
5653
5654    virtual HRESULT STDMETHODCALLTYPE CreateFormatConverter(
5655        IWICFormatConverter **ppIFormatConverter) = 0;
5656
5657    virtual HRESULT STDMETHODCALLTYPE CreateBitmapScaler(
5658        IWICBitmapScaler **ppIBitmapScaler) = 0;
5659
5660    virtual HRESULT STDMETHODCALLTYPE CreateBitmapClipper(
5661        IWICBitmapClipper **ppIBitmapClipper) = 0;
5662
5663    virtual HRESULT STDMETHODCALLTYPE CreateBitmapFlipRotator(
5664        IWICBitmapFlipRotator **ppIBitmapFlipRotator) = 0;
5665
5666    virtual HRESULT STDMETHODCALLTYPE CreateStream(
5667        IWICStream **ppIWICStream) = 0;
5668
5669    virtual HRESULT STDMETHODCALLTYPE CreateColorContext(
5670        IWICColorContext **ppIWICColorContext) = 0;
5671
5672    virtual HRESULT STDMETHODCALLTYPE CreateColorTransformer(
5673        IWICColorTransform **ppIWICColorTransform) = 0;
5674
5675    virtual HRESULT STDMETHODCALLTYPE CreateBitmap(
5676        UINT uiWidth,
5677        UINT uiHeight,
5678        REFWICPixelFormatGUID pixelFormat,
5679        WICBitmapCreateCacheOption option,
5680        IWICBitmap **ppIBitmap) = 0;
5681
5682    virtual HRESULT STDMETHODCALLTYPE CreateBitmapFromSource(
5683        IWICBitmapSource *piBitmapSource,
5684        WICBitmapCreateCacheOption option,
5685        IWICBitmap **ppIBitmap) = 0;
5686
5687    virtual HRESULT STDMETHODCALLTYPE CreateBitmapFromSourceRect(
5688        IWICBitmapSource *piBitmapSource,
5689        UINT x,
5690        UINT y,
5691        UINT width,
5692        UINT height,
5693        IWICBitmap **ppIBitmap) = 0;
5694
5695    virtual HRESULT STDMETHODCALLTYPE CreateBitmapFromMemory(
5696        UINT uiWidth,
5697        UINT uiHeight,
5698        REFWICPixelFormatGUID pixelFormat,
5699        UINT cbStride,
5700        UINT cbBufferSize,
5701        BYTE *pbBuffer,
5702        IWICBitmap **ppIBitmap) = 0;
5703
5704    virtual HRESULT STDMETHODCALLTYPE CreateBitmapFromHBITMAP(
5705        HBITMAP hBitmap,
5706        HPALETTE hPalette,
5707        WICBitmapAlphaChannelOption options,
5708        IWICBitmap **ppIBitmap) = 0;
5709
5710    virtual HRESULT STDMETHODCALLTYPE CreateBitmapFromHICON(
5711        HICON hIcon,
5712        IWICBitmap **ppIBitmap) = 0;
5713
5714    virtual HRESULT STDMETHODCALLTYPE CreateComponentEnumerator(
5715        DWORD componentTypes,
5716        DWORD options,
5717        IEnumUnknown **ppIEnumUnknown) = 0;
5718
5719    virtual HRESULT STDMETHODCALLTYPE CreateFastMetadataEncoderFromDecoder(
5720        IWICBitmapDecoder *pIDecoder,
5721        IWICFastMetadataEncoder **ppIFastEncoder) = 0;
5722
5723    virtual HRESULT STDMETHODCALLTYPE CreateFastMetadataEncoderFromFrameDecode(
5724        IWICBitmapFrameDecode *pIFrameDecoder,
5725        IWICFastMetadataEncoder **ppIFastEncoder) = 0;
5726
5727    virtual HRESULT STDMETHODCALLTYPE CreateQueryWriter(
5728        REFGUID guidMetadataFormat,
5729        const GUID *pguidVendor,
5730        IWICMetadataQueryWriter **ppIQueryWriter) = 0;
5731
5732    virtual HRESULT STDMETHODCALLTYPE CreateQueryWriterFromReader(
5733        IWICMetadataQueryReader *pIQueryReader,
5734        const GUID *pguidVendor,
5735        IWICMetadataQueryWriter **ppIQueryWriter) = 0;
5736
5737};
5738#ifdef __CRT_UUID_DECL
5739__CRT_UUID_DECL(IWICImagingFactory, 0xec5ec8a9, 0xc395, 0x4314, 0x9c,0x77, 0x54,0xd7,0xa9,0x35,0xff,0x70)
5740#endif
5741#else
5742typedef struct IWICImagingFactoryVtbl {
5743    BEGIN_INTERFACE
5744
5745    /*** IUnknown methods ***/
5746    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5747        IWICImagingFactory* This,
5748        REFIID riid,
5749        void **ppvObject);
5750
5751    ULONG (STDMETHODCALLTYPE *AddRef)(
5752        IWICImagingFactory* This);
5753
5754    ULONG (STDMETHODCALLTYPE *Release)(
5755        IWICImagingFactory* This);
5756
5757    /*** IWICImagingFactory methods ***/
5758    HRESULT (STDMETHODCALLTYPE *CreateDecoderFromFilename)(
5759        IWICImagingFactory* This,
5760        LPCWSTR wzFilename,
5761        const GUID *pguidVendor,
5762        DWORD dwDesiredAccess,
5763        WICDecodeOptions metadataOptions,
5764        IWICBitmapDecoder **ppIDecoder);
5765
5766    HRESULT (STDMETHODCALLTYPE *CreateDecoderFromStream)(
5767        IWICImagingFactory* This,
5768        IStream *pIStream,
5769        const GUID *pguidVendor,
5770        WICDecodeOptions metadataOptions,
5771        IWICBitmapDecoder **ppIDecoder);
5772
5773    HRESULT (STDMETHODCALLTYPE *CreateDecoderFromFileHandle)(
5774        IWICImagingFactory* This,
5775        ULONG_PTR hFile,
5776        const GUID *pguidVendor,
5777        WICDecodeOptions metadataOptions,
5778        IWICBitmapDecoder **ppIDecoder);
5779
5780    HRESULT (STDMETHODCALLTYPE *CreateComponentInfo)(
5781        IWICImagingFactory* This,
5782        REFCLSID clsidComponent,
5783        IWICComponentInfo **ppIInfo);
5784
5785    HRESULT (STDMETHODCALLTYPE *CreateDecoder)(
5786        IWICImagingFactory* This,
5787        REFGUID guidContainerFormat,
5788        const GUID *pguidVendor,
5789        IWICBitmapDecoder **ppIDecoder);
5790
5791    HRESULT (STDMETHODCALLTYPE *CreateEncoder)(
5792        IWICImagingFactory* This,
5793        REFGUID guidContainerFormat,
5794        const GUID *pguidVendor,
5795        IWICBitmapEncoder **ppIEncoder);
5796
5797    HRESULT (STDMETHODCALLTYPE *CreatePalette)(
5798        IWICImagingFactory* This,
5799        IWICPalette **ppIPalette);
5800
5801    HRESULT (STDMETHODCALLTYPE *CreateFormatConverter)(
5802        IWICImagingFactory* This,
5803        IWICFormatConverter **ppIFormatConverter);
5804
5805    HRESULT (STDMETHODCALLTYPE *CreateBitmapScaler)(
5806        IWICImagingFactory* This,
5807        IWICBitmapScaler **ppIBitmapScaler);
5808
5809    HRESULT (STDMETHODCALLTYPE *CreateBitmapClipper)(
5810        IWICImagingFactory* This,
5811        IWICBitmapClipper **ppIBitmapClipper);
5812
5813    HRESULT (STDMETHODCALLTYPE *CreateBitmapFlipRotator)(
5814        IWICImagingFactory* This,
5815        IWICBitmapFlipRotator **ppIBitmapFlipRotator);
5816
5817    HRESULT (STDMETHODCALLTYPE *CreateStream)(
5818        IWICImagingFactory* This,
5819        IWICStream **ppIWICStream);
5820
5821    HRESULT (STDMETHODCALLTYPE *CreateColorContext)(
5822        IWICImagingFactory* This,
5823        IWICColorContext **ppIWICColorContext);
5824
5825    HRESULT (STDMETHODCALLTYPE *CreateColorTransformer)(
5826        IWICImagingFactory* This,
5827        IWICColorTransform **ppIWICColorTransform);
5828
5829    HRESULT (STDMETHODCALLTYPE *CreateBitmap)(
5830        IWICImagingFactory* This,
5831        UINT uiWidth,
5832        UINT uiHeight,
5833        REFWICPixelFormatGUID pixelFormat,
5834        WICBitmapCreateCacheOption option,
5835        IWICBitmap **ppIBitmap);
5836
5837    HRESULT (STDMETHODCALLTYPE *CreateBitmapFromSource)(
5838        IWICImagingFactory* This,
5839        IWICBitmapSource *piBitmapSource,
5840        WICBitmapCreateCacheOption option,
5841        IWICBitmap **ppIBitmap);
5842
5843    HRESULT (STDMETHODCALLTYPE *CreateBitmapFromSourceRect)(
5844        IWICImagingFactory* This,
5845        IWICBitmapSource *piBitmapSource,
5846        UINT x,
5847        UINT y,
5848        UINT width,
5849        UINT height,
5850        IWICBitmap **ppIBitmap);
5851
5852    HRESULT (STDMETHODCALLTYPE *CreateBitmapFromMemory)(
5853        IWICImagingFactory* This,
5854        UINT uiWidth,
5855        UINT uiHeight,
5856        REFWICPixelFormatGUID pixelFormat,
5857        UINT cbStride,
5858        UINT cbBufferSize,
5859        BYTE *pbBuffer,
5860        IWICBitmap **ppIBitmap);
5861
5862    HRESULT (STDMETHODCALLTYPE *CreateBitmapFromHBITMAP)(
5863        IWICImagingFactory* This,
5864        HBITMAP hBitmap,
5865        HPALETTE hPalette,
5866        WICBitmapAlphaChannelOption options,
5867        IWICBitmap **ppIBitmap);
5868
5869    HRESULT (STDMETHODCALLTYPE *CreateBitmapFromHICON)(
5870        IWICImagingFactory* This,
5871        HICON hIcon,
5872        IWICBitmap **ppIBitmap);
5873
5874    HRESULT (STDMETHODCALLTYPE *CreateComponentEnumerator)(
5875        IWICImagingFactory* This,
5876        DWORD componentTypes,
5877        DWORD options,
5878        IEnumUnknown **ppIEnumUnknown);
5879
5880    HRESULT (STDMETHODCALLTYPE *CreateFastMetadataEncoderFromDecoder)(
5881        IWICImagingFactory* This,
5882        IWICBitmapDecoder *pIDecoder,
5883        IWICFastMetadataEncoder **ppIFastEncoder);
5884
5885    HRESULT (STDMETHODCALLTYPE *CreateFastMetadataEncoderFromFrameDecode)(
5886        IWICImagingFactory* This,
5887        IWICBitmapFrameDecode *pIFrameDecoder,
5888        IWICFastMetadataEncoder **ppIFastEncoder);
5889
5890    HRESULT (STDMETHODCALLTYPE *CreateQueryWriter)(
5891        IWICImagingFactory* This,
5892        REFGUID guidMetadataFormat,
5893        const GUID *pguidVendor,
5894        IWICMetadataQueryWriter **ppIQueryWriter);
5895
5896    HRESULT (STDMETHODCALLTYPE *CreateQueryWriterFromReader)(
5897        IWICImagingFactory* This,
5898        IWICMetadataQueryReader *pIQueryReader,
5899        const GUID *pguidVendor,
5900        IWICMetadataQueryWriter **ppIQueryWriter);
5901
5902    END_INTERFACE
5903} IWICImagingFactoryVtbl;
5904interface IWICImagingFactory {
5905    CONST_VTBL IWICImagingFactoryVtbl* lpVtbl;
5906};
5907
5908#ifdef COBJMACROS
5909#ifndef WIDL_C_INLINE_WRAPPERS
5910/*** IUnknown methods ***/
5911#define IWICImagingFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5912#define IWICImagingFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
5913#define IWICImagingFactory_Release(This) (This)->lpVtbl->Release(This)
5914/*** IWICImagingFactory methods ***/
5915#define IWICImagingFactory_CreateDecoderFromFilename(This,wzFilename,pguidVendor,dwDesiredAccess,metadataOptions,ppIDecoder) (This)->lpVtbl->CreateDecoderFromFilename(This,wzFilename,pguidVendor,dwDesiredAccess,metadataOptions,ppIDecoder)
5916#define IWICImagingFactory_CreateDecoderFromStream(This,pIStream,pguidVendor,metadataOptions,ppIDecoder) (This)->lpVtbl->CreateDecoderFromStream(This,pIStream,pguidVendor,metadataOptions,ppIDecoder)
5917#define IWICImagingFactory_CreateDecoderFromFileHandle(This,hFile,pguidVendor,metadataOptions,ppIDecoder) (This)->lpVtbl->CreateDecoderFromFileHandle(This,hFile,pguidVendor,metadataOptions,ppIDecoder)
5918#define IWICImagingFactory_CreateComponentInfo(This,clsidComponent,ppIInfo) (This)->lpVtbl->CreateComponentInfo(This,clsidComponent,ppIInfo)
5919#define IWICImagingFactory_CreateDecoder(This,guidContainerFormat,pguidVendor,ppIDecoder) (This)->lpVtbl->CreateDecoder(This,guidContainerFormat,pguidVendor,ppIDecoder)
5920#define IWICImagingFactory_CreateEncoder(This,guidContainerFormat,pguidVendor,ppIEncoder) (This)->lpVtbl->CreateEncoder(This,guidContainerFormat,pguidVendor,ppIEncoder)
5921#define IWICImagingFactory_CreatePalette(This,ppIPalette) (This)->lpVtbl->CreatePalette(This,ppIPalette)
5922#define IWICImagingFactory_CreateFormatConverter(This,ppIFormatConverter) (This)->lpVtbl->CreateFormatConverter(This,ppIFormatConverter)
5923#define IWICImagingFactory_CreateBitmapScaler(This,ppIBitmapScaler) (This)->lpVtbl->CreateBitmapScaler(This,ppIBitmapScaler)
5924#define IWICImagingFactory_CreateBitmapClipper(This,ppIBitmapClipper) (This)->lpVtbl->CreateBitmapClipper(This,ppIBitmapClipper)
5925#define IWICImagingFactory_CreateBitmapFlipRotator(This,ppIBitmapFlipRotator) (This)->lpVtbl->CreateBitmapFlipRotator(This,ppIBitmapFlipRotator)
5926#define IWICImagingFactory_CreateStream(This,ppIWICStream) (This)->lpVtbl->CreateStream(This,ppIWICStream)
5927#define IWICImagingFactory_CreateColorContext(This,ppIWICColorContext) (This)->lpVtbl->CreateColorContext(This,ppIWICColorContext)
5928#define IWICImagingFactory_CreateColorTransformer(This,ppIWICColorTransform) (This)->lpVtbl->CreateColorTransformer(This,ppIWICColorTransform)
5929#define IWICImagingFactory_CreateBitmap(This,uiWidth,uiHeight,pixelFormat,option,ppIBitmap) (This)->lpVtbl->CreateBitmap(This,uiWidth,uiHeight,pixelFormat,option,ppIBitmap)
5930#define IWICImagingFactory_CreateBitmapFromSource(This,piBitmapSource,option,ppIBitmap) (This)->lpVtbl->CreateBitmapFromSource(This,piBitmapSource,option,ppIBitmap)
5931#define IWICImagingFactory_CreateBitmapFromSourceRect(This,piBitmapSource,x,y,width,height,ppIBitmap) (This)->lpVtbl->CreateBitmapFromSourceRect(This,piBitmapSource,x,y,width,height,ppIBitmap)
5932#define IWICImagingFactory_CreateBitmapFromMemory(This,uiWidth,uiHeight,pixelFormat,cbStride,cbBufferSize,pbBuffer,ppIBitmap) (This)->lpVtbl->CreateBitmapFromMemory(This,uiWidth,uiHeight,pixelFormat,cbStride,cbBufferSize,pbBuffer,ppIBitmap)
5933#define IWICImagingFactory_CreateBitmapFromHBITMAP(This,hBitmap,hPalette,options,ppIBitmap) (This)->lpVtbl->CreateBitmapFromHBITMAP(This,hBitmap,hPalette,options,ppIBitmap)
5934#define IWICImagingFactory_CreateBitmapFromHICON(This,hIcon,ppIBitmap) (This)->lpVtbl->CreateBitmapFromHICON(This,hIcon,ppIBitmap)
5935#define IWICImagingFactory_CreateComponentEnumerator(This,componentTypes,options,ppIEnumUnknown) (This)->lpVtbl->CreateComponentEnumerator(This,componentTypes,options,ppIEnumUnknown)
5936#define IWICImagingFactory_CreateFastMetadataEncoderFromDecoder(This,pIDecoder,ppIFastEncoder) (This)->lpVtbl->CreateFastMetadataEncoderFromDecoder(This,pIDecoder,ppIFastEncoder)
5937#define IWICImagingFactory_CreateFastMetadataEncoderFromFrameDecode(This,pIFrameDecoder,ppIFastEncoder) (This)->lpVtbl->CreateFastMetadataEncoderFromFrameDecode(This,pIFrameDecoder,ppIFastEncoder)
5938#define IWICImagingFactory_CreateQueryWriter(This,guidMetadataFormat,pguidVendor,ppIQueryWriter) (This)->lpVtbl->CreateQueryWriter(This,guidMetadataFormat,pguidVendor,ppIQueryWriter)
5939#define IWICImagingFactory_CreateQueryWriterFromReader(This,pIQueryReader,pguidVendor,ppIQueryWriter) (This)->lpVtbl->CreateQueryWriterFromReader(This,pIQueryReader,pguidVendor,ppIQueryWriter)
5940#else
5941/*** IUnknown methods ***/
5942static FORCEINLINE HRESULT IWICImagingFactory_QueryInterface(IWICImagingFactory* This,REFIID riid,void **ppvObject) {
5943    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5944}
5945static FORCEINLINE ULONG IWICImagingFactory_AddRef(IWICImagingFactory* This) {
5946    return This->lpVtbl->AddRef(This);
5947}
5948static FORCEINLINE ULONG IWICImagingFactory_Release(IWICImagingFactory* This) {
5949    return This->lpVtbl->Release(This);
5950}
5951/*** IWICImagingFactory methods ***/
5952static FORCEINLINE HRESULT IWICImagingFactory_CreateDecoderFromFilename(IWICImagingFactory* This,LPCWSTR wzFilename,const GUID *pguidVendor,DWORD dwDesiredAccess,WICDecodeOptions metadataOptions,IWICBitmapDecoder **ppIDecoder) {
5953    return This->lpVtbl->CreateDecoderFromFilename(This,wzFilename,pguidVendor,dwDesiredAccess,metadataOptions,ppIDecoder);
5954}
5955static FORCEINLINE HRESULT IWICImagingFactory_CreateDecoderFromStream(IWICImagingFactory* This,IStream *pIStream,const GUID *pguidVendor,WICDecodeOptions metadataOptions,IWICBitmapDecoder **ppIDecoder) {
5956    return This->lpVtbl->CreateDecoderFromStream(This,pIStream,pguidVendor,metadataOptions,ppIDecoder);
5957}
5958static FORCEINLINE HRESULT IWICImagingFactory_CreateDecoderFromFileHandle(IWICImagingFactory* This,ULONG_PTR hFile,const GUID *pguidVendor,WICDecodeOptions metadataOptions,IWICBitmapDecoder **ppIDecoder) {
5959    return This->lpVtbl->CreateDecoderFromFileHandle(This,hFile,pguidVendor,metadataOptions,ppIDecoder);
5960}
5961static FORCEINLINE HRESULT IWICImagingFactory_CreateComponentInfo(IWICImagingFactory* This,REFCLSID clsidComponent,IWICComponentInfo **ppIInfo) {
5962    return This->lpVtbl->CreateComponentInfo(This,clsidComponent,ppIInfo);
5963}
5964static FORCEINLINE HRESULT IWICImagingFactory_CreateDecoder(IWICImagingFactory* This,REFGUID guidContainerFormat,const GUID *pguidVendor,IWICBitmapDecoder **ppIDecoder) {
5965    return This->lpVtbl->CreateDecoder(This,guidContainerFormat,pguidVendor,ppIDecoder);
5966}
5967static FORCEINLINE HRESULT IWICImagingFactory_CreateEncoder(IWICImagingFactory* This,REFGUID guidContainerFormat,const GUID *pguidVendor,IWICBitmapEncoder **ppIEncoder) {
5968    return This->lpVtbl->CreateEncoder(This,guidContainerFormat,pguidVendor,ppIEncoder);
5969}
5970static FORCEINLINE HRESULT IWICImagingFactory_CreatePalette(IWICImagingFactory* This,IWICPalette **ppIPalette) {
5971    return This->lpVtbl->CreatePalette(This,ppIPalette);
5972}
5973static FORCEINLINE HRESULT IWICImagingFactory_CreateFormatConverter(IWICImagingFactory* This,IWICFormatConverter **ppIFormatConverter) {
5974    return This->lpVtbl->CreateFormatConverter(This,ppIFormatConverter);
5975}
5976static FORCEINLINE HRESULT IWICImagingFactory_CreateBitmapScaler(IWICImagingFactory* This,IWICBitmapScaler **ppIBitmapScaler) {
5977    return This->lpVtbl->CreateBitmapScaler(This,ppIBitmapScaler);
5978}
5979static FORCEINLINE HRESULT IWICImagingFactory_CreateBitmapClipper(IWICImagingFactory* This,IWICBitmapClipper **ppIBitmapClipper) {
5980    return This->lpVtbl->CreateBitmapClipper(This,ppIBitmapClipper);
5981}
5982static FORCEINLINE HRESULT IWICImagingFactory_CreateBitmapFlipRotator(IWICImagingFactory* This,IWICBitmapFlipRotator **ppIBitmapFlipRotator) {
5983    return This->lpVtbl->CreateBitmapFlipRotator(This,ppIBitmapFlipRotator);
5984}
5985static FORCEINLINE HRESULT IWICImagingFactory_CreateStream(IWICImagingFactory* This,IWICStream **ppIWICStream) {
5986    return This->lpVtbl->CreateStream(This,ppIWICStream);
5987}
5988static FORCEINLINE HRESULT IWICImagingFactory_CreateColorContext(IWICImagingFactory* This,IWICColorContext **ppIWICColorContext) {
5989    return This->lpVtbl->CreateColorContext(This,ppIWICColorContext);
5990}
5991static FORCEINLINE HRESULT IWICImagingFactory_CreateColorTransformer(IWICImagingFactory* This,IWICColorTransform **ppIWICColorTransform) {
5992    return This->lpVtbl->CreateColorTransformer(This,ppIWICColorTransform);
5993}
5994static FORCEINLINE HRESULT IWICImagingFactory_CreateBitmap(IWICImagingFactory* This,UINT uiWidth,UINT uiHeight,REFWICPixelFormatGUID pixelFormat,WICBitmapCreateCacheOption option,IWICBitmap **ppIBitmap) {
5995    return This->lpVtbl->CreateBitmap(This,uiWidth,uiHeight,pixelFormat,option,ppIBitmap);
5996}
5997static FORCEINLINE HRESULT IWICImagingFactory_CreateBitmapFromSource(IWICImagingFactory* This,IWICBitmapSource *piBitmapSource,WICBitmapCreateCacheOption option,IWICBitmap **ppIBitmap) {
5998    return This->lpVtbl->CreateBitmapFromSource(This,piBitmapSource,option,ppIBitmap);
5999}
6000static FORCEINLINE HRESULT IWICImagingFactory_CreateBitmapFromSourceRect(IWICImagingFactory* This,IWICBitmapSource *piBitmapSource,UINT x,UINT y,UINT width,UINT height,IWICBitmap **ppIBitmap) {
6001    return This->lpVtbl->CreateBitmapFromSourceRect(This,piBitmapSource,x,y,width,height,ppIBitmap);
6002}
6003static FORCEINLINE HRESULT IWICImagingFactory_CreateBitmapFromMemory(IWICImagingFactory* This,UINT uiWidth,UINT uiHeight,REFWICPixelFormatGUID pixelFormat,UINT cbStride,UINT cbBufferSize,BYTE *pbBuffer,IWICBitmap **ppIBitmap) {
6004    return This->lpVtbl->CreateBitmapFromMemory(This,uiWidth,uiHeight,pixelFormat,cbStride,cbBufferSize,pbBuffer,ppIBitmap);
6005}
6006static FORCEINLINE HRESULT IWICImagingFactory_CreateBitmapFromHBITMAP(IWICImagingFactory* This,HBITMAP hBitmap,HPALETTE hPalette,WICBitmapAlphaChannelOption options,IWICBitmap **ppIBitmap) {
6007    return This->lpVtbl->CreateBitmapFromHBITMAP(This,hBitmap,hPalette,options,ppIBitmap);
6008}
6009static FORCEINLINE HRESULT IWICImagingFactory_CreateBitmapFromHICON(IWICImagingFactory* This,HICON hIcon,IWICBitmap **ppIBitmap) {
6010    return This->lpVtbl->CreateBitmapFromHICON(This,hIcon,ppIBitmap);
6011}
6012static FORCEINLINE HRESULT IWICImagingFactory_CreateComponentEnumerator(IWICImagingFactory* This,DWORD componentTypes,DWORD options,IEnumUnknown **ppIEnumUnknown) {
6013    return This->lpVtbl->CreateComponentEnumerator(This,componentTypes,options,ppIEnumUnknown);
6014}
6015static FORCEINLINE HRESULT IWICImagingFactory_CreateFastMetadataEncoderFromDecoder(IWICImagingFactory* This,IWICBitmapDecoder *pIDecoder,IWICFastMetadataEncoder **ppIFastEncoder) {
6016    return This->lpVtbl->CreateFastMetadataEncoderFromDecoder(This,pIDecoder,ppIFastEncoder);
6017}
6018static FORCEINLINE HRESULT IWICImagingFactory_CreateFastMetadataEncoderFromFrameDecode(IWICImagingFactory* This,IWICBitmapFrameDecode *pIFrameDecoder,IWICFastMetadataEncoder **ppIFastEncoder) {
6019    return This->lpVtbl->CreateFastMetadataEncoderFromFrameDecode(This,pIFrameDecoder,ppIFastEncoder);
6020}
6021static FORCEINLINE HRESULT IWICImagingFactory_CreateQueryWriter(IWICImagingFactory* This,REFGUID guidMetadataFormat,const GUID *pguidVendor,IWICMetadataQueryWriter **ppIQueryWriter) {
6022    return This->lpVtbl->CreateQueryWriter(This,guidMetadataFormat,pguidVendor,ppIQueryWriter);
6023}
6024static FORCEINLINE HRESULT IWICImagingFactory_CreateQueryWriterFromReader(IWICImagingFactory* This,IWICMetadataQueryReader *pIQueryReader,const GUID *pguidVendor,IWICMetadataQueryWriter **ppIQueryWriter) {
6025    return This->lpVtbl->CreateQueryWriterFromReader(This,pIQueryReader,pguidVendor,ppIQueryWriter);
6026}
6027#endif
6028#endif
6029
6030#endif
6031
6032HRESULT STDMETHODCALLTYPE IWICImagingFactory_CreateDecoderFromFilename_Proxy(
6033    IWICImagingFactory* This,
6034    LPCWSTR wzFilename,
6035    const GUID *pguidVendor,
6036    DWORD dwDesiredAccess,
6037    WICDecodeOptions metadataOptions,
6038    IWICBitmapDecoder **ppIDecoder);
6039void __RPC_STUB IWICImagingFactory_CreateDecoderFromFilename_Stub(
6040    IRpcStubBuffer* This,
6041    IRpcChannelBuffer* pRpcChannelBuffer,
6042    PRPC_MESSAGE pRpcMessage,
6043    DWORD* pdwStubPhase);
6044HRESULT STDMETHODCALLTYPE IWICImagingFactory_CreateDecoderFromStream_Proxy(
6045    IWICImagingFactory* This,
6046    IStream *pIStream,
6047    const GUID *pguidVendor,
6048    WICDecodeOptions metadataOptions,
6049    IWICBitmapDecoder **ppIDecoder);
6050void __RPC_STUB IWICImagingFactory_CreateDecoderFromStream_Stub(
6051    IRpcStubBuffer* This,
6052    IRpcChannelBuffer* pRpcChannelBuffer,
6053    PRPC_MESSAGE pRpcMessage,
6054    DWORD* pdwStubPhase);
6055HRESULT STDMETHODCALLTYPE IWICImagingFactory_CreateDecoderFromFileHandle_Proxy(
6056    IWICImagingFactory* This,
6057    ULONG_PTR hFile,
6058    const GUID *pguidVendor,
6059    WICDecodeOptions metadataOptions,
6060    IWICBitmapDecoder **ppIDecoder);
6061void __RPC_STUB IWICImagingFactory_CreateDecoderFromFileHandle_Stub(
6062    IRpcStubBuffer* This,
6063    IRpcChannelBuffer* pRpcChannelBuffer,
6064    PRPC_MESSAGE pRpcMessage,
6065    DWORD* pdwStubPhase);
6066HRESULT STDMETHODCALLTYPE IWICImagingFactory_CreateComponentInfo_Proxy(
6067    IWICImagingFactory* This,
6068    REFCLSID clsidComponent,
6069    IWICComponentInfo **ppIInfo);
6070void __RPC_STUB IWICImagingFactory_CreateComponentInfo_Stub(
6071    IRpcStubBuffer* This,
6072    IRpcChannelBuffer* pRpcChannelBuffer,
6073    PRPC_MESSAGE pRpcMessage,
6074    DWORD* pdwStubPhase);
6075HRESULT STDMETHODCALLTYPE IWICImagingFactory_CreateDecoder_Proxy(
6076    IWICImagingFactory* This,
6077    REFGUID guidContainerFormat,
6078    const GUID *pguidVendor,
6079    IWICBitmapDecoder **ppIDecoder);
6080void __RPC_STUB IWICImagingFactory_CreateDecoder_Stub(
6081    IRpcStubBuffer* This,
6082    IRpcChannelBuffer* pRpcChannelBuffer,
6083    PRPC_MESSAGE pRpcMessage,
6084    DWORD* pdwStubPhase);
6085HRESULT STDMETHODCALLTYPE IWICImagingFactory_CreateEncoder_Proxy(
6086    IWICImagingFactory* This,
6087    REFGUID guidContainerFormat,
6088    const GUID *pguidVendor,
6089    IWICBitmapEncoder **ppIEncoder);
6090void __RPC_STUB IWICImagingFactory_CreateEncoder_Stub(
6091    IRpcStubBuffer* This,
6092    IRpcChannelBuffer* pRpcChannelBuffer,
6093    PRPC_MESSAGE pRpcMessage,
6094    DWORD* pdwStubPhase);
6095HRESULT STDMETHODCALLTYPE IWICImagingFactory_CreatePalette_Proxy(
6096    IWICImagingFactory* This,
6097    IWICPalette **ppIPalette);
6098void __RPC_STUB IWICImagingFactory_CreatePalette_Stub(
6099    IRpcStubBuffer* This,
6100    IRpcChannelBuffer* pRpcChannelBuffer,
6101    PRPC_MESSAGE pRpcMessage,
6102    DWORD* pdwStubPhase);
6103HRESULT STDMETHODCALLTYPE IWICImagingFactory_CreateFormatConverter_Proxy(
6104    IWICImagingFactory* This,
6105    IWICFormatConverter **ppIFormatConverter);
6106void __RPC_STUB IWICImagingFactory_CreateFormatConverter_Stub(
6107    IRpcStubBuffer* This,
6108    IRpcChannelBuffer* pRpcChannelBuffer,
6109    PRPC_MESSAGE pRpcMessage,
6110    DWORD* pdwStubPhase);
6111HRESULT STDMETHODCALLTYPE IWICImagingFactory_CreateBitmapScaler_Proxy(
6112    IWICImagingFactory* This,
6113    IWICBitmapScaler **ppIBitmapScaler);
6114void __RPC_STUB IWICImagingFactory_CreateBitmapScaler_Stub(
6115    IRpcStubBuffer* This,
6116    IRpcChannelBuffer* pRpcChannelBuffer,
6117    PRPC_MESSAGE pRpcMessage,
6118    DWORD* pdwStubPhase);
6119HRESULT STDMETHODCALLTYPE IWICImagingFactory_CreateBitmapClipper_Proxy(
6120    IWICImagingFactory* This,
6121    IWICBitmapClipper **ppIBitmapClipper);
6122void __RPC_STUB IWICImagingFactory_CreateBitmapClipper_Stub(
6123    IRpcStubBuffer* This,
6124    IRpcChannelBuffer* pRpcChannelBuffer,
6125    PRPC_MESSAGE pRpcMessage,
6126    DWORD* pdwStubPhase);
6127HRESULT STDMETHODCALLTYPE IWICImagingFactory_CreateBitmapFlipRotator_Proxy(
6128    IWICImagingFactory* This,
6129    IWICBitmapFlipRotator **ppIBitmapFlipRotator);
6130void __RPC_STUB IWICImagingFactory_CreateBitmapFlipRotator_Stub(
6131    IRpcStubBuffer* This,
6132    IRpcChannelBuffer* pRpcChannelBuffer,
6133    PRPC_MESSAGE pRpcMessage,
6134    DWORD* pdwStubPhase);
6135HRESULT STDMETHODCALLTYPE IWICImagingFactory_CreateStream_Proxy(
6136    IWICImagingFactory* This,
6137    IWICStream **ppIWICStream);
6138void __RPC_STUB IWICImagingFactory_CreateStream_Stub(
6139    IRpcStubBuffer* This,
6140    IRpcChannelBuffer* pRpcChannelBuffer,
6141    PRPC_MESSAGE pRpcMessage,
6142    DWORD* pdwStubPhase);
6143HRESULT STDMETHODCALLTYPE IWICImagingFactory_CreateColorContext_Proxy(
6144    IWICImagingFactory* This,
6145    IWICColorContext **ppIWICColorContext);
6146void __RPC_STUB IWICImagingFactory_CreateColorContext_Stub(
6147    IRpcStubBuffer* This,
6148    IRpcChannelBuffer* pRpcChannelBuffer,
6149    PRPC_MESSAGE pRpcMessage,
6150    DWORD* pdwStubPhase);
6151HRESULT STDMETHODCALLTYPE IWICImagingFactory_CreateColorTransformer_Proxy(
6152    IWICImagingFactory* This,
6153    IWICColorTransform **ppIWICColorTransform);
6154void __RPC_STUB IWICImagingFactory_CreateColorTransformer_Stub(
6155    IRpcStubBuffer* This,
6156    IRpcChannelBuffer* pRpcChannelBuffer,
6157    PRPC_MESSAGE pRpcMessage,
6158    DWORD* pdwStubPhase);
6159HRESULT STDMETHODCALLTYPE IWICImagingFactory_CreateBitmap_Proxy(
6160    IWICImagingFactory* This,
6161    UINT uiWidth,
6162    UINT uiHeight,
6163    REFWICPixelFormatGUID pixelFormat,
6164    WICBitmapCreateCacheOption option,
6165    IWICBitmap **ppIBitmap);
6166void __RPC_STUB IWICImagingFactory_CreateBitmap_Stub(
6167    IRpcStubBuffer* This,
6168    IRpcChannelBuffer* pRpcChannelBuffer,
6169    PRPC_MESSAGE pRpcMessage,
6170    DWORD* pdwStubPhase);
6171HRESULT STDMETHODCALLTYPE IWICImagingFactory_CreateBitmapFromSource_Proxy(
6172    IWICImagingFactory* This,
6173    IWICBitmapSource *piBitmapSource,
6174    WICBitmapCreateCacheOption option,
6175    IWICBitmap **ppIBitmap);
6176void __RPC_STUB IWICImagingFactory_CreateBitmapFromSource_Stub(
6177    IRpcStubBuffer* This,
6178    IRpcChannelBuffer* pRpcChannelBuffer,
6179    PRPC_MESSAGE pRpcMessage,
6180    DWORD* pdwStubPhase);
6181HRESULT STDMETHODCALLTYPE IWICImagingFactory_CreateBitmapFromSourceRect_Proxy(
6182    IWICImagingFactory* This,
6183    IWICBitmapSource *piBitmapSource,
6184    UINT x,
6185    UINT y,
6186    UINT width,
6187    UINT height,
6188    IWICBitmap **ppIBitmap);
6189void __RPC_STUB IWICImagingFactory_CreateBitmapFromSourceRect_Stub(
6190    IRpcStubBuffer* This,
6191    IRpcChannelBuffer* pRpcChannelBuffer,
6192    PRPC_MESSAGE pRpcMessage,
6193    DWORD* pdwStubPhase);
6194HRESULT STDMETHODCALLTYPE IWICImagingFactory_CreateBitmapFromMemory_Proxy(
6195    IWICImagingFactory* This,
6196    UINT uiWidth,
6197    UINT uiHeight,
6198    REFWICPixelFormatGUID pixelFormat,
6199    UINT cbStride,
6200    UINT cbBufferSize,
6201    BYTE *pbBuffer,
6202    IWICBitmap **ppIBitmap);
6203void __RPC_STUB IWICImagingFactory_CreateBitmapFromMemory_Stub(
6204    IRpcStubBuffer* This,
6205    IRpcChannelBuffer* pRpcChannelBuffer,
6206    PRPC_MESSAGE pRpcMessage,
6207    DWORD* pdwStubPhase);
6208HRESULT STDMETHODCALLTYPE IWICImagingFactory_CreateBitmapFromHBITMAP_Proxy(
6209    IWICImagingFactory* This,
6210    HBITMAP hBitmap,
6211    HPALETTE hPalette,
6212    WICBitmapAlphaChannelOption options,
6213    IWICBitmap **ppIBitmap);
6214void __RPC_STUB IWICImagingFactory_CreateBitmapFromHBITMAP_Stub(
6215    IRpcStubBuffer* This,
6216    IRpcChannelBuffer* pRpcChannelBuffer,
6217    PRPC_MESSAGE pRpcMessage,
6218    DWORD* pdwStubPhase);
6219HRESULT STDMETHODCALLTYPE IWICImagingFactory_CreateBitmapFromHICON_Proxy(
6220    IWICImagingFactory* This,
6221    HICON hIcon,
6222    IWICBitmap **ppIBitmap);
6223void __RPC_STUB IWICImagingFactory_CreateBitmapFromHICON_Stub(
6224    IRpcStubBuffer* This,
6225    IRpcChannelBuffer* pRpcChannelBuffer,
6226    PRPC_MESSAGE pRpcMessage,
6227    DWORD* pdwStubPhase);
6228HRESULT STDMETHODCALLTYPE IWICImagingFactory_CreateComponentEnumerator_Proxy(
6229    IWICImagingFactory* This,
6230    DWORD componentTypes,
6231    DWORD options,
6232    IEnumUnknown **ppIEnumUnknown);
6233void __RPC_STUB IWICImagingFactory_CreateComponentEnumerator_Stub(
6234    IRpcStubBuffer* This,
6235    IRpcChannelBuffer* pRpcChannelBuffer,
6236    PRPC_MESSAGE pRpcMessage,
6237    DWORD* pdwStubPhase);
6238HRESULT STDMETHODCALLTYPE IWICImagingFactory_CreateFastMetadataEncoderFromDecoder_Proxy(
6239    IWICImagingFactory* This,
6240    IWICBitmapDecoder *pIDecoder,
6241    IWICFastMetadataEncoder **ppIFastEncoder);
6242void __RPC_STUB IWICImagingFactory_CreateFastMetadataEncoderFromDecoder_Stub(
6243    IRpcStubBuffer* This,
6244    IRpcChannelBuffer* pRpcChannelBuffer,
6245    PRPC_MESSAGE pRpcMessage,
6246    DWORD* pdwStubPhase);
6247HRESULT STDMETHODCALLTYPE IWICImagingFactory_CreateFastMetadataEncoderFromFrameDecode_Proxy(
6248    IWICImagingFactory* This,
6249    IWICBitmapFrameDecode *pIFrameDecoder,
6250    IWICFastMetadataEncoder **ppIFastEncoder);
6251void __RPC_STUB IWICImagingFactory_CreateFastMetadataEncoderFromFrameDecode_Stub(
6252    IRpcStubBuffer* This,
6253    IRpcChannelBuffer* pRpcChannelBuffer,
6254    PRPC_MESSAGE pRpcMessage,
6255    DWORD* pdwStubPhase);
6256HRESULT STDMETHODCALLTYPE IWICImagingFactory_CreateQueryWriter_Proxy(
6257    IWICImagingFactory* This,
6258    REFGUID guidMetadataFormat,
6259    const GUID *pguidVendor,
6260    IWICMetadataQueryWriter **ppIQueryWriter);
6261void __RPC_STUB IWICImagingFactory_CreateQueryWriter_Stub(
6262    IRpcStubBuffer* This,
6263    IRpcChannelBuffer* pRpcChannelBuffer,
6264    PRPC_MESSAGE pRpcMessage,
6265    DWORD* pdwStubPhase);
6266HRESULT STDMETHODCALLTYPE IWICImagingFactory_CreateQueryWriterFromReader_Proxy(
6267    IWICImagingFactory* This,
6268    IWICMetadataQueryReader *pIQueryReader,
6269    const GUID *pguidVendor,
6270    IWICMetadataQueryWriter **ppIQueryWriter);
6271void __RPC_STUB IWICImagingFactory_CreateQueryWriterFromReader_Stub(
6272    IRpcStubBuffer* This,
6273    IRpcChannelBuffer* pRpcChannelBuffer,
6274    PRPC_MESSAGE pRpcMessage,
6275    DWORD* pdwStubPhase);
6276
6277#endif  /* __IWICImagingFactory_INTERFACE_DEFINED__ */
6278
6279/*****************************************************************************
6280 * IWICEnumMetadataItem interface
6281 */
6282#ifndef __IWICEnumMetadataItem_INTERFACE_DEFINED__
6283#define __IWICEnumMetadataItem_INTERFACE_DEFINED__
6284
6285DEFINE_GUID(IID_IWICEnumMetadataItem, 0xdc2bb46d, 0x3f07, 0x481e, 0x86,0x25, 0x22,0x0c,0x4a,0xed,0xbb,0x33);
6286#if defined(__cplusplus) && !defined(CINTERFACE)
6287MIDL_INTERFACE("dc2bb46d-3f07-481e-8625-220c4aedbb33")
6288IWICEnumMetadataItem : public IUnknown
6289{
6290    virtual HRESULT STDMETHODCALLTYPE Next(
6291        ULONG celt,
6292        PROPVARIANT *rgeltSchema,
6293        PROPVARIANT *rgeltId,
6294        PROPVARIANT *rgeltValue,
6295        ULONG *pceltFetched) = 0;
6296
6297    virtual HRESULT STDMETHODCALLTYPE Skip(
6298        ULONG celt) = 0;
6299
6300    virtual HRESULT STDMETHODCALLTYPE Reset(
6301        ) = 0;
6302
6303    virtual HRESULT STDMETHODCALLTYPE Clone(
6304        IWICEnumMetadataItem **ppIEnumMetadataItem) = 0;
6305
6306};
6307#ifdef __CRT_UUID_DECL
6308__CRT_UUID_DECL(IWICEnumMetadataItem, 0xdc2bb46d, 0x3f07, 0x481e, 0x86,0x25, 0x22,0x0c,0x4a,0xed,0xbb,0x33)
6309#endif
6310#else
6311typedef struct IWICEnumMetadataItemVtbl {
6312    BEGIN_INTERFACE
6313
6314    /*** IUnknown methods ***/
6315    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6316        IWICEnumMetadataItem* This,
6317        REFIID riid,
6318        void **ppvObject);
6319
6320    ULONG (STDMETHODCALLTYPE *AddRef)(
6321        IWICEnumMetadataItem* This);
6322
6323    ULONG (STDMETHODCALLTYPE *Release)(
6324        IWICEnumMetadataItem* This);
6325
6326    /*** IWICEnumMetadataItem methods ***/
6327    HRESULT (STDMETHODCALLTYPE *Next)(
6328        IWICEnumMetadataItem* This,
6329        ULONG celt,
6330        PROPVARIANT *rgeltSchema,
6331        PROPVARIANT *rgeltId,
6332        PROPVARIANT *rgeltValue,
6333        ULONG *pceltFetched);
6334
6335    HRESULT (STDMETHODCALLTYPE *Skip)(
6336        IWICEnumMetadataItem* This,
6337        ULONG celt);
6338
6339    HRESULT (STDMETHODCALLTYPE *Reset)(
6340        IWICEnumMetadataItem* This);
6341
6342    HRESULT (STDMETHODCALLTYPE *Clone)(
6343        IWICEnumMetadataItem* This,
6344        IWICEnumMetadataItem **ppIEnumMetadataItem);
6345
6346    END_INTERFACE
6347} IWICEnumMetadataItemVtbl;
6348interface IWICEnumMetadataItem {
6349    CONST_VTBL IWICEnumMetadataItemVtbl* lpVtbl;
6350};
6351
6352#ifdef COBJMACROS
6353#ifndef WIDL_C_INLINE_WRAPPERS
6354/*** IUnknown methods ***/
6355#define IWICEnumMetadataItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6356#define IWICEnumMetadataItem_AddRef(This) (This)->lpVtbl->AddRef(This)
6357#define IWICEnumMetadataItem_Release(This) (This)->lpVtbl->Release(This)
6358/*** IWICEnumMetadataItem methods ***/
6359#define IWICEnumMetadataItem_Next(This,celt,rgeltSchema,rgeltId,rgeltValue,pceltFetched) (This)->lpVtbl->Next(This,celt,rgeltSchema,rgeltId,rgeltValue,pceltFetched)
6360#define IWICEnumMetadataItem_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
6361#define IWICEnumMetadataItem_Reset(This) (This)->lpVtbl->Reset(This)
6362#define IWICEnumMetadataItem_Clone(This,ppIEnumMetadataItem) (This)->lpVtbl->Clone(This,ppIEnumMetadataItem)
6363#else
6364/*** IUnknown methods ***/
6365static FORCEINLINE HRESULT IWICEnumMetadataItem_QueryInterface(IWICEnumMetadataItem* This,REFIID riid,void **ppvObject) {
6366    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6367}
6368static FORCEINLINE ULONG IWICEnumMetadataItem_AddRef(IWICEnumMetadataItem* This) {
6369    return This->lpVtbl->AddRef(This);
6370}
6371static FORCEINLINE ULONG IWICEnumMetadataItem_Release(IWICEnumMetadataItem* This) {
6372    return This->lpVtbl->Release(This);
6373}
6374/*** IWICEnumMetadataItem methods ***/
6375static FORCEINLINE HRESULT IWICEnumMetadataItem_Next(IWICEnumMetadataItem* This,ULONG celt,PROPVARIANT *rgeltSchema,PROPVARIANT *rgeltId,PROPVARIANT *rgeltValue,ULONG *pceltFetched) {
6376    return This->lpVtbl->Next(This,celt,rgeltSchema,rgeltId,rgeltValue,pceltFetched);
6377}
6378static FORCEINLINE HRESULT IWICEnumMetadataItem_Skip(IWICEnumMetadataItem* This,ULONG celt) {
6379    return This->lpVtbl->Skip(This,celt);
6380}
6381static FORCEINLINE HRESULT IWICEnumMetadataItem_Reset(IWICEnumMetadataItem* This) {
6382    return This->lpVtbl->Reset(This);
6383}
6384static FORCEINLINE HRESULT IWICEnumMetadataItem_Clone(IWICEnumMetadataItem* This,IWICEnumMetadataItem **ppIEnumMetadataItem) {
6385    return This->lpVtbl->Clone(This,ppIEnumMetadataItem);
6386}
6387#endif
6388#endif
6389
6390#endif
6391
6392HRESULT STDMETHODCALLTYPE IWICEnumMetadataItem_Next_Proxy(
6393    IWICEnumMetadataItem* This,
6394    ULONG celt,
6395    PROPVARIANT *rgeltSchema,
6396    PROPVARIANT *rgeltId,
6397    PROPVARIANT *rgeltValue,
6398    ULONG *pceltFetched);
6399void __RPC_STUB IWICEnumMetadataItem_Next_Stub(
6400    IRpcStubBuffer* This,
6401    IRpcChannelBuffer* pRpcChannelBuffer,
6402    PRPC_MESSAGE pRpcMessage,
6403    DWORD* pdwStubPhase);
6404HRESULT STDMETHODCALLTYPE IWICEnumMetadataItem_Skip_Proxy(
6405    IWICEnumMetadataItem* This,
6406    ULONG celt);
6407void __RPC_STUB IWICEnumMetadataItem_Skip_Stub(
6408    IRpcStubBuffer* This,
6409    IRpcChannelBuffer* pRpcChannelBuffer,
6410    PRPC_MESSAGE pRpcMessage,
6411    DWORD* pdwStubPhase);
6412HRESULT STDMETHODCALLTYPE IWICEnumMetadataItem_Reset_Proxy(
6413    IWICEnumMetadataItem* This);
6414void __RPC_STUB IWICEnumMetadataItem_Reset_Stub(
6415    IRpcStubBuffer* This,
6416    IRpcChannelBuffer* pRpcChannelBuffer,
6417    PRPC_MESSAGE pRpcMessage,
6418    DWORD* pdwStubPhase);
6419HRESULT STDMETHODCALLTYPE IWICEnumMetadataItem_Clone_Proxy(
6420    IWICEnumMetadataItem* This,
6421    IWICEnumMetadataItem **ppIEnumMetadataItem);
6422void __RPC_STUB IWICEnumMetadataItem_Clone_Stub(
6423    IRpcStubBuffer* This,
6424    IRpcChannelBuffer* pRpcChannelBuffer,
6425    PRPC_MESSAGE pRpcMessage,
6426    DWORD* pdwStubPhase);
6427
6428#endif  /* __IWICEnumMetadataItem_INTERFACE_DEFINED__ */
6429
6430HRESULT WINAPI WICConvertBitmapSource(REFWICPixelFormatGUID dstFormat, IWICBitmapSource *pISrc, IWICBitmapSource **ppIDst);
6431DEFINE_GUID(CLSID_WICBmpDecoder, 0x6b462062,0x7cbf,0x400d,0x9f,0xdb,0x81,0x3d,0xd1,0x0f,0x27,0x78);
6432DEFINE_GUID(CLSID_WICPngDecoder, 0x389ea17b,0x5078,0x4cde,0xb6,0xef,0x25,0xc1,0x51,0x75,0xc7,0x51);
6433DEFINE_GUID(CLSID_WICIcoDecoder, 0xc61bfcdf,0x2e0f,0x4aad,0xa8,0xd7,0xe0,0x6b,0xaf,0xeb,0xcd,0xfe);
6434DEFINE_GUID(CLSID_WICJpegDecoder, 0x9456a480,0xe88b,0x43ea,0x9e,0x73,0x0b,0x2d,0x9b,0x71,0xb1,0xca);
6435DEFINE_GUID(CLSID_WICGifDecoder, 0x381dda3c,0x9ce9,0x4834,0xa2,0x3e,0x1f,0x98,0xf8,0xfc,0x52,0xbe);
6436DEFINE_GUID(CLSID_WICTiffDecoder, 0xb54e85d9,0xfe23,0x499f,0x8b,0x88,0x6a,0xce,0xa7,0x13,0x75,0x2b);
6437DEFINE_GUID(CLSID_WICWmpDecoder, 0xa26cec36,0x234c,0x4950,0xae,0x16,0xe3,0x4a,0xac,0xe7,0x1d,0x0d);
6438DEFINE_GUID(CLSID_WICBmpEncoder, 0x69be8bb4,0xd66d,0x47c8,0x86,0x5a,0xed,0x15,0x89,0x43,0x37,0x82);
6439DEFINE_GUID(CLSID_WICPngEncoder, 0x27949969,0x876a,0x41d7,0x94,0x47,0x56,0x8f,0x6a,0x35,0xa4,0xdc);
6440DEFINE_GUID(CLSID_WICJpegEncoder, 0x1a34f5c1,0x4a5a,0x46dc,0xb6,0x44,0x1f,0x45,0x67,0xe7,0xa6,0x76);
6441DEFINE_GUID(CLSID_WICGifEncoder, 0x114f5598,0x0b22,0x40a0,0x86,0xa1,0xc8,0x3e,0xa4,0x95,0xad,0xbd);
6442DEFINE_GUID(CLSID_WICTiffEncoder, 0x0131be10,0x2001,0x4c5f,0xa9,0xb0,0xcc,0x88,0xfa,0xb6,0x4c,0xe8);
6443DEFINE_GUID(CLSID_WICWmpEncoder, 0xac4ce3cb,0xe1c1,0x44cd,0x82,0x15,0x5a,0x16,0x65,0x50,0x9e,0xc2);
6444DEFINE_GUID(CLSID_WICDefaultFormatConverter, 0x1a3f11dc,0xb514,0x4b17,0x8c,0x5f,0x21,0x54,0x51,0x38,0x52,0xf1);
6445DEFINE_GUID(GUID_ContainerFormatBmp, 0x0af1d87e,0xfcfe,0x4188,0xbd,0xeb,0xa7,0x90,0x64,0x71,0xcb,0xe3);
6446DEFINE_GUID(GUID_ContainerFormatPng, 0x1b7cfaf4,0x713f,0x473c,0xbb,0xcd,0x61,0x37,0x42,0x5f,0xae,0xaf);
6447DEFINE_GUID(GUID_ContainerFormatIco, 0xa3a860c4,0x338f,0x4c17,0x91,0x9a,0xfb,0xa4,0xb5,0x62,0x8f,0x21);
6448DEFINE_GUID(GUID_ContainerFormatJpeg, 0x19e4a5aa,0x5662,0x4fc5,0xa0,0xc0,0x17,0x58,0x02,0x8e,0x10,0x57);
6449DEFINE_GUID(GUID_ContainerFormatTiff, 0x163bcc30,0xe2e9,0x4f0b,0x96,0x1d,0xa3,0xe9,0xfd,0xb7,0x88,0xa3);
6450DEFINE_GUID(GUID_ContainerFormatGif, 0x1f8a5601,0x7d4d,0x4cbd,0x9c,0x82,0x1b,0xc8,0xd4,0xee,0xb9,0xa5);
6451DEFINE_GUID(GUID_ContainerFormatWmp, 0x57a37caa,0x367a,0x4540,0x91,0x6b,0xf1,0x83,0xc5,0x09,0x3a,0x4b);
6452DEFINE_GUID(GUID_VendorMicrosoft, 0xf0e749ca,0xedef,0x4589,0xa7,0x3a,0xee,0x0e,0x62,0x6a,0x2a,0x2b);
6453DEFINE_GUID(CLSID_WICImagingCategories, 0xfae3d380,0xfea4,0x4623,0x8c,0x75,0xc6,0xb6,0x11,0x10,0xb6,0x81);
6454DEFINE_GUID(CATID_WICBitmapDecoders, 0x7ed96837,0x96f0,0x4812,0xb2,0x11,0xf1,0x3c,0x24,0x11,0x7e,0xd3);
6455DEFINE_GUID(CATID_WICBitmapEncoders, 0xac757296,0x3522,0x4e11,0x98,0x62,0xc1,0x7b,0xe5,0xa1,0x76,0x7e);
6456DEFINE_GUID(CATID_WICFormatConverters, 0x7835eae8,0xbf14,0x49d1,0x93,0xce,0x53,0x3a,0x40,0x7b,0x22,0x48);
6457DEFINE_GUID(CATID_WICMetadataReader, 0x05af94d8,0x7174,0x4cd2,0xbe,0x4a,0x41,0x24,0xb8,0x0e,0xe4,0xb8);
6458DEFINE_GUID(CATID_WICPixelFormats, 0x2b46e70f,0xcda7,0x473e,0x89,0xf6,0xdc,0x96,0x30,0xa2,0x39,0x0b);
6459/* Begin additional prototypes for all interfaces */
6460
6461ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
6462unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
6463unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
6464void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
6465ULONG           __RPC_USER LPSAFEARRAY_UserSize     (ULONG *, ULONG, LPSAFEARRAY *);
6466unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal  (ULONG *, unsigned char *, LPSAFEARRAY *);
6467unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal(ULONG *, unsigned char *, LPSAFEARRAY *);
6468void            __RPC_USER LPSAFEARRAY_UserFree     (ULONG *, LPSAFEARRAY *);
6469ULONG           __RPC_USER HBITMAP_UserSize     (ULONG *, ULONG, HBITMAP *);
6470unsigned char * __RPC_USER HBITMAP_UserMarshal  (ULONG *, unsigned char *, HBITMAP *);
6471unsigned char * __RPC_USER HBITMAP_UserUnmarshal(ULONG *, unsigned char *, HBITMAP *);
6472void            __RPC_USER HBITMAP_UserFree     (ULONG *, HBITMAP *);
6473ULONG           __RPC_USER HPALETTE_UserSize     (ULONG *, ULONG, HPALETTE *);
6474unsigned char * __RPC_USER HPALETTE_UserMarshal  (ULONG *, unsigned char *, HPALETTE *);
6475unsigned char * __RPC_USER HPALETTE_UserUnmarshal(ULONG *, unsigned char *, HPALETTE *);
6476void            __RPC_USER HPALETTE_UserFree     (ULONG *, HPALETTE *);
6477ULONG           __RPC_USER HICON_UserSize     (ULONG *, ULONG, HICON *);
6478unsigned char * __RPC_USER HICON_UserMarshal  (ULONG *, unsigned char *, HICON *);
6479unsigned char * __RPC_USER HICON_UserUnmarshal(ULONG *, unsigned char *, HICON *);
6480void            __RPC_USER HICON_UserFree     (ULONG *, HICON *);
6481
6482/* End additional prototypes */
6483
6484#ifdef __cplusplus
6485}
6486#endif
6487
6488#endif /* __wincodec_h__ */
6489