Home | History | Annotate | Download | only in include
      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__
     22 typedef interface IWICColorContext IWICColorContext;
     23 #endif
     24 
     25 #ifndef __IWICBitmapSource_FWD_DEFINED__
     26 #define __IWICBitmapSource_FWD_DEFINED__
     27 typedef interface IWICBitmapSource IWICBitmapSource;
     28 #endif
     29 
     30 #ifndef __IWICBitmapLock_FWD_DEFINED__
     31 #define __IWICBitmapLock_FWD_DEFINED__
     32 typedef interface IWICBitmapLock IWICBitmapLock;
     33 #endif
     34 
     35 #ifndef __IWICBitmapFlipRotator_FWD_DEFINED__
     36 #define __IWICBitmapFlipRotator_FWD_DEFINED__
     37 typedef interface IWICBitmapFlipRotator IWICBitmapFlipRotator;
     38 #endif
     39 
     40 #ifndef __IWICBitmap_FWD_DEFINED__
     41 #define __IWICBitmap_FWD_DEFINED__
     42 typedef interface IWICBitmap IWICBitmap;
     43 #endif
     44 
     45 #ifndef __IWICPalette_FWD_DEFINED__
     46 #define __IWICPalette_FWD_DEFINED__
     47 typedef interface IWICPalette IWICPalette;
     48 #endif
     49 
     50 #ifndef __IWICComponentInfo_FWD_DEFINED__
     51 #define __IWICComponentInfo_FWD_DEFINED__
     52 typedef interface IWICComponentInfo IWICComponentInfo;
     53 #endif
     54 
     55 #ifndef __IWICMetadataQueryReader_FWD_DEFINED__
     56 #define __IWICMetadataQueryReader_FWD_DEFINED__
     57 typedef interface IWICMetadataQueryReader IWICMetadataQueryReader;
     58 #endif
     59 
     60 #ifndef __IWICMetadataQueryWriter_FWD_DEFINED__
     61 #define __IWICMetadataQueryWriter_FWD_DEFINED__
     62 typedef interface IWICMetadataQueryWriter IWICMetadataQueryWriter;
     63 #endif
     64 
     65 #ifndef __IWICBitmapFrameDecode_FWD_DEFINED__
     66 #define __IWICBitmapFrameDecode_FWD_DEFINED__
     67 typedef interface IWICBitmapFrameDecode IWICBitmapFrameDecode;
     68 #endif
     69 
     70 #ifndef __IWICPixelFormatInfo_FWD_DEFINED__
     71 #define __IWICPixelFormatInfo_FWD_DEFINED__
     72 typedef interface IWICPixelFormatInfo IWICPixelFormatInfo;
     73 #endif
     74 
     75 #ifndef __IWICPixelFormatInfo2_FWD_DEFINED__
     76 #define __IWICPixelFormatInfo2_FWD_DEFINED__
     77 typedef interface IWICPixelFormatInfo2 IWICPixelFormatInfo2;
     78 #endif
     79 
     80 #ifndef __IWICBitmapCodecInfo_FWD_DEFINED__
     81 #define __IWICBitmapCodecInfo_FWD_DEFINED__
     82 typedef interface IWICBitmapCodecInfo IWICBitmapCodecInfo;
     83 #endif
     84 
     85 #ifndef __IWICBitmapDecoderInfo_FWD_DEFINED__
     86 #define __IWICBitmapDecoderInfo_FWD_DEFINED__
     87 typedef interface IWICBitmapDecoderInfo IWICBitmapDecoderInfo;
     88 #endif
     89 
     90 #ifndef __IWICBitmapDecoder_FWD_DEFINED__
     91 #define __IWICBitmapDecoder_FWD_DEFINED__
     92 typedef interface IWICBitmapDecoder IWICBitmapDecoder;
     93 #endif
     94 
     95 #ifndef __IWICBitmapFrameEncode_FWD_DEFINED__
     96 #define __IWICBitmapFrameEncode_FWD_DEFINED__
     97 typedef interface IWICBitmapFrameEncode IWICBitmapFrameEncode;
     98 #endif
     99 
    100 #ifndef __IWICBitmapEncoderInfo_FWD_DEFINED__
    101 #define __IWICBitmapEncoderInfo_FWD_DEFINED__
    102 typedef interface IWICBitmapEncoderInfo IWICBitmapEncoderInfo;
    103 #endif
    104 
    105 #ifndef __IWICBitmapEncoder_FWD_DEFINED__
    106 #define __IWICBitmapEncoder_FWD_DEFINED__
    107 typedef interface IWICBitmapEncoder IWICBitmapEncoder;
    108 #endif
    109 
    110 #ifndef __IWICFormatConverter_FWD_DEFINED__
    111 #define __IWICFormatConverter_FWD_DEFINED__
    112 typedef interface IWICFormatConverter IWICFormatConverter;
    113 #endif
    114 
    115 #ifndef __IWICFormatConverterInfo_FWD_DEFINED__
    116 #define __IWICFormatConverterInfo_FWD_DEFINED__
    117 typedef interface IWICFormatConverterInfo IWICFormatConverterInfo;
    118 #endif
    119 
    120 #ifndef __IWICStream_FWD_DEFINED__
    121 #define __IWICStream_FWD_DEFINED__
    122 typedef interface IWICStream IWICStream;
    123 #endif
    124 
    125 #ifndef __IWICBitmapScaler_FWD_DEFINED__
    126 #define __IWICBitmapScaler_FWD_DEFINED__
    127 typedef interface IWICBitmapScaler IWICBitmapScaler;
    128 #endif
    129 
    130 #ifndef __IWICBitmapClipper_FWD_DEFINED__
    131 #define __IWICBitmapClipper_FWD_DEFINED__
    132 typedef interface IWICBitmapClipper IWICBitmapClipper;
    133 #endif
    134 
    135 #ifndef __IWICColorTransform_FWD_DEFINED__
    136 #define __IWICColorTransform_FWD_DEFINED__
    137 typedef interface IWICColorTransform IWICColorTransform;
    138 #endif
    139 
    140 #ifndef __IWICFastMetadataEncoder_FWD_DEFINED__
    141 #define __IWICFastMetadataEncoder_FWD_DEFINED__
    142 typedef interface IWICFastMetadataEncoder IWICFastMetadataEncoder;
    143 #endif
    144 
    145 #ifndef __IWICImagingFactory_FWD_DEFINED__
    146 #define __IWICImagingFactory_FWD_DEFINED__
    147 typedef interface IWICImagingFactory IWICImagingFactory;
    148 #endif
    149 
    150 #ifndef __IWICEnumMetadataItem_FWD_DEFINED__
    151 #define __IWICEnumMetadataItem_FWD_DEFINED__
    152 typedef 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
    162 extern "C" {
    163 #endif
    164 
    165 #define WINCODEC_SDK_VERSION 0x0236
    166 typedef enum WICDecodeOptions {
    167     WICDecodeMetadataCacheOnDemand = 0x0,
    168     WICDecodeMetadataCacheOnLoad = 0x1,
    169     WICMETADATACACHEOPTION_FORCE_DWORD = 0x7fffffff
    170 } WICDecodeOptions;
    171 typedef enum WICBitmapCreateCacheOption {
    172     WICBitmapNoCache = 0x0,
    173     WICBitmapCacheOnDemand = 0x1,
    174     WICBitmapCacheOnLoad = 0x2,
    175     WICBITMAPCREATECACHEOPTION_FORCE_DWORD = 0x7fffffff
    176 } WICBitmapCreateCacheOption;
    177 typedef enum WICBitmapAlphaChannelOption {
    178     WICBitmapUseAlpha = 0x0,
    179     WICBitmapUsePremultipliedAlpha = 0x1,
    180     WICBitmapIgnoreAlpha = 0x2,
    181     WICBITMAPALPHACHANNELOPTIONS_FORCE_DWORD = 0x7fffffff
    182 } WICBitmapAlphaChannelOption;
    183 typedef enum WICBitmapDecoderCapabilities {
    184     WICBitmapDecoderCapabilitySameEncoder = 0x1,
    185     WICBitmapDecoderCapabilityCanDecodeAllImages = 0x2,
    186     WICBitmapDecoderCapabilityCanDecodeSomeImages = 0x4,
    187     WICBitmapDecoderCapabilityCanEnumerateMetadata = 0x8,
    188     WICBitmapDecoderCapabilityCanDecodeThumbnail = 0x10
    189 } WICBitmapDecoderCapabilities;
    190 typedef 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;
    203 typedef enum WICBitmapEncoderCacheOption {
    204     WICBitmapEncoderCacheInMemory = 0x0,
    205     WICBitmapEncoderCacheTempFile = 0x1,
    206     WICBitmapEncoderNoCache = 0x2,
    207     WICBITMAPENCODERCACHEOPTION_FORCE_DWORD = 0x7fffffff
    208 } WICBitmapEncoderCacheOption;
    209 typedef enum WICBitmapInterpolationMode {
    210     WICBitmapInterpolationModeNearestNeighbor = 0x0,
    211     WICBitmapInterpolationModeLinear = 0x1,
    212     WICBitmapInterpolationModeCubic = 0x2,
    213     WICBitmapInterpolationModeFant = 0x3,
    214     WICBITMAPINTERPOLATIONMODE_FORCE_DWORD = 0x7fffffff
    215 } WICBitmapInterpolationMode;
    216 typedef enum WICBitmapLockFlags {
    217     WICBitmapLockRead = 0x1,
    218     WICBitmapLockWrite = 0x2,
    219     WICBITMAPLOCKFLAGS_FORCE_DWORD = 0x7fffffff
    220 } WICBitmapLockFlags;
    221 typedef 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;
    238 typedef 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;
    247 typedef enum WICColorContextType {
    248     WICColorContextUninitialized = 0x0,
    249     WICColorContextProfile = 0x1,
    250     WICColorContextExifColorSpace = 0x2
    251 } WICColorContextType;
    252 typedef 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;
    261 typedef enum WICComponentSigning {
    262     WICComponentSigned = 0x1,
    263     WICComponentUnsigned = 0x2,
    264     WICComponentSafe = 0x4,
    265     WICComponentDisabled = 0x80000000
    266 } WICComponentSigning;
    267 typedef enum WICComponentEnumerateOptions {
    268     WICComponentEnumerateDefault = 0x0,
    269     WICComponentEnumerateRefresh = 0x1,
    270     WICComponentEnumerateBuiltInOnly = 0x20000000,
    271     WICComponentEnumerateUnsigned = 0x40000000,
    272     WICComponentEnumerateDisabled = 0x80000000
    273 } WICComponentEnumerateOptions;
    274 typedef 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;
    283 typedef 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;
    294 typedef GUID WICPixelFormatGUID;
    295 typedef REFGUID REFWICPixelFormatGUID;
    296 DEFINE_GUID(GUID_WICPixelFormatDontCare, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x00);
    297 #define GUID_WICPixelFormatUndefined GUID_WICPixelFormatDontCare
    298 DEFINE_GUID(GUID_WICPixelFormat1bppIndexed, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x01);
    299 DEFINE_GUID(GUID_WICPixelFormat2bppIndexed, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x02);
    300 DEFINE_GUID(GUID_WICPixelFormat4bppIndexed, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x03);
    301 DEFINE_GUID(GUID_WICPixelFormat8bppIndexed, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x04);
    302 DEFINE_GUID(GUID_WICPixelFormatBlackWhite, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x05);
    303 DEFINE_GUID(GUID_WICPixelFormat2bppGray, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x06);
    304 DEFINE_GUID(GUID_WICPixelFormat4bppGray, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x07);
    305 DEFINE_GUID(GUID_WICPixelFormat8bppGray, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x08);
    306 DEFINE_GUID(GUID_WICPixelFormat16bppGray, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x0b);
    307 DEFINE_GUID(GUID_WICPixelFormat16bppBGR555, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x09);
    308 DEFINE_GUID(GUID_WICPixelFormat16bppBGR565, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x0a);
    309 DEFINE_GUID(GUID_WICPixelFormat16bppBGRA5551, 0x05ec7c2b,0xf1e6,0x4961,0xad,0x46,0xe1,0xcc,0x81,0x0a,0x87,0xd2);
    310 DEFINE_GUID(GUID_WICPixelFormat24bppBGR, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x0c);
    311 DEFINE_GUID(GUID_WICPixelFormat24bppRGB, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x0d);
    312 DEFINE_GUID(GUID_WICPixelFormat32bppBGR, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x0e);
    313 DEFINE_GUID(GUID_WICPixelFormat32bppBGRA, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x0f);
    314 DEFINE_GUID(GUID_WICPixelFormat32bppPBGRA, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x10);
    315 DEFINE_GUID(GUID_WICPixelFormat48bppRGB, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x15);
    316 DEFINE_GUID(GUID_WICPixelFormat64bppRGBA, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x16);
    317 DEFINE_GUID(GUID_WICPixelFormat64bppPRGBA, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x17);
    318 DEFINE_GUID(GUID_WICPixelFormat32bppCMYK, 0x6fddc324,0x4e03,0x4fbe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x1c);
    319 typedef struct WICRect {
    320     INT X;
    321     INT Y;
    322     INT Width;
    323     INT Height;
    324 } WICRect;
    325 typedef struct WICBitmapPattern {
    326     ULARGE_INTEGER Position;
    327     ULONG Length;
    328     BYTE *Pattern;
    329     BYTE *Mask;
    330     WINBOOL EndOfStream;
    331 } WICBitmapPattern;
    332 typedef 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__
    351 typedef interface IWICPalette IWICPalette;
    352 #endif
    353 
    354 /*****************************************************************************
    355  * IWICColorContext interface
    356  */
    357 #ifndef __IWICColorContext_INTERFACE_DEFINED__
    358 #define __IWICColorContext_INTERFACE_DEFINED__
    359 
    360 DEFINE_GUID(IID_IWICColorContext, 0x3c613a02, 0x34b2, 0x44ea, 0x9a,0x7c, 0x45,0xae,0xa9,0xc6,0xfd,0x6d);
    361 #if defined(__cplusplus) && !defined(CINTERFACE)
    362 MIDL_INTERFACE("3c613a02-34b2-44ea-9a7c-45aea9c6fd6d")
    363 IWICColorContext : 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
    391 typedef 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;
    436 interface 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 ***/
    455 static FORCEINLINE HRESULT IWICColorContext_QueryInterface(IWICColorContext* This,REFIID riid,void **ppvObject) {
    456     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    457 }
    458 static FORCEINLINE ULONG IWICColorContext_AddRef(IWICColorContext* This) {
    459     return This->lpVtbl->AddRef(This);
    460 }
    461 static FORCEINLINE ULONG IWICColorContext_Release(IWICColorContext* This) {
    462     return This->lpVtbl->Release(This);
    463 }
    464 /*** IWICColorContext methods ***/
    465 static FORCEINLINE HRESULT IWICColorContext_InitializeFromFilename(IWICColorContext* This,LPCWSTR wzFilename) {
    466     return This->lpVtbl->InitializeFromFilename(This,wzFilename);
    467 }
    468 static FORCEINLINE HRESULT IWICColorContext_InitializeFromMemory(IWICColorContext* This,const BYTE *pbBuffer,UINT cbBufferSize) {
    469     return This->lpVtbl->InitializeFromMemory(This,pbBuffer,cbBufferSize);
    470 }
    471 static FORCEINLINE HRESULT IWICColorContext_InitializeFromExifColorSpace(IWICColorContext* This,UINT value) {
    472     return This->lpVtbl->InitializeFromExifColorSpace(This,value);
    473 }
    474 static FORCEINLINE HRESULT IWICColorContext_GetType(IWICColorContext* This,WICColorContextType *pType) {
    475     return This->lpVtbl->GetType(This,pType);
    476 }
    477 static FORCEINLINE HRESULT IWICColorContext_GetProfileBytes(IWICColorContext* This,UINT cbBuffer,BYTE *pbBuffer,UINT *pcbActual) {
    478     return This->lpVtbl->GetProfileBytes(This,cbBuffer,pbBuffer,pcbActual);
    479 }
    480 static FORCEINLINE HRESULT IWICColorContext_GetExifColorSpace(IWICColorContext* This,UINT *pValue) {
    481     return This->lpVtbl->GetExifColorSpace(This,pValue);
    482 }
    483 #endif
    484 #endif
    485 
    486 #endif
    487 
    488 HRESULT STDMETHODCALLTYPE IWICColorContext_InitializeFromFilename_Proxy(
    489     IWICColorContext* This,
    490     LPCWSTR wzFilename);
    491 void __RPC_STUB IWICColorContext_InitializeFromFilename_Stub(
    492     IRpcStubBuffer* This,
    493     IRpcChannelBuffer* pRpcChannelBuffer,
    494     PRPC_MESSAGE pRpcMessage,
    495     DWORD* pdwStubPhase);
    496 HRESULT STDMETHODCALLTYPE IWICColorContext_InitializeFromMemory_Proxy(
    497     IWICColorContext* This,
    498     const BYTE *pbBuffer,
    499     UINT cbBufferSize);
    500 void __RPC_STUB IWICColorContext_InitializeFromMemory_Stub(
    501     IRpcStubBuffer* This,
    502     IRpcChannelBuffer* pRpcChannelBuffer,
    503     PRPC_MESSAGE pRpcMessage,
    504     DWORD* pdwStubPhase);
    505 HRESULT STDMETHODCALLTYPE IWICColorContext_InitializeFromExifColorSpace_Proxy(
    506     IWICColorContext* This,
    507     UINT value);
    508 void __RPC_STUB IWICColorContext_InitializeFromExifColorSpace_Stub(
    509     IRpcStubBuffer* This,
    510     IRpcChannelBuffer* pRpcChannelBuffer,
    511     PRPC_MESSAGE pRpcMessage,
    512     DWORD* pdwStubPhase);
    513 HRESULT STDMETHODCALLTYPE IWICColorContext_GetType_Proxy(
    514     IWICColorContext* This,
    515     WICColorContextType *pType);
    516 void __RPC_STUB IWICColorContext_GetType_Stub(
    517     IRpcStubBuffer* This,
    518     IRpcChannelBuffer* pRpcChannelBuffer,
    519     PRPC_MESSAGE pRpcMessage,
    520     DWORD* pdwStubPhase);
    521 HRESULT STDMETHODCALLTYPE IWICColorContext_GetProfileBytes_Proxy(
    522     IWICColorContext* This,
    523     UINT cbBuffer,
    524     BYTE *pbBuffer,
    525     UINT *pcbActual);
    526 void __RPC_STUB IWICColorContext_GetProfileBytes_Stub(
    527     IRpcStubBuffer* This,
    528     IRpcChannelBuffer* pRpcChannelBuffer,
    529     PRPC_MESSAGE pRpcMessage,
    530     DWORD* pdwStubPhase);
    531 HRESULT STDMETHODCALLTYPE IWICColorContext_GetExifColorSpace_Proxy(
    532     IWICColorContext* This,
    533     UINT *pValue);
    534 void __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 
    548 DEFINE_GUID(IID_IWICBitmapSource, 0x00000120, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94);
    549 #if defined(__cplusplus) && !defined(CINTERFACE)
    550 MIDL_INTERFACE("00000120-a8f2-4877-ba0a-fd2b6645fb94")
    551 IWICBitmapSource : 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
    578 typedef 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;
    621 interface 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 ***/
    639 static FORCEINLINE HRESULT IWICBitmapSource_QueryInterface(IWICBitmapSource* This,REFIID riid,void **ppvObject) {
    640     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    641 }
    642 static FORCEINLINE ULONG IWICBitmapSource_AddRef(IWICBitmapSource* This) {
    643     return This->lpVtbl->AddRef(This);
    644 }
    645 static FORCEINLINE ULONG IWICBitmapSource_Release(IWICBitmapSource* This) {
    646     return This->lpVtbl->Release(This);
    647 }
    648 /*** IWICBitmapSource methods ***/
    649 static FORCEINLINE HRESULT IWICBitmapSource_GetSize(IWICBitmapSource* This,UINT *puiWidth,UINT *puiHeight) {
    650     return This->lpVtbl->GetSize(This,puiWidth,puiHeight);
    651 }
    652 static FORCEINLINE HRESULT IWICBitmapSource_GetPixelFormat(IWICBitmapSource* This,WICPixelFormatGUID *pPixelFormat) {
    653     return This->lpVtbl->GetPixelFormat(This,pPixelFormat);
    654 }
    655 static FORCEINLINE HRESULT IWICBitmapSource_GetResolution(IWICBitmapSource* This,double *pDpiX,double *pDpiY) {
    656     return This->lpVtbl->GetResolution(This,pDpiX,pDpiY);
    657 }
    658 static FORCEINLINE HRESULT IWICBitmapSource_CopyPalette(IWICBitmapSource* This,IWICPalette *pIPalette) {
    659     return This->lpVtbl->CopyPalette(This,pIPalette);
    660 }
    661 static 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 
    669 HRESULT STDMETHODCALLTYPE IWICBitmapSource_GetSize_Proxy(
    670     IWICBitmapSource* This,
    671     UINT *puiWidth,
    672     UINT *puiHeight);
    673 void __RPC_STUB IWICBitmapSource_GetSize_Stub(
    674     IRpcStubBuffer* This,
    675     IRpcChannelBuffer* pRpcChannelBuffer,
    676     PRPC_MESSAGE pRpcMessage,
    677     DWORD* pdwStubPhase);
    678 HRESULT STDMETHODCALLTYPE IWICBitmapSource_GetPixelFormat_Proxy(
    679     IWICBitmapSource* This,
    680     WICPixelFormatGUID *pPixelFormat);
    681 void __RPC_STUB IWICBitmapSource_GetPixelFormat_Stub(
    682     IRpcStubBuffer* This,
    683     IRpcChannelBuffer* pRpcChannelBuffer,
    684     PRPC_MESSAGE pRpcMessage,
    685     DWORD* pdwStubPhase);
    686 HRESULT STDMETHODCALLTYPE IWICBitmapSource_GetResolution_Proxy(
    687     IWICBitmapSource* This,
    688     double *pDpiX,
    689     double *pDpiY);
    690 void __RPC_STUB IWICBitmapSource_GetResolution_Stub(
    691     IRpcStubBuffer* This,
    692     IRpcChannelBuffer* pRpcChannelBuffer,
    693     PRPC_MESSAGE pRpcMessage,
    694     DWORD* pdwStubPhase);
    695 HRESULT STDMETHODCALLTYPE IWICBitmapSource_CopyPalette_Proxy(
    696     IWICBitmapSource* This,
    697     IWICPalette *pIPalette);
    698 void __RPC_STUB IWICBitmapSource_CopyPalette_Stub(
    699     IRpcStubBuffer* This,
    700     IRpcChannelBuffer* pRpcChannelBuffer,
    701     PRPC_MESSAGE pRpcMessage,
    702     DWORD* pdwStubPhase);
    703 HRESULT STDMETHODCALLTYPE IWICBitmapSource_CopyPixels_Proxy(
    704     IWICBitmapSource* This,
    705     const WICRect *prc,
    706     UINT cbStride,
    707     UINT cbBufferSize,
    708     BYTE *pbBuffer);
    709 void __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 
    723 DEFINE_GUID(IID_IWICBitmapLock, 0x00000123, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94);
    724 #if defined(__cplusplus) && !defined(CINTERFACE)
    725 MIDL_INTERFACE("00000123-a8f2-4877-ba0a-fd2b6645fb94")
    726 IWICBitmapLock : 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
    747 typedef 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;
    783 interface 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 ***/
    800 static FORCEINLINE HRESULT IWICBitmapLock_QueryInterface(IWICBitmapLock* This,REFIID riid,void **ppvObject) {
    801     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    802 }
    803 static FORCEINLINE ULONG IWICBitmapLock_AddRef(IWICBitmapLock* This) {
    804     return This->lpVtbl->AddRef(This);
    805 }
    806 static FORCEINLINE ULONG IWICBitmapLock_Release(IWICBitmapLock* This) {
    807     return This->lpVtbl->Release(This);
    808 }
    809 /*** IWICBitmapLock methods ***/
    810 static FORCEINLINE HRESULT IWICBitmapLock_GetSize(IWICBitmapLock* This,UINT *pWidth,UINT *pHeight) {
    811     return This->lpVtbl->GetSize(This,pWidth,pHeight);
    812 }
    813 static FORCEINLINE HRESULT IWICBitmapLock_GetStride(IWICBitmapLock* This,UINT *pcbStride) {
    814     return This->lpVtbl->GetStride(This,pcbStride);
    815 }
    816 static FORCEINLINE HRESULT IWICBitmapLock_GetDataPointer(IWICBitmapLock* This,UINT *pcbBufferSize,BYTE **ppbData) {
    817     return This->lpVtbl->GetDataPointer(This,pcbBufferSize,ppbData);
    818 }
    819 static FORCEINLINE HRESULT IWICBitmapLock_GetPixelFormat(IWICBitmapLock* This,WICPixelFormatGUID *pPixelFormat) {
    820     return This->lpVtbl->GetPixelFormat(This,pPixelFormat);
    821 }
    822 #endif
    823 #endif
    824 
    825 #endif
    826 
    827 HRESULT STDMETHODCALLTYPE IWICBitmapLock_GetSize_Proxy(
    828     IWICBitmapLock* This,
    829     UINT *pWidth,
    830     UINT *pHeight);
    831 void __RPC_STUB IWICBitmapLock_GetSize_Stub(
    832     IRpcStubBuffer* This,
    833     IRpcChannelBuffer* pRpcChannelBuffer,
    834     PRPC_MESSAGE pRpcMessage,
    835     DWORD* pdwStubPhase);
    836 HRESULT STDMETHODCALLTYPE IWICBitmapLock_GetStride_Proxy(
    837     IWICBitmapLock* This,
    838     UINT *pcbStride);
    839 void __RPC_STUB IWICBitmapLock_GetStride_Stub(
    840     IRpcStubBuffer* This,
    841     IRpcChannelBuffer* pRpcChannelBuffer,
    842     PRPC_MESSAGE pRpcMessage,
    843     DWORD* pdwStubPhase);
    844 HRESULT STDMETHODCALLTYPE IWICBitmapLock_GetDataPointer_Proxy(
    845     IWICBitmapLock* This,
    846     UINT *pcbBufferSize,
    847     BYTE **ppbData);
    848 void __RPC_STUB IWICBitmapLock_GetDataPointer_Stub(
    849     IRpcStubBuffer* This,
    850     IRpcChannelBuffer* pRpcChannelBuffer,
    851     PRPC_MESSAGE pRpcMessage,
    852     DWORD* pdwStubPhase);
    853 HRESULT STDMETHODCALLTYPE IWICBitmapLock_GetPixelFormat_Proxy(
    854     IWICBitmapLock* This,
    855     WICPixelFormatGUID *pPixelFormat);
    856 void __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 
    870 DEFINE_GUID(IID_IWICBitmapFlipRotator, 0x5009834f, 0x2d6a, 0x41ce, 0x9e,0x1b, 0x17,0xc5,0xaf,0xf7,0xa7,0x82);
    871 #if defined(__cplusplus) && !defined(CINTERFACE)
    872 MIDL_INTERFACE("5009834f-2d6a-41ce-9e1b-17c5aff7a782")
    873 IWICBitmapFlipRotator : 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
    884 typedef 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;
    933 interface 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 ***/
    953 static FORCEINLINE HRESULT IWICBitmapFlipRotator_QueryInterface(IWICBitmapFlipRotator* This,REFIID riid,void **ppvObject) {
    954     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    955 }
    956 static FORCEINLINE ULONG IWICBitmapFlipRotator_AddRef(IWICBitmapFlipRotator* This) {
    957     return This->lpVtbl->AddRef(This);
    958 }
    959 static FORCEINLINE ULONG IWICBitmapFlipRotator_Release(IWICBitmapFlipRotator* This) {
    960     return This->lpVtbl->Release(This);
    961 }
    962 /*** IWICBitmapSource methods ***/
    963 static FORCEINLINE HRESULT IWICBitmapFlipRotator_GetSize(IWICBitmapFlipRotator* This,UINT *puiWidth,UINT *puiHeight) {
    964     return This->lpVtbl->GetSize(This,puiWidth,puiHeight);
    965 }
    966 static FORCEINLINE HRESULT IWICBitmapFlipRotator_GetPixelFormat(IWICBitmapFlipRotator* This,WICPixelFormatGUID *pPixelFormat) {
    967     return This->lpVtbl->GetPixelFormat(This,pPixelFormat);
    968 }
    969 static FORCEINLINE HRESULT IWICBitmapFlipRotator_GetResolution(IWICBitmapFlipRotator* This,double *pDpiX,double *pDpiY) {
    970     return This->lpVtbl->GetResolution(This,pDpiX,pDpiY);
    971 }
    972 static FORCEINLINE HRESULT IWICBitmapFlipRotator_CopyPalette(IWICBitmapFlipRotator* This,IWICPalette *pIPalette) {
    973     return This->lpVtbl->CopyPalette(This,pIPalette);
    974 }
    975 static 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 ***/
    979 static 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 
    987 HRESULT STDMETHODCALLTYPE IWICBitmapFlipRotator_Initialize_Proxy(
    988     IWICBitmapFlipRotator* This,
    989     IWICBitmapSource *pISource,
    990     WICBitmapTransformOptions options);
    991 void __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 
   1005 DEFINE_GUID(IID_IWICBitmap, 0x00000121, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94);
   1006 #if defined(__cplusplus) && !defined(CINTERFACE)
   1007 MIDL_INTERFACE("00000121-a8f2-4877-ba0a-fd2b6645fb94")
   1008 IWICBitmap : 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
   1027 typedef 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;
   1086 interface 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 ***/
   1108 static FORCEINLINE HRESULT IWICBitmap_QueryInterface(IWICBitmap* This,REFIID riid,void **ppvObject) {
   1109     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1110 }
   1111 static FORCEINLINE ULONG IWICBitmap_AddRef(IWICBitmap* This) {
   1112     return This->lpVtbl->AddRef(This);
   1113 }
   1114 static FORCEINLINE ULONG IWICBitmap_Release(IWICBitmap* This) {
   1115     return This->lpVtbl->Release(This);
   1116 }
   1117 /*** IWICBitmapSource methods ***/
   1118 static FORCEINLINE HRESULT IWICBitmap_GetSize(IWICBitmap* This,UINT *puiWidth,UINT *puiHeight) {
   1119     return This->lpVtbl->GetSize(This,puiWidth,puiHeight);
   1120 }
   1121 static FORCEINLINE HRESULT IWICBitmap_GetPixelFormat(IWICBitmap* This,WICPixelFormatGUID *pPixelFormat) {
   1122     return This->lpVtbl->GetPixelFormat(This,pPixelFormat);
   1123 }
   1124 static FORCEINLINE HRESULT IWICBitmap_GetResolution(IWICBitmap* This,double *pDpiX,double *pDpiY) {
   1125     return This->lpVtbl->GetResolution(This,pDpiX,pDpiY);
   1126 }
   1127 static FORCEINLINE HRESULT IWICBitmap_CopyPalette(IWICBitmap* This,IWICPalette *pIPalette) {
   1128     return This->lpVtbl->CopyPalette(This,pIPalette);
   1129 }
   1130 static 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 ***/
   1134 static FORCEINLINE HRESULT IWICBitmap_Lock(IWICBitmap* This,const WICRect *prcLock,DWORD flags,IWICBitmapLock **ppILock) {
   1135     return This->lpVtbl->Lock(This,prcLock,flags,ppILock);
   1136 }
   1137 static FORCEINLINE HRESULT IWICBitmap_SetPalette(IWICBitmap* This,IWICPalette *pIPalette) {
   1138     return This->lpVtbl->SetPalette(This,pIPalette);
   1139 }
   1140 static 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 
   1148 HRESULT STDMETHODCALLTYPE IWICBitmap_Lock_Proxy(
   1149     IWICBitmap* This,
   1150     const WICRect *prcLock,
   1151     DWORD flags,
   1152     IWICBitmapLock **ppILock);
   1153 void __RPC_STUB IWICBitmap_Lock_Stub(
   1154     IRpcStubBuffer* This,
   1155     IRpcChannelBuffer* pRpcChannelBuffer,
   1156     PRPC_MESSAGE pRpcMessage,
   1157     DWORD* pdwStubPhase);
   1158 HRESULT STDMETHODCALLTYPE IWICBitmap_SetPalette_Proxy(
   1159     IWICBitmap* This,
   1160     IWICPalette *pIPalette);
   1161 void __RPC_STUB IWICBitmap_SetPalette_Stub(
   1162     IRpcStubBuffer* This,
   1163     IRpcChannelBuffer* pRpcChannelBuffer,
   1164     PRPC_MESSAGE pRpcMessage,
   1165     DWORD* pdwStubPhase);
   1166 HRESULT STDMETHODCALLTYPE IWICBitmap_SetResolution_Proxy(
   1167     IWICBitmap* This,
   1168     double dpiX,
   1169     double dpiY);
   1170 void __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 
   1184 DEFINE_GUID(IID_IWICPalette, 0x00000040, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94);
   1185 #if defined(__cplusplus) && !defined(CINTERFACE)
   1186 MIDL_INTERFACE("00000040-a8f2-4877-ba0a-fd2b6645fb94")
   1187 IWICPalette : 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
   1230 typedef 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;
   1294 interface 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 ***/
   1317 static FORCEINLINE HRESULT IWICPalette_QueryInterface(IWICPalette* This,REFIID riid,void **ppvObject) {
   1318     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1319 }
   1320 static FORCEINLINE ULONG IWICPalette_AddRef(IWICPalette* This) {
   1321     return This->lpVtbl->AddRef(This);
   1322 }
   1323 static FORCEINLINE ULONG IWICPalette_Release(IWICPalette* This) {
   1324     return This->lpVtbl->Release(This);
   1325 }
   1326 /*** IWICPalette methods ***/
   1327 static FORCEINLINE HRESULT IWICPalette_InitializePredefined(IWICPalette* This,WICBitmapPaletteType ePaletteType,WINBOOL fAddTransparentColor) {
   1328     return This->lpVtbl->InitializePredefined(This,ePaletteType,fAddTransparentColor);
   1329 }
   1330 static FORCEINLINE HRESULT IWICPalette_InitializeCustom(IWICPalette* This,WICColor *pColors,UINT colorCount) {
   1331     return This->lpVtbl->InitializeCustom(This,pColors,colorCount);
   1332 }
   1333 static FORCEINLINE HRESULT IWICPalette_InitializeFromBitmap(IWICPalette* This,IWICBitmapSource *pISurface,UINT colorCount,WINBOOL fAddTransparentColor) {
   1334     return This->lpVtbl->InitializeFromBitmap(This,pISurface,colorCount,fAddTransparentColor);
   1335 }
   1336 static FORCEINLINE HRESULT IWICPalette_InitializeFromPalette(IWICPalette* This,IWICPalette *pIPalette) {
   1337     return This->lpVtbl->InitializeFromPalette(This,pIPalette);
   1338 }
   1339 static FORCEINLINE HRESULT IWICPalette_GetType(IWICPalette* This,WICBitmapPaletteType *pePaletteType) {
   1340     return This->lpVtbl->GetType(This,pePaletteType);
   1341 }
   1342 static FORCEINLINE HRESULT IWICPalette_GetColorCount(IWICPalette* This,UINT *pcCount) {
   1343     return This->lpVtbl->GetColorCount(This,pcCount);
   1344 }
   1345 static FORCEINLINE HRESULT IWICPalette_GetColors(IWICPalette* This,UINT colorCount,WICColor *pColors,UINT *pcActualColors) {
   1346     return This->lpVtbl->GetColors(This,colorCount,pColors,pcActualColors);
   1347 }
   1348 static FORCEINLINE HRESULT IWICPalette_IsBlackWhite(IWICPalette* This,WINBOOL *pfIsBlackWhite) {
   1349     return This->lpVtbl->IsBlackWhite(This,pfIsBlackWhite);
   1350 }
   1351 static FORCEINLINE HRESULT IWICPalette_IsGrayscale(IWICPalette* This,WINBOOL *pfIsGrayscale) {
   1352     return This->lpVtbl->IsGrayscale(This,pfIsGrayscale);
   1353 }
   1354 static FORCEINLINE HRESULT IWICPalette_HasAlpha(IWICPalette* This,WINBOOL *pfHasAlpha) {
   1355     return This->lpVtbl->HasAlpha(This,pfHasAlpha);
   1356 }
   1357 #endif
   1358 #endif
   1359 
   1360 #endif
   1361 
   1362 HRESULT STDMETHODCALLTYPE IWICPalette_InitializePredefined_Proxy(
   1363     IWICPalette* This,
   1364     WICBitmapPaletteType ePaletteType,
   1365     WINBOOL fAddTransparentColor);
   1366 void __RPC_STUB IWICPalette_InitializePredefined_Stub(
   1367     IRpcStubBuffer* This,
   1368     IRpcChannelBuffer* pRpcChannelBuffer,
   1369     PRPC_MESSAGE pRpcMessage,
   1370     DWORD* pdwStubPhase);
   1371 HRESULT STDMETHODCALLTYPE IWICPalette_InitializeCustom_Proxy(
   1372     IWICPalette* This,
   1373     WICColor *pColors,
   1374     UINT colorCount);
   1375 void __RPC_STUB IWICPalette_InitializeCustom_Stub(
   1376     IRpcStubBuffer* This,
   1377     IRpcChannelBuffer* pRpcChannelBuffer,
   1378     PRPC_MESSAGE pRpcMessage,
   1379     DWORD* pdwStubPhase);
   1380 HRESULT STDMETHODCALLTYPE IWICPalette_InitializeFromBitmap_Proxy(
   1381     IWICPalette* This,
   1382     IWICBitmapSource *pISurface,
   1383     UINT colorCount,
   1384     WINBOOL fAddTransparentColor);
   1385 void __RPC_STUB IWICPalette_InitializeFromBitmap_Stub(
   1386     IRpcStubBuffer* This,
   1387     IRpcChannelBuffer* pRpcChannelBuffer,
   1388     PRPC_MESSAGE pRpcMessage,
   1389     DWORD* pdwStubPhase);
   1390 HRESULT STDMETHODCALLTYPE IWICPalette_InitializeFromPalette_Proxy(
   1391     IWICPalette* This,
   1392     IWICPalette *pIPalette);
   1393 void __RPC_STUB IWICPalette_InitializeFromPalette_Stub(
   1394     IRpcStubBuffer* This,
   1395     IRpcChannelBuffer* pRpcChannelBuffer,
   1396     PRPC_MESSAGE pRpcMessage,
   1397     DWORD* pdwStubPhase);
   1398 HRESULT STDMETHODCALLTYPE IWICPalette_GetType_Proxy(
   1399     IWICPalette* This,
   1400     WICBitmapPaletteType *pePaletteType);
   1401 void __RPC_STUB IWICPalette_GetType_Stub(
   1402     IRpcStubBuffer* This,
   1403     IRpcChannelBuffer* pRpcChannelBuffer,
   1404     PRPC_MESSAGE pRpcMessage,
   1405     DWORD* pdwStubPhase);
   1406 HRESULT STDMETHODCALLTYPE IWICPalette_GetColorCount_Proxy(
   1407     IWICPalette* This,
   1408     UINT *pcCount);
   1409 void __RPC_STUB IWICPalette_GetColorCount_Stub(
   1410     IRpcStubBuffer* This,
   1411     IRpcChannelBuffer* pRpcChannelBuffer,
   1412     PRPC_MESSAGE pRpcMessage,
   1413     DWORD* pdwStubPhase);
   1414 HRESULT STDMETHODCALLTYPE IWICPalette_GetColors_Proxy(
   1415     IWICPalette* This,
   1416     UINT colorCount,
   1417     WICColor *pColors,
   1418     UINT *pcActualColors);
   1419 void __RPC_STUB IWICPalette_GetColors_Stub(
   1420     IRpcStubBuffer* This,
   1421     IRpcChannelBuffer* pRpcChannelBuffer,
   1422     PRPC_MESSAGE pRpcMessage,
   1423     DWORD* pdwStubPhase);
   1424 HRESULT STDMETHODCALLTYPE IWICPalette_IsBlackWhite_Proxy(
   1425     IWICPalette* This,
   1426     WINBOOL *pfIsBlackWhite);
   1427 void __RPC_STUB IWICPalette_IsBlackWhite_Stub(
   1428     IRpcStubBuffer* This,
   1429     IRpcChannelBuffer* pRpcChannelBuffer,
   1430     PRPC_MESSAGE pRpcMessage,
   1431     DWORD* pdwStubPhase);
   1432 HRESULT STDMETHODCALLTYPE IWICPalette_IsGrayscale_Proxy(
   1433     IWICPalette* This,
   1434     WINBOOL *pfIsGrayscale);
   1435 void __RPC_STUB IWICPalette_IsGrayscale_Stub(
   1436     IRpcStubBuffer* This,
   1437     IRpcChannelBuffer* pRpcChannelBuffer,
   1438     PRPC_MESSAGE pRpcMessage,
   1439     DWORD* pdwStubPhase);
   1440 HRESULT STDMETHODCALLTYPE IWICPalette_HasAlpha_Proxy(
   1441     IWICPalette* This,
   1442     WINBOOL *pfHasAlpha);
   1443 void __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 
   1457 DEFINE_GUID(IID_IWICComponentInfo, 0x23bc3f0a, 0x698b, 0x4357, 0x88,0x6b, 0xf2,0x4d,0x50,0x67,0x13,0x34);
   1458 #if defined(__cplusplus) && !defined(CINTERFACE)
   1459 MIDL_INTERFACE("23bc3f0a-698b-4357-886b-f24d50671334")
   1460 IWICComponentInfo : 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
   1499 typedef 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;
   1557 interface 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 ***/
   1578 static FORCEINLINE HRESULT IWICComponentInfo_QueryInterface(IWICComponentInfo* This,REFIID riid,void **ppvObject) {
   1579     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1580 }
   1581 static FORCEINLINE ULONG IWICComponentInfo_AddRef(IWICComponentInfo* This) {
   1582     return This->lpVtbl->AddRef(This);
   1583 }
   1584 static FORCEINLINE ULONG IWICComponentInfo_Release(IWICComponentInfo* This) {
   1585     return This->lpVtbl->Release(This);
   1586 }
   1587 /*** IWICComponentInfo methods ***/
   1588 static FORCEINLINE HRESULT IWICComponentInfo_GetComponentType(IWICComponentInfo* This,WICComponentType *pType) {
   1589     return This->lpVtbl->GetComponentType(This,pType);
   1590 }
   1591 static FORCEINLINE HRESULT IWICComponentInfo_GetCLSID(IWICComponentInfo* This,CLSID *pclsid) {
   1592     return This->lpVtbl->GetCLSID(This,pclsid);
   1593 }
   1594 static FORCEINLINE HRESULT IWICComponentInfo_GetSigningStatus(IWICComponentInfo* This,DWORD *pStatus) {
   1595     return This->lpVtbl->GetSigningStatus(This,pStatus);
   1596 }
   1597 static FORCEINLINE HRESULT IWICComponentInfo_GetAuthor(IWICComponentInfo* This,UINT cchAuthor,WCHAR *wzAuthor,UINT *pcchActual) {
   1598     return This->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual);
   1599 }
   1600 static FORCEINLINE HRESULT IWICComponentInfo_GetVendorGUID(IWICComponentInfo* This,GUID *pguidVendor) {
   1601     return This->lpVtbl->GetVendorGUID(This,pguidVendor);
   1602 }
   1603 static FORCEINLINE HRESULT IWICComponentInfo_GetVersion(IWICComponentInfo* This,UINT cchVersion,WCHAR *wzVersion,UINT *pcchActual) {
   1604     return This->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual);
   1605 }
   1606 static FORCEINLINE HRESULT IWICComponentInfo_GetSpecVersion(IWICComponentInfo* This,UINT cchSpecVersion,WCHAR *wzSpecVersion,UINT *pcchActual) {
   1607     return This->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual);
   1608 }
   1609 static 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 
   1617 HRESULT STDMETHODCALLTYPE IWICComponentInfo_GetComponentType_Proxy(
   1618     IWICComponentInfo* This,
   1619     WICComponentType *pType);
   1620 void __RPC_STUB IWICComponentInfo_GetComponentType_Stub(
   1621     IRpcStubBuffer* This,
   1622     IRpcChannelBuffer* pRpcChannelBuffer,
   1623     PRPC_MESSAGE pRpcMessage,
   1624     DWORD* pdwStubPhase);
   1625 HRESULT STDMETHODCALLTYPE IWICComponentInfo_GetCLSID_Proxy(
   1626     IWICComponentInfo* This,
   1627     CLSID *pclsid);
   1628 void __RPC_STUB IWICComponentInfo_GetCLSID_Stub(
   1629     IRpcStubBuffer* This,
   1630     IRpcChannelBuffer* pRpcChannelBuffer,
   1631     PRPC_MESSAGE pRpcMessage,
   1632     DWORD* pdwStubPhase);
   1633 HRESULT STDMETHODCALLTYPE IWICComponentInfo_GetSigningStatus_Proxy(
   1634     IWICComponentInfo* This,
   1635     DWORD *pStatus);
   1636 void __RPC_STUB IWICComponentInfo_GetSigningStatus_Stub(
   1637     IRpcStubBuffer* This,
   1638     IRpcChannelBuffer* pRpcChannelBuffer,
   1639     PRPC_MESSAGE pRpcMessage,
   1640     DWORD* pdwStubPhase);
   1641 HRESULT STDMETHODCALLTYPE IWICComponentInfo_GetAuthor_Proxy(
   1642     IWICComponentInfo* This,
   1643     UINT cchAuthor,
   1644     WCHAR *wzAuthor,
   1645     UINT *pcchActual);
   1646 void __RPC_STUB IWICComponentInfo_GetAuthor_Stub(
   1647     IRpcStubBuffer* This,
   1648     IRpcChannelBuffer* pRpcChannelBuffer,
   1649     PRPC_MESSAGE pRpcMessage,
   1650     DWORD* pdwStubPhase);
   1651 HRESULT STDMETHODCALLTYPE IWICComponentInfo_GetVendorGUID_Proxy(
   1652     IWICComponentInfo* This,
   1653     GUID *pguidVendor);
   1654 void __RPC_STUB IWICComponentInfo_GetVendorGUID_Stub(
   1655     IRpcStubBuffer* This,
   1656     IRpcChannelBuffer* pRpcChannelBuffer,
   1657     PRPC_MESSAGE pRpcMessage,
   1658     DWORD* pdwStubPhase);
   1659 HRESULT STDMETHODCALLTYPE IWICComponentInfo_GetVersion_Proxy(
   1660     IWICComponentInfo* This,
   1661     UINT cchVersion,
   1662     WCHAR *wzVersion,
   1663     UINT *pcchActual);
   1664 void __RPC_STUB IWICComponentInfo_GetVersion_Stub(
   1665     IRpcStubBuffer* This,
   1666     IRpcChannelBuffer* pRpcChannelBuffer,
   1667     PRPC_MESSAGE pRpcMessage,
   1668     DWORD* pdwStubPhase);
   1669 HRESULT STDMETHODCALLTYPE IWICComponentInfo_GetSpecVersion_Proxy(
   1670     IWICComponentInfo* This,
   1671     UINT cchSpecVersion,
   1672     WCHAR *wzSpecVersion,
   1673     UINT *pcchActual);
   1674 void __RPC_STUB IWICComponentInfo_GetSpecVersion_Stub(
   1675     IRpcStubBuffer* This,
   1676     IRpcChannelBuffer* pRpcChannelBuffer,
   1677     PRPC_MESSAGE pRpcMessage,
   1678     DWORD* pdwStubPhase);
   1679 HRESULT STDMETHODCALLTYPE IWICComponentInfo_GetFriendlyName_Proxy(
   1680     IWICComponentInfo* This,
   1681     UINT cchFriendlyName,
   1682     WCHAR *wzFriendlyName,
   1683     UINT *pcchActual);
   1684 void __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 
   1698 DEFINE_GUID(IID_IWICMetadataQueryReader, 0x30989668, 0xe1c9, 0x4597, 0xb3,0x95, 0x45,0x8e,0xed,0xb8,0x08,0xdf);
   1699 #if defined(__cplusplus) && !defined(CINTERFACE)
   1700 MIDL_INTERFACE("30989668-e1c9-4597-b395-458eedb808df")
   1701 IWICMetadataQueryReader : 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
   1723 typedef 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;
   1760 interface 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 ***/
   1777 static FORCEINLINE HRESULT IWICMetadataQueryReader_QueryInterface(IWICMetadataQueryReader* This,REFIID riid,void **ppvObject) {
   1778     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1779 }
   1780 static FORCEINLINE ULONG IWICMetadataQueryReader_AddRef(IWICMetadataQueryReader* This) {
   1781     return This->lpVtbl->AddRef(This);
   1782 }
   1783 static FORCEINLINE ULONG IWICMetadataQueryReader_Release(IWICMetadataQueryReader* This) {
   1784     return This->lpVtbl->Release(This);
   1785 }
   1786 /*** IWICMetadataQueryReader methods ***/
   1787 static FORCEINLINE HRESULT IWICMetadataQueryReader_GetContainerFormat(IWICMetadataQueryReader* This,GUID *pguidContainerFormat) {
   1788     return This->lpVtbl->GetContainerFormat(This,pguidContainerFormat);
   1789 }
   1790 static FORCEINLINE HRESULT IWICMetadataQueryReader_GetLocation(IWICMetadataQueryReader* This,UINT cchMaxLength,WCHAR *wzNamespace,UINT *pcchActualLength) {
   1791     return This->lpVtbl->GetLocation(This,cchMaxLength,wzNamespace,pcchActualLength);
   1792 }
   1793 static FORCEINLINE HRESULT IWICMetadataQueryReader_GetMetadataByName(IWICMetadataQueryReader* This,LPCWSTR wzName,PROPVARIANT *pvarValue) {
   1794     return This->lpVtbl->GetMetadataByName(This,wzName,pvarValue);
   1795 }
   1796 static FORCEINLINE HRESULT IWICMetadataQueryReader_GetEnumerator(IWICMetadataQueryReader* This,IEnumString **ppIEnumString) {
   1797     return This->lpVtbl->GetEnumerator(This,ppIEnumString);
   1798 }
   1799 #endif
   1800 #endif
   1801 
   1802 #endif
   1803 
   1804 HRESULT STDMETHODCALLTYPE IWICMetadataQueryReader_GetContainerFormat_Proxy(
   1805     IWICMetadataQueryReader* This,
   1806     GUID *pguidContainerFormat);
   1807 void __RPC_STUB IWICMetadataQueryReader_GetContainerFormat_Stub(
   1808     IRpcStubBuffer* This,
   1809     IRpcChannelBuffer* pRpcChannelBuffer,
   1810     PRPC_MESSAGE pRpcMessage,
   1811     DWORD* pdwStubPhase);
   1812 HRESULT STDMETHODCALLTYPE IWICMetadataQueryReader_GetLocation_Proxy(
   1813     IWICMetadataQueryReader* This,
   1814     UINT cchMaxLength,
   1815     WCHAR *wzNamespace,
   1816     UINT *pcchActualLength);
   1817 void __RPC_STUB IWICMetadataQueryReader_GetLocation_Stub(
   1818     IRpcStubBuffer* This,
   1819     IRpcChannelBuffer* pRpcChannelBuffer,
   1820     PRPC_MESSAGE pRpcMessage,
   1821     DWORD* pdwStubPhase);
   1822 HRESULT STDMETHODCALLTYPE IWICMetadataQueryReader_GetMetadataByName_Proxy(
   1823     IWICMetadataQueryReader* This,
   1824     LPCWSTR wzName,
   1825     PROPVARIANT *pvarValue);
   1826 void __RPC_STUB IWICMetadataQueryReader_GetMetadataByName_Stub(
   1827     IRpcStubBuffer* This,
   1828     IRpcChannelBuffer* pRpcChannelBuffer,
   1829     PRPC_MESSAGE pRpcMessage,
   1830     DWORD* pdwStubPhase);
   1831 HRESULT STDMETHODCALLTYPE IWICMetadataQueryReader_GetEnumerator_Proxy(
   1832     IWICMetadataQueryReader* This,
   1833     IEnumString **ppIEnumString);
   1834 void __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 
   1848 DEFINE_GUID(IID_IWICMetadataQueryWriter, 0xa721791a, 0x0def, 0x4d06, 0xbd,0x91, 0x21,0x18,0xbf,0x1d,0xb1,0x0b);
   1849 #if defined(__cplusplus) && !defined(CINTERFACE)
   1850 MIDL_INTERFACE("a721791a-0def-4d06-bd91-2118bf1db10b")
   1851 IWICMetadataQueryWriter : 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
   1865 typedef 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;
   1912 interface 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 ***/
   1932 static FORCEINLINE HRESULT IWICMetadataQueryWriter_QueryInterface(IWICMetadataQueryWriter* This,REFIID riid,void **ppvObject) {
   1933     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1934 }
   1935 static FORCEINLINE ULONG IWICMetadataQueryWriter_AddRef(IWICMetadataQueryWriter* This) {
   1936     return This->lpVtbl->AddRef(This);
   1937 }
   1938 static FORCEINLINE ULONG IWICMetadataQueryWriter_Release(IWICMetadataQueryWriter* This) {
   1939     return This->lpVtbl->Release(This);
   1940 }
   1941 /*** IWICMetadataQueryReader methods ***/
   1942 static FORCEINLINE HRESULT IWICMetadataQueryWriter_GetContainerFormat(IWICMetadataQueryWriter* This,GUID *pguidContainerFormat) {
   1943     return This->lpVtbl->GetContainerFormat(This,pguidContainerFormat);
   1944 }
   1945 static FORCEINLINE HRESULT IWICMetadataQueryWriter_GetLocation(IWICMetadataQueryWriter* This,UINT cchMaxLength,WCHAR *wzNamespace,UINT *pcchActualLength) {
   1946     return This->lpVtbl->GetLocation(This,cchMaxLength,wzNamespace,pcchActualLength);
   1947 }
   1948 static FORCEINLINE HRESULT IWICMetadataQueryWriter_GetMetadataByName(IWICMetadataQueryWriter* This,LPCWSTR wzName,PROPVARIANT *pvarValue) {
   1949     return This->lpVtbl->GetMetadataByName(This,wzName,pvarValue);
   1950 }
   1951 static FORCEINLINE HRESULT IWICMetadataQueryWriter_GetEnumerator(IWICMetadataQueryWriter* This,IEnumString **ppIEnumString) {
   1952     return This->lpVtbl->GetEnumerator(This,ppIEnumString);
   1953 }
   1954 /*** IWICMetadataQueryWriter methods ***/
   1955 static FORCEINLINE HRESULT IWICMetadataQueryWriter_SetMetadataByName(IWICMetadataQueryWriter* This,LPCWSTR wzName,const PROPVARIANT *pvarValue) {
   1956     return This->lpVtbl->SetMetadataByName(This,wzName,pvarValue);
   1957 }
   1958 static FORCEINLINE HRESULT IWICMetadataQueryWriter_RemoveMetadataByName(IWICMetadataQueryWriter* This,LPCWSTR wzName) {
   1959     return This->lpVtbl->RemoveMetadataByName(This,wzName);
   1960 }
   1961 #endif
   1962 #endif
   1963 
   1964 #endif
   1965 
   1966 HRESULT STDMETHODCALLTYPE IWICMetadataQueryWriter_SetMetadataByName_Proxy(
   1967     IWICMetadataQueryWriter* This,
   1968     LPCWSTR wzName,
   1969     const PROPVARIANT *pvarValue);
   1970 void __RPC_STUB IWICMetadataQueryWriter_SetMetadataByName_Stub(
   1971     IRpcStubBuffer* This,
   1972     IRpcChannelBuffer* pRpcChannelBuffer,
   1973     PRPC_MESSAGE pRpcMessage,
   1974     DWORD* pdwStubPhase);
   1975 HRESULT STDMETHODCALLTYPE IWICMetadataQueryWriter_RemoveMetadataByName_Proxy(
   1976     IWICMetadataQueryWriter* This,
   1977     LPCWSTR wzName);
   1978 void __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 
   1992 DEFINE_GUID(IID_IWICBitmapFrameDecode, 0x3b16811b, 0x6a43, 0x4ec9, 0xa8,0x13, 0x3d,0x93,0x0c,0x13,0xb9,0x40);
   1993 #if defined(__cplusplus) && !defined(CINTERFACE)
   1994 MIDL_INTERFACE("3b16811b-6a43-4ec9-a813-3d930c13b940")
   1995 IWICBitmapFrameDecode : 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
   2013 typedef 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;
   2071 interface 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 ***/
   2093 static FORCEINLINE HRESULT IWICBitmapFrameDecode_QueryInterface(IWICBitmapFrameDecode* This,REFIID riid,void **ppvObject) {
   2094     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2095 }
   2096 static FORCEINLINE ULONG IWICBitmapFrameDecode_AddRef(IWICBitmapFrameDecode* This) {
   2097     return This->lpVtbl->AddRef(This);
   2098 }
   2099 static FORCEINLINE ULONG IWICBitmapFrameDecode_Release(IWICBitmapFrameDecode* This) {
   2100     return This->lpVtbl->Release(This);
   2101 }
   2102 /*** IWICBitmapSource methods ***/
   2103 static FORCEINLINE HRESULT IWICBitmapFrameDecode_GetSize(IWICBitmapFrameDecode* This,UINT *puiWidth,UINT *puiHeight) {
   2104     return This->lpVtbl->GetSize(This,puiWidth,puiHeight);
   2105 }
   2106 static FORCEINLINE HRESULT IWICBitmapFrameDecode_GetPixelFormat(IWICBitmapFrameDecode* This,WICPixelFormatGUID *pPixelFormat) {
   2107     return This->lpVtbl->GetPixelFormat(This,pPixelFormat);
   2108 }
   2109 static FORCEINLINE HRESULT IWICBitmapFrameDecode_GetResolution(IWICBitmapFrameDecode* This,double *pDpiX,double *pDpiY) {
   2110     return This->lpVtbl->GetResolution(This,pDpiX,pDpiY);
   2111 }
   2112 static FORCEINLINE HRESULT IWICBitmapFrameDecode_CopyPalette(IWICBitmapFrameDecode* This,IWICPalette *pIPalette) {
   2113     return This->lpVtbl->CopyPalette(This,pIPalette);
   2114 }
   2115 static 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 ***/
   2119 static FORCEINLINE HRESULT IWICBitmapFrameDecode_GetMetadataQueryReader(IWICBitmapFrameDecode* This,IWICMetadataQueryReader **ppIMetadataQueryReader) {
   2120     return This->lpVtbl->GetMetadataQueryReader(This,ppIMetadataQueryReader);
   2121 }
   2122 static FORCEINLINE HRESULT IWICBitmapFrameDecode_GetColorContexts(IWICBitmapFrameDecode* This,UINT cCount,IWICColorContext **ppIColorContexts,UINT *pcActualCount) {
   2123     return This->lpVtbl->GetColorContexts(This,cCount,ppIColorContexts,pcActualCount);
   2124 }
   2125 static FORCEINLINE HRESULT IWICBitmapFrameDecode_GetThumbnail(IWICBitmapFrameDecode* This,IWICBitmapSource **ppIThumbnail) {
   2126     return This->lpVtbl->GetThumbnail(This,ppIThumbnail);
   2127 }
   2128 #endif
   2129 #endif
   2130 
   2131 #endif
   2132 
   2133 HRESULT STDMETHODCALLTYPE IWICBitmapFrameDecode_GetMetadataQueryReader_Proxy(
   2134     IWICBitmapFrameDecode* This,
   2135     IWICMetadataQueryReader **ppIMetadataQueryReader);
   2136 void __RPC_STUB IWICBitmapFrameDecode_GetMetadataQueryReader_Stub(
   2137     IRpcStubBuffer* This,
   2138     IRpcChannelBuffer* pRpcChannelBuffer,
   2139     PRPC_MESSAGE pRpcMessage,
   2140     DWORD* pdwStubPhase);
   2141 HRESULT STDMETHODCALLTYPE IWICBitmapFrameDecode_GetColorContexts_Proxy(
   2142     IWICBitmapFrameDecode* This,
   2143     UINT cCount,
   2144     IWICColorContext **ppIColorContexts,
   2145     UINT *pcActualCount);
   2146 void __RPC_STUB IWICBitmapFrameDecode_GetColorContexts_Stub(
   2147     IRpcStubBuffer* This,
   2148     IRpcChannelBuffer* pRpcChannelBuffer,
   2149     PRPC_MESSAGE pRpcMessage,
   2150     DWORD* pdwStubPhase);
   2151 HRESULT STDMETHODCALLTYPE IWICBitmapFrameDecode_GetThumbnail_Proxy(
   2152     IWICBitmapFrameDecode* This,
   2153     IWICBitmapSource **ppIThumbnail);
   2154 void __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 
   2168 DEFINE_GUID(IID_IWICPixelFormatInfo, 0xe8eda601, 0x3d48, 0x431a, 0xab,0x44, 0x69,0x05,0x9b,0xe8,0x8b,0xbe);
   2169 #if defined(__cplusplus) && !defined(CINTERFACE)
   2170 MIDL_INTERFACE("e8eda601-3d48-431a-ab44-69059be88bbe")
   2171 IWICPixelFormatInfo : 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
   2196 typedef 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;
   2278 interface 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 ***/
   2305 static FORCEINLINE HRESULT IWICPixelFormatInfo_QueryInterface(IWICPixelFormatInfo* This,REFIID riid,void **ppvObject) {
   2306     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2307 }
   2308 static FORCEINLINE ULONG IWICPixelFormatInfo_AddRef(IWICPixelFormatInfo* This) {
   2309     return This->lpVtbl->AddRef(This);
   2310 }
   2311 static FORCEINLINE ULONG IWICPixelFormatInfo_Release(IWICPixelFormatInfo* This) {
   2312     return This->lpVtbl->Release(This);
   2313 }
   2314 /*** IWICComponentInfo methods ***/
   2315 static FORCEINLINE HRESULT IWICPixelFormatInfo_GetComponentType(IWICPixelFormatInfo* This,WICComponentType *pType) {
   2316     return This->lpVtbl->GetComponentType(This,pType);
   2317 }
   2318 static FORCEINLINE HRESULT IWICPixelFormatInfo_GetCLSID(IWICPixelFormatInfo* This,CLSID *pclsid) {
   2319     return This->lpVtbl->GetCLSID(This,pclsid);
   2320 }
   2321 static FORCEINLINE HRESULT IWICPixelFormatInfo_GetSigningStatus(IWICPixelFormatInfo* This,DWORD *pStatus) {
   2322     return This->lpVtbl->GetSigningStatus(This,pStatus);
   2323 }
   2324 static FORCEINLINE HRESULT IWICPixelFormatInfo_GetAuthor(IWICPixelFormatInfo* This,UINT cchAuthor,WCHAR *wzAuthor,UINT *pcchActual) {
   2325     return This->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual);
   2326 }
   2327 static FORCEINLINE HRESULT IWICPixelFormatInfo_GetVendorGUID(IWICPixelFormatInfo* This,GUID *pguidVendor) {
   2328     return This->lpVtbl->GetVendorGUID(This,pguidVendor);
   2329 }
   2330 static FORCEINLINE HRESULT IWICPixelFormatInfo_GetVersion(IWICPixelFormatInfo* This,UINT cchVersion,WCHAR *wzVersion,UINT *pcchActual) {
   2331     return This->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual);
   2332 }
   2333 static FORCEINLINE HRESULT IWICPixelFormatInfo_GetSpecVersion(IWICPixelFormatInfo* This,UINT cchSpecVersion,WCHAR *wzSpecVersion,UINT *pcchActual) {
   2334     return This->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual);
   2335 }
   2336 static 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 ***/
   2340 static FORCEINLINE HRESULT IWICPixelFormatInfo_GetFormatGUID(IWICPixelFormatInfo* This,GUID *pFormat) {
   2341     return This->lpVtbl->GetFormatGUID(This,pFormat);
   2342 }
   2343 static FORCEINLINE HRESULT IWICPixelFormatInfo_GetColorContext(IWICPixelFormatInfo* This,IWICColorContext **ppIColorContext) {
   2344     return This->lpVtbl->GetColorContext(This,ppIColorContext);
   2345 }
   2346 static FORCEINLINE HRESULT IWICPixelFormatInfo_GetBitsPerPixel(IWICPixelFormatInfo* This,UINT *puiBitsPerPixel) {
   2347     return This->lpVtbl->GetBitsPerPixel(This,puiBitsPerPixel);
   2348 }
   2349 static FORCEINLINE HRESULT IWICPixelFormatInfo_GetChannelCount(IWICPixelFormatInfo* This,UINT *puiChannelCount) {
   2350     return This->lpVtbl->GetChannelCount(This,puiChannelCount);
   2351 }
   2352 static 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 
   2360 HRESULT STDMETHODCALLTYPE IWICPixelFormatInfo_GetFormatGUID_Proxy(
   2361     IWICPixelFormatInfo* This,
   2362     GUID *pFormat);
   2363 void __RPC_STUB IWICPixelFormatInfo_GetFormatGUID_Stub(
   2364     IRpcStubBuffer* This,
   2365     IRpcChannelBuffer* pRpcChannelBuffer,
   2366     PRPC_MESSAGE pRpcMessage,
   2367     DWORD* pdwStubPhase);
   2368 HRESULT STDMETHODCALLTYPE IWICPixelFormatInfo_GetColorContext_Proxy(
   2369     IWICPixelFormatInfo* This,
   2370     IWICColorContext **ppIColorContext);
   2371 void __RPC_STUB IWICPixelFormatInfo_GetColorContext_Stub(
   2372     IRpcStubBuffer* This,
   2373     IRpcChannelBuffer* pRpcChannelBuffer,
   2374     PRPC_MESSAGE pRpcMessage,
   2375     DWORD* pdwStubPhase);
   2376 HRESULT STDMETHODCALLTYPE IWICPixelFormatInfo_GetBitsPerPixel_Proxy(
   2377     IWICPixelFormatInfo* This,
   2378     UINT *puiBitsPerPixel);
   2379 void __RPC_STUB IWICPixelFormatInfo_GetBitsPerPixel_Stub(
   2380     IRpcStubBuffer* This,
   2381     IRpcChannelBuffer* pRpcChannelBuffer,
   2382     PRPC_MESSAGE pRpcMessage,
   2383     DWORD* pdwStubPhase);
   2384 HRESULT STDMETHODCALLTYPE IWICPixelFormatInfo_GetChannelCount_Proxy(
   2385     IWICPixelFormatInfo* This,
   2386     UINT *puiChannelCount);
   2387 void __RPC_STUB IWICPixelFormatInfo_GetChannelCount_Stub(
   2388     IRpcStubBuffer* This,
   2389     IRpcChannelBuffer* pRpcChannelBuffer,
   2390     PRPC_MESSAGE pRpcMessage,
   2391     DWORD* pdwStubPhase);
   2392 HRESULT STDMETHODCALLTYPE IWICPixelFormatInfo_GetChannelMask_Proxy(
   2393     IWICPixelFormatInfo* This,
   2394     UINT uiChannelIndex,
   2395     UINT cbMaskBuffer,
   2396     BYTE *pbMaskBuffer,
   2397     UINT *pcbActual);
   2398 void __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 
   2412 DEFINE_GUID(IID_IWICPixelFormatInfo2, 0xa9db33a2, 0xaf5f, 0x43c7, 0xb6,0x79, 0x74,0xf5,0x98,0x4b,0x5a,0xa4);
   2413 #if defined(__cplusplus) && !defined(CINTERFACE)
   2414 MIDL_INTERFACE("a9db33a2-af5f-43c7-b679-74f5984b5aa4")
   2415 IWICPixelFormatInfo2 : 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
   2428 typedef 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;
   2519 interface 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 ***/
   2549 static FORCEINLINE HRESULT IWICPixelFormatInfo2_QueryInterface(IWICPixelFormatInfo2* This,REFIID riid,void **ppvObject) {
   2550     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2551 }
   2552 static FORCEINLINE ULONG IWICPixelFormatInfo2_AddRef(IWICPixelFormatInfo2* This) {
   2553     return This->lpVtbl->AddRef(This);
   2554 }
   2555 static FORCEINLINE ULONG IWICPixelFormatInfo2_Release(IWICPixelFormatInfo2* This) {
   2556     return This->lpVtbl->Release(This);
   2557 }
   2558 /*** IWICComponentInfo methods ***/
   2559 static FORCEINLINE HRESULT IWICPixelFormatInfo2_GetComponentType(IWICPixelFormatInfo2* This,WICComponentType *pType) {
   2560     return This->lpVtbl->GetComponentType(This,pType);
   2561 }
   2562 static FORCEINLINE HRESULT IWICPixelFormatInfo2_GetCLSID(IWICPixelFormatInfo2* This,CLSID *pclsid) {
   2563     return This->lpVtbl->GetCLSID(This,pclsid);
   2564 }
   2565 static FORCEINLINE HRESULT IWICPixelFormatInfo2_GetSigningStatus(IWICPixelFormatInfo2* This,DWORD *pStatus) {
   2566     return This->lpVtbl->GetSigningStatus(This,pStatus);
   2567 }
   2568 static FORCEINLINE HRESULT IWICPixelFormatInfo2_GetAuthor(IWICPixelFormatInfo2* This,UINT cchAuthor,WCHAR *wzAuthor,UINT *pcchActual) {
   2569     return This->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual);
   2570 }
   2571 static FORCEINLINE HRESULT IWICPixelFormatInfo2_GetVendorGUID(IWICPixelFormatInfo2* This,GUID *pguidVendor) {
   2572     return This->lpVtbl->GetVendorGUID(This,pguidVendor);
   2573 }
   2574 static FORCEINLINE HRESULT IWICPixelFormatInfo2_GetVersion(IWICPixelFormatInfo2* This,UINT cchVersion,WCHAR *wzVersion,UINT *pcchActual) {
   2575     return This->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual);
   2576 }
   2577 static FORCEINLINE HRESULT IWICPixelFormatInfo2_GetSpecVersion(IWICPixelFormatInfo2* This,UINT cchSpecVersion,WCHAR *wzSpecVersion,UINT *pcchActual) {
   2578     return This->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual);
   2579 }
   2580 static 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 ***/
   2584 static FORCEINLINE HRESULT IWICPixelFormatInfo2_GetFormatGUID(IWICPixelFormatInfo2* This,GUID *pFormat) {
   2585     return This->lpVtbl->GetFormatGUID(This,pFormat);
   2586 }
   2587 static FORCEINLINE HRESULT IWICPixelFormatInfo2_GetColorContext(IWICPixelFormatInfo2* This,IWICColorContext **ppIColorContext) {
   2588     return This->lpVtbl->GetColorContext(This,ppIColorContext);
   2589 }
   2590 static FORCEINLINE HRESULT IWICPixelFormatInfo2_GetBitsPerPixel(IWICPixelFormatInfo2* This,UINT *puiBitsPerPixel) {
   2591     return This->lpVtbl->GetBitsPerPixel(This,puiBitsPerPixel);
   2592 }
   2593 static FORCEINLINE HRESULT IWICPixelFormatInfo2_GetChannelCount(IWICPixelFormatInfo2* This,UINT *puiChannelCount) {
   2594     return This->lpVtbl->GetChannelCount(This,puiChannelCount);
   2595 }
   2596 static 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 ***/
   2600 static FORCEINLINE HRESULT IWICPixelFormatInfo2_SupportsTransparency(IWICPixelFormatInfo2* This,WINBOOL *pfSupportsTransparency) {
   2601     return This->lpVtbl->SupportsTransparency(This,pfSupportsTransparency);
   2602 }
   2603 static FORCEINLINE HRESULT IWICPixelFormatInfo2_GetNumericRepresentation(IWICPixelFormatInfo2* This,WICPixelFormatNumericRepresentation *pNumericRepresentation) {
   2604     return This->lpVtbl->GetNumericRepresentation(This,pNumericRepresentation);
   2605 }
   2606 #endif
   2607 #endif
   2608 
   2609 #endif
   2610 
   2611 HRESULT STDMETHODCALLTYPE IWICPixelFormatInfo2_SupportsTransparency_Proxy(
   2612     IWICPixelFormatInfo2* This,
   2613     WINBOOL *pfSupportsTransparency);
   2614 void __RPC_STUB IWICPixelFormatInfo2_SupportsTransparency_Stub(
   2615     IRpcStubBuffer* This,
   2616     IRpcChannelBuffer* pRpcChannelBuffer,
   2617     PRPC_MESSAGE pRpcMessage,
   2618     DWORD* pdwStubPhase);
   2619 HRESULT STDMETHODCALLTYPE IWICPixelFormatInfo2_GetNumericRepresentation_Proxy(
   2620     IWICPixelFormatInfo2* This,
   2621     WICPixelFormatNumericRepresentation *pNumericRepresentation);
   2622 void __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 
   2636 DEFINE_GUID(IID_IWICBitmapCodecInfo, 0xe87a44c4, 0xb76e, 0x4c47, 0x8b,0x09, 0x29,0x8e,0xb1,0x2a,0x27,0x14);
   2637 #if defined(__cplusplus) && !defined(CINTERFACE)
   2638 MIDL_INTERFACE("e87a44c4-b76e-4c47-8b09-298eb12a2714")
   2639 IWICBitmapCodecInfo : 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
   2695 typedef 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;
   2815 interface 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 ***/
   2849 static FORCEINLINE HRESULT IWICBitmapCodecInfo_QueryInterface(IWICBitmapCodecInfo* This,REFIID riid,void **ppvObject) {
   2850     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2851 }
   2852 static FORCEINLINE ULONG IWICBitmapCodecInfo_AddRef(IWICBitmapCodecInfo* This) {
   2853     return This->lpVtbl->AddRef(This);
   2854 }
   2855 static FORCEINLINE ULONG IWICBitmapCodecInfo_Release(IWICBitmapCodecInfo* This) {
   2856     return This->lpVtbl->Release(This);
   2857 }
   2858 /*** IWICComponentInfo methods ***/
   2859 static FORCEINLINE HRESULT IWICBitmapCodecInfo_GetComponentType(IWICBitmapCodecInfo* This,WICComponentType *pType) {
   2860     return This->lpVtbl->GetComponentType(This,pType);
   2861 }
   2862 static FORCEINLINE HRESULT IWICBitmapCodecInfo_GetCLSID(IWICBitmapCodecInfo* This,CLSID *pclsid) {
   2863     return This->lpVtbl->GetCLSID(This,pclsid);
   2864 }
   2865 static FORCEINLINE HRESULT IWICBitmapCodecInfo_GetSigningStatus(IWICBitmapCodecInfo* This,DWORD *pStatus) {
   2866     return This->lpVtbl->GetSigningStatus(This,pStatus);
   2867 }
   2868 static FORCEINLINE HRESULT IWICBitmapCodecInfo_GetAuthor(IWICBitmapCodecInfo* This,UINT cchAuthor,WCHAR *wzAuthor,UINT *pcchActual) {
   2869     return This->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual);
   2870 }
   2871 static FORCEINLINE HRESULT IWICBitmapCodecInfo_GetVendorGUID(IWICBitmapCodecInfo* This,GUID *pguidVendor) {
   2872     return This->lpVtbl->GetVendorGUID(This,pguidVendor);
   2873 }
   2874 static FORCEINLINE HRESULT IWICBitmapCodecInfo_GetVersion(IWICBitmapCodecInfo* This,UINT cchVersion,WCHAR *wzVersion,UINT *pcchActual) {
   2875     return This->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual);
   2876 }
   2877 static FORCEINLINE HRESULT IWICBitmapCodecInfo_GetSpecVersion(IWICBitmapCodecInfo* This,UINT cchSpecVersion,WCHAR *wzSpecVersion,UINT *pcchActual) {
   2878     return This->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual);
   2879 }
   2880 static 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 ***/
   2884 static FORCEINLINE HRESULT IWICBitmapCodecInfo_GetContainerFormat(IWICBitmapCodecInfo* This,GUID *pguidContainerFormat) {
   2885     return This->lpVtbl->GetContainerFormat(This,pguidContainerFormat);
   2886 }
   2887 static FORCEINLINE HRESULT IWICBitmapCodecInfo_GetPixelFormats(IWICBitmapCodecInfo* This,UINT cFormats,GUID *pguidPixelFormats,UINT *pcActual) {
   2888     return This->lpVtbl->GetPixelFormats(This,cFormats,pguidPixelFormats,pcActual);
   2889 }
   2890 static FORCEINLINE HRESULT IWICBitmapCodecInfo_GetColorManagementVersion(IWICBitmapCodecInfo* This,UINT cchColorManagementVersion,WCHAR *wzColorManagementVersion,UINT *pcchActual) {
   2891     return This->lpVtbl->GetColorManagementVersion(This,cchColorManagementVersion,wzColorManagementVersion,pcchActual);
   2892 }
   2893 static FORCEINLINE HRESULT IWICBitmapCodecInfo_GetDeviceManufacturer(IWICBitmapCodecInfo* This,UINT cchDeviceManufacturer,WCHAR *wzDeviceManufacturer,UINT *pcchActual) {
   2894     return This->lpVtbl->GetDeviceManufacturer(This,cchDeviceManufacturer,wzDeviceManufacturer,pcchActual);
   2895 }
   2896 static FORCEINLINE HRESULT IWICBitmapCodecInfo_GetDeviceModels(IWICBitmapCodecInfo* This,UINT cchDeviceModels,WCHAR *wzDeviceModels,UINT *pcchActual) {
   2897     return This->lpVtbl->GetDeviceModels(This,cchDeviceModels,wzDeviceModels,pcchActual);
   2898 }
   2899 static FORCEINLINE HRESULT IWICBitmapCodecInfo_GetMimeTypes(IWICBitmapCodecInfo* This,UINT cchMimeTypes,WCHAR *wzMimeTypes,UINT *pcchActual) {
   2900     return This->lpVtbl->GetMimeTypes(This,cchMimeTypes,wzMimeTypes,pcchActual);
   2901 }
   2902 static FORCEINLINE HRESULT IWICBitmapCodecInfo_GetFileExtensions(IWICBitmapCodecInfo* This,UINT cchFileExtensions,WCHAR *wzFileExtensions,UINT *pcchActual) {
   2903     return This->lpVtbl->GetFileExtensions(This,cchFileExtensions,wzFileExtensions,pcchActual);
   2904 }
   2905 static FORCEINLINE HRESULT IWICBitmapCodecInfo_DoesSupportAnimation(IWICBitmapCodecInfo* This,WINBOOL *pfSupportAnimation) {
   2906     return This->lpVtbl->DoesSupportAnimation(This,pfSupportAnimation);
   2907 }
   2908 static FORCEINLINE HRESULT IWICBitmapCodecInfo_DoesSupportChromaKey(IWICBitmapCodecInfo* This,WINBOOL *pfSupportChromaKey) {
   2909     return This->lpVtbl->DoesSupportChromaKey(This,pfSupportChromaKey);
   2910 }
   2911 static FORCEINLINE HRESULT IWICBitmapCodecInfo_DoesSupportLossless(IWICBitmapCodecInfo* This,WINBOOL *pfSupportLossless) {
   2912     return This->lpVtbl->DoesSupportLossless(This,pfSupportLossless);
   2913 }
   2914 static FORCEINLINE HRESULT IWICBitmapCodecInfo_DoesSupportMultiframe(IWICBitmapCodecInfo* This,WINBOOL *pfSupportMultiframe) {
   2915     return This->lpVtbl->DoesSupportMultiframe(This,pfSupportMultiframe);
   2916 }
   2917 static 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 
   2925 HRESULT STDMETHODCALLTYPE IWICBitmapCodecInfo_GetContainerFormat_Proxy(
   2926     IWICBitmapCodecInfo* This,
   2927     GUID *pguidContainerFormat);
   2928 void __RPC_STUB IWICBitmapCodecInfo_GetContainerFormat_Stub(
   2929     IRpcStubBuffer* This,
   2930     IRpcChannelBuffer* pRpcChannelBuffer,
   2931     PRPC_MESSAGE pRpcMessage,
   2932     DWORD* pdwStubPhase);
   2933 HRESULT STDMETHODCALLTYPE IWICBitmapCodecInfo_GetPixelFormats_Proxy(
   2934     IWICBitmapCodecInfo* This,
   2935     UINT cFormats,
   2936     GUID *pguidPixelFormats,
   2937     UINT *pcActual);
   2938 void __RPC_STUB IWICBitmapCodecInfo_GetPixelFormats_Stub(
   2939     IRpcStubBuffer* This,
   2940     IRpcChannelBuffer* pRpcChannelBuffer,
   2941     PRPC_MESSAGE pRpcMessage,
   2942     DWORD* pdwStubPhase);
   2943 HRESULT STDMETHODCALLTYPE IWICBitmapCodecInfo_GetColorManagementVersion_Proxy(
   2944     IWICBitmapCodecInfo* This,
   2945     UINT cchColorManagementVersion,
   2946     WCHAR *wzColorManagementVersion,
   2947     UINT *pcchActual);
   2948 void __RPC_STUB IWICBitmapCodecInfo_GetColorManagementVersion_Stub(
   2949     IRpcStubBuffer* This,
   2950     IRpcChannelBuffer* pRpcChannelBuffer,
   2951     PRPC_MESSAGE pRpcMessage,
   2952     DWORD* pdwStubPhase);
   2953 HRESULT STDMETHODCALLTYPE IWICBitmapCodecInfo_GetDeviceManufacturer_Proxy(
   2954     IWICBitmapCodecInfo* This,
   2955     UINT cchDeviceManufacturer,
   2956     WCHAR *wzDeviceManufacturer,
   2957     UINT *pcchActual);
   2958 void __RPC_STUB IWICBitmapCodecInfo_GetDeviceManufacturer_Stub(
   2959     IRpcStubBuffer* This,
   2960     IRpcChannelBuffer* pRpcChannelBuffer,
   2961     PRPC_MESSAGE pRpcMessage,
   2962     DWORD* pdwStubPhase);
   2963 HRESULT STDMETHODCALLTYPE IWICBitmapCodecInfo_GetDeviceModels_Proxy(
   2964     IWICBitmapCodecInfo* This,
   2965     UINT cchDeviceModels,
   2966     WCHAR *wzDeviceModels,
   2967     UINT *pcchActual);
   2968 void __RPC_STUB IWICBitmapCodecInfo_GetDeviceModels_Stub(
   2969     IRpcStubBuffer* This,
   2970     IRpcChannelBuffer* pRpcChannelBuffer,
   2971     PRPC_MESSAGE pRpcMessage,
   2972     DWORD* pdwStubPhase);
   2973 HRESULT STDMETHODCALLTYPE IWICBitmapCodecInfo_GetMimeTypes_Proxy(
   2974     IWICBitmapCodecInfo* This,
   2975     UINT cchMimeTypes,
   2976     WCHAR *wzMimeTypes,
   2977     UINT *pcchActual);
   2978 void __RPC_STUB IWICBitmapCodecInfo_GetMimeTypes_Stub(
   2979     IRpcStubBuffer* This,
   2980     IRpcChannelBuffer* pRpcChannelBuffer,
   2981     PRPC_MESSAGE pRpcMessage,
   2982     DWORD* pdwStubPhase);
   2983 HRESULT STDMETHODCALLTYPE IWICBitmapCodecInfo_GetFileExtensions_Proxy(
   2984     IWICBitmapCodecInfo* This,
   2985     UINT cchFileExtensions,
   2986     WCHAR *wzFileExtensions,
   2987     UINT *pcchActual);
   2988 void __RPC_STUB IWICBitmapCodecInfo_GetFileExtensions_Stub(
   2989     IRpcStubBuffer* This,
   2990     IRpcChannelBuffer* pRpcChannelBuffer,
   2991     PRPC_MESSAGE pRpcMessage,
   2992     DWORD* pdwStubPhase);
   2993 HRESULT STDMETHODCALLTYPE IWICBitmapCodecInfo_DoesSupportAnimation_Proxy(
   2994     IWICBitmapCodecInfo* This,
   2995     WINBOOL *pfSupportAnimation);
   2996 void __RPC_STUB IWICBitmapCodecInfo_DoesSupportAnimation_Stub(
   2997     IRpcStubBuffer* This,
   2998     IRpcChannelBuffer* pRpcChannelBuffer,
   2999     PRPC_MESSAGE pRpcMessage,
   3000     DWORD* pdwStubPhase);
   3001 HRESULT STDMETHODCALLTYPE IWICBitmapCodecInfo_DoesSupportChromaKey_Proxy(
   3002     IWICBitmapCodecInfo* This,
   3003     WINBOOL *pfSupportChromaKey);
   3004 void __RPC_STUB IWICBitmapCodecInfo_DoesSupportChromaKey_Stub(
   3005     IRpcStubBuffer* This,
   3006     IRpcChannelBuffer* pRpcChannelBuffer,
   3007     PRPC_MESSAGE pRpcMessage,
   3008     DWORD* pdwStubPhase);
   3009 HRESULT STDMETHODCALLTYPE IWICBitmapCodecInfo_DoesSupportLossless_Proxy(
   3010     IWICBitmapCodecInfo* This,
   3011     WINBOOL *pfSupportLossless);
   3012 void __RPC_STUB IWICBitmapCodecInfo_DoesSupportLossless_Stub(
   3013     IRpcStubBuffer* This,
   3014     IRpcChannelBuffer* pRpcChannelBuffer,
   3015     PRPC_MESSAGE pRpcMessage,
   3016     DWORD* pdwStubPhase);
   3017 HRESULT STDMETHODCALLTYPE IWICBitmapCodecInfo_DoesSupportMultiframe_Proxy(
   3018     IWICBitmapCodecInfo* This,
   3019     WINBOOL *pfSupportMultiframe);
   3020 void __RPC_STUB IWICBitmapCodecInfo_DoesSupportMultiframe_Stub(
   3021     IRpcStubBuffer* This,
   3022     IRpcChannelBuffer* pRpcChannelBuffer,
   3023     PRPC_MESSAGE pRpcMessage,
   3024     DWORD* pdwStubPhase);
   3025 HRESULT STDMETHODCALLTYPE IWICBitmapCodecInfo_MatchesMimeType_Proxy(
   3026     IWICBitmapCodecInfo* This,
   3027     LPCWSTR wzMimeType,
   3028     WINBOOL *pfMatches);
   3029 void __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__
   3039 typedef interface IWICBitmapDecoder IWICBitmapDecoder;
   3040 #endif
   3041 
   3042 /*****************************************************************************
   3043  * IWICBitmapDecoderInfo interface
   3044  */
   3045 #ifndef __IWICBitmapDecoderInfo_INTERFACE_DEFINED__
   3046 #define __IWICBitmapDecoderInfo_INTERFACE_DEFINED__
   3047 
   3048 DEFINE_GUID(IID_IWICBitmapDecoderInfo, 0xd8cd007f, 0xd08f, 0x4191, 0x9b,0xfc, 0x23,0x6e,0xa7,0xf0,0xe4,0xb5);
   3049 #if defined(__cplusplus) && !defined(CINTERFACE)
   3050 MIDL_INTERFACE("d8cd007f-d08f-4191-9bfc-236ea7f0e4b5")
   3051 IWICBitmapDecoderInfo : 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
   3071 typedef 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;
   3208 interface 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 ***/
   3246 static FORCEINLINE HRESULT IWICBitmapDecoderInfo_QueryInterface(IWICBitmapDecoderInfo* This,REFIID riid,void **ppvObject) {
   3247     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3248 }
   3249 static FORCEINLINE ULONG IWICBitmapDecoderInfo_AddRef(IWICBitmapDecoderInfo* This) {
   3250     return This->lpVtbl->AddRef(This);
   3251 }
   3252 static FORCEINLINE ULONG IWICBitmapDecoderInfo_Release(IWICBitmapDecoderInfo* This) {
   3253     return This->lpVtbl->Release(This);
   3254 }
   3255 /*** IWICComponentInfo methods ***/
   3256 static FORCEINLINE HRESULT IWICBitmapDecoderInfo_GetComponentType(IWICBitmapDecoderInfo* This,WICComponentType *pType) {
   3257     return This->lpVtbl->GetComponentType(This,pType);
   3258 }
   3259 static FORCEINLINE HRESULT IWICBitmapDecoderInfo_GetCLSID(IWICBitmapDecoderInfo* This,CLSID *pclsid) {
   3260     return This->lpVtbl->GetCLSID(This,pclsid);
   3261 }
   3262 static FORCEINLINE HRESULT IWICBitmapDecoderInfo_GetSigningStatus(IWICBitmapDecoderInfo* This,DWORD *pStatus) {
   3263     return This->lpVtbl->GetSigningStatus(This,pStatus);
   3264 }
   3265 static FORCEINLINE HRESULT IWICBitmapDecoderInfo_GetAuthor(IWICBitmapDecoderInfo* This,UINT cchAuthor,WCHAR *wzAuthor,UINT *pcchActual) {
   3266     return This->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual);
   3267 }
   3268 static FORCEINLINE HRESULT IWICBitmapDecoderInfo_GetVendorGUID(IWICBitmapDecoderInfo* This,GUID *pguidVendor) {
   3269     return This->lpVtbl->GetVendorGUID(This,pguidVendor);
   3270 }
   3271 static FORCEINLINE HRESULT IWICBitmapDecoderInfo_GetVersion(IWICBitmapDecoderInfo* This,UINT cchVersion,WCHAR *wzVersion,UINT *pcchActual) {
   3272     return This->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual);
   3273 }
   3274 static FORCEINLINE HRESULT IWICBitmapDecoderInfo_GetSpecVersion(IWICBitmapDecoderInfo* This,UINT cchSpecVersion,WCHAR *wzSpecVersion,UINT *pcchActual) {
   3275     return This->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual);
   3276 }
   3277 static 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 ***/
   3281 static FORCEINLINE HRESULT IWICBitmapDecoderInfo_GetContainerFormat(IWICBitmapDecoderInfo* This,GUID *pguidContainerFormat) {
   3282     return This->lpVtbl->GetContainerFormat(This,pguidContainerFormat);
   3283 }
   3284 static FORCEINLINE HRESULT IWICBitmapDecoderInfo_GetPixelFormats(IWICBitmapDecoderInfo* This,UINT cFormats,GUID *pguidPixelFormats,UINT *pcActual) {
   3285     return This->lpVtbl->GetPixelFormats(This,cFormats,pguidPixelFormats,pcActual);
   3286 }
   3287 static FORCEINLINE HRESULT IWICBitmapDecoderInfo_GetColorManagementVersion(IWICBitmapDecoderInfo* This,UINT cchColorManagementVersion,WCHAR *wzColorManagementVersion,UINT *pcchActual) {
   3288     return This->lpVtbl->GetColorManagementVersion(This,cchColorManagementVersion,wzColorManagementVersion,pcchActual);
   3289 }
   3290 static FORCEINLINE HRESULT IWICBitmapDecoderInfo_GetDeviceManufacturer(IWICBitmapDecoderInfo* This,UINT cchDeviceManufacturer,WCHAR *wzDeviceManufacturer,UINT *pcchActual) {
   3291     return This->lpVtbl->GetDeviceManufacturer(This,cchDeviceManufacturer,wzDeviceManufacturer,pcchActual);
   3292 }
   3293 static FORCEINLINE HRESULT IWICBitmapDecoderInfo_GetDeviceModels(IWICBitmapDecoderInfo* This,UINT cchDeviceModels,WCHAR *wzDeviceModels,UINT *pcchActual) {
   3294     return This->lpVtbl->GetDeviceModels(This,cchDeviceModels,wzDeviceModels,pcchActual);
   3295 }
   3296 static FORCEINLINE HRESULT IWICBitmapDecoderInfo_GetMimeTypes(IWICBitmapDecoderInfo* This,UINT cchMimeTypes,WCHAR *wzMimeTypes,UINT *pcchActual) {
   3297     return This->lpVtbl->GetMimeTypes(This,cchMimeTypes,wzMimeTypes,pcchActual);
   3298 }
   3299 static FORCEINLINE HRESULT IWICBitmapDecoderInfo_GetFileExtensions(IWICBitmapDecoderInfo* This,UINT cchFileExtensions,WCHAR *wzFileExtensions,UINT *pcchActual) {
   3300     return This->lpVtbl->GetFileExtensions(This,cchFileExtensions,wzFileExtensions,pcchActual);
   3301 }
   3302 static FORCEINLINE HRESULT IWICBitmapDecoderInfo_DoesSupportAnimation(IWICBitmapDecoderInfo* This,WINBOOL *pfSupportAnimation) {
   3303     return This->lpVtbl->DoesSupportAnimation(This,pfSupportAnimation);
   3304 }
   3305 static FORCEINLINE HRESULT IWICBitmapDecoderInfo_DoesSupportChromaKey(IWICBitmapDecoderInfo* This,WINBOOL *pfSupportChromaKey) {
   3306     return This->lpVtbl->DoesSupportChromaKey(This,pfSupportChromaKey);
   3307 }
   3308 static FORCEINLINE HRESULT IWICBitmapDecoderInfo_DoesSupportLossless(IWICBitmapDecoderInfo* This,WINBOOL *pfSupportLossless) {
   3309     return This->lpVtbl->DoesSupportLossless(This,pfSupportLossless);
   3310 }
   3311 static FORCEINLINE HRESULT IWICBitmapDecoderInfo_DoesSupportMultiframe(IWICBitmapDecoderInfo* This,WINBOOL *pfSupportMultiframe) {
   3312     return This->lpVtbl->DoesSupportMultiframe(This,pfSupportMultiframe);
   3313 }
   3314 static FORCEINLINE HRESULT IWICBitmapDecoderInfo_MatchesMimeType(IWICBitmapDecoderInfo* This,LPCWSTR wzMimeType,WINBOOL *pfMatches) {
   3315     return This->lpVtbl->MatchesMimeType(This,wzMimeType,pfMatches);
   3316 }
   3317 /*** IWICBitmapDecoderInfo methods ***/
   3318 static 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 }
   3321 static FORCEINLINE HRESULT IWICBitmapDecoderInfo_MatchesPattern(IWICBitmapDecoderInfo* This,IStream *pIStream,WINBOOL *pfMatches) {
   3322     return This->lpVtbl->MatchesPattern(This,pIStream,pfMatches);
   3323 }
   3324 static FORCEINLINE HRESULT IWICBitmapDecoderInfo_CreateInstance(IWICBitmapDecoderInfo* This,IWICBitmapDecoder **ppIBitmapDecoder) {
   3325     return This->lpVtbl->CreateInstance(This,ppIBitmapDecoder);
   3326 }
   3327 #endif
   3328 #endif
   3329 
   3330 #endif
   3331 
   3332 HRESULT STDMETHODCALLTYPE IWICBitmapDecoderInfo_MatchesPattern_Proxy(
   3333     IWICBitmapDecoderInfo* This,
   3334     IStream *pIStream,
   3335     WINBOOL *pfMatches);
   3336 void __RPC_STUB IWICBitmapDecoderInfo_MatchesPattern_Stub(
   3337     IRpcStubBuffer* This,
   3338     IRpcChannelBuffer* pRpcChannelBuffer,
   3339     PRPC_MESSAGE pRpcMessage,
   3340     DWORD* pdwStubPhase);
   3341 HRESULT STDMETHODCALLTYPE IWICBitmapDecoderInfo_CreateInstance_Proxy(
   3342     IWICBitmapDecoderInfo* This,
   3343     IWICBitmapDecoder **ppIBitmapDecoder);
   3344 void __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 
   3358 DEFINE_GUID(IID_IWICBitmapDecoder, 0x9edde9e7, 0x8dee, 0x47ea, 0x99,0xdf, 0xe6,0xfa,0xf2,0xed,0x44,0xbf);
   3359 #if defined(__cplusplus) && !defined(CINTERFACE)
   3360 MIDL_INTERFACE("9edde9e7-8dee-47ea-99df-e6faf2ed44bf")
   3361 IWICBitmapDecoder : 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
   3406 typedef 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;
   3473 interface 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 ***/
   3497 static FORCEINLINE HRESULT IWICBitmapDecoder_QueryInterface(IWICBitmapDecoder* This,REFIID riid,void **ppvObject) {
   3498     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3499 }
   3500 static FORCEINLINE ULONG IWICBitmapDecoder_AddRef(IWICBitmapDecoder* This) {
   3501     return This->lpVtbl->AddRef(This);
   3502 }
   3503 static FORCEINLINE ULONG IWICBitmapDecoder_Release(IWICBitmapDecoder* This) {
   3504     return This->lpVtbl->Release(This);
   3505 }
   3506 /*** IWICBitmapDecoder methods ***/
   3507 static FORCEINLINE HRESULT IWICBitmapDecoder_QueryCapability(IWICBitmapDecoder* This,IStream *pIStream,DWORD *pdwCapability) {
   3508     return This->lpVtbl->QueryCapability(This,pIStream,pdwCapability);
   3509 }
   3510 static FORCEINLINE HRESULT IWICBitmapDecoder_Initialize(IWICBitmapDecoder* This,IStream *pIStream,WICDecodeOptions cacheOptions) {
   3511     return This->lpVtbl->Initialize(This,pIStream,cacheOptions);
   3512 }
   3513 static FORCEINLINE HRESULT IWICBitmapDecoder_GetContainerFormat(IWICBitmapDecoder* This,GUID *pguidContainerFormat) {
   3514     return This->lpVtbl->GetContainerFormat(This,pguidContainerFormat);
   3515 }
   3516 static FORCEINLINE HRESULT IWICBitmapDecoder_GetDecoderInfo(IWICBitmapDecoder* This,IWICBitmapDecoderInfo **ppIDecoderInfo) {
   3517     return This->lpVtbl->GetDecoderInfo(This,ppIDecoderInfo);
   3518 }
   3519 static FORCEINLINE HRESULT IWICBitmapDecoder_CopyPalette(IWICBitmapDecoder* This,IWICPalette *pIPalette) {
   3520     return This->lpVtbl->CopyPalette(This,pIPalette);
   3521 }
   3522 static FORCEINLINE HRESULT IWICBitmapDecoder_GetMetadataQueryReader(IWICBitmapDecoder* This,IWICMetadataQueryReader **ppIMetadataQueryReader) {
   3523     return This->lpVtbl->GetMetadataQueryReader(This,ppIMetadataQueryReader);
   3524 }
   3525 static FORCEINLINE HRESULT IWICBitmapDecoder_GetPreview(IWICBitmapDecoder* This,IWICBitmapSource **ppIBitmapSource) {
   3526     return This->lpVtbl->GetPreview(This,ppIBitmapSource);
   3527 }
   3528 static FORCEINLINE HRESULT IWICBitmapDecoder_GetColorContexts(IWICBitmapDecoder* This,UINT cCount,IWICColorContext **ppIColorContexts,UINT *pcActualCount) {
   3529     return This->lpVtbl->GetColorContexts(This,cCount,ppIColorContexts,pcActualCount);
   3530 }
   3531 static FORCEINLINE HRESULT IWICBitmapDecoder_GetThumbnail(IWICBitmapDecoder* This,IWICBitmapSource **ppIThumbnail) {
   3532     return This->lpVtbl->GetThumbnail(This,ppIThumbnail);
   3533 }
   3534 static FORCEINLINE HRESULT IWICBitmapDecoder_GetFrameCount(IWICBitmapDecoder* This,UINT *pCount) {
   3535     return This->lpVtbl->GetFrameCount(This,pCount);
   3536 }
   3537 static 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 
   3545 HRESULT STDMETHODCALLTYPE IWICBitmapDecoder_QueryCapability_Proxy(
   3546     IWICBitmapDecoder* This,
   3547     IStream *pIStream,
   3548     DWORD *pdwCapability);
   3549 void __RPC_STUB IWICBitmapDecoder_QueryCapability_Stub(
   3550     IRpcStubBuffer* This,
   3551     IRpcChannelBuffer* pRpcChannelBuffer,
   3552     PRPC_MESSAGE pRpcMessage,
   3553     DWORD* pdwStubPhase);
   3554 HRESULT STDMETHODCALLTYPE IWICBitmapDecoder_Initialize_Proxy(
   3555     IWICBitmapDecoder* This,
   3556     IStream *pIStream,
   3557     WICDecodeOptions cacheOptions);
   3558 void __RPC_STUB IWICBitmapDecoder_Initialize_Stub(
   3559     IRpcStubBuffer* This,
   3560     IRpcChannelBuffer* pRpcChannelBuffer,
   3561     PRPC_MESSAGE pRpcMessage,
   3562     DWORD* pdwStubPhase);
   3563 HRESULT STDMETHODCALLTYPE IWICBitmapDecoder_GetContainerFormat_Proxy(
   3564     IWICBitmapDecoder* This,
   3565     GUID *pguidContainerFormat);
   3566 void __RPC_STUB IWICBitmapDecoder_GetContainerFormat_Stub(
   3567     IRpcStubBuffer* This,
   3568     IRpcChannelBuffer* pRpcChannelBuffer,
   3569     PRPC_MESSAGE pRpcMessage,
   3570     DWORD* pdwStubPhase);
   3571 HRESULT STDMETHODCALLTYPE IWICBitmapDecoder_GetDecoderInfo_Proxy(
   3572     IWICBitmapDecoder* This,
   3573     IWICBitmapDecoderInfo **ppIDecoderInfo);
   3574 void __RPC_STUB IWICBitmapDecoder_GetDecoderInfo_Stub(
   3575     IRpcStubBuffer* This,
   3576     IRpcChannelBuffer* pRpcChannelBuffer,
   3577     PRPC_MESSAGE pRpcMessage,
   3578     DWORD* pdwStubPhase);
   3579 HRESULT STDMETHODCALLTYPE IWICBitmapDecoder_CopyPalette_Proxy(
   3580     IWICBitmapDecoder* This,
   3581     IWICPalette *pIPalette);
   3582 void __RPC_STUB IWICBitmapDecoder_CopyPalette_Stub(
   3583     IRpcStubBuffer* This,
   3584     IRpcChannelBuffer* pRpcChannelBuffer,
   3585     PRPC_MESSAGE pRpcMessage,
   3586     DWORD* pdwStubPhase);
   3587 HRESULT STDMETHODCALLTYPE IWICBitmapDecoder_GetMetadataQueryReader_Proxy(
   3588     IWICBitmapDecoder* This,
   3589     IWICMetadataQueryReader **ppIMetadataQueryReader);
   3590 void __RPC_STUB IWICBitmapDecoder_GetMetadataQueryReader_Stub(
   3591     IRpcStubBuffer* This,
   3592     IRpcChannelBuffer* pRpcChannelBuffer,
   3593     PRPC_MESSAGE pRpcMessage,
   3594     DWORD* pdwStubPhase);
   3595 HRESULT STDMETHODCALLTYPE IWICBitmapDecoder_GetPreview_Proxy(
   3596     IWICBitmapDecoder* This,
   3597     IWICBitmapSource **ppIBitmapSource);
   3598 void __RPC_STUB IWICBitmapDecoder_GetPreview_Stub(
   3599     IRpcStubBuffer* This,
   3600     IRpcChannelBuffer* pRpcChannelBuffer,
   3601     PRPC_MESSAGE pRpcMessage,
   3602     DWORD* pdwStubPhase);
   3603 HRESULT STDMETHODCALLTYPE IWICBitmapDecoder_GetColorContexts_Proxy(
   3604     IWICBitmapDecoder* This,
   3605     UINT cCount,
   3606     IWICColorContext **ppIColorContexts,
   3607     UINT *pcActualCount);
   3608 void __RPC_STUB IWICBitmapDecoder_GetColorContexts_Stub(
   3609     IRpcStubBuffer* This,
   3610     IRpcChannelBuffer* pRpcChannelBuffer,
   3611     PRPC_MESSAGE pRpcMessage,
   3612     DWORD* pdwStubPhase);
   3613 HRESULT STDMETHODCALLTYPE IWICBitmapDecoder_GetThumbnail_Proxy(
   3614     IWICBitmapDecoder* This,
   3615     IWICBitmapSource **ppIThumbnail);
   3616 void __RPC_STUB IWICBitmapDecoder_GetThumbnail_Stub(
   3617     IRpcStubBuffer* This,
   3618     IRpcChannelBuffer* pRpcChannelBuffer,
   3619     PRPC_MESSAGE pRpcMessage,
   3620     DWORD* pdwStubPhase);
   3621 HRESULT STDMETHODCALLTYPE IWICBitmapDecoder_GetFrameCount_Proxy(
   3622     IWICBitmapDecoder* This,
   3623     UINT *pCount);
   3624 void __RPC_STUB IWICBitmapDecoder_GetFrameCount_Stub(
   3625     IRpcStubBuffer* This,
   3626     IRpcChannelBuffer* pRpcChannelBuffer,
   3627     PRPC_MESSAGE pRpcMessage,
   3628     DWORD* pdwStubPhase);
   3629 HRESULT STDMETHODCALLTYPE IWICBitmapDecoder_GetFrame_Proxy(
   3630     IWICBitmapDecoder* This,
   3631     UINT index,
   3632     IWICBitmapFrameDecode **ppIBitmapFrame);
   3633 void __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 
   3647 DEFINE_GUID(IID_IWICBitmapFrameEncode, 0x00000105, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94);
   3648 #if defined(__cplusplus) && !defined(CINTERFACE)
   3649 MIDL_INTERFACE("00000105-a8f2-4877-ba0a-fd2b6645fb94")
   3650 IWICBitmapFrameEncode : 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
   3697 typedef 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;
   3765 interface 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 ***/
   3789 static FORCEINLINE HRESULT IWICBitmapFrameEncode_QueryInterface(IWICBitmapFrameEncode* This,REFIID riid,void **ppvObject) {
   3790     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3791 }
   3792 static FORCEINLINE ULONG IWICBitmapFrameEncode_AddRef(IWICBitmapFrameEncode* This) {
   3793     return This->lpVtbl->AddRef(This);
   3794 }
   3795 static FORCEINLINE ULONG IWICBitmapFrameEncode_Release(IWICBitmapFrameEncode* This) {
   3796     return This->lpVtbl->Release(This);
   3797 }
   3798 /*** IWICBitmapFrameEncode methods ***/
   3799 static FORCEINLINE HRESULT IWICBitmapFrameEncode_Initialize(IWICBitmapFrameEncode* This,IPropertyBag2 *pIEncoderOptions) {
   3800     return This->lpVtbl->Initialize(This,pIEncoderOptions);
   3801 }
   3802 static FORCEINLINE HRESULT IWICBitmapFrameEncode_SetSize(IWICBitmapFrameEncode* This,UINT uiWidth,UINT uiHeight) {
   3803     return This->lpVtbl->SetSize(This,uiWidth,uiHeight);
   3804 }
   3805 static FORCEINLINE HRESULT IWICBitmapFrameEncode_SetResolution(IWICBitmapFrameEncode* This,double dpiX,double dpiY) {
   3806     return This->lpVtbl->SetResolution(This,dpiX,dpiY);
   3807 }
   3808 static FORCEINLINE HRESULT IWICBitmapFrameEncode_SetPixelFormat(IWICBitmapFrameEncode* This,WICPixelFormatGUID *pPixelFormat) {
   3809     return This->lpVtbl->SetPixelFormat(This,pPixelFormat);
   3810 }
   3811 static FORCEINLINE HRESULT IWICBitmapFrameEncode_SetColorContexts(IWICBitmapFrameEncode* This,UINT cCount,IWICColorContext **ppIColorContext) {
   3812     return This->lpVtbl->SetColorContexts(This,cCount,ppIColorContext);
   3813 }
   3814 static FORCEINLINE HRESULT IWICBitmapFrameEncode_SetPalette(IWICBitmapFrameEncode* This,IWICPalette *pIPalette) {
   3815     return This->lpVtbl->SetPalette(This,pIPalette);
   3816 }
   3817 static FORCEINLINE HRESULT IWICBitmapFrameEncode_SetThumbnail(IWICBitmapFrameEncode* This,IWICBitmapSource *pIThumbnail) {
   3818     return This->lpVtbl->SetThumbnail(This,pIThumbnail);
   3819 }
   3820 static 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 }
   3823 static FORCEINLINE HRESULT IWICBitmapFrameEncode_WriteSource(IWICBitmapFrameEncode* This,IWICBitmapSource *pIBitmapSource,WICRect *prc) {
   3824     return This->lpVtbl->WriteSource(This,pIBitmapSource,prc);
   3825 }
   3826 static FORCEINLINE HRESULT IWICBitmapFrameEncode_Commit(IWICBitmapFrameEncode* This) {
   3827     return This->lpVtbl->Commit(This);
   3828 }
   3829 static FORCEINLINE HRESULT IWICBitmapFrameEncode_GetMetadataQueryWriter(IWICBitmapFrameEncode* This,IWICMetadataQueryWriter **ppIMetadataQueryWriter) {
   3830     return This->lpVtbl->GetMetadataQueryWriter(This,ppIMetadataQueryWriter);
   3831 }
   3832 #endif
   3833 #endif
   3834 
   3835 #endif
   3836 
   3837 HRESULT STDMETHODCALLTYPE IWICBitmapFrameEncode_Initialize_Proxy(
   3838     IWICBitmapFrameEncode* This,
   3839     IPropertyBag2 *pIEncoderOptions);
   3840 void __RPC_STUB IWICBitmapFrameEncode_Initialize_Stub(
   3841     IRpcStubBuffer* This,
   3842     IRpcChannelBuffer* pRpcChannelBuffer,
   3843     PRPC_MESSAGE pRpcMessage,
   3844     DWORD* pdwStubPhase);
   3845 HRESULT STDMETHODCALLTYPE IWICBitmapFrameEncode_SetSize_Proxy(
   3846     IWICBitmapFrameEncode* This,
   3847     UINT uiWidth,
   3848     UINT uiHeight);
   3849 void __RPC_STUB IWICBitmapFrameEncode_SetSize_Stub(
   3850     IRpcStubBuffer* This,
   3851     IRpcChannelBuffer* pRpcChannelBuffer,
   3852     PRPC_MESSAGE pRpcMessage,
   3853     DWORD* pdwStubPhase);
   3854 HRESULT STDMETHODCALLTYPE IWICBitmapFrameEncode_SetResolution_Proxy(
   3855     IWICBitmapFrameEncode* This,
   3856     double dpiX,
   3857     double dpiY);
   3858 void __RPC_STUB IWICBitmapFrameEncode_SetResolution_Stub(
   3859     IRpcStubBuffer* This,
   3860     IRpcChannelBuffer* pRpcChannelBuffer,
   3861     PRPC_MESSAGE pRpcMessage,
   3862     DWORD* pdwStubPhase);
   3863 HRESULT STDMETHODCALLTYPE IWICBitmapFrameEncode_SetPixelFormat_Proxy(
   3864     IWICBitmapFrameEncode* This,
   3865     WICPixelFormatGUID *pPixelFormat);
   3866 void __RPC_STUB IWICBitmapFrameEncode_SetPixelFormat_Stub(
   3867     IRpcStubBuffer* This,
   3868     IRpcChannelBuffer* pRpcChannelBuffer,
   3869     PRPC_MESSAGE pRpcMessage,
   3870     DWORD* pdwStubPhase);
   3871 HRESULT STDMETHODCALLTYPE IWICBitmapFrameEncode_SetColorContexts_Proxy(
   3872     IWICBitmapFrameEncode* This,
   3873     UINT cCount,
   3874     IWICColorContext **ppIColorContext);
   3875 void __RPC_STUB IWICBitmapFrameEncode_SetColorContexts_Stub(
   3876     IRpcStubBuffer* This,
   3877     IRpcChannelBuffer* pRpcChannelBuffer,
   3878     PRPC_MESSAGE pRpcMessage,
   3879     DWORD* pdwStubPhase);
   3880 HRESULT STDMETHODCALLTYPE IWICBitmapFrameEncode_SetPalette_Proxy(
   3881     IWICBitmapFrameEncode* This,
   3882     IWICPalette *pIPalette);
   3883 void __RPC_STUB IWICBitmapFrameEncode_SetPalette_Stub(
   3884     IRpcStubBuffer* This,
   3885     IRpcChannelBuffer* pRpcChannelBuffer,
   3886     PRPC_MESSAGE pRpcMessage,
   3887     DWORD* pdwStubPhase);
   3888 HRESULT STDMETHODCALLTYPE IWICBitmapFrameEncode_SetThumbnail_Proxy(
   3889     IWICBitmapFrameEncode* This,
   3890     IWICBitmapSource *pIThumbnail);
   3891 void __RPC_STUB IWICBitmapFrameEncode_SetThumbnail_Stub(
   3892     IRpcStubBuffer* This,
   3893     IRpcChannelBuffer* pRpcChannelBuffer,
   3894     PRPC_MESSAGE pRpcMessage,
   3895     DWORD* pdwStubPhase);
   3896 HRESULT STDMETHODCALLTYPE IWICBitmapFrameEncode_WritePixels_Proxy(
   3897     IWICBitmapFrameEncode* This,
   3898     UINT lineCount,
   3899     UINT cbStride,
   3900     UINT cbBufferSize,
   3901     BYTE *pbPixels);
   3902 void __RPC_STUB IWICBitmapFrameEncode_WritePixels_Stub(
   3903     IRpcStubBuffer* This,
   3904     IRpcChannelBuffer* pRpcChannelBuffer,
   3905     PRPC_MESSAGE pRpcMessage,
   3906     DWORD* pdwStubPhase);
   3907 HRESULT STDMETHODCALLTYPE IWICBitmapFrameEncode_WriteSource_Proxy(
   3908     IWICBitmapFrameEncode* This,
   3909     IWICBitmapSource *pIBitmapSource,
   3910     WICRect *prc);
   3911 void __RPC_STUB IWICBitmapFrameEncode_WriteSource_Stub(
   3912     IRpcStubBuffer* This,
   3913     IRpcChannelBuffer* pRpcChannelBuffer,
   3914     PRPC_MESSAGE pRpcMessage,
   3915     DWORD* pdwStubPhase);
   3916 HRESULT STDMETHODCALLTYPE IWICBitmapFrameEncode_Commit_Proxy(
   3917     IWICBitmapFrameEncode* This);
   3918 void __RPC_STUB IWICBitmapFrameEncode_Commit_Stub(
   3919     IRpcStubBuffer* This,
   3920     IRpcChannelBuffer* pRpcChannelBuffer,
   3921     PRPC_MESSAGE pRpcMessage,
   3922     DWORD* pdwStubPhase);
   3923 HRESULT STDMETHODCALLTYPE IWICBitmapFrameEncode_GetMetadataQueryWriter_Proxy(
   3924     IWICBitmapFrameEncode* This,
   3925     IWICMetadataQueryWriter **ppIMetadataQueryWriter);
   3926 void __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__
   3936 typedef interface IWICBitmapEncoder IWICBitmapEncoder;
   3937 #endif
   3938 
   3939 /*****************************************************************************
   3940  * IWICBitmapEncoderInfo interface
   3941  */
   3942 #ifndef __IWICBitmapEncoderInfo_INTERFACE_DEFINED__
   3943 #define __IWICBitmapEncoderInfo_INTERFACE_DEFINED__
   3944 
   3945 DEFINE_GUID(IID_IWICBitmapEncoderInfo, 0x94c9b4ee, 0xa09f, 0x4f92, 0x8a,0x1e, 0x4a,0x9b,0xce,0x7e,0x76,0xfb);
   3946 #if defined(__cplusplus) && !defined(CINTERFACE)
   3947 MIDL_INTERFACE("94c9b4ee-a09f-4f92-8a1e-4a9bce7e76fb")
   3948 IWICBitmapEncoderInfo : 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
   3958 typedef 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;
   4083 interface 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 ***/
   4119 static FORCEINLINE HRESULT IWICBitmapEncoderInfo_QueryInterface(IWICBitmapEncoderInfo* This,REFIID riid,void **ppvObject) {
   4120     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4121 }
   4122 static FORCEINLINE ULONG IWICBitmapEncoderInfo_AddRef(IWICBitmapEncoderInfo* This) {
   4123     return This->lpVtbl->AddRef(This);
   4124 }
   4125 static FORCEINLINE ULONG IWICBitmapEncoderInfo_Release(IWICBitmapEncoderInfo* This) {
   4126     return This->lpVtbl->Release(This);
   4127 }
   4128 /*** IWICComponentInfo methods ***/
   4129 static FORCEINLINE HRESULT IWICBitmapEncoderInfo_GetComponentType(IWICBitmapEncoderInfo* This,WICComponentType *pType) {
   4130     return This->lpVtbl->GetComponentType(This,pType);
   4131 }
   4132 static FORCEINLINE HRESULT IWICBitmapEncoderInfo_GetCLSID(IWICBitmapEncoderInfo* This,CLSID *pclsid) {
   4133     return This->lpVtbl->GetCLSID(This,pclsid);
   4134 }
   4135 static FORCEINLINE HRESULT IWICBitmapEncoderInfo_GetSigningStatus(IWICBitmapEncoderInfo* This,DWORD *pStatus) {
   4136     return This->lpVtbl->GetSigningStatus(This,pStatus);
   4137 }
   4138 static FORCEINLINE HRESULT IWICBitmapEncoderInfo_GetAuthor(IWICBitmapEncoderInfo* This,UINT cchAuthor,WCHAR *wzAuthor,UINT *pcchActual) {
   4139     return This->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual);
   4140 }
   4141 static FORCEINLINE HRESULT IWICBitmapEncoderInfo_GetVendorGUID(IWICBitmapEncoderInfo* This,GUID *pguidVendor) {
   4142     return This->lpVtbl->GetVendorGUID(This,pguidVendor);
   4143 }
   4144 static FORCEINLINE HRESULT IWICBitmapEncoderInfo_GetVersion(IWICBitmapEncoderInfo* This,UINT cchVersion,WCHAR *wzVersion,UINT *pcchActual) {
   4145     return This->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual);
   4146 }
   4147 static FORCEINLINE HRESULT IWICBitmapEncoderInfo_GetSpecVersion(IWICBitmapEncoderInfo* This,UINT cchSpecVersion,WCHAR *wzSpecVersion,UINT *pcchActual) {
   4148     return This->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual);
   4149 }
   4150 static 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 ***/
   4154 static FORCEINLINE HRESULT IWICBitmapEncoderInfo_GetContainerFormat(IWICBitmapEncoderInfo* This,GUID *pguidContainerFormat) {
   4155     return This->lpVtbl->GetContainerFormat(This,pguidContainerFormat);
   4156 }
   4157 static FORCEINLINE HRESULT IWICBitmapEncoderInfo_GetPixelFormats(IWICBitmapEncoderInfo* This,UINT cFormats,GUID *pguidPixelFormats,UINT *pcActual) {
   4158     return This->lpVtbl->GetPixelFormats(This,cFormats,pguidPixelFormats,pcActual);
   4159 }
   4160 static FORCEINLINE HRESULT IWICBitmapEncoderInfo_GetColorManagementVersion(IWICBitmapEncoderInfo* This,UINT cchColorManagementVersion,WCHAR *wzColorManagementVersion,UINT *pcchActual) {
   4161     return This->lpVtbl->GetColorManagementVersion(This,cchColorManagementVersion,wzColorManagementVersion,pcchActual);
   4162 }
   4163 static FORCEINLINE HRESULT IWICBitmapEncoderInfo_GetDeviceManufacturer(IWICBitmapEncoderInfo* This,UINT cchDeviceManufacturer,WCHAR *wzDeviceManufacturer,UINT *pcchActual) {
   4164     return This->lpVtbl->GetDeviceManufacturer(This,cchDeviceManufacturer,wzDeviceManufacturer,pcchActual);
   4165 }
   4166 static FORCEINLINE HRESULT IWICBitmapEncoderInfo_GetDeviceModels(IWICBitmapEncoderInfo* This,UINT cchDeviceModels,WCHAR *wzDeviceModels,UINT *pcchActual) {
   4167     return This->lpVtbl->GetDeviceModels(This,cchDeviceModels,wzDeviceModels,pcchActual);
   4168 }
   4169 static FORCEINLINE HRESULT IWICBitmapEncoderInfo_GetMimeTypes(IWICBitmapEncoderInfo* This,UINT cchMimeTypes,WCHAR *wzMimeTypes,UINT *pcchActual) {
   4170     return This->lpVtbl->GetMimeTypes(This,cchMimeTypes,wzMimeTypes,pcchActual);
   4171 }
   4172 static FORCEINLINE HRESULT IWICBitmapEncoderInfo_GetFileExtensions(IWICBitmapEncoderInfo* This,UINT cchFileExtensions,WCHAR *wzFileExtensions,UINT *pcchActual) {
   4173     return This->lpVtbl->GetFileExtensions(This,cchFileExtensions,wzFileExtensions,pcchActual);
   4174 }
   4175 static FORCEINLINE HRESULT IWICBitmapEncoderInfo_DoesSupportAnimation(IWICBitmapEncoderInfo* This,WINBOOL *pfSupportAnimation) {
   4176     return This->lpVtbl->DoesSupportAnimation(This,pfSupportAnimation);
   4177 }
   4178 static FORCEINLINE HRESULT IWICBitmapEncoderInfo_DoesSupportChromaKey(IWICBitmapEncoderInfo* This,WINBOOL *pfSupportChromaKey) {
   4179     return This->lpVtbl->DoesSupportChromaKey(This,pfSupportChromaKey);
   4180 }
   4181 static FORCEINLINE HRESULT IWICBitmapEncoderInfo_DoesSupportLossless(IWICBitmapEncoderInfo* This,WINBOOL *pfSupportLossless) {
   4182     return This->lpVtbl->DoesSupportLossless(This,pfSupportLossless);
   4183 }
   4184 static FORCEINLINE HRESULT IWICBitmapEncoderInfo_DoesSupportMultiframe(IWICBitmapEncoderInfo* This,WINBOOL *pfSupportMultiframe) {
   4185     return This->lpVtbl->DoesSupportMultiframe(This,pfSupportMultiframe);
   4186 }
   4187 static FORCEINLINE HRESULT IWICBitmapEncoderInfo_MatchesMimeType(IWICBitmapEncoderInfo* This,LPCWSTR wzMimeType,WINBOOL *pfMatches) {
   4188     return This->lpVtbl->MatchesMimeType(This,wzMimeType,pfMatches);
   4189 }
   4190 /*** IWICBitmapEncoderInfo methods ***/
   4191 static FORCEINLINE HRESULT IWICBitmapEncoderInfo_CreateInstance(IWICBitmapEncoderInfo* This,IWICBitmapEncoder **ppIBitmapEncoder) {
   4192     return This->lpVtbl->CreateInstance(This,ppIBitmapEncoder);
   4193 }
   4194 #endif
   4195 #endif
   4196 
   4197 #endif
   4198 
   4199 HRESULT STDMETHODCALLTYPE IWICBitmapEncoderInfo_CreateInstance_Proxy(
   4200     IWICBitmapEncoderInfo* This,
   4201     IWICBitmapEncoder **ppIBitmapEncoder);
   4202 void __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 
   4216 DEFINE_GUID(IID_IWICBitmapEncoder, 0x00000103, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94);
   4217 #if defined(__cplusplus) && !defined(CINTERFACE)
   4218 MIDL_INTERFACE("00000103-a8f2-4877-ba0a-fd2b6645fb94")
   4219 IWICBitmapEncoder : 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
   4259 typedef 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;
   4319 interface 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 ***/
   4342 static FORCEINLINE HRESULT IWICBitmapEncoder_QueryInterface(IWICBitmapEncoder* This,REFIID riid,void **ppvObject) {
   4343     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4344 }
   4345 static FORCEINLINE ULONG IWICBitmapEncoder_AddRef(IWICBitmapEncoder* This) {
   4346     return This->lpVtbl->AddRef(This);
   4347 }
   4348 static FORCEINLINE ULONG IWICBitmapEncoder_Release(IWICBitmapEncoder* This) {
   4349     return This->lpVtbl->Release(This);
   4350 }
   4351 /*** IWICBitmapEncoder methods ***/
   4352 static FORCEINLINE HRESULT IWICBitmapEncoder_Initialize(IWICBitmapEncoder* This,IStream *pIStream,WICBitmapEncoderCacheOption cacheOption) {
   4353     return This->lpVtbl->Initialize(This,pIStream,cacheOption);
   4354 }
   4355 static FORCEINLINE HRESULT IWICBitmapEncoder_GetContainerFormat(IWICBitmapEncoder* This,GUID *pguidContainerFormat) {
   4356     return This->lpVtbl->GetContainerFormat(This,pguidContainerFormat);
   4357 }
   4358 static FORCEINLINE HRESULT IWICBitmapEncoder_GetEncoderInfo(IWICBitmapEncoder* This,IWICBitmapEncoderInfo **ppIEncoderInfo) {
   4359     return This->lpVtbl->GetEncoderInfo(This,ppIEncoderInfo);
   4360 }
   4361 static FORCEINLINE HRESULT IWICBitmapEncoder_SetColorContexts(IWICBitmapEncoder* This,UINT cCount,IWICColorContext **ppIColorContext) {
   4362     return This->lpVtbl->SetColorContexts(This,cCount,ppIColorContext);
   4363 }
   4364 static FORCEINLINE HRESULT IWICBitmapEncoder_SetPalette(IWICBitmapEncoder* This,IWICPalette *pIPalette) {
   4365     return This->lpVtbl->SetPalette(This,pIPalette);
   4366 }
   4367 static FORCEINLINE HRESULT IWICBitmapEncoder_SetThumbnail(IWICBitmapEncoder* This,IWICBitmapSource *pIThumbnail) {
   4368     return This->lpVtbl->SetThumbnail(This,pIThumbnail);
   4369 }
   4370 static FORCEINLINE HRESULT IWICBitmapEncoder_SetPreview(IWICBitmapEncoder* This,IWICBitmapSource *pIPreview) {
   4371     return This->lpVtbl->SetPreview(This,pIPreview);
   4372 }
   4373 static FORCEINLINE HRESULT IWICBitmapEncoder_CreateNewFrame(IWICBitmapEncoder* This,IWICBitmapFrameEncode **ppIFrameEncode,IPropertyBag2 **ppIEncoderOptions) {
   4374     return This->lpVtbl->CreateNewFrame(This,ppIFrameEncode,ppIEncoderOptions);
   4375 }
   4376 static FORCEINLINE HRESULT IWICBitmapEncoder_Commit(IWICBitmapEncoder* This) {
   4377     return This->lpVtbl->Commit(This);
   4378 }
   4379 static FORCEINLINE HRESULT IWICBitmapEncoder_GetMetadataQueryWriter(IWICBitmapEncoder* This,IWICMetadataQueryWriter **ppIMetadataQueryWriter) {
   4380     return This->lpVtbl->GetMetadataQueryWriter(This,ppIMetadataQueryWriter);
   4381 }
   4382 #endif
   4383 #endif
   4384 
   4385 #endif
   4386 
   4387 HRESULT STDMETHODCALLTYPE IWICBitmapEncoder_Initialize_Proxy(
   4388     IWICBitmapEncoder* This,
   4389     IStream *pIStream,
   4390     WICBitmapEncoderCacheOption cacheOption);
   4391 void __RPC_STUB IWICBitmapEncoder_Initialize_Stub(
   4392     IRpcStubBuffer* This,
   4393     IRpcChannelBuffer* pRpcChannelBuffer,
   4394     PRPC_MESSAGE pRpcMessage,
   4395     DWORD* pdwStubPhase);
   4396 HRESULT STDMETHODCALLTYPE IWICBitmapEncoder_GetContainerFormat_Proxy(
   4397     IWICBitmapEncoder* This,
   4398     GUID *pguidContainerFormat);
   4399 void __RPC_STUB IWICBitmapEncoder_GetContainerFormat_Stub(
   4400     IRpcStubBuffer* This,
   4401     IRpcChannelBuffer* pRpcChannelBuffer,
   4402     PRPC_MESSAGE pRpcMessage,
   4403     DWORD* pdwStubPhase);
   4404 HRESULT STDMETHODCALLTYPE IWICBitmapEncoder_GetEncoderInfo_Proxy(
   4405     IWICBitmapEncoder* This,
   4406     IWICBitmapEncoderInfo **ppIEncoderInfo);
   4407 void __RPC_STUB IWICBitmapEncoder_GetEncoderInfo_Stub(
   4408     IRpcStubBuffer* This,
   4409     IRpcChannelBuffer* pRpcChannelBuffer,
   4410     PRPC_MESSAGE pRpcMessage,
   4411     DWORD* pdwStubPhase);
   4412 HRESULT STDMETHODCALLTYPE IWICBitmapEncoder_SetColorContexts_Proxy(
   4413     IWICBitmapEncoder* This,
   4414     UINT cCount,
   4415     IWICColorContext **ppIColorContext);
   4416 void __RPC_STUB IWICBitmapEncoder_SetColorContexts_Stub(
   4417     IRpcStubBuffer* This,
   4418     IRpcChannelBuffer* pRpcChannelBuffer,
   4419     PRPC_MESSAGE pRpcMessage,
   4420     DWORD* pdwStubPhase);
   4421 HRESULT STDMETHODCALLTYPE IWICBitmapEncoder_SetPalette_Proxy(
   4422     IWICBitmapEncoder* This,
   4423     IWICPalette *pIPalette);
   4424 void __RPC_STUB IWICBitmapEncoder_SetPalette_Stub(
   4425     IRpcStubBuffer* This,
   4426     IRpcChannelBuffer* pRpcChannelBuffer,
   4427     PRPC_MESSAGE pRpcMessage,
   4428     DWORD* pdwStubPhase);
   4429 HRESULT STDMETHODCALLTYPE IWICBitmapEncoder_SetThumbnail_Proxy(
   4430     IWICBitmapEncoder* This,
   4431     IWICBitmapSource *pIThumbnail);
   4432 void __RPC_STUB IWICBitmapEncoder_SetThumbnail_Stub(
   4433     IRpcStubBuffer* This,
   4434     IRpcChannelBuffer* pRpcChannelBuffer,
   4435     PRPC_MESSAGE pRpcMessage,
   4436     DWORD* pdwStubPhase);
   4437 HRESULT STDMETHODCALLTYPE IWICBitmapEncoder_SetPreview_Proxy(
   4438     IWICBitmapEncoder* This,
   4439     IWICBitmapSource *pIPreview);
   4440 void __RPC_STUB IWICBitmapEncoder_SetPreview_Stub(
   4441     IRpcStubBuffer* This,
   4442     IRpcChannelBuffer* pRpcChannelBuffer,
   4443     PRPC_MESSAGE pRpcMessage,
   4444     DWORD* pdwStubPhase);
   4445 HRESULT STDMETHODCALLTYPE IWICBitmapEncoder_CreateNewFrame_Proxy(
   4446     IWICBitmapEncoder* This,
   4447     IWICBitmapFrameEncode **ppIFrameEncode,
   4448     IPropertyBag2 **ppIEncoderOptions);
   4449 void __RPC_STUB IWICBitmapEncoder_CreateNewFrame_Stub(
   4450     IRpcStubBuffer* This,
   4451     IRpcChannelBuffer* pRpcChannelBuffer,
   4452     PRPC_MESSAGE pRpcMessage,
   4453     DWORD* pdwStubPhase);
   4454 HRESULT STDMETHODCALLTYPE IWICBitmapEncoder_Commit_Proxy(
   4455     IWICBitmapEncoder* This);
   4456 void __RPC_STUB IWICBitmapEncoder_Commit_Stub(
   4457     IRpcStubBuffer* This,
   4458     IRpcChannelBuffer* pRpcChannelBuffer,
   4459     PRPC_MESSAGE pRpcMessage,
   4460     DWORD* pdwStubPhase);
   4461 HRESULT STDMETHODCALLTYPE IWICBitmapEncoder_GetMetadataQueryWriter_Proxy(
   4462     IWICBitmapEncoder* This,
   4463     IWICMetadataQueryWriter **ppIMetadataQueryWriter);
   4464 void __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 
   4478 DEFINE_GUID(IID_IWICFormatConverter, 0x00000301, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94);
   4479 #if defined(__cplusplus) && !defined(CINTERFACE)
   4480 MIDL_INTERFACE("00000301-a8f2-4877-ba0a-fd2b6645fb94")
   4481 IWICFormatConverter : 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
   4501 typedef 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;
   4560 interface 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 ***/
   4581 static FORCEINLINE HRESULT IWICFormatConverter_QueryInterface(IWICFormatConverter* This,REFIID riid,void **ppvObject) {
   4582     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4583 }
   4584 static FORCEINLINE ULONG IWICFormatConverter_AddRef(IWICFormatConverter* This) {
   4585     return This->lpVtbl->AddRef(This);
   4586 }
   4587 static FORCEINLINE ULONG IWICFormatConverter_Release(IWICFormatConverter* This) {
   4588     return This->lpVtbl->Release(This);
   4589 }
   4590 /*** IWICBitmapSource methods ***/
   4591 static FORCEINLINE HRESULT IWICFormatConverter_GetSize(IWICFormatConverter* This,UINT *puiWidth,UINT *puiHeight) {
   4592     return This->lpVtbl->GetSize(This,puiWidth,puiHeight);
   4593 }
   4594 static FORCEINLINE HRESULT IWICFormatConverter_GetPixelFormat(IWICFormatConverter* This,WICPixelFormatGUID *pPixelFormat) {
   4595     return This->lpVtbl->GetPixelFormat(This,pPixelFormat);
   4596 }
   4597 static FORCEINLINE HRESULT IWICFormatConverter_GetResolution(IWICFormatConverter* This,double *pDpiX,double *pDpiY) {
   4598     return This->lpVtbl->GetResolution(This,pDpiX,pDpiY);
   4599 }
   4600 static FORCEINLINE HRESULT IWICFormatConverter_CopyPalette(IWICFormatConverter* This,IWICPalette *pIPalette) {
   4601     return This->lpVtbl->CopyPalette(This,pIPalette);
   4602 }
   4603 static 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 ***/
   4607 static 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 }
   4610 static 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 
   4618 HRESULT 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);
   4626 void __RPC_STUB IWICFormatConverter_Initialize_Stub(
   4627     IRpcStubBuffer* This,
   4628     IRpcChannelBuffer* pRpcChannelBuffer,
   4629     PRPC_MESSAGE pRpcMessage,
   4630     DWORD* pdwStubPhase);
   4631 HRESULT STDMETHODCALLTYPE IWICFormatConverter_CanConvert_Proxy(
   4632     IWICFormatConverter* This,
   4633     REFWICPixelFormatGUID srcPixelFormat,
   4634     REFWICPixelFormatGUID dstPixelFormat,
   4635     WINBOOL *pfCanConvert);
   4636 void __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 
   4650 DEFINE_GUID(IID_IWICFormatConverterInfo, 0x9f34fb65, 0x13f4, 0x4f15, 0xbc,0x57, 0x37,0x26,0xb5,0xe5,0x3d,0x9f);
   4651 #if defined(__cplusplus) && !defined(CINTERFACE)
   4652 MIDL_INTERFACE("9f34fb65-13f4-4f15-bc57-3726b5e53d9f")
   4653 IWICFormatConverterInfo : 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
   4668 typedef 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;
   4737 interface 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 ***/
   4761 static FORCEINLINE HRESULT IWICFormatConverterInfo_QueryInterface(IWICFormatConverterInfo* This,REFIID riid,void **ppvObject) {
   4762     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4763 }
   4764 static FORCEINLINE ULONG IWICFormatConverterInfo_AddRef(IWICFormatConverterInfo* This) {
   4765     return This->lpVtbl->AddRef(This);
   4766 }
   4767 static FORCEINLINE ULONG IWICFormatConverterInfo_Release(IWICFormatConverterInfo* This) {
   4768     return This->lpVtbl->Release(This);
   4769 }
   4770 /*** IWICComponentInfo methods ***/
   4771 static FORCEINLINE HRESULT IWICFormatConverterInfo_GetComponentType(IWICFormatConverterInfo* This,WICComponentType *pType) {
   4772     return This->lpVtbl->GetComponentType(This,pType);
   4773 }
   4774 static FORCEINLINE HRESULT IWICFormatConverterInfo_GetCLSID(IWICFormatConverterInfo* This,CLSID *pclsid) {
   4775     return This->lpVtbl->GetCLSID(This,pclsid);
   4776 }
   4777 static FORCEINLINE HRESULT IWICFormatConverterInfo_GetSigningStatus(IWICFormatConverterInfo* This,DWORD *pStatus) {
   4778     return This->lpVtbl->GetSigningStatus(This,pStatus);
   4779 }
   4780 static FORCEINLINE HRESULT IWICFormatConverterInfo_GetAuthor(IWICFormatConverterInfo* This,UINT cchAuthor,WCHAR *wzAuthor,UINT *pcchActual) {
   4781     return This->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual);
   4782 }
   4783 static FORCEINLINE HRESULT IWICFormatConverterInfo_GetVendorGUID(IWICFormatConverterInfo* This,GUID *pguidVendor) {
   4784     return This->lpVtbl->GetVendorGUID(This,pguidVendor);
   4785 }
   4786 static FORCEINLINE HRESULT IWICFormatConverterInfo_GetVersion(IWICFormatConverterInfo* This,UINT cchVersion,WCHAR *wzVersion,UINT *pcchActual) {
   4787     return This->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual);
   4788 }
   4789 static FORCEINLINE HRESULT IWICFormatConverterInfo_GetSpecVersion(IWICFormatConverterInfo* This,UINT cchSpecVersion,WCHAR *wzSpecVersion,UINT *pcchActual) {
   4790     return This->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual);
   4791 }
   4792 static 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 ***/
   4796 static FORCEINLINE HRESULT IWICFormatConverterInfo_GetPixelFormats(IWICFormatConverterInfo* This,UINT cFormats,WICPixelFormatGUID *pPixelFormatGUIDs,UINT *pcActual) {
   4797     return This->lpVtbl->GetPixelFormats(This,cFormats,pPixelFormatGUIDs,pcActual);
   4798 }
   4799 static FORCEINLINE HRESULT IWICFormatConverterInfo_CreateInstance(IWICFormatConverterInfo* This,IWICFormatConverter **ppIConverter) {
   4800     return This->lpVtbl->CreateInstance(This,ppIConverter);
   4801 }
   4802 #endif
   4803 #endif
   4804 
   4805 #endif
   4806 
   4807 HRESULT STDMETHODCALLTYPE IWICFormatConverterInfo_GetPixelFormats_Proxy(
   4808     IWICFormatConverterInfo* This,
   4809     UINT cFormats,
   4810     WICPixelFormatGUID *pPixelFormatGUIDs,
   4811     UINT *pcActual);
   4812 void __RPC_STUB IWICFormatConverterInfo_GetPixelFormats_Stub(
   4813     IRpcStubBuffer* This,
   4814     IRpcChannelBuffer* pRpcChannelBuffer,
   4815     PRPC_MESSAGE pRpcMessage,
   4816     DWORD* pdwStubPhase);
   4817 HRESULT STDMETHODCALLTYPE IWICFormatConverterInfo_CreateInstance_Proxy(
   4818     IWICFormatConverterInfo* This,
   4819     IWICFormatConverter **ppIConverter);
   4820 void __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 
   4834 DEFINE_GUID(IID_IWICStream, 0x135ff860, 0x22b7, 0x4ddf, 0xb0,0xf6, 0x21,0x8f,0x4f,0x29,0x9a,0x43);
   4835 #if defined(__cplusplus) && !defined(CINTERFACE)
   4836 MIDL_INTERFACE("135ff860-22b7-4ddf-b0f6-218f4f299a43")
   4837 IWICStream : 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
   4860 typedef 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;
   4957 interface 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 ***/
   4987 static FORCEINLINE HRESULT IWICStream_QueryInterface(IWICStream* This,REFIID riid,void **ppvObject) {
   4988     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4989 }
   4990 static FORCEINLINE ULONG IWICStream_AddRef(IWICStream* This) {
   4991     return This->lpVtbl->AddRef(This);
   4992 }
   4993 static FORCEINLINE ULONG IWICStream_Release(IWICStream* This) {
   4994     return This->lpVtbl->Release(This);
   4995 }
   4996 /*** ISequentialStream methods ***/
   4997 static FORCEINLINE HRESULT IWICStream_Read(IWICStream* This,void *pv,ULONG cb,ULONG *pcbRead) {
   4998     return This->lpVtbl->Read(This,pv,cb,pcbRead);
   4999 }
   5000 static 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 ***/
   5004 static FORCEINLINE HRESULT IWICStream_Seek(IWICStream* This,LARGE_INTEGER dlibMove,DWORD dwOrigin,ULARGE_INTEGER *plibNewPosition) {
   5005     return This->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition);
   5006 }
   5007 static FORCEINLINE HRESULT IWICStream_SetSize(IWICStream* This,ULARGE_INTEGER libNewSize) {
   5008     return This->lpVtbl->SetSize(This,libNewSize);
   5009 }
   5010 static 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 }
   5013 static FORCEINLINE HRESULT IWICStream_Commit(IWICStream* This,DWORD grfCommitFlags) {
   5014     return This->lpVtbl->Commit(This,grfCommitFlags);
   5015 }
   5016 static FORCEINLINE HRESULT IWICStream_Revert(IWICStream* This) {
   5017     return This->lpVtbl->Revert(This);
   5018 }
   5019 static FORCEINLINE HRESULT IWICStream_LockRegion(IWICStream* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
   5020     return This->lpVtbl->LockRegion(This,libOffset,cb,dwLockType);
   5021 }
   5022 static FORCEINLINE HRESULT IWICStream_UnlockRegion(IWICStream* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
   5023     return This->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType);
   5024 }
   5025 static FORCEINLINE HRESULT IWICStream_Stat(IWICStream* This,STATSTG *pstatstg,DWORD grfStatFlag) {
   5026     return This->lpVtbl->Stat(This,pstatstg,grfStatFlag);
   5027 }
   5028 static FORCEINLINE HRESULT IWICStream_Clone(IWICStream* This,IStream **ppstm) {
   5029     return This->lpVtbl->Clone(This,ppstm);
   5030 }
   5031 /*** IWICStream methods ***/
   5032 static FORCEINLINE HRESULT IWICStream_InitializeFromIStream(IWICStream* This,IStream *pIStream) {
   5033     return This->lpVtbl->InitializeFromIStream(This,pIStream);
   5034 }
   5035 static FORCEINLINE HRESULT IWICStream_InitializeFromFilename(IWICStream* This,LPCWSTR wzFileName,DWORD dwAccessMode) {
   5036     return This->lpVtbl->InitializeFromFilename(This,wzFileName,dwAccessMode);
   5037 }
   5038 static FORCEINLINE HRESULT IWICStream_InitializeFromMemory(IWICStream* This,BYTE *pbBuffer,DWORD cbBufferSize) {
   5039     return This->lpVtbl->InitializeFromMemory(This,pbBuffer,cbBufferSize);
   5040 }
   5041 static 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 
   5049 HRESULT STDMETHODCALLTYPE IWICStream_InitializeFromIStream_Proxy(
   5050     IWICStream* This,
   5051     IStream *pIStream);
   5052 void __RPC_STUB IWICStream_InitializeFromIStream_Stub(
   5053     IRpcStubBuffer* This,
   5054     IRpcChannelBuffer* pRpcChannelBuffer,
   5055     PRPC_MESSAGE pRpcMessage,
   5056     DWORD* pdwStubPhase);
   5057 HRESULT STDMETHODCALLTYPE IWICStream_InitializeFromFilename_Proxy(
   5058     IWICStream* This,
   5059     LPCWSTR wzFileName,
   5060     DWORD dwAccessMode);
   5061 void __RPC_STUB IWICStream_InitializeFromFilename_Stub(
   5062     IRpcStubBuffer* This,
   5063     IRpcChannelBuffer* pRpcChannelBuffer,
   5064     PRPC_MESSAGE pRpcMessage,
   5065     DWORD* pdwStubPhase);
   5066 HRESULT STDMETHODCALLTYPE IWICStream_InitializeFromMemory_Proxy(
   5067     IWICStream* This,
   5068     BYTE *pbBuffer,
   5069     DWORD cbBufferSize);
   5070 void __RPC_STUB IWICStream_InitializeFromMemory_Stub(
   5071     IRpcStubBuffer* This,
   5072     IRpcChannelBuffer* pRpcChannelBuffer,
   5073     PRPC_MESSAGE pRpcMessage,
   5074     DWORD* pdwStubPhase);
   5075 HRESULT STDMETHODCALLTYPE IWICStream_InitializeFromIStreamRegion_Proxy(
   5076     IWICStream* This,
   5077     IStream *pIStream,
   5078     ULARGE_INTEGER ulOffset,
   5079     ULARGE_INTEGER ulMaxSize);
   5080 void __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 
   5094 DEFINE_GUID(IID_IWICBitmapScaler, 0x00000302, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94);
   5095 #if defined(__cplusplus) && !defined(CINTERFACE)
   5096 MIDL_INTERFACE("00000302-a8f2-4877-ba0a-fd2b6645fb94")
   5097 IWICBitmapScaler : 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
   5110 typedef 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;
   5161 interface 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 ***/
   5181 static FORCEINLINE HRESULT IWICBitmapScaler_QueryInterface(IWICBitmapScaler* This,REFIID riid,void **ppvObject) {
   5182     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   5183 }
   5184 static FORCEINLINE ULONG IWICBitmapScaler_AddRef(IWICBitmapScaler* This) {
   5185     return This->lpVtbl->AddRef(This);
   5186 }
   5187 static FORCEINLINE ULONG IWICBitmapScaler_Release(IWICBitmapScaler* This) {
   5188     return This->lpVtbl->Release(This);
   5189 }
   5190 /*** IWICBitmapSource methods ***/
   5191 static FORCEINLINE HRESULT IWICBitmapScaler_GetSize(IWICBitmapScaler* This,UINT *puiWidth,UINT *puiHeight) {
   5192     return This->lpVtbl->GetSize(This,puiWidth,puiHeight);
   5193 }
   5194 static FORCEINLINE HRESULT IWICBitmapScaler_GetPixelFormat(IWICBitmapScaler* This,WICPixelFormatGUID *pPixelFormat) {
   5195     return This->lpVtbl->GetPixelFormat(This,pPixelFormat);
   5196 }
   5197 static FORCEINLINE HRESULT IWICBitmapScaler_GetResolution(IWICBitmapScaler* This,double *pDpiX,double *pDpiY) {
   5198     return This->lpVtbl->GetResolution(This,pDpiX,pDpiY);
   5199 }
   5200 static FORCEINLINE HRESULT IWICBitmapScaler_CopyPalette(IWICBitmapScaler* This,IWICPalette *pIPalette) {
   5201     return This->lpVtbl->CopyPalette(This,pIPalette);
   5202 }
   5203 static 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 ***/
   5207 static 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 
   5215 HRESULT STDMETHODCALLTYPE IWICBitmapScaler_Initialize_Proxy(
   5216     IWICBitmapScaler* This,
   5217     IWICBitmapSource *pISource,
   5218     UINT uiWidth,
   5219     UINT uiHeight,
   5220     WICBitmapInterpolationMode mode);
   5221 void __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 
   5235 DEFINE_GUID(IID_IWICBitmapClipper, 0xe4fbcf03, 0x223d, 0x4e81, 0x93,0x33, 0xd6,0x35,0x55,0x6d,0xd1,0xb5);
   5236 #if defined(__cplusplus) && !defined(CINTERFACE)
   5237 MIDL_INTERFACE("e4fbcf03-223d-4e81-9333-d635556dd1b5")
   5238 IWICBitmapClipper : 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
   5249 typedef 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;
   5298 interface 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 ***/
   5318 static FORCEINLINE HRESULT IWICBitmapClipper_QueryInterface(IWICBitmapClipper* This,REFIID riid,void **ppvObject) {
   5319     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   5320 }
   5321 static FORCEINLINE ULONG IWICBitmapClipper_AddRef(IWICBitmapClipper* This) {
   5322     return This->lpVtbl->AddRef(This);
   5323 }
   5324 static FORCEINLINE ULONG IWICBitmapClipper_Release(IWICBitmapClipper* This) {
   5325     return This->lpVtbl->Release(This);
   5326 }
   5327 /*** IWICBitmapSource methods ***/
   5328 static FORCEINLINE HRESULT IWICBitmapClipper_GetSize(IWICBitmapClipper* This,UINT *puiWidth,UINT *puiHeight) {
   5329     return This->lpVtbl->GetSize(This,puiWidth,puiHeight);
   5330 }
   5331 static FORCEINLINE HRESULT IWICBitmapClipper_GetPixelFormat(IWICBitmapClipper* This,WICPixelFormatGUID *pPixelFormat) {
   5332     return This->lpVtbl->GetPixelFormat(This,pPixelFormat);
   5333 }
   5334 static FORCEINLINE HRESULT IWICBitmapClipper_GetResolution(IWICBitmapClipper* This,double *pDpiX,double *pDpiY) {
   5335     return This->lpVtbl->GetResolution(This,pDpiX,pDpiY);
   5336 }
   5337 static FORCEINLINE HRESULT IWICBitmapClipper_CopyPalette(IWICBitmapClipper* This,IWICPalette *pIPalette) {
   5338     return This->lpVtbl->CopyPalette(This,pIPalette);
   5339 }
   5340 static 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 ***/
   5344 static 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 
   5352 HRESULT STDMETHODCALLTYPE IWICBitmapClipper_Initialize_Proxy(
   5353     IWICBitmapClipper* This,
   5354     IWICBitmapSource *pISource,
   5355     const WICRect *prc);
   5356 void __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 
   5370 DEFINE_GUID(IID_IWICColorTransform, 0xb66f034f, 0xd0e2, 0x40ab, 0xb4,0x36, 0x6d,0xe3,0x9e,0x32,0x1a,0x94);
   5371 #if defined(__cplusplus) && !defined(CINTERFACE)
   5372 MIDL_INTERFACE("b66f034f-d0e2-40ab-b436-6de39e321a94")
   5373 IWICColorTransform : 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
   5386 typedef 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;
   5437 interface 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 ***/
   5457 static FORCEINLINE HRESULT IWICColorTransform_QueryInterface(IWICColorTransform* This,REFIID riid,void **ppvObject) {
   5458     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   5459 }
   5460 static FORCEINLINE ULONG IWICColorTransform_AddRef(IWICColorTransform* This) {
   5461     return This->lpVtbl->AddRef(This);
   5462 }
   5463 static FORCEINLINE ULONG IWICColorTransform_Release(IWICColorTransform* This) {
   5464     return This->lpVtbl->Release(This);
   5465 }
   5466 /*** IWICBitmapSource methods ***/
   5467 static FORCEINLINE HRESULT IWICColorTransform_GetSize(IWICColorTransform* This,UINT *puiWidth,UINT *puiHeight) {
   5468     return This->lpVtbl->GetSize(This,puiWidth,puiHeight);
   5469 }
   5470 static FORCEINLINE HRESULT IWICColorTransform_GetPixelFormat(IWICColorTransform* This,WICPixelFormatGUID *pPixelFormat) {
   5471     return This->lpVtbl->GetPixelFormat(This,pPixelFormat);
   5472 }
   5473 static FORCEINLINE HRESULT IWICColorTransform_GetResolution(IWICColorTransform* This,double *pDpiX,double *pDpiY) {
   5474     return This->lpVtbl->GetResolution(This,pDpiX,pDpiY);
   5475 }
   5476 static FORCEINLINE HRESULT IWICColorTransform_CopyPalette(IWICColorTransform* This,IWICPalette *pIPalette) {
   5477     return This->lpVtbl->CopyPalette(This,pIPalette);
   5478 }
   5479 static 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 ***/
   5483 static 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 
   5491 HRESULT STDMETHODCALLTYPE IWICColorTransform_Initialize_Proxy(
   5492     IWICColorTransform* This,
   5493     IWICBitmapSource *pIBitmapSource,
   5494     IWICColorContext *pIContextSource,
   5495     IWICColorContext *pIContextDest,
   5496     REFWICPixelFormatGUID pixelFmtDest);
   5497 void __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 
   5511 DEFINE_GUID(IID_IWICFastMetadataEncoder, 0xb84e2c09, 0x78c9, 0x4ac4, 0x8b,0xd3, 0x52,0x4a,0xe1,0x66,0x3a,0x2f);
   5512 #if defined(__cplusplus) && !defined(CINTERFACE)
   5513 MIDL_INTERFACE("b84e2c09-78c9-4ac4-8bd3-524ae1663a2f")
   5514 IWICFastMetadataEncoder : 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
   5527 typedef 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;
   5552 interface 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 ***/
   5567 static FORCEINLINE HRESULT IWICFastMetadataEncoder_QueryInterface(IWICFastMetadataEncoder* This,REFIID riid,void **ppvObject) {
   5568     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   5569 }
   5570 static FORCEINLINE ULONG IWICFastMetadataEncoder_AddRef(IWICFastMetadataEncoder* This) {
   5571     return This->lpVtbl->AddRef(This);
   5572 }
   5573 static FORCEINLINE ULONG IWICFastMetadataEncoder_Release(IWICFastMetadataEncoder* This) {
   5574     return This->lpVtbl->Release(This);
   5575 }
   5576 /*** IWICFastMetadataEncoder methods ***/
   5577 static FORCEINLINE HRESULT IWICFastMetadataEncoder_Commit(IWICFastMetadataEncoder* This) {
   5578     return This->lpVtbl->Commit(This);
   5579 }
   5580 static FORCEINLINE HRESULT IWICFastMetadataEncoder_GetMetadataQueryWriter(IWICFastMetadataEncoder* This,IWICMetadataQueryWriter **ppIMetadataQueryWriter) {
   5581     return This->lpVtbl->GetMetadataQueryWriter(This,ppIMetadataQueryWriter);
   5582 }
   5583 #endif
   5584 #endif
   5585 
   5586 #endif
   5587 
   5588 HRESULT STDMETHODCALLTYPE IWICFastMetadataEncoder_Commit_Proxy(
   5589     IWICFastMetadataEncoder* This);
   5590 void __RPC_STUB IWICFastMetadataEncoder_Commit_Stub(
   5591     IRpcStubBuffer* This,
   5592     IRpcChannelBuffer* pRpcChannelBuffer,
   5593     PRPC_MESSAGE pRpcMessage,
   5594     DWORD* pdwStubPhase);
   5595 HRESULT STDMETHODCALLTYPE IWICFastMetadataEncoder_GetMetadataQueryWriter_Proxy(
   5596     IWICFastMetadataEncoder* This,
   5597     IWICMetadataQueryWriter **ppIMetadataQueryWriter);
   5598 void __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 
   5606 DEFINE_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 
   5613 DEFINE_GUID(IID_IWICImagingFactory, 0xec5ec8a9, 0xc395, 0x4314, 0x9c,0x77, 0x54,0xd7,0xa9,0x35,0xff,0x70);
   5614 #if defined(__cplusplus) && !defined(CINTERFACE)
   5615 MIDL_INTERFACE("ec5ec8a9-c395-4314-9c77-54d7a935ff70")
   5616 IWICImagingFactory : 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
   5742 typedef 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;
   5904 interface 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 ***/
   5942 static FORCEINLINE HRESULT IWICImagingFactory_QueryInterface(IWICImagingFactory* This,REFIID riid,void **ppvObject) {
   5943     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   5944 }
   5945 static FORCEINLINE ULONG IWICImagingFactory_AddRef(IWICImagingFactory* This) {
   5946     return This->lpVtbl->AddRef(This);
   5947 }
   5948 static FORCEINLINE ULONG IWICImagingFactory_Release(IWICImagingFactory* This) {
   5949     return This->lpVtbl->Release(This);
   5950 }
   5951 /*** IWICImagingFactory methods ***/
   5952 static 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 }
   5955 static 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 }
   5958 static 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 }
   5961 static FORCEINLINE HRESULT IWICImagingFactory_CreateComponentInfo(IWICImagingFactory* This,REFCLSID clsidComponent,IWICComponentInfo **ppIInfo) {
   5962     return This->lpVtbl->CreateComponentInfo(This,clsidComponent,ppIInfo);
   5963 }
   5964 static FORCEINLINE HRESULT IWICImagingFactory_CreateDecoder(IWICImagingFactory* This,REFGUID guidContainerFormat,const GUID *pguidVendor,IWICBitmapDecoder **ppIDecoder) {
   5965     return This->lpVtbl->CreateDecoder(This,guidContainerFormat,pguidVendor,ppIDecoder);
   5966 }
   5967 static FORCEINLINE HRESULT IWICImagingFactory_CreateEncoder(IWICImagingFactory* This,REFGUID guidContainerFormat,const GUID *pguidVendor,IWICBitmapEncoder **ppIEncoder) {
   5968     return This->lpVtbl->CreateEncoder(This,guidContainerFormat,pguidVendor,ppIEncoder);
   5969 }
   5970 static FORCEINLINE HRESULT IWICImagingFactory_CreatePalette(IWICImagingFactory* This,IWICPalette **ppIPalette) {
   5971     return This->lpVtbl->CreatePalette(This,ppIPalette);
   5972 }
   5973 static FORCEINLINE HRESULT IWICImagingFactory_CreateFormatConverter(IWICImagingFactory* This,IWICFormatConverter **ppIFormatConverter) {
   5974     return This->lpVtbl->CreateFormatConverter(This,ppIFormatConverter);
   5975 }
   5976 static FORCEINLINE HRESULT IWICImagingFactory_CreateBitmapScaler(IWICImagingFactory* This,IWICBitmapScaler **ppIBitmapScaler) {
   5977     return This->lpVtbl->CreateBitmapScaler(This,ppIBitmapScaler);
   5978 }
   5979 static FORCEINLINE HRESULT IWICImagingFactory_CreateBitmapClipper(IWICImagingFactory* This,IWICBitmapClipper **ppIBitmapClipper) {
   5980     return This->lpVtbl->CreateBitmapClipper(This,ppIBitmapClipper);
   5981 }
   5982 static FORCEINLINE HRESULT IWICImagingFactory_CreateBitmapFlipRotator(IWICImagingFactory* This,IWICBitmapFlipRotator **ppIBitmapFlipRotator) {
   5983     return This->lpVtbl->CreateBitmapFlipRotator(This,ppIBitmapFlipRotator);
   5984 }
   5985 static FORCEINLINE HRESULT IWICImagingFactory_CreateStream(IWICImagingFactory* This,IWICStream **ppIWICStream) {
   5986     return This->lpVtbl->CreateStream(This,ppIWICStream);
   5987 }
   5988 static FORCEINLINE HRESULT IWICImagingFactory_CreateColorContext(IWICImagingFactory* This,IWICColorContext **ppIWICColorContext) {
   5989     return This->lpVtbl->CreateColorContext(This,ppIWICColorContext);
   5990 }
   5991 static FORCEINLINE HRESULT IWICImagingFactory_CreateColorTransformer(IWICImagingFactory* This,IWICColorTransform **ppIWICColorTransform) {
   5992     return This->lpVtbl->CreateColorTransformer(This,ppIWICColorTransform);
   5993 }
   5994 static 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 }
   5997 static FORCEINLINE HRESULT IWICImagingFactory_CreateBitmapFromSource(IWICImagingFactory* This,IWICBitmapSource *piBitmapSource,WICBitmapCreateCacheOption option,IWICBitmap **ppIBitmap) {
   5998     return This->lpVtbl->CreateBitmapFromSource(This,piBitmapSource,option,ppIBitmap);
   5999 }
   6000 static 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 }
   6003 static 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 }
   6006 static 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 }
   6009 static FORCEINLINE HRESULT IWICImagingFactory_CreateBitmapFromHICON(IWICImagingFactory* This,HICON hIcon,IWICBitmap **ppIBitmap) {
   6010     return This->lpVtbl->CreateBitmapFromHICON(This,hIcon,ppIBitmap);
   6011 }
   6012 static FORCEINLINE HRESULT IWICImagingFactory_CreateComponentEnumerator(IWICImagingFactory* This,DWORD componentTypes,DWORD options,IEnumUnknown **ppIEnumUnknown) {
   6013     return This->lpVtbl->CreateComponentEnumerator(This,componentTypes,options,ppIEnumUnknown);
   6014 }
   6015 static FORCEINLINE HRESULT IWICImagingFactory_CreateFastMetadataEncoderFromDecoder(IWICImagingFactory* This,IWICBitmapDecoder *pIDecoder,IWICFastMetadataEncoder **ppIFastEncoder) {
   6016     return This->lpVtbl->CreateFastMetadataEncoderFromDecoder(This,pIDecoder,ppIFastEncoder);
   6017 }
   6018 static FORCEINLINE HRESULT IWICImagingFactory_CreateFastMetadataEncoderFromFrameDecode(IWICImagingFactory* This,IWICBitmapFrameDecode *pIFrameDecoder,IWICFastMetadataEncoder **ppIFastEncoder) {
   6019     return This->lpVtbl->CreateFastMetadataEncoderFromFrameDecode(This,pIFrameDecoder,ppIFastEncoder);
   6020 }
   6021 static FORCEINLINE HRESULT IWICImagingFactory_CreateQueryWriter(IWICImagingFactory* This,REFGUID guidMetadataFormat,const GUID *pguidVendor,IWICMetadataQueryWriter **ppIQueryWriter) {
   6022     return This->lpVtbl->CreateQueryWriter(This,guidMetadataFormat,pguidVendor,ppIQueryWriter);
   6023 }
   6024 static 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 
   6032 HRESULT STDMETHODCALLTYPE IWICImagingFactory_CreateDecoderFromFilename_Proxy(
   6033     IWICImagingFactory* This,
   6034     LPCWSTR wzFilename,
   6035     const GUID *pguidVendor,
   6036     DWORD dwDesiredAccess,
   6037     WICDecodeOptions metadataOptions,
   6038     IWICBitmapDecoder **ppIDecoder);
   6039 void __RPC_STUB IWICImagingFactory_CreateDecoderFromFilename_Stub(
   6040     IRpcStubBuffer* This,
   6041     IRpcChannelBuffer* pRpcChannelBuffer,
   6042     PRPC_MESSAGE pRpcMessage,
   6043     DWORD* pdwStubPhase);
   6044 HRESULT STDMETHODCALLTYPE IWICImagingFactory_CreateDecoderFromStream_Proxy(
   6045     IWICImagingFactory* This,
   6046     IStream *pIStream,
   6047     const GUID *pguidVendor,
   6048     WICDecodeOptions metadataOptions,
   6049     IWICBitmapDecoder **ppIDecoder);
   6050 void __RPC_STUB IWICImagingFactory_CreateDecoderFromStream_Stub(
   6051     IRpcStubBuffer* This,
   6052     IRpcChannelBuffer* pRpcChannelBuffer,
   6053     PRPC_MESSAGE pRpcMessage,
   6054     DWORD* pdwStubPhase);
   6055 HRESULT STDMETHODCALLTYPE IWICImagingFactory_CreateDecoderFromFileHandle_Proxy(
   6056     IWICImagingFactory* This,
   6057     ULONG_PTR hFile,
   6058     const GUID *pguidVendor,
   6059     WICDecodeOptions metadataOptions,
   6060     IWICBitmapDecoder **ppIDecoder);
   6061 void __RPC_STUB IWICImagingFactory_CreateDecoderFromFileHandle_Stub(
   6062     IRpcStubBuffer* This,
   6063     IRpcChannelBuffer* pRpcChannelBuffer,
   6064     PRPC_MESSAGE pRpcMessage,
   6065     DWORD* pdwStubPhase);
   6066 HRESULT STDMETHODCALLTYPE IWICImagingFactory_CreateComponentInfo_Proxy(
   6067     IWICImagingFactory* This,
   6068     REFCLSID clsidComponent,
   6069     IWICComponentInfo **ppIInfo);
   6070 void __RPC_STUB IWICImagingFactory_CreateComponentInfo_Stub(
   6071     IRpcStubBuffer* This,
   6072     IRpcChannelBuffer* pRpcChannelBuffer,
   6073     PRPC_MESSAGE pRpcMessage,
   6074     DWORD* pdwStubPhase);
   6075 HRESULT STDMETHODCALLTYPE IWICImagingFactory_CreateDecoder_Proxy(
   6076     IWICImagingFactory* This,
   6077     REFGUID guidContainerFormat,
   6078     const GUID *pguidVendor,
   6079     IWICBitmapDecoder **ppIDecoder);
   6080 void __RPC_STUB IWICImagingFactory_CreateDecoder_Stub(
   6081     IRpcStubBuffer* This,
   6082     IRpcChannelBuffer* pRpcChannelBuffer,
   6083     PRPC_MESSAGE pRpcMessage,
   6084     DWORD* pdwStubPhase);
   6085 HRESULT STDMETHODCALLTYPE IWICImagingFactory_CreateEncoder_Proxy(
   6086     IWICImagingFactory* This,
   6087     REFGUID guidContainerFormat,
   6088     const GUID *pguidVendor,
   6089     IWICBitmapEncoder **ppIEncoder);
   6090 void __RPC_STUB IWICImagingFactory_CreateEncoder_Stub(
   6091     IRpcStubBuffer* This,
   6092     IRpcChannelBuffer* pRpcChannelBuffer,
   6093     PRPC_MESSAGE pRpcMessage,
   6094     DWORD* pdwStubPhase);
   6095 HRESULT STDMETHODCALLTYPE IWICImagingFactory_CreatePalette_Proxy(
   6096     IWICImagingFactory* This,
   6097     IWICPalette **ppIPalette);
   6098 void __RPC_STUB IWICImagingFactory_CreatePalette_Stub(
   6099     IRpcStubBuffer* This,
   6100     IRpcChannelBuffer* pRpcChannelBuffer,
   6101     PRPC_MESSAGE pRpcMessage,
   6102     DWORD* pdwStubPhase);
   6103 HRESULT STDMETHODCALLTYPE IWICImagingFactory_CreateFormatConverter_Proxy(
   6104     IWICImagingFactory* This,
   6105     IWICFormatConverter **ppIFormatConverter);
   6106 void __RPC_STUB IWICImagingFactory_CreateFormatConverter_Stub(
   6107     IRpcStubBuffer* This,
   6108     IRpcChannelBuffer* pRpcChannelBuffer,
   6109     PRPC_MESSAGE pRpcMessage,
   6110     DWORD* pdwStubPhase);
   6111 HRESULT STDMETHODCALLTYPE IWICImagingFactory_CreateBitmapScaler_Proxy(
   6112     IWICImagingFactory* This,
   6113     IWICBitmapScaler **ppIBitmapScaler);
   6114 void __RPC_STUB IWICImagingFactory_CreateBitmapScaler_Stub(
   6115     IRpcStubBuffer* This,
   6116     IRpcChannelBuffer* pRpcChannelBuffer,
   6117     PRPC_MESSAGE pRpcMessage,
   6118     DWORD* pdwStubPhase);
   6119 HRESULT STDMETHODCALLTYPE IWICImagingFactory_CreateBitmapClipper_Proxy(
   6120     IWICImagingFactory* This,
   6121     IWICBitmapClipper **ppIBitmapClipper);
   6122 void __RPC_STUB IWICImagingFactory_CreateBitmapClipper_Stub(
   6123     IRpcStubBuffer* This,
   6124     IRpcChannelBuffer* pRpcChannelBuffer,
   6125     PRPC_MESSAGE pRpcMessage,
   6126     DWORD* pdwStubPhase);
   6127 HRESULT STDMETHODCALLTYPE IWICImagingFactory_CreateBitmapFlipRotator_Proxy(
   6128     IWICImagingFactory* This,
   6129     IWICBitmapFlipRotator **ppIBitmapFlipRotator);
   6130 void __RPC_STUB IWICImagingFactory_CreateBitmapFlipRotator_Stub(
   6131     IRpcStubBuffer* This,
   6132     IRpcChannelBuffer* pRpcChannelBuffer,
   6133     PRPC_MESSAGE pRpcMessage,
   6134     DWORD* pdwStubPhase);
   6135 HRESULT STDMETHODCALLTYPE IWICImagingFactory_CreateStream_Proxy(
   6136     IWICImagingFactory* This,
   6137     IWICStream **ppIWICStream);
   6138 void __RPC_STUB IWICImagingFactory_CreateStream_Stub(
   6139     IRpcStubBuffer* This,
   6140     IRpcChannelBuffer* pRpcChannelBuffer,
   6141     PRPC_MESSAGE pRpcMessage,
   6142     DWORD* pdwStubPhase);
   6143 HRESULT STDMETHODCALLTYPE IWICImagingFactory_CreateColorContext_Proxy(
   6144     IWICImagingFactory* This,
   6145     IWICColorContext **ppIWICColorContext);
   6146 void __RPC_STUB IWICImagingFactory_CreateColorContext_Stub(
   6147     IRpcStubBuffer* This,
   6148     IRpcChannelBuffer* pRpcChannelBuffer,
   6149     PRPC_MESSAGE pRpcMessage,
   6150     DWORD* pdwStubPhase);
   6151 HRESULT STDMETHODCALLTYPE IWICImagingFactory_CreateColorTransformer_Proxy(
   6152     IWICImagingFactory* This,
   6153     IWICColorTransform **ppIWICColorTransform);
   6154 void __RPC_STUB IWICImagingFactory_CreateColorTransformer_Stub(
   6155     IRpcStubBuffer* This,
   6156     IRpcChannelBuffer* pRpcChannelBuffer,
   6157     PRPC_MESSAGE pRpcMessage,
   6158     DWORD* pdwStubPhase);
   6159 HRESULT STDMETHODCALLTYPE IWICImagingFactory_CreateBitmap_Proxy(
   6160     IWICImagingFactory* This,
   6161     UINT uiWidth,
   6162     UINT uiHeight,
   6163     REFWICPixelFormatGUID pixelFormat,
   6164     WICBitmapCreateCacheOption option,
   6165     IWICBitmap **ppIBitmap);
   6166 void __RPC_STUB IWICImagingFactory_CreateBitmap_Stub(
   6167     IRpcStubBuffer* This,
   6168     IRpcChannelBuffer* pRpcChannelBuffer,
   6169     PRPC_MESSAGE pRpcMessage,
   6170     DWORD* pdwStubPhase);
   6171 HRESULT STDMETHODCALLTYPE IWICImagingFactory_CreateBitmapFromSource_Proxy(
   6172     IWICImagingFactory* This,
   6173     IWICBitmapSource *piBitmapSource,
   6174     WICBitmapCreateCacheOption option,
   6175     IWICBitmap **ppIBitmap);
   6176 void __RPC_STUB IWICImagingFactory_CreateBitmapFromSource_Stub(
   6177     IRpcStubBuffer* This,
   6178     IRpcChannelBuffer* pRpcChannelBuffer,
   6179     PRPC_MESSAGE pRpcMessage,
   6180     DWORD* pdwStubPhase);
   6181 HRESULT 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);
   6189 void __RPC_STUB IWICImagingFactory_CreateBitmapFromSourceRect_Stub(
   6190     IRpcStubBuffer* This,
   6191     IRpcChannelBuffer* pRpcChannelBuffer,
   6192     PRPC_MESSAGE pRpcMessage,
   6193     DWORD* pdwStubPhase);
   6194 HRESULT 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);
   6203 void __RPC_STUB IWICImagingFactory_CreateBitmapFromMemory_Stub(
   6204     IRpcStubBuffer* This,
   6205     IRpcChannelBuffer* pRpcChannelBuffer,
   6206     PRPC_MESSAGE pRpcMessage,
   6207     DWORD* pdwStubPhase);
   6208 HRESULT STDMETHODCALLTYPE IWICImagingFactory_CreateBitmapFromHBITMAP_Proxy(
   6209     IWICImagingFactory* This,
   6210     HBITMAP hBitmap,
   6211     HPALETTE hPalette,
   6212     WICBitmapAlphaChannelOption options,
   6213     IWICBitmap **ppIBitmap);
   6214 void __RPC_STUB IWICImagingFactory_CreateBitmapFromHBITMAP_Stub(
   6215     IRpcStubBuffer* This,
   6216     IRpcChannelBuffer* pRpcChannelBuffer,
   6217     PRPC_MESSAGE pRpcMessage,
   6218     DWORD* pdwStubPhase);
   6219 HRESULT STDMETHODCALLTYPE IWICImagingFactory_CreateBitmapFromHICON_Proxy(
   6220     IWICImagingFactory* This,
   6221     HICON hIcon,
   6222     IWICBitmap **ppIBitmap);
   6223 void __RPC_STUB IWICImagingFactory_CreateBitmapFromHICON_Stub(
   6224     IRpcStubBuffer* This,
   6225     IRpcChannelBuffer* pRpcChannelBuffer,
   6226     PRPC_MESSAGE pRpcMessage,
   6227     DWORD* pdwStubPhase);
   6228 HRESULT STDMETHODCALLTYPE IWICImagingFactory_CreateComponentEnumerator_Proxy(
   6229     IWICImagingFactory* This,
   6230     DWORD componentTypes,
   6231     DWORD options,
   6232     IEnumUnknown **ppIEnumUnknown);
   6233 void __RPC_STUB IWICImagingFactory_CreateComponentEnumerator_Stub(
   6234     IRpcStubBuffer* This,
   6235     IRpcChannelBuffer* pRpcChannelBuffer,
   6236     PRPC_MESSAGE pRpcMessage,
   6237     DWORD* pdwStubPhase);
   6238 HRESULT STDMETHODCALLTYPE IWICImagingFactory_CreateFastMetadataEncoderFromDecoder_Proxy(
   6239     IWICImagingFactory* This,
   6240     IWICBitmapDecoder *pIDecoder,
   6241     IWICFastMetadataEncoder **ppIFastEncoder);
   6242 void __RPC_STUB IWICImagingFactory_CreateFastMetadataEncoderFromDecoder_Stub(
   6243     IRpcStubBuffer* This,
   6244     IRpcChannelBuffer* pRpcChannelBuffer,
   6245     PRPC_MESSAGE pRpcMessage,
   6246     DWORD* pdwStubPhase);
   6247 HRESULT STDMETHODCALLTYPE IWICImagingFactory_CreateFastMetadataEncoderFromFrameDecode_Proxy(
   6248     IWICImagingFactory* This,
   6249     IWICBitmapFrameDecode *pIFrameDecoder,
   6250     IWICFastMetadataEncoder **ppIFastEncoder);
   6251 void __RPC_STUB IWICImagingFactory_CreateFastMetadataEncoderFromFrameDecode_Stub(
   6252     IRpcStubBuffer* This,
   6253     IRpcChannelBuffer* pRpcChannelBuffer,
   6254     PRPC_MESSAGE pRpcMessage,
   6255     DWORD* pdwStubPhase);
   6256 HRESULT STDMETHODCALLTYPE IWICImagingFactory_CreateQueryWriter_Proxy(
   6257     IWICImagingFactory* This,
   6258     REFGUID guidMetadataFormat,
   6259     const GUID *pguidVendor,
   6260     IWICMetadataQueryWriter **ppIQueryWriter);
   6261 void __RPC_STUB IWICImagingFactory_CreateQueryWriter_Stub(
   6262     IRpcStubBuffer* This,
   6263     IRpcChannelBuffer* pRpcChannelBuffer,
   6264     PRPC_MESSAGE pRpcMessage,
   6265     DWORD* pdwStubPhase);
   6266 HRESULT STDMETHODCALLTYPE IWICImagingFactory_CreateQueryWriterFromReader_Proxy(
   6267     IWICImagingFactory* This,
   6268     IWICMetadataQueryReader *pIQueryReader,
   6269     const GUID *pguidVendor,
   6270     IWICMetadataQueryWriter **ppIQueryWriter);
   6271 void __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 
   6285 DEFINE_GUID(IID_IWICEnumMetadataItem, 0xdc2bb46d, 0x3f07, 0x481e, 0x86,0x25, 0x22,0x0c,0x4a,0xed,0xbb,0x33);
   6286 #if defined(__cplusplus) && !defined(CINTERFACE)
   6287 MIDL_INTERFACE("dc2bb46d-3f07-481e-8625-220c4aedbb33")
   6288 IWICEnumMetadataItem : 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
   6311 typedef 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;
   6348 interface 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 ***/
   6365 static FORCEINLINE HRESULT IWICEnumMetadataItem_QueryInterface(IWICEnumMetadataItem* This,REFIID riid,void **ppvObject) {
   6366     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   6367 }
   6368 static FORCEINLINE ULONG IWICEnumMetadataItem_AddRef(IWICEnumMetadataItem* This) {
   6369     return This->lpVtbl->AddRef(This);
   6370 }
   6371 static FORCEINLINE ULONG IWICEnumMetadataItem_Release(IWICEnumMetadataItem* This) {
   6372     return This->lpVtbl->Release(This);
   6373 }
   6374 /*** IWICEnumMetadataItem methods ***/
   6375 static 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 }
   6378 static FORCEINLINE HRESULT IWICEnumMetadataItem_Skip(IWICEnumMetadataItem* This,ULONG celt) {
   6379     return This->lpVtbl->Skip(This,celt);
   6380 }
   6381 static FORCEINLINE HRESULT IWICEnumMetadataItem_Reset(IWICEnumMetadataItem* This) {
   6382     return This->lpVtbl->Reset(This);
   6383 }
   6384 static FORCEINLINE HRESULT IWICEnumMetadataItem_Clone(IWICEnumMetadataItem* This,IWICEnumMetadataItem **ppIEnumMetadataItem) {
   6385     return This->lpVtbl->Clone(This,ppIEnumMetadataItem);
   6386 }
   6387 #endif
   6388 #endif
   6389 
   6390 #endif
   6391 
   6392 HRESULT STDMETHODCALLTYPE IWICEnumMetadataItem_Next_Proxy(
   6393     IWICEnumMetadataItem* This,
   6394     ULONG celt,
   6395     PROPVARIANT *rgeltSchema,
   6396     PROPVARIANT *rgeltId,
   6397     PROPVARIANT *rgeltValue,
   6398     ULONG *pceltFetched);
   6399 void __RPC_STUB IWICEnumMetadataItem_Next_Stub(
   6400     IRpcStubBuffer* This,
   6401     IRpcChannelBuffer* pRpcChannelBuffer,
   6402     PRPC_MESSAGE pRpcMessage,
   6403     DWORD* pdwStubPhase);
   6404 HRESULT STDMETHODCALLTYPE IWICEnumMetadataItem_Skip_Proxy(
   6405     IWICEnumMetadataItem* This,
   6406     ULONG celt);
   6407 void __RPC_STUB IWICEnumMetadataItem_Skip_Stub(
   6408     IRpcStubBuffer* This,
   6409     IRpcChannelBuffer* pRpcChannelBuffer,
   6410     PRPC_MESSAGE pRpcMessage,
   6411     DWORD* pdwStubPhase);
   6412 HRESULT STDMETHODCALLTYPE IWICEnumMetadataItem_Reset_Proxy(
   6413     IWICEnumMetadataItem* This);
   6414 void __RPC_STUB IWICEnumMetadataItem_Reset_Stub(
   6415     IRpcStubBuffer* This,
   6416     IRpcChannelBuffer* pRpcChannelBuffer,
   6417     PRPC_MESSAGE pRpcMessage,
   6418     DWORD* pdwStubPhase);
   6419 HRESULT STDMETHODCALLTYPE IWICEnumMetadataItem_Clone_Proxy(
   6420     IWICEnumMetadataItem* This,
   6421     IWICEnumMetadataItem **ppIEnumMetadataItem);
   6422 void __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 
   6430 HRESULT WINAPI WICConvertBitmapSource(REFWICPixelFormatGUID dstFormat, IWICBitmapSource *pISrc, IWICBitmapSource **ppIDst);
   6431 DEFINE_GUID(CLSID_WICBmpDecoder, 0x6b462062,0x7cbf,0x400d,0x9f,0xdb,0x81,0x3d,0xd1,0x0f,0x27,0x78);
   6432 DEFINE_GUID(CLSID_WICPngDecoder, 0x389ea17b,0x5078,0x4cde,0xb6,0xef,0x25,0xc1,0x51,0x75,0xc7,0x51);
   6433 DEFINE_GUID(CLSID_WICIcoDecoder, 0xc61bfcdf,0x2e0f,0x4aad,0xa8,0xd7,0xe0,0x6b,0xaf,0xeb,0xcd,0xfe);
   6434 DEFINE_GUID(CLSID_WICJpegDecoder, 0x9456a480,0xe88b,0x43ea,0x9e,0x73,0x0b,0x2d,0x9b,0x71,0xb1,0xca);
   6435 DEFINE_GUID(CLSID_WICGifDecoder, 0x381dda3c,0x9ce9,0x4834,0xa2,0x3e,0x1f,0x98,0xf8,0xfc,0x52,0xbe);
   6436 DEFINE_GUID(CLSID_WICTiffDecoder, 0xb54e85d9,0xfe23,0x499f,0x8b,0x88,0x6a,0xce,0xa7,0x13,0x75,0x2b);
   6437 DEFINE_GUID(CLSID_WICWmpDecoder, 0xa26cec36,0x234c,0x4950,0xae,0x16,0xe3,0x4a,0xac,0xe7,0x1d,0x0d);
   6438 DEFINE_GUID(CLSID_WICBmpEncoder, 0x69be8bb4,0xd66d,0x47c8,0x86,0x5a,0xed,0x15,0x89,0x43,0x37,0x82);
   6439 DEFINE_GUID(CLSID_WICPngEncoder, 0x27949969,0x876a,0x41d7,0x94,0x47,0x56,0x8f,0x6a,0x35,0xa4,0xdc);
   6440 DEFINE_GUID(CLSID_WICJpegEncoder, 0x1a34f5c1,0x4a5a,0x46dc,0xb6,0x44,0x1f,0x45,0x67,0xe7,0xa6,0x76);
   6441 DEFINE_GUID(CLSID_WICGifEncoder, 0x114f5598,0x0b22,0x40a0,0x86,0xa1,0xc8,0x3e,0xa4,0x95,0xad,0xbd);
   6442 DEFINE_GUID(CLSID_WICTiffEncoder, 0x0131be10,0x2001,0x4c5f,0xa9,0xb0,0xcc,0x88,0xfa,0xb6,0x4c,0xe8);
   6443 DEFINE_GUID(CLSID_WICWmpEncoder, 0xac4ce3cb,0xe1c1,0x44cd,0x82,0x15,0x5a,0x16,0x65,0x50,0x9e,0xc2);
   6444 DEFINE_GUID(CLSID_WICDefaultFormatConverter, 0x1a3f11dc,0xb514,0x4b17,0x8c,0x5f,0x21,0x54,0x51,0x38,0x52,0xf1);
   6445 DEFINE_GUID(GUID_ContainerFormatBmp, 0x0af1d87e,0xfcfe,0x4188,0xbd,0xeb,0xa7,0x90,0x64,0x71,0xcb,0xe3);
   6446 DEFINE_GUID(GUID_ContainerFormatPng, 0x1b7cfaf4,0x713f,0x473c,0xbb,0xcd,0x61,0x37,0x42,0x5f,0xae,0xaf);
   6447 DEFINE_GUID(GUID_ContainerFormatIco, 0xa3a860c4,0x338f,0x4c17,0x91,0x9a,0xfb,0xa4,0xb5,0x62,0x8f,0x21);
   6448 DEFINE_GUID(GUID_ContainerFormatJpeg, 0x19e4a5aa,0x5662,0x4fc5,0xa0,0xc0,0x17,0x58,0x02,0x8e,0x10,0x57);
   6449 DEFINE_GUID(GUID_ContainerFormatTiff, 0x163bcc30,0xe2e9,0x4f0b,0x96,0x1d,0xa3,0xe9,0xfd,0xb7,0x88,0xa3);
   6450 DEFINE_GUID(GUID_ContainerFormatGif, 0x1f8a5601,0x7d4d,0x4cbd,0x9c,0x82,0x1b,0xc8,0xd4,0xee,0xb9,0xa5);
   6451 DEFINE_GUID(GUID_ContainerFormatWmp, 0x57a37caa,0x367a,0x4540,0x91,0x6b,0xf1,0x83,0xc5,0x09,0x3a,0x4b);
   6452 DEFINE_GUID(GUID_VendorMicrosoft, 0xf0e749ca,0xedef,0x4589,0xa7,0x3a,0xee,0x0e,0x62,0x6a,0x2a,0x2b);
   6453 DEFINE_GUID(CLSID_WICImagingCategories, 0xfae3d380,0xfea4,0x4623,0x8c,0x75,0xc6,0xb6,0x11,0x10,0xb6,0x81);
   6454 DEFINE_GUID(CATID_WICBitmapDecoders, 0x7ed96837,0x96f0,0x4812,0xb2,0x11,0xf1,0x3c,0x24,0x11,0x7e,0xd3);
   6455 DEFINE_GUID(CATID_WICBitmapEncoders, 0xac757296,0x3522,0x4e11,0x98,0x62,0xc1,0x7b,0xe5,0xa1,0x76,0x7e);
   6456 DEFINE_GUID(CATID_WICFormatConverters, 0x7835eae8,0xbf14,0x49d1,0x93,0xce,0x53,0x3a,0x40,0x7b,0x22,0x48);
   6457 DEFINE_GUID(CATID_WICMetadataReader, 0x05af94d8,0x7174,0x4cd2,0xbe,0x4a,0x41,0x24,0xb8,0x0e,0xe4,0xb8);
   6458 DEFINE_GUID(CATID_WICPixelFormats, 0x2b46e70f,0xcda7,0x473e,0x89,0xf6,0xdc,0x96,0x30,0xa2,0x39,0x0b);
   6459 /* Begin additional prototypes for all interfaces */
   6460 
   6461 ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
   6462 unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
   6463 unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
   6464 void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
   6465 ULONG           __RPC_USER LPSAFEARRAY_UserSize     (ULONG *, ULONG, LPSAFEARRAY *);
   6466 unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal  (ULONG *, unsigned char *, LPSAFEARRAY *);
   6467 unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal(ULONG *, unsigned char *, LPSAFEARRAY *);
   6468 void            __RPC_USER LPSAFEARRAY_UserFree     (ULONG *, LPSAFEARRAY *);
   6469 ULONG           __RPC_USER HBITMAP_UserSize     (ULONG *, ULONG, HBITMAP *);
   6470 unsigned char * __RPC_USER HBITMAP_UserMarshal  (ULONG *, unsigned char *, HBITMAP *);
   6471 unsigned char * __RPC_USER HBITMAP_UserUnmarshal(ULONG *, unsigned char *, HBITMAP *);
   6472 void            __RPC_USER HBITMAP_UserFree     (ULONG *, HBITMAP *);
   6473 ULONG           __RPC_USER HPALETTE_UserSize     (ULONG *, ULONG, HPALETTE *);
   6474 unsigned char * __RPC_USER HPALETTE_UserMarshal  (ULONG *, unsigned char *, HPALETTE *);
   6475 unsigned char * __RPC_USER HPALETTE_UserUnmarshal(ULONG *, unsigned char *, HPALETTE *);
   6476 void            __RPC_USER HPALETTE_UserFree     (ULONG *, HPALETTE *);
   6477 ULONG           __RPC_USER HICON_UserSize     (ULONG *, ULONG, HICON *);
   6478 unsigned char * __RPC_USER HICON_UserMarshal  (ULONG *, unsigned char *, HICON *);
   6479 unsigned char * __RPC_USER HICON_UserUnmarshal(ULONG *, unsigned char *, HICON *);
   6480 void            __RPC_USER HICON_UserFree     (ULONG *, HICON *);
   6481 
   6482 /* End additional prototypes */
   6483 
   6484 #ifdef __cplusplus
   6485 }
   6486 #endif
   6487 
   6488 #endif /* __wincodec_h__ */
   6489