source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/wincodecsdk.h@ 1180

Last change on this file since 1180 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 104.8 KB
Line 
1/*** Autogenerated by WIDL 6.4 from include/wincodecsdk.idl - Do not edit ***/
2
3#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__
5#define __REQUIRED_RPCNDR_H_VERSION__ 475
6#endif
7#include <rpc.h>
8#include <rpcndr.h>
9#endif
10
11#ifndef COM_NO_WINDOWS_H
12#include <windows.h>
13#include <ole2.h>
14#endif
15
16#ifndef __wincodecsdk_h__
17#define __wincodecsdk_h__
18
19/* Forward declarations */
20
21#ifndef __IWICMetadataHandlerInfo_FWD_DEFINED__
22#define __IWICMetadataHandlerInfo_FWD_DEFINED__
23typedef interface IWICMetadataHandlerInfo IWICMetadataHandlerInfo;
24#ifdef __cplusplus
25interface IWICMetadataHandlerInfo;
26#endif /* __cplusplus */
27#endif
28
29#ifndef __IWICMetadataReader_FWD_DEFINED__
30#define __IWICMetadataReader_FWD_DEFINED__
31typedef interface IWICMetadataReader IWICMetadataReader;
32#ifdef __cplusplus
33interface IWICMetadataReader;
34#endif /* __cplusplus */
35#endif
36
37#ifndef __IWICMetadataReaderInfo_FWD_DEFINED__
38#define __IWICMetadataReaderInfo_FWD_DEFINED__
39typedef interface IWICMetadataReaderInfo IWICMetadataReaderInfo;
40#ifdef __cplusplus
41interface IWICMetadataReaderInfo;
42#endif /* __cplusplus */
43#endif
44
45#ifndef __IWICMetadataWriter_FWD_DEFINED__
46#define __IWICMetadataWriter_FWD_DEFINED__
47typedef interface IWICMetadataWriter IWICMetadataWriter;
48#ifdef __cplusplus
49interface IWICMetadataWriter;
50#endif /* __cplusplus */
51#endif
52
53#ifndef __IWICMetadataWriterInfo_FWD_DEFINED__
54#define __IWICMetadataWriterInfo_FWD_DEFINED__
55typedef interface IWICMetadataWriterInfo IWICMetadataWriterInfo;
56#ifdef __cplusplus
57interface IWICMetadataWriterInfo;
58#endif /* __cplusplus */
59#endif
60
61#ifndef __IWICMetadataBlockReader_FWD_DEFINED__
62#define __IWICMetadataBlockReader_FWD_DEFINED__
63typedef interface IWICMetadataBlockReader IWICMetadataBlockReader;
64#ifdef __cplusplus
65interface IWICMetadataBlockReader;
66#endif /* __cplusplus */
67#endif
68
69#ifndef __IWICMetadataBlockWriter_FWD_DEFINED__
70#define __IWICMetadataBlockWriter_FWD_DEFINED__
71typedef interface IWICMetadataBlockWriter IWICMetadataBlockWriter;
72#ifdef __cplusplus
73interface IWICMetadataBlockWriter;
74#endif /* __cplusplus */
75#endif
76
77#ifndef __IWICPersistStream_FWD_DEFINED__
78#define __IWICPersistStream_FWD_DEFINED__
79typedef interface IWICPersistStream IWICPersistStream;
80#ifdef __cplusplus
81interface IWICPersistStream;
82#endif /* __cplusplus */
83#endif
84
85#ifndef __IWICComponentFactory_FWD_DEFINED__
86#define __IWICComponentFactory_FWD_DEFINED__
87typedef interface IWICComponentFactory IWICComponentFactory;
88#ifdef __cplusplus
89interface IWICComponentFactory;
90#endif /* __cplusplus */
91#endif
92
93/* Headers for imported files */
94
95#include <wtypes.h>
96#include <wincodec.h>
97
98#ifdef __cplusplus
99extern "C" {
100#endif
101
102typedef enum WICPersistOptions {
103 WICPersistOptionDefault = 0x0,
104 WICPersistOptionLittleEndian = 0x0,
105 WICPersistOptionBigEndian = 0x1,
106 WICPersistOptionStrictFormat = 0x2,
107 WICPersistOptionNoCacheStream = 0x4,
108 WICPersistOptionPreferUTF8 = 0x8,
109 WICPersistOptionMask = 0xffff
110} WICPersistOptions;
111typedef enum WICMetadataCreationOptions {
112 WICMetadataCreationDefault = 0x0,
113 WICMetadataCreationAllowUnknown = WICMetadataCreationDefault,
114 WICMetadataCreationFailUnknown = 0x10000,
115 WICMetadataCreationMask = 0xffff0000
116} WICMetadataCreationOptions;
117DEFINE_GUID(GUID_MetadataFormatUnknown, 0xa45e592f,0x9078,0x4a7c,0xad,0xb5,0x4e,0xdc,0x4f,0xd6,0x1b,0x1f);
118DEFINE_GUID(GUID_MetadataFormatChunkcHRM, 0x9db3655b,0x2842,0x44b3,0x80,0x67,0x12,0xe9,0xb3,0x75,0x55,0x6a);
119DEFINE_GUID(GUID_MetadataFormatChunkgAMA, 0xf00935a5,0x1d5d,0x4cd1,0x81,0xb2,0x93,0x24,0xd7,0xec,0xa7,0x81);
120DEFINE_GUID(GUID_MetadataFormatChunktEXt, 0x568d8936,0xc0a9,0x4923,0x90,0x5d,0xdf,0x2b,0x38,0x23,0x8f,0xbc);
121DEFINE_GUID(GUID_MetadataFormatChunktIME, 0x6b00ae2d,0xe24b,0x460a,0x98,0xb6,0x87,0x8b,0xd0,0x30,0x72,0xfd);
122DEFINE_GUID(GUID_MetadataFormatIfd, 0x537396c6,0x2d8a,0x4bb6,0x9b,0xf8,0x2f,0x0a,0x8e,0x2a,0x3a,0xdf);
123DEFINE_GUID(GUID_MetadataFormatExif, 0x1c3c4f9d,0xb84a,0x467d,0x94,0x93,0x36,0xcf,0xbd,0x59,0xea,0x57);
124DEFINE_GUID(GUID_MetadataFormatXMP, 0xbb5acc38,0xf216,0x4cec,0xa6,0xc5,0x5f,0x6e,0x73,0x97,0x63,0xa9);
125DEFINE_GUID(GUID_MetadataFormatXMPStruct, 0x22383cf1,0xed17,0x4e2e,0xaf,0x17,0xd8,0x5b,0x8f,0x6b,0x30,0xd0);
126DEFINE_GUID(GUID_MetadataFormatIMD, 0xbd2bb086,0x4d52,0x48dd,0x96,0x77,0xdb,0x48,0x3e,0x85,0xae,0x8f);
127DEFINE_GUID(GUID_MetadataFormatLSD, 0xe256031e,0x6299,0x4929,0xb9,0x8d,0x5a,0xc8,0x84,0xaf,0xba,0x92);
128DEFINE_GUID(GUID_MetadataFormatGCE, 0x2a25cad8,0xdeeb,0x4c69,0xa7,0x88,0x0e,0xc2,0x26,0x6d,0xca,0xfd);
129DEFINE_GUID(GUID_MetadataFormatAPE, 0x2e043dc2,0xc967,0x4e05,0x87,0x5e,0x61,0x8b,0xf6,0x7e,0x85,0xc3);
130DEFINE_GUID(GUID_MetadataFormatGifComment, 0xc4b6e0e0,0xcfb4,0x4ad3,0xab,0x33,0x9a,0xad,0x23,0x55,0xa3,0x4a);
131DEFINE_GUID(GUID_MetadataFormatSubIfd, 0x58a2e128,0x2db9,0x4e57,0xbb,0x14,0x51,0x77,0x89,0x1e,0xd3,0x31);
132DEFINE_GUID(GUID_MetadataFormatGps, 0x7134ab8a,0x9351,0x44ad,0xaf,0x62,0x44,0x8d,0xb6,0xb5,0x02,0xec);
133DEFINE_GUID(GUID_MetadataFormatInterop, 0xed686f8e,0x681f,0x4c8b,0xbd,0x41,0xa8,0xad,0xdb,0xf6,0xb3,0xfc);
134DEFINE_GUID(GUID_MetadataFormatApp0, 0x79007028,0x268d,0x45d6,0xa3,0xc2,0x35,0x4e,0x6a,0x50,0x4b,0xc9);
135DEFINE_GUID(GUID_MetadataFormatApp1, 0x8fd3dfc3,0xf951,0x492b,0x81,0x7f,0x69,0xc2,0xe6,0xd9,0xa5,0xb0);
136DEFINE_GUID(GUID_MetadataFormatApp13, 0x326556a2,0xf502,0x4354,0x9c,0xc0,0x8e,0x3f,0x48,0xea,0xf6,0xb5);
137DEFINE_GUID(GUID_MetadataFormatIPTC, 0x4fab0914,0xe129,0x4087,0xa1,0xd1,0xbc,0x81,0x2d,0x45,0xa7,0xb5);
138DEFINE_GUID(GUID_MetadataFormatIRB, 0x16100d66,0x8570,0x4bb9,0xb9,0x2d,0xfd,0xa4,0xb2,0x3e,0xce,0x67);
139DEFINE_GUID(GUID_MetadataFormat8BIMIPTC, 0x0010568c,0x0852,0x4e6a,0xb1,0x91,0x5c,0x33,0xac,0x5b,0x04,0x30);
140DEFINE_GUID(GUID_MetadataFormat8BIMResolutionInfo, 0x739f305d,0x81db,0x43cb,0xac,0x5e,0x55,0x01,0x3e,0xf9,0xf0,0x03);
141DEFINE_GUID(GUID_MetadataFormat8BIMIPTCDigest, 0x1ca32285,0x9ccd,0x4786,0x8b,0xd8,0x79,0x53,0x9d,0xb6,0xa0,0x06);
142DEFINE_GUID(GUID_MetadataFormatThumbnail, 0x243dcee9,0x8703,0x40ee,0x8e,0xf0,0x22,0xa6,0x0,0xb8,0x5,0x8c);
143DEFINE_GUID(GUID_MetadataFormatXMPBag, 0x833cca5f,0xdcb7,0x4516,0x80,0x6f,0x65,0x96,0xab,0x26,0xdc,0xe4);
144DEFINE_GUID(GUID_MetadataFormatXMPSeq, 0x63e8df02,0xeb6c,0x456c,0xa2,0x24,0xb2,0x5e,0x79,0x4f,0xd6,0x48);
145DEFINE_GUID(GUID_MetadataFormatXMPAlt, 0x7b08a675,0x91aa,0x481b,0xa7,0x98,0x4d,0xa9,0x49,0x08,0x61,0x3b);
146DEFINE_GUID(GUID_MetadataFormatJpegChrominance, 0xf73d0dcf,0xcec6,0x4f85,0x9b,0x0e,0x1c,0x39,0x56,0xb1,0xbe,0xf7);
147DEFINE_GUID(GUID_MetadataFormatJpegLuminance, 0x86908007,0xedfc,0x4860,0x8d,0x4b,0x4e,0xe6,0xe8,0x3e,0x60,0x58);
148DEFINE_GUID(GUID_MetadataFormatJpegComment, 0x220e5f33,0xafd3,0x474e,0x9d,0x31,0x7d,0x4f,0xe7,0x30,0xf5,0x57);
149DEFINE_GUID(GUID_MetadataFormatChunkbKGD, 0xe14d3571,0x6b47,0x4dea,0xb6,0xa,0x87,0xce,0xa,0x78,0xdf,0xb7);
150DEFINE_GUID(GUID_MetadataFormatChunkiTXt, 0xc2bec729,0xb68,0x4b77,0xaa,0xe,0x62,0x95,0xa6,0xac,0x18,0x14);
151DEFINE_GUID(GUID_MetadataFormatChunkhIST, 0xc59a82da,0xdb74,0x48a4,0xbd,0x6a,0xb6,0x9c,0x49,0x31,0xef,0x95);
152DEFINE_GUID(GUID_MetadataFormatChunkiCCP, 0xeb4349ab,0xb685,0x450f,0x91,0xb5,0xe8,0x2,0xe8,0x92,0x53,0x6c);
153DEFINE_GUID(GUID_MetadataFormatChunksRGB, 0xc115fd36,0xcc6f,0x4e3f,0x83,0x63,0x52,0x4b,0x87,0xc6,0xb0,0xd9);
154DEFINE_GUID(GUID_MetadataFormatDds, 0x4a064603,0x8c33,0x4e60,0x9c,0x29,0x13,0x62,0x31,0x70,0x2d,0x08);
155DEFINE_GUID(GUID_MetadataFormatHeif, 0x817ef3e1,0x1288,0x45f4,0xa8,0x52,0x26,0x0d,0x9e,0x7c,0xce,0x83);
156DEFINE_GUID(GUID_MetadataFormatHeifHDR, 0x568b8d8a,0x1e65,0x438c,0x89,0x68,0xd6,0x0e,0x10,0x12,0xbe,0xb9);
157DEFINE_GUID(GUID_MetadataFormatWebpANIM, 0x6dc4fda6,0x78e6,0x4102,0xae,0x35,0xbc,0xfa,0x1e,0xdc,0xc7,0x8b);
158DEFINE_GUID(GUID_MetadataFormatWebpANMF, 0x43c105ee,0xb93b,0x4abb,0xb0,0x03,0xa0,0x8c,0x0d,0x87,0x04,0x71);
159DEFINE_GUID(CLSID_WICUnknownMetadataReader, 0x699745c2,0x5066,0x4b82,0xa8,0xe3,0xd4,0x04,0x78,0xdb,0xec,0x8c);
160DEFINE_GUID(CLSID_WICUnknownMetadataWriter, 0xa09cca86,0x27ba,0x4f39,0x90,0x53,0x12,0x1f,0xa4,0xdc,0x08,0xfc);
161DEFINE_GUID(CLSID_WICPngBkgdMetadataReader, 0x0ce7a4a6,0x03e8,0x4a60,0x9d,0x15,0x28,0x2e,0xf3,0x2e,0xe7,0xda);
162DEFINE_GUID(CLSID_WICPngBkgdMetadataWriter, 0x68e3f2fd,0x31ae,0x4441,0xbb,0x6a,0xfd,0x70,0x47,0x52,0x5f,0x90);
163DEFINE_GUID(CLSID_WICPngChrmMetadataReader, 0xf90b5f36,0x367b,0x402a,0x9d,0xd1,0xbc,0x0f,0xd5,0x9d,0x8f,0x62);
164DEFINE_GUID(CLSID_WICPngChrmMetadataWriter, 0xe23ce3eb,0x5608,0x4e83,0xbc,0xef,0x27,0xb1,0x98,0x7e,0x51,0xd7);
165DEFINE_GUID(CLSID_WICPngGamaMetadataReader, 0x3692ca39,0xe082,0x4350,0x9e,0x1f,0x37,0x04,0xcb,0x08,0x3c,0xd5);
166DEFINE_GUID(CLSID_WICPngGamaMetadataWriter, 0xff036d13,0x5d4b,0x46dd,0xb1,0x0f,0x10,0x66,0x93,0xd9,0xfe,0x4f);
167DEFINE_GUID(CLSID_WICPngHistMetadataReader, 0x877a0bb7,0xa313,0x4491,0x87,0xb5,0x2e,0x6d,0x05,0x94,0xf5,0x20);
168DEFINE_GUID(CLSID_WICPngHistMetadataWriter, 0x8a03e749,0x672e,0x446e,0xbf,0x1f,0x2c,0x11,0xd2,0x33,0xb6,0xff);
169DEFINE_GUID(CLSID_WICPngIccpMetadataReader, 0xf5d3e63b,0xcb0f,0x4628,0xa4,0x78,0x6d,0x82,0x44,0xbe,0x36,0xb1);
170DEFINE_GUID(CLSID_WICPngIccpMetadataWriter, 0x16671e5f,0x0ce6,0x4cc4,0x97,0x68,0xe8,0x9f,0xe5,0x01,0x8a,0xde);
171DEFINE_GUID(CLSID_WICPngItxtMetadataReader, 0xaabfb2fa,0x3e1e,0x4a8f,0x89,0x77,0x55,0x56,0xfb,0x94,0xea,0x23);
172DEFINE_GUID(CLSID_WICPngItxtMetadataWriter, 0x31879719,0xe751,0x4df8,0x98,0x1d,0x68,0xdf,0xf6,0x77,0x04,0xed);
173DEFINE_GUID(CLSID_WICPngSrgbMetadataReader, 0xfb40360c,0x547e,0x4956,0xa3,0xb9,0xd4,0x41,0x88,0x59,0xba,0x66);
174DEFINE_GUID(CLSID_WICPngSrgbMetadataWriter, 0xa6ee35c6,0x87ec,0x47df,0x9f,0x22,0x1d,0x5a,0xad,0x84,0x0c,0x82);
175DEFINE_GUID(CLSID_WICPngTextMetadataReader, 0x4b59afcc,0xb8c3,0x408a,0xb6,0x70,0x89,0xe5,0xfa,0xb6,0xfd,0xa7);
176DEFINE_GUID(CLSID_WICPngTextMetadataWriter, 0xb5ebafb9,0x253e,0x4a72,0xa7,0x44,0x07,0x62,0xd2,0x68,0x56,0x83);
177DEFINE_GUID(CLSID_WICPngTimeMetadataReader, 0xd94edf02,0xefe5,0x4f0d,0x85,0xc8,0xf5,0xa6,0x8b,0x30,0x00,0xb1);
178DEFINE_GUID(CLSID_WICPngTimeMetadataWriter, 0x1ab78400,0xb5a3,0x4d91,0x8a,0xce,0x33,0xfc,0xd1,0x49,0x9b,0xe6);
179DEFINE_GUID(CLSID_WICIfdMetadataReader, 0x8f914656,0x9d0a,0x4eb2,0x90,0x19,0x0b,0xf9,0x6d,0x8a,0x9e,0xe6);
180DEFINE_GUID(CLSID_WICIfdMetadataWriter, 0xb1ebfc28,0xc9bd,0x47a2,0x8d,0x33,0xb9,0x48,0x76,0x97,0x77,0xa7);
181DEFINE_GUID(CLSID_WICExifMetadataReader, 0xd9403860,0x297f,0x4a49,0xbf,0x9b,0x77,0x89,0x81,0x50,0xa4,0x42);
182DEFINE_GUID(CLSID_WICExifMetadataWriter, 0xc9a14cda,0xc339,0x460b,0x90,0x78,0xd4,0xde,0xbc,0xfa,0xbe,0x91);
183DEFINE_GUID(CLSID_WICXMPMetadataReader, 0x72b624bf,0xae11,0x4948,0xa6,0x5c,0x35,0x1e,0xb0,0x82,0x94,0x19);
184DEFINE_GUID(CLSID_WICXMPMetadataWriter, 0x1765e14e,0x1bd4,0x462e,0xb6,0xb1,0x59,0x0b,0xf1,0x26,0x2a,0xc6);
185DEFINE_GUID(CLSID_WICXMPAltMetadataReader, 0xaa94dcc2,0xb8b0,0x4898,0xb8,0x35,0x00,0x0a,0xab,0xd7,0x43,0x93);
186DEFINE_GUID(CLSID_WICXMPAltMetadataWriter, 0x076c2a6c,0xf78f,0x4c46,0xa7,0x23,0x35,0x83,0xe7,0x08,0x76,0xea);
187DEFINE_GUID(CLSID_WICXMPBagMetadataReader, 0xe7e79a30,0x4f2c,0x4fab,0x8d,0x00,0x39,0x4f,0x2d,0x6b,0xbe,0xbe);
188DEFINE_GUID(CLSID_WICXMPBagMetadataWriter, 0xed822c8c,0xd6be,0x4301,0xa6,0x31,0x0e,0x14,0x16,0xba,0xd2,0x8f);
189DEFINE_GUID(CLSID_WICXMPSeqMetadataReader, 0x7f12e753,0xfc71,0x43d7,0xa5,0x1d,0x92,0xf3,0x59,0x77,0xab,0xb5);
190DEFINE_GUID(CLSID_WICXMPSeqMetadataWriter, 0x6d68d1de,0xd432,0x4b0f,0x92,0x3a,0x09,0x11,0x83,0xa9,0xbd,0xa7);
191DEFINE_GUID(CLSID_WICXMPStructMetadataReader, 0x01b90d9a,0x8209,0x47f7,0x9c,0x52,0xe1,0x24,0x4b,0xf5,0x0c,0xed);
192DEFINE_GUID(CLSID_WICXMPStructMetadataWriter, 0x22c21f93,0x7ddb,0x411c,0x9b,0x17,0xc5,0xb7,0xbd,0x06,0x4a,0xbc);
193DEFINE_GUID(CLSID_WICLSDMetadataReader, 0x41070793,0x59e4,0x479a,0xa1,0xf7,0x95,0x4a,0xdc,0x2e,0xf5,0xfc);
194DEFINE_GUID(CLSID_WICLSDMetadataWriter, 0x73c037e7,0xe5d9,0x4954,0x87,0x6a,0x6d,0xa8,0x1d,0x6e,0x57,0x68);
195DEFINE_GUID(CLSID_WICIMDMetadataReader, 0x7447a267,0x0015,0x42c8,0xa8,0xf1,0xfb,0x3b,0x94,0xc6,0x83,0x61);
196DEFINE_GUID(CLSID_WICIMDMetadataWriter, 0x8c89071f,0x452e,0x4e95,0x96,0x82,0x9d,0x10,0x24,0x62,0x71,0x72);
197DEFINE_GUID(CLSID_WICGCEMetadataReader, 0xb92e345d,0xf52d,0x41f3,0xb5,0x62,0x08,0x1b,0xc7,0x72,0xe3,0xb9);
198DEFINE_GUID(CLSID_WICGCEMetadataWriter, 0xaf95dc76,0x16b2,0x47f4,0xb3,0xea,0x3c,0x31,0x79,0x66,0x93,0xe7);
199DEFINE_GUID(CLSID_WICAPEMetadataReader, 0x1767b93a,0xb021,0x44ea,0x92,0x0f,0x86,0x3c,0x11,0xf4,0xf7,0x68);
200DEFINE_GUID(CLSID_WICAPEMetadataWriter, 0xbd6edfca,0x2890,0x482f,0xb2,0x33,0x8d,0x73,0x39,0xa1,0xcf,0x8d);
201DEFINE_GUID(CLSID_WICGifCommentMetadataReader, 0x32557d3b,0x69dc,0x4f95,0x83,0x6e,0xf5,0x97,0x2b,0x2f,0x61,0x59);
202DEFINE_GUID(CLSID_WICGifCommentMetadataWriter, 0xa02797fc,0xc4ae,0x418c,0xaf,0x95,0xe6,0x37,0xc7,0xea,0xd2,0xa1);
203DEFINE_GUID(CLSID_WICApp0MetadataWriter, 0xf3c633a2,0x46c8,0x498e,0x8f,0xbb,0xcc,0x6f,0x72,0x1b,0xbc,0xde);
204DEFINE_GUID(CLSID_WICApp0MetadataReader, 0x43324b33,0xa78f,0x480f,0x91,0x11,0x96,0x38,0xaa,0xcc,0xc8,0x32);
205DEFINE_GUID(CLSID_WICApp1MetadataWriter, 0xee366069,0x1832,0x420f,0xb3,0x81,0x04,0x79,0xad,0x06,0x6f,0x19);
206DEFINE_GUID(CLSID_WICApp1MetadataReader, 0xdde33513,0x774e,0x4bcd,0xae,0x79,0x02,0xf4,0xad,0xfe,0x62,0xfc);
207DEFINE_GUID(CLSID_WICApp13MetadataWriter, 0x7b19a919,0xa9d6,0x49e5,0xbd,0x45,0x02,0xc3,0x4e,0x4e,0x4c,0xd5);
208DEFINE_GUID(CLSID_WICApp13MetadataReader, 0xaa7e3c50,0x864c,0x4604,0xbc,0x04,0x8b,0x0b,0x76,0xe6,0x37,0xf6);
209DEFINE_GUID(CLSID_WICSubIfdMetadataReader, 0x50d42f09,0xecd1,0x4b41,0xb6,0x5d,0xda,0x1f,0xda,0xa7,0x56,0x63);
210DEFINE_GUID(CLSID_WICSubIfdMetadataWriter, 0x8ade5386,0x8e9b,0x4f4c,0xac,0xf2,0xf0,0x00,0x87,0x06,0xb2,0x38);
211DEFINE_GUID(CLSID_WICGpsMetadataReader, 0x3697790b,0x223b,0x484e,0x99,0x25,0xc4,0x86,0x92,0x18,0xf1,0x7a);
212DEFINE_GUID(CLSID_WICGpsMetadataWriter, 0xcb8c13e4,0x62b5,0x4c96,0xa4,0x8b,0x6b,0xa6,0xac,0xe3,0x9c,0x76);
213DEFINE_GUID(CLSID_WICInteropMetadataReader, 0xb5c8b898,0x0074,0x459f,0xb7,0x00,0x86,0x0d,0x46,0x51,0xea,0x14);
214DEFINE_GUID(CLSID_WICInteropMetadataWriter, 0x122ec645,0xcd7e,0x44d8,0xb1,0x86,0x2c,0x8c,0x20,0xc3,0xb5,0x0f);
215DEFINE_GUID(CLSID_WICThumbnailMetadataReader, 0xfb012959,0xf4f6,0x44d7,0x9d,0x09,0xda,0xa0,0x87,0xa9,0xdb,0x57);
216DEFINE_GUID(CLSID_WICThumbnailMetadataWriter, 0xd049b20c,0x5dd0,0x44fe,0xb0,0xb3,0x8f,0x92,0xc8,0xe6,0xd0,0x80);
217DEFINE_GUID(CLSID_WICIPTCMetadataReader, 0x03012959,0xf4f6,0x44d7,0x9d,0x09,0xda,0xa0,0x87,0xa9,0xdb,0x57);
218DEFINE_GUID(CLSID_WICIPTCMetadataWriter, 0x1249b20c,0x5dd0,0x44fe,0xb0,0xb3,0x8f,0x92,0xc8,0xe6,0xd0,0x80);
219DEFINE_GUID(CLSID_WICIRBMetadataReader, 0xd4dcd3d7,0xb4c2,0x47d9,0xa6,0xbf,0xb8,0x9b,0xa3,0x96,0xa4,0xa3);
220DEFINE_GUID(CLSID_WICIRBMetadataWriter, 0x5c5c1935,0x0235,0x4434,0x80,0xbc,0x25,0x1b,0xc1,0xec,0x39,0xc6);
221DEFINE_GUID(CLSID_WIC8BIMIPTCMetadataReader, 0x0010668c,0x0801,0x4da6,0xa4,0xa4,0x82,0x65,0x22,0xb6,0xd2,0x8f);
222DEFINE_GUID(CLSID_WIC8BIMIPTCMetadataWriter, 0x00108226,0xee41,0x44a2,0x9e,0x9c,0x4b,0xe4,0xd5,0xb1,0xd2,0xcd);
223DEFINE_GUID(CLSID_WIC8BIMIPTCDigestMetadataReader, 0x02805f1e,0xd5aa,0x415b,0x82,0xc5,0x61,0xc0,0x33,0xa9,0x88,0xa6);
224DEFINE_GUID(CLSID_WIC8BIMIPTCDigestMetadataWriter, 0x2db5e62b,0x0d67,0x495f,0x8f,0x9d,0xc2,0xf0,0x18,0x86,0x47,0xac);
225DEFINE_GUID(CLSID_WIC8BIMResolutionInfoMetadataReader, 0x5805137a,0xe348,0x4f7c,0xb3,0xcc,0x6d,0xb9,0x96,0x5a,0x05,0x99);
226DEFINE_GUID(CLSID_WIC8BIMResolutionInfoMetadataWriter, 0x4ff2fe0e,0xe74a,0x4b71,0x98,0xc4,0xab,0x7d,0xc1,0x67,0x07,0xba);
227DEFINE_GUID(CLSID_WICJpegChrominanceMetadataReader, 0x50b1904b,0xf28f,0x4574,0x93,0xf4,0x0b,0xad,0xe8,0x2c,0x69,0xe9);
228DEFINE_GUID(CLSID_WICJpegChrominanceMetadataWriter, 0x3ff566f0,0x6e6b,0x49d4,0x96,0xe6,0xb7,0x88,0x86,0x69,0x2c,0x62);
229DEFINE_GUID(CLSID_WICJpegCommentMetadataReader, 0x9f66347c,0x60c4,0x4c4d,0xab,0x58,0xd2,0x35,0x86,0x85,0xf6,0x07);
230DEFINE_GUID(CLSID_WICJpegCommentMetadataWriter, 0xe573236f,0x55b1,0x4eda,0x81,0xea,0x9f,0x65,0xdb,0x02,0x90,0xd3);
231DEFINE_GUID(CLSID_WICJpegLuminanceMetadataReader, 0x356f2f88,0x05a6,0x4728,0xb9,0xa4,0x1b,0xfb,0xce,0x04,0xd8,0x38);
232DEFINE_GUID(CLSID_WICJpegLuminanceMetadataWriter, 0x1d583abc,0x8a0e,0x4657,0x99,0x82,0xa3,0x80,0xca,0x58,0xfb,0x4b);
233DEFINE_GUID(CLSID_WICDdsMetadataReader, 0x276c88ca,0x7533,0x4a86,0xb6,0x76,0x66,0xb3,0x60,0x80,0xd4,0x84);
234DEFINE_GUID(CLSID_WICDdsMetadataWriter, 0xfd688bbd,0x31ed,0x4db7,0xa7,0x23,0x93,0x49,0x27,0xd3,0x83,0x67);
235DEFINE_GUID(CLSID_WICHeifMetadataReader, 0xacddfc3f,0x85ec,0x41bc,0xbd,0xef,0x1b,0xc2,0x62,0xe4,0xdb,0x05);
236DEFINE_GUID(CLSID_WICHeifMetadataWriter, 0x3ae45e79,0x40bc,0x4401,0xac,0xe5,0xdd,0x3c,0xb1,0x6e,0x6a,0xfe);
237DEFINE_GUID(CLSID_WICHeifHDRMetadataReader, 0x2438de3d,0x94d9,0x4be8,0x84,0xa8,0x4d,0xe9,0x5a,0x57,0x5e,0x75);
238DEFINE_GUID(CLSID_WICWebpAnimMetadataReader, 0x076f9911,0xa348,0x465c,0xa8,0x07,0xa2,0x52,0xf3,0xf2,0xd3,0xde);
239DEFINE_GUID(CLSID_WICWebpAnmfMetadataReader, 0x85a10b03,0xc9f6,0x439f,0xbe,0x5e,0xc0,0xfb,0xef,0x67,0x80,0x7c);
240typedef struct WICMetadataPattern {
241 ULARGE_INTEGER Position;
242 ULONG Length;
243 BYTE *Pattern;
244 BYTE *Mask;
245 ULARGE_INTEGER DataOffset;
246} WICMetadataPattern;
247typedef struct WICMetadataHeader {
248 ULARGE_INTEGER Position;
249 ULONG Length;
250 BYTE *Header;
251 ULARGE_INTEGER DataOffset;
252} WICMetadataHeader;
253/*****************************************************************************
254 * IWICMetadataHandlerInfo interface
255 */
256#ifndef __IWICMetadataHandlerInfo_INTERFACE_DEFINED__
257#define __IWICMetadataHandlerInfo_INTERFACE_DEFINED__
258
259DEFINE_GUID(IID_IWICMetadataHandlerInfo, 0xaba958bf, 0xc672, 0x44d1, 0x8d,0x61, 0xce,0x6d,0xf2,0xe6,0x82,0xc2);
260#if defined(__cplusplus) && !defined(CINTERFACE)
261MIDL_INTERFACE("aba958bf-c672-44d1-8d61-ce6df2e682c2")
262IWICMetadataHandlerInfo : public IWICComponentInfo
263{
264 virtual HRESULT STDMETHODCALLTYPE GetMetadataFormat(
265 GUID *pguidMetadataFormat) = 0;
266
267 virtual HRESULT STDMETHODCALLTYPE GetContainerFormats(
268 UINT cContainerFormats,
269 GUID *pguidContainerFormats,
270 UINT *pcchActual) = 0;
271
272 virtual HRESULT STDMETHODCALLTYPE GetDeviceManufacturer(
273 UINT cchDeviceManufacturer,
274 WCHAR *wzDeviceManufacturer,
275 UINT *pcchActual) = 0;
276
277 virtual HRESULT STDMETHODCALLTYPE GetDeviceModels(
278 UINT cchDeviceModels,
279 WCHAR *wzDeviceModels,
280 UINT *pcchActual) = 0;
281
282 virtual HRESULT STDMETHODCALLTYPE DoesRequireFullStream(
283 WINBOOL *pfRequiresFullStream) = 0;
284
285 virtual HRESULT STDMETHODCALLTYPE DoesSupportPadding(
286 WINBOOL *pfSupportsPadding) = 0;
287
288 virtual HRESULT STDMETHODCALLTYPE DoesRequireFixedSize(
289 WINBOOL *pfFixedSize) = 0;
290
291};
292#ifdef __CRT_UUID_DECL
293__CRT_UUID_DECL(IWICMetadataHandlerInfo, 0xaba958bf, 0xc672, 0x44d1, 0x8d,0x61, 0xce,0x6d,0xf2,0xe6,0x82,0xc2)
294#endif
295#else
296typedef struct IWICMetadataHandlerInfoVtbl {
297 BEGIN_INTERFACE
298
299 /*** IUnknown methods ***/
300 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
301 IWICMetadataHandlerInfo *This,
302 REFIID riid,
303 void **ppvObject);
304
305 ULONG (STDMETHODCALLTYPE *AddRef)(
306 IWICMetadataHandlerInfo *This);
307
308 ULONG (STDMETHODCALLTYPE *Release)(
309 IWICMetadataHandlerInfo *This);
310
311 /*** IWICComponentInfo methods ***/
312 HRESULT (STDMETHODCALLTYPE *GetComponentType)(
313 IWICMetadataHandlerInfo *This,
314 WICComponentType *pType);
315
316 HRESULT (STDMETHODCALLTYPE *GetCLSID)(
317 IWICMetadataHandlerInfo *This,
318 CLSID *pclsid);
319
320 HRESULT (STDMETHODCALLTYPE *GetSigningStatus)(
321 IWICMetadataHandlerInfo *This,
322 DWORD *pStatus);
323
324 HRESULT (STDMETHODCALLTYPE *GetAuthor)(
325 IWICMetadataHandlerInfo *This,
326 UINT cchAuthor,
327 WCHAR *wzAuthor,
328 UINT *pcchActual);
329
330 HRESULT (STDMETHODCALLTYPE *GetVendorGUID)(
331 IWICMetadataHandlerInfo *This,
332 GUID *pguidVendor);
333
334 HRESULT (STDMETHODCALLTYPE *GetVersion)(
335 IWICMetadataHandlerInfo *This,
336 UINT cchVersion,
337 WCHAR *wzVersion,
338 UINT *pcchActual);
339
340 HRESULT (STDMETHODCALLTYPE *GetSpecVersion)(
341 IWICMetadataHandlerInfo *This,
342 UINT cchSpecVersion,
343 WCHAR *wzSpecVersion,
344 UINT *pcchActual);
345
346 HRESULT (STDMETHODCALLTYPE *GetFriendlyName)(
347 IWICMetadataHandlerInfo *This,
348 UINT cchFriendlyName,
349 WCHAR *wzFriendlyName,
350 UINT *pcchActual);
351
352 /*** IWICMetadataHandlerInfo methods ***/
353 HRESULT (STDMETHODCALLTYPE *GetMetadataFormat)(
354 IWICMetadataHandlerInfo *This,
355 GUID *pguidMetadataFormat);
356
357 HRESULT (STDMETHODCALLTYPE *GetContainerFormats)(
358 IWICMetadataHandlerInfo *This,
359 UINT cContainerFormats,
360 GUID *pguidContainerFormats,
361 UINT *pcchActual);
362
363 HRESULT (STDMETHODCALLTYPE *GetDeviceManufacturer)(
364 IWICMetadataHandlerInfo *This,
365 UINT cchDeviceManufacturer,
366 WCHAR *wzDeviceManufacturer,
367 UINT *pcchActual);
368
369 HRESULT (STDMETHODCALLTYPE *GetDeviceModels)(
370 IWICMetadataHandlerInfo *This,
371 UINT cchDeviceModels,
372 WCHAR *wzDeviceModels,
373 UINT *pcchActual);
374
375 HRESULT (STDMETHODCALLTYPE *DoesRequireFullStream)(
376 IWICMetadataHandlerInfo *This,
377 WINBOOL *pfRequiresFullStream);
378
379 HRESULT (STDMETHODCALLTYPE *DoesSupportPadding)(
380 IWICMetadataHandlerInfo *This,
381 WINBOOL *pfSupportsPadding);
382
383 HRESULT (STDMETHODCALLTYPE *DoesRequireFixedSize)(
384 IWICMetadataHandlerInfo *This,
385 WINBOOL *pfFixedSize);
386
387 END_INTERFACE
388} IWICMetadataHandlerInfoVtbl;
389
390interface IWICMetadataHandlerInfo {
391 CONST_VTBL IWICMetadataHandlerInfoVtbl* lpVtbl;
392};
393
394#ifdef COBJMACROS
395#ifndef WIDL_C_INLINE_WRAPPERS
396/*** IUnknown methods ***/
397#define IWICMetadataHandlerInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
398#define IWICMetadataHandlerInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
399#define IWICMetadataHandlerInfo_Release(This) (This)->lpVtbl->Release(This)
400/*** IWICComponentInfo methods ***/
401#define IWICMetadataHandlerInfo_GetComponentType(This,pType) (This)->lpVtbl->GetComponentType(This,pType)
402#define IWICMetadataHandlerInfo_GetCLSID(This,pclsid) (This)->lpVtbl->GetCLSID(This,pclsid)
403#define IWICMetadataHandlerInfo_GetSigningStatus(This,pStatus) (This)->lpVtbl->GetSigningStatus(This,pStatus)
404#define IWICMetadataHandlerInfo_GetAuthor(This,cchAuthor,wzAuthor,pcchActual) (This)->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual)
405#define IWICMetadataHandlerInfo_GetVendorGUID(This,pguidVendor) (This)->lpVtbl->GetVendorGUID(This,pguidVendor)
406#define IWICMetadataHandlerInfo_GetVersion(This,cchVersion,wzVersion,pcchActual) (This)->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual)
407#define IWICMetadataHandlerInfo_GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual) (This)->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual)
408#define IWICMetadataHandlerInfo_GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual) (This)->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual)
409/*** IWICMetadataHandlerInfo methods ***/
410#define IWICMetadataHandlerInfo_GetMetadataFormat(This,pguidMetadataFormat) (This)->lpVtbl->GetMetadataFormat(This,pguidMetadataFormat)
411#define IWICMetadataHandlerInfo_GetContainerFormats(This,cContainerFormats,pguidContainerFormats,pcchActual) (This)->lpVtbl->GetContainerFormats(This,cContainerFormats,pguidContainerFormats,pcchActual)
412#define IWICMetadataHandlerInfo_GetDeviceManufacturer(This,cchDeviceManufacturer,wzDeviceManufacturer,pcchActual) (This)->lpVtbl->GetDeviceManufacturer(This,cchDeviceManufacturer,wzDeviceManufacturer,pcchActual)
413#define IWICMetadataHandlerInfo_GetDeviceModels(This,cchDeviceModels,wzDeviceModels,pcchActual) (This)->lpVtbl->GetDeviceModels(This,cchDeviceModels,wzDeviceModels,pcchActual)
414#define IWICMetadataHandlerInfo_DoesRequireFullStream(This,pfRequiresFullStream) (This)->lpVtbl->DoesRequireFullStream(This,pfRequiresFullStream)
415#define IWICMetadataHandlerInfo_DoesSupportPadding(This,pfSupportsPadding) (This)->lpVtbl->DoesSupportPadding(This,pfSupportsPadding)
416#define IWICMetadataHandlerInfo_DoesRequireFixedSize(This,pfFixedSize) (This)->lpVtbl->DoesRequireFixedSize(This,pfFixedSize)
417#else
418/*** IUnknown methods ***/
419static FORCEINLINE HRESULT IWICMetadataHandlerInfo_QueryInterface(IWICMetadataHandlerInfo* This,REFIID riid,void **ppvObject) {
420 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
421}
422static FORCEINLINE ULONG IWICMetadataHandlerInfo_AddRef(IWICMetadataHandlerInfo* This) {
423 return This->lpVtbl->AddRef(This);
424}
425static FORCEINLINE ULONG IWICMetadataHandlerInfo_Release(IWICMetadataHandlerInfo* This) {
426 return This->lpVtbl->Release(This);
427}
428/*** IWICComponentInfo methods ***/
429static FORCEINLINE HRESULT IWICMetadataHandlerInfo_GetComponentType(IWICMetadataHandlerInfo* This,WICComponentType *pType) {
430 return This->lpVtbl->GetComponentType(This,pType);
431}
432static FORCEINLINE HRESULT IWICMetadataHandlerInfo_GetCLSID(IWICMetadataHandlerInfo* This,CLSID *pclsid) {
433 return This->lpVtbl->GetCLSID(This,pclsid);
434}
435static FORCEINLINE HRESULT IWICMetadataHandlerInfo_GetSigningStatus(IWICMetadataHandlerInfo* This,DWORD *pStatus) {
436 return This->lpVtbl->GetSigningStatus(This,pStatus);
437}
438static FORCEINLINE HRESULT IWICMetadataHandlerInfo_GetAuthor(IWICMetadataHandlerInfo* This,UINT cchAuthor,WCHAR *wzAuthor,UINT *pcchActual) {
439 return This->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual);
440}
441static FORCEINLINE HRESULT IWICMetadataHandlerInfo_GetVendorGUID(IWICMetadataHandlerInfo* This,GUID *pguidVendor) {
442 return This->lpVtbl->GetVendorGUID(This,pguidVendor);
443}
444static FORCEINLINE HRESULT IWICMetadataHandlerInfo_GetVersion(IWICMetadataHandlerInfo* This,UINT cchVersion,WCHAR *wzVersion,UINT *pcchActual) {
445 return This->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual);
446}
447static FORCEINLINE HRESULT IWICMetadataHandlerInfo_GetSpecVersion(IWICMetadataHandlerInfo* This,UINT cchSpecVersion,WCHAR *wzSpecVersion,UINT *pcchActual) {
448 return This->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual);
449}
450static FORCEINLINE HRESULT IWICMetadataHandlerInfo_GetFriendlyName(IWICMetadataHandlerInfo* This,UINT cchFriendlyName,WCHAR *wzFriendlyName,UINT *pcchActual) {
451 return This->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual);
452}
453/*** IWICMetadataHandlerInfo methods ***/
454static FORCEINLINE HRESULT IWICMetadataHandlerInfo_GetMetadataFormat(IWICMetadataHandlerInfo* This,GUID *pguidMetadataFormat) {
455 return This->lpVtbl->GetMetadataFormat(This,pguidMetadataFormat);
456}
457static FORCEINLINE HRESULT IWICMetadataHandlerInfo_GetContainerFormats(IWICMetadataHandlerInfo* This,UINT cContainerFormats,GUID *pguidContainerFormats,UINT *pcchActual) {
458 return This->lpVtbl->GetContainerFormats(This,cContainerFormats,pguidContainerFormats,pcchActual);
459}
460static FORCEINLINE HRESULT IWICMetadataHandlerInfo_GetDeviceManufacturer(IWICMetadataHandlerInfo* This,UINT cchDeviceManufacturer,WCHAR *wzDeviceManufacturer,UINT *pcchActual) {
461 return This->lpVtbl->GetDeviceManufacturer(This,cchDeviceManufacturer,wzDeviceManufacturer,pcchActual);
462}
463static FORCEINLINE HRESULT IWICMetadataHandlerInfo_GetDeviceModels(IWICMetadataHandlerInfo* This,UINT cchDeviceModels,WCHAR *wzDeviceModels,UINT *pcchActual) {
464 return This->lpVtbl->GetDeviceModels(This,cchDeviceModels,wzDeviceModels,pcchActual);
465}
466static FORCEINLINE HRESULT IWICMetadataHandlerInfo_DoesRequireFullStream(IWICMetadataHandlerInfo* This,WINBOOL *pfRequiresFullStream) {
467 return This->lpVtbl->DoesRequireFullStream(This,pfRequiresFullStream);
468}
469static FORCEINLINE HRESULT IWICMetadataHandlerInfo_DoesSupportPadding(IWICMetadataHandlerInfo* This,WINBOOL *pfSupportsPadding) {
470 return This->lpVtbl->DoesSupportPadding(This,pfSupportsPadding);
471}
472static FORCEINLINE HRESULT IWICMetadataHandlerInfo_DoesRequireFixedSize(IWICMetadataHandlerInfo* This,WINBOOL *pfFixedSize) {
473 return This->lpVtbl->DoesRequireFixedSize(This,pfFixedSize);
474}
475#endif
476#endif
477
478#endif
479
480
481#endif /* __IWICMetadataHandlerInfo_INTERFACE_DEFINED__ */
482
483/*****************************************************************************
484 * IWICMetadataReader interface
485 */
486#ifndef __IWICMetadataReader_INTERFACE_DEFINED__
487#define __IWICMetadataReader_INTERFACE_DEFINED__
488
489DEFINE_GUID(IID_IWICMetadataReader, 0x9204fe99, 0xd8fc, 0x4fd5, 0xa0,0x01, 0x95,0x36,0xb0,0x67,0xa8,0x99);
490#if defined(__cplusplus) && !defined(CINTERFACE)
491MIDL_INTERFACE("9204fe99-d8fc-4fd5-a001-9536b067a899")
492IWICMetadataReader : public IUnknown
493{
494 virtual HRESULT STDMETHODCALLTYPE GetMetadataFormat(
495 GUID *pguidMetadataFormat) = 0;
496
497 virtual HRESULT STDMETHODCALLTYPE GetMetadataHandlerInfo(
498 IWICMetadataHandlerInfo **ppIHandler) = 0;
499
500 virtual HRESULT STDMETHODCALLTYPE GetCount(
501 UINT *pcCount) = 0;
502
503 virtual HRESULT STDMETHODCALLTYPE GetValueByIndex(
504 UINT nIndex,
505 PROPVARIANT *pvarSchema,
506 PROPVARIANT *pvarId,
507 PROPVARIANT *pvarValue) = 0;
508
509 virtual HRESULT STDMETHODCALLTYPE GetValue(
510 const PROPVARIANT *pvarSchema,
511 const PROPVARIANT *pvarId,
512 PROPVARIANT *pvarValue) = 0;
513
514 virtual HRESULT STDMETHODCALLTYPE GetEnumerator(
515 IWICEnumMetadataItem **ppIEnumMetadata) = 0;
516
517};
518#ifdef __CRT_UUID_DECL
519__CRT_UUID_DECL(IWICMetadataReader, 0x9204fe99, 0xd8fc, 0x4fd5, 0xa0,0x01, 0x95,0x36,0xb0,0x67,0xa8,0x99)
520#endif
521#else
522typedef struct IWICMetadataReaderVtbl {
523 BEGIN_INTERFACE
524
525 /*** IUnknown methods ***/
526 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
527 IWICMetadataReader *This,
528 REFIID riid,
529 void **ppvObject);
530
531 ULONG (STDMETHODCALLTYPE *AddRef)(
532 IWICMetadataReader *This);
533
534 ULONG (STDMETHODCALLTYPE *Release)(
535 IWICMetadataReader *This);
536
537 /*** IWICMetadataReader methods ***/
538 HRESULT (STDMETHODCALLTYPE *GetMetadataFormat)(
539 IWICMetadataReader *This,
540 GUID *pguidMetadataFormat);
541
542 HRESULT (STDMETHODCALLTYPE *GetMetadataHandlerInfo)(
543 IWICMetadataReader *This,
544 IWICMetadataHandlerInfo **ppIHandler);
545
546 HRESULT (STDMETHODCALLTYPE *GetCount)(
547 IWICMetadataReader *This,
548 UINT *pcCount);
549
550 HRESULT (STDMETHODCALLTYPE *GetValueByIndex)(
551 IWICMetadataReader *This,
552 UINT nIndex,
553 PROPVARIANT *pvarSchema,
554 PROPVARIANT *pvarId,
555 PROPVARIANT *pvarValue);
556
557 HRESULT (STDMETHODCALLTYPE *GetValue)(
558 IWICMetadataReader *This,
559 const PROPVARIANT *pvarSchema,
560 const PROPVARIANT *pvarId,
561 PROPVARIANT *pvarValue);
562
563 HRESULT (STDMETHODCALLTYPE *GetEnumerator)(
564 IWICMetadataReader *This,
565 IWICEnumMetadataItem **ppIEnumMetadata);
566
567 END_INTERFACE
568} IWICMetadataReaderVtbl;
569
570interface IWICMetadataReader {
571 CONST_VTBL IWICMetadataReaderVtbl* lpVtbl;
572};
573
574#ifdef COBJMACROS
575#ifndef WIDL_C_INLINE_WRAPPERS
576/*** IUnknown methods ***/
577#define IWICMetadataReader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
578#define IWICMetadataReader_AddRef(This) (This)->lpVtbl->AddRef(This)
579#define IWICMetadataReader_Release(This) (This)->lpVtbl->Release(This)
580/*** IWICMetadataReader methods ***/
581#define IWICMetadataReader_GetMetadataFormat(This,pguidMetadataFormat) (This)->lpVtbl->GetMetadataFormat(This,pguidMetadataFormat)
582#define IWICMetadataReader_GetMetadataHandlerInfo(This,ppIHandler) (This)->lpVtbl->GetMetadataHandlerInfo(This,ppIHandler)
583#define IWICMetadataReader_GetCount(This,pcCount) (This)->lpVtbl->GetCount(This,pcCount)
584#define IWICMetadataReader_GetValueByIndex(This,nIndex,pvarSchema,pvarId,pvarValue) (This)->lpVtbl->GetValueByIndex(This,nIndex,pvarSchema,pvarId,pvarValue)
585#define IWICMetadataReader_GetValue(This,pvarSchema,pvarId,pvarValue) (This)->lpVtbl->GetValue(This,pvarSchema,pvarId,pvarValue)
586#define IWICMetadataReader_GetEnumerator(This,ppIEnumMetadata) (This)->lpVtbl->GetEnumerator(This,ppIEnumMetadata)
587#else
588/*** IUnknown methods ***/
589static FORCEINLINE HRESULT IWICMetadataReader_QueryInterface(IWICMetadataReader* This,REFIID riid,void **ppvObject) {
590 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
591}
592static FORCEINLINE ULONG IWICMetadataReader_AddRef(IWICMetadataReader* This) {
593 return This->lpVtbl->AddRef(This);
594}
595static FORCEINLINE ULONG IWICMetadataReader_Release(IWICMetadataReader* This) {
596 return This->lpVtbl->Release(This);
597}
598/*** IWICMetadataReader methods ***/
599static FORCEINLINE HRESULT IWICMetadataReader_GetMetadataFormat(IWICMetadataReader* This,GUID *pguidMetadataFormat) {
600 return This->lpVtbl->GetMetadataFormat(This,pguidMetadataFormat);
601}
602static FORCEINLINE HRESULT IWICMetadataReader_GetMetadataHandlerInfo(IWICMetadataReader* This,IWICMetadataHandlerInfo **ppIHandler) {
603 return This->lpVtbl->GetMetadataHandlerInfo(This,ppIHandler);
604}
605static FORCEINLINE HRESULT IWICMetadataReader_GetCount(IWICMetadataReader* This,UINT *pcCount) {
606 return This->lpVtbl->GetCount(This,pcCount);
607}
608static FORCEINLINE HRESULT IWICMetadataReader_GetValueByIndex(IWICMetadataReader* This,UINT nIndex,PROPVARIANT *pvarSchema,PROPVARIANT *pvarId,PROPVARIANT *pvarValue) {
609 return This->lpVtbl->GetValueByIndex(This,nIndex,pvarSchema,pvarId,pvarValue);
610}
611static FORCEINLINE HRESULT IWICMetadataReader_GetValue(IWICMetadataReader* This,const PROPVARIANT *pvarSchema,const PROPVARIANT *pvarId,PROPVARIANT *pvarValue) {
612 return This->lpVtbl->GetValue(This,pvarSchema,pvarId,pvarValue);
613}
614static FORCEINLINE HRESULT IWICMetadataReader_GetEnumerator(IWICMetadataReader* This,IWICEnumMetadataItem **ppIEnumMetadata) {
615 return This->lpVtbl->GetEnumerator(This,ppIEnumMetadata);
616}
617#endif
618#endif
619
620#endif
621
622
623#endif /* __IWICMetadataReader_INTERFACE_DEFINED__ */
624
625/*****************************************************************************
626 * IWICMetadataReaderInfo interface
627 */
628#ifndef __IWICMetadataReaderInfo_INTERFACE_DEFINED__
629#define __IWICMetadataReaderInfo_INTERFACE_DEFINED__
630
631DEFINE_GUID(IID_IWICMetadataReaderInfo, 0xeebf1f5b, 0x07c1, 0x4447, 0xa3,0xab, 0x22,0xac,0xaf,0x78,0xa8,0x04);
632#if defined(__cplusplus) && !defined(CINTERFACE)
633MIDL_INTERFACE("eebf1f5b-07c1-4447-a3ab-22acaf78a804")
634IWICMetadataReaderInfo : public IWICMetadataHandlerInfo
635{
636 virtual HRESULT STDMETHODCALLTYPE GetPatterns(
637 REFGUID guidContainerFormat,
638 UINT cbSize,
639 WICMetadataPattern *pPattern,
640 UINT *pcCount,
641 UINT *pcbActual) = 0;
642
643 virtual HRESULT STDMETHODCALLTYPE MatchesPattern(
644 REFGUID guidContainerFormat,
645 IStream *pIStream,
646 WINBOOL *pfMatches) = 0;
647
648 virtual HRESULT STDMETHODCALLTYPE CreateInstance(
649 IWICMetadataReader **ppIReader) = 0;
650
651};
652#ifdef __CRT_UUID_DECL
653__CRT_UUID_DECL(IWICMetadataReaderInfo, 0xeebf1f5b, 0x07c1, 0x4447, 0xa3,0xab, 0x22,0xac,0xaf,0x78,0xa8,0x04)
654#endif
655#else
656typedef struct IWICMetadataReaderInfoVtbl {
657 BEGIN_INTERFACE
658
659 /*** IUnknown methods ***/
660 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
661 IWICMetadataReaderInfo *This,
662 REFIID riid,
663 void **ppvObject);
664
665 ULONG (STDMETHODCALLTYPE *AddRef)(
666 IWICMetadataReaderInfo *This);
667
668 ULONG (STDMETHODCALLTYPE *Release)(
669 IWICMetadataReaderInfo *This);
670
671 /*** IWICComponentInfo methods ***/
672 HRESULT (STDMETHODCALLTYPE *GetComponentType)(
673 IWICMetadataReaderInfo *This,
674 WICComponentType *pType);
675
676 HRESULT (STDMETHODCALLTYPE *GetCLSID)(
677 IWICMetadataReaderInfo *This,
678 CLSID *pclsid);
679
680 HRESULT (STDMETHODCALLTYPE *GetSigningStatus)(
681 IWICMetadataReaderInfo *This,
682 DWORD *pStatus);
683
684 HRESULT (STDMETHODCALLTYPE *GetAuthor)(
685 IWICMetadataReaderInfo *This,
686 UINT cchAuthor,
687 WCHAR *wzAuthor,
688 UINT *pcchActual);
689
690 HRESULT (STDMETHODCALLTYPE *GetVendorGUID)(
691 IWICMetadataReaderInfo *This,
692 GUID *pguidVendor);
693
694 HRESULT (STDMETHODCALLTYPE *GetVersion)(
695 IWICMetadataReaderInfo *This,
696 UINT cchVersion,
697 WCHAR *wzVersion,
698 UINT *pcchActual);
699
700 HRESULT (STDMETHODCALLTYPE *GetSpecVersion)(
701 IWICMetadataReaderInfo *This,
702 UINT cchSpecVersion,
703 WCHAR *wzSpecVersion,
704 UINT *pcchActual);
705
706 HRESULT (STDMETHODCALLTYPE *GetFriendlyName)(
707 IWICMetadataReaderInfo *This,
708 UINT cchFriendlyName,
709 WCHAR *wzFriendlyName,
710 UINT *pcchActual);
711
712 /*** IWICMetadataHandlerInfo methods ***/
713 HRESULT (STDMETHODCALLTYPE *GetMetadataFormat)(
714 IWICMetadataReaderInfo *This,
715 GUID *pguidMetadataFormat);
716
717 HRESULT (STDMETHODCALLTYPE *GetContainerFormats)(
718 IWICMetadataReaderInfo *This,
719 UINT cContainerFormats,
720 GUID *pguidContainerFormats,
721 UINT *pcchActual);
722
723 HRESULT (STDMETHODCALLTYPE *GetDeviceManufacturer)(
724 IWICMetadataReaderInfo *This,
725 UINT cchDeviceManufacturer,
726 WCHAR *wzDeviceManufacturer,
727 UINT *pcchActual);
728
729 HRESULT (STDMETHODCALLTYPE *GetDeviceModels)(
730 IWICMetadataReaderInfo *This,
731 UINT cchDeviceModels,
732 WCHAR *wzDeviceModels,
733 UINT *pcchActual);
734
735 HRESULT (STDMETHODCALLTYPE *DoesRequireFullStream)(
736 IWICMetadataReaderInfo *This,
737 WINBOOL *pfRequiresFullStream);
738
739 HRESULT (STDMETHODCALLTYPE *DoesSupportPadding)(
740 IWICMetadataReaderInfo *This,
741 WINBOOL *pfSupportsPadding);
742
743 HRESULT (STDMETHODCALLTYPE *DoesRequireFixedSize)(
744 IWICMetadataReaderInfo *This,
745 WINBOOL *pfFixedSize);
746
747 /*** IWICMetadataReaderInfo methods ***/
748 HRESULT (STDMETHODCALLTYPE *GetPatterns)(
749 IWICMetadataReaderInfo *This,
750 REFGUID guidContainerFormat,
751 UINT cbSize,
752 WICMetadataPattern *pPattern,
753 UINT *pcCount,
754 UINT *pcbActual);
755
756 HRESULT (STDMETHODCALLTYPE *MatchesPattern)(
757 IWICMetadataReaderInfo *This,
758 REFGUID guidContainerFormat,
759 IStream *pIStream,
760 WINBOOL *pfMatches);
761
762 HRESULT (STDMETHODCALLTYPE *CreateInstance)(
763 IWICMetadataReaderInfo *This,
764 IWICMetadataReader **ppIReader);
765
766 END_INTERFACE
767} IWICMetadataReaderInfoVtbl;
768
769interface IWICMetadataReaderInfo {
770 CONST_VTBL IWICMetadataReaderInfoVtbl* lpVtbl;
771};
772
773#ifdef COBJMACROS
774#ifndef WIDL_C_INLINE_WRAPPERS
775/*** IUnknown methods ***/
776#define IWICMetadataReaderInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
777#define IWICMetadataReaderInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
778#define IWICMetadataReaderInfo_Release(This) (This)->lpVtbl->Release(This)
779/*** IWICComponentInfo methods ***/
780#define IWICMetadataReaderInfo_GetComponentType(This,pType) (This)->lpVtbl->GetComponentType(This,pType)
781#define IWICMetadataReaderInfo_GetCLSID(This,pclsid) (This)->lpVtbl->GetCLSID(This,pclsid)
782#define IWICMetadataReaderInfo_GetSigningStatus(This,pStatus) (This)->lpVtbl->GetSigningStatus(This,pStatus)
783#define IWICMetadataReaderInfo_GetAuthor(This,cchAuthor,wzAuthor,pcchActual) (This)->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual)
784#define IWICMetadataReaderInfo_GetVendorGUID(This,pguidVendor) (This)->lpVtbl->GetVendorGUID(This,pguidVendor)
785#define IWICMetadataReaderInfo_GetVersion(This,cchVersion,wzVersion,pcchActual) (This)->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual)
786#define IWICMetadataReaderInfo_GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual) (This)->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual)
787#define IWICMetadataReaderInfo_GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual) (This)->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual)
788/*** IWICMetadataHandlerInfo methods ***/
789#define IWICMetadataReaderInfo_GetMetadataFormat(This,pguidMetadataFormat) (This)->lpVtbl->GetMetadataFormat(This,pguidMetadataFormat)
790#define IWICMetadataReaderInfo_GetContainerFormats(This,cContainerFormats,pguidContainerFormats,pcchActual) (This)->lpVtbl->GetContainerFormats(This,cContainerFormats,pguidContainerFormats,pcchActual)
791#define IWICMetadataReaderInfo_GetDeviceManufacturer(This,cchDeviceManufacturer,wzDeviceManufacturer,pcchActual) (This)->lpVtbl->GetDeviceManufacturer(This,cchDeviceManufacturer,wzDeviceManufacturer,pcchActual)
792#define IWICMetadataReaderInfo_GetDeviceModels(This,cchDeviceModels,wzDeviceModels,pcchActual) (This)->lpVtbl->GetDeviceModels(This,cchDeviceModels,wzDeviceModels,pcchActual)
793#define IWICMetadataReaderInfo_DoesRequireFullStream(This,pfRequiresFullStream) (This)->lpVtbl->DoesRequireFullStream(This,pfRequiresFullStream)
794#define IWICMetadataReaderInfo_DoesSupportPadding(This,pfSupportsPadding) (This)->lpVtbl->DoesSupportPadding(This,pfSupportsPadding)
795#define IWICMetadataReaderInfo_DoesRequireFixedSize(This,pfFixedSize) (This)->lpVtbl->DoesRequireFixedSize(This,pfFixedSize)
796/*** IWICMetadataReaderInfo methods ***/
797#define IWICMetadataReaderInfo_GetPatterns(This,guidContainerFormat,cbSize,pPattern,pcCount,pcbActual) (This)->lpVtbl->GetPatterns(This,guidContainerFormat,cbSize,pPattern,pcCount,pcbActual)
798#define IWICMetadataReaderInfo_MatchesPattern(This,guidContainerFormat,pIStream,pfMatches) (This)->lpVtbl->MatchesPattern(This,guidContainerFormat,pIStream,pfMatches)
799#define IWICMetadataReaderInfo_CreateInstance(This,ppIReader) (This)->lpVtbl->CreateInstance(This,ppIReader)
800#else
801/*** IUnknown methods ***/
802static FORCEINLINE HRESULT IWICMetadataReaderInfo_QueryInterface(IWICMetadataReaderInfo* This,REFIID riid,void **ppvObject) {
803 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
804}
805static FORCEINLINE ULONG IWICMetadataReaderInfo_AddRef(IWICMetadataReaderInfo* This) {
806 return This->lpVtbl->AddRef(This);
807}
808static FORCEINLINE ULONG IWICMetadataReaderInfo_Release(IWICMetadataReaderInfo* This) {
809 return This->lpVtbl->Release(This);
810}
811/*** IWICComponentInfo methods ***/
812static FORCEINLINE HRESULT IWICMetadataReaderInfo_GetComponentType(IWICMetadataReaderInfo* This,WICComponentType *pType) {
813 return This->lpVtbl->GetComponentType(This,pType);
814}
815static FORCEINLINE HRESULT IWICMetadataReaderInfo_GetCLSID(IWICMetadataReaderInfo* This,CLSID *pclsid) {
816 return This->lpVtbl->GetCLSID(This,pclsid);
817}
818static FORCEINLINE HRESULT IWICMetadataReaderInfo_GetSigningStatus(IWICMetadataReaderInfo* This,DWORD *pStatus) {
819 return This->lpVtbl->GetSigningStatus(This,pStatus);
820}
821static FORCEINLINE HRESULT IWICMetadataReaderInfo_GetAuthor(IWICMetadataReaderInfo* This,UINT cchAuthor,WCHAR *wzAuthor,UINT *pcchActual) {
822 return This->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual);
823}
824static FORCEINLINE HRESULT IWICMetadataReaderInfo_GetVendorGUID(IWICMetadataReaderInfo* This,GUID *pguidVendor) {
825 return This->lpVtbl->GetVendorGUID(This,pguidVendor);
826}
827static FORCEINLINE HRESULT IWICMetadataReaderInfo_GetVersion(IWICMetadataReaderInfo* This,UINT cchVersion,WCHAR *wzVersion,UINT *pcchActual) {
828 return This->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual);
829}
830static FORCEINLINE HRESULT IWICMetadataReaderInfo_GetSpecVersion(IWICMetadataReaderInfo* This,UINT cchSpecVersion,WCHAR *wzSpecVersion,UINT *pcchActual) {
831 return This->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual);
832}
833static FORCEINLINE HRESULT IWICMetadataReaderInfo_GetFriendlyName(IWICMetadataReaderInfo* This,UINT cchFriendlyName,WCHAR *wzFriendlyName,UINT *pcchActual) {
834 return This->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual);
835}
836/*** IWICMetadataHandlerInfo methods ***/
837static FORCEINLINE HRESULT IWICMetadataReaderInfo_GetMetadataFormat(IWICMetadataReaderInfo* This,GUID *pguidMetadataFormat) {
838 return This->lpVtbl->GetMetadataFormat(This,pguidMetadataFormat);
839}
840static FORCEINLINE HRESULT IWICMetadataReaderInfo_GetContainerFormats(IWICMetadataReaderInfo* This,UINT cContainerFormats,GUID *pguidContainerFormats,UINT *pcchActual) {
841 return This->lpVtbl->GetContainerFormats(This,cContainerFormats,pguidContainerFormats,pcchActual);
842}
843static FORCEINLINE HRESULT IWICMetadataReaderInfo_GetDeviceManufacturer(IWICMetadataReaderInfo* This,UINT cchDeviceManufacturer,WCHAR *wzDeviceManufacturer,UINT *pcchActual) {
844 return This->lpVtbl->GetDeviceManufacturer(This,cchDeviceManufacturer,wzDeviceManufacturer,pcchActual);
845}
846static FORCEINLINE HRESULT IWICMetadataReaderInfo_GetDeviceModels(IWICMetadataReaderInfo* This,UINT cchDeviceModels,WCHAR *wzDeviceModels,UINT *pcchActual) {
847 return This->lpVtbl->GetDeviceModels(This,cchDeviceModels,wzDeviceModels,pcchActual);
848}
849static FORCEINLINE HRESULT IWICMetadataReaderInfo_DoesRequireFullStream(IWICMetadataReaderInfo* This,WINBOOL *pfRequiresFullStream) {
850 return This->lpVtbl->DoesRequireFullStream(This,pfRequiresFullStream);
851}
852static FORCEINLINE HRESULT IWICMetadataReaderInfo_DoesSupportPadding(IWICMetadataReaderInfo* This,WINBOOL *pfSupportsPadding) {
853 return This->lpVtbl->DoesSupportPadding(This,pfSupportsPadding);
854}
855static FORCEINLINE HRESULT IWICMetadataReaderInfo_DoesRequireFixedSize(IWICMetadataReaderInfo* This,WINBOOL *pfFixedSize) {
856 return This->lpVtbl->DoesRequireFixedSize(This,pfFixedSize);
857}
858/*** IWICMetadataReaderInfo methods ***/
859static FORCEINLINE HRESULT IWICMetadataReaderInfo_GetPatterns(IWICMetadataReaderInfo* This,REFGUID guidContainerFormat,UINT cbSize,WICMetadataPattern *pPattern,UINT *pcCount,UINT *pcbActual) {
860 return This->lpVtbl->GetPatterns(This,guidContainerFormat,cbSize,pPattern,pcCount,pcbActual);
861}
862static FORCEINLINE HRESULT IWICMetadataReaderInfo_MatchesPattern(IWICMetadataReaderInfo* This,REFGUID guidContainerFormat,IStream *pIStream,WINBOOL *pfMatches) {
863 return This->lpVtbl->MatchesPattern(This,guidContainerFormat,pIStream,pfMatches);
864}
865static FORCEINLINE HRESULT IWICMetadataReaderInfo_CreateInstance(IWICMetadataReaderInfo* This,IWICMetadataReader **ppIReader) {
866 return This->lpVtbl->CreateInstance(This,ppIReader);
867}
868#endif
869#endif
870
871#endif
872
873
874#endif /* __IWICMetadataReaderInfo_INTERFACE_DEFINED__ */
875
876/*****************************************************************************
877 * IWICMetadataWriter interface
878 */
879#ifndef __IWICMetadataWriter_INTERFACE_DEFINED__
880#define __IWICMetadataWriter_INTERFACE_DEFINED__
881
882DEFINE_GUID(IID_IWICMetadataWriter, 0xf7836e16, 0x3be0, 0x470b, 0x86,0xbb, 0x16,0x0d,0x0a,0xec,0xd7,0xde);
883#if defined(__cplusplus) && !defined(CINTERFACE)
884MIDL_INTERFACE("f7836e16-3be0-470b-86bb-160d0aecd7de")
885IWICMetadataWriter : public IWICMetadataReader
886{
887 virtual HRESULT STDMETHODCALLTYPE SetValue(
888 const PROPVARIANT *pvarSchema,
889 const PROPVARIANT *pvarId,
890 const PROPVARIANT *pvarValue) = 0;
891
892 virtual HRESULT STDMETHODCALLTYPE SetValueByIndex(
893 UINT nIndex,
894 const PROPVARIANT *pvarSchema,
895 const PROPVARIANT *pvarId,
896 const PROPVARIANT *pvarValue) = 0;
897
898 virtual HRESULT STDMETHODCALLTYPE RemoveValue(
899 const PROPVARIANT *pvarSchema,
900 const PROPVARIANT *pvarId) = 0;
901
902 virtual HRESULT STDMETHODCALLTYPE RemoveValueByIndex(
903 UINT nIndex) = 0;
904
905};
906#ifdef __CRT_UUID_DECL
907__CRT_UUID_DECL(IWICMetadataWriter, 0xf7836e16, 0x3be0, 0x470b, 0x86,0xbb, 0x16,0x0d,0x0a,0xec,0xd7,0xde)
908#endif
909#else
910typedef struct IWICMetadataWriterVtbl {
911 BEGIN_INTERFACE
912
913 /*** IUnknown methods ***/
914 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
915 IWICMetadataWriter *This,
916 REFIID riid,
917 void **ppvObject);
918
919 ULONG (STDMETHODCALLTYPE *AddRef)(
920 IWICMetadataWriter *This);
921
922 ULONG (STDMETHODCALLTYPE *Release)(
923 IWICMetadataWriter *This);
924
925 /*** IWICMetadataReader methods ***/
926 HRESULT (STDMETHODCALLTYPE *GetMetadataFormat)(
927 IWICMetadataWriter *This,
928 GUID *pguidMetadataFormat);
929
930 HRESULT (STDMETHODCALLTYPE *GetMetadataHandlerInfo)(
931 IWICMetadataWriter *This,
932 IWICMetadataHandlerInfo **ppIHandler);
933
934 HRESULT (STDMETHODCALLTYPE *GetCount)(
935 IWICMetadataWriter *This,
936 UINT *pcCount);
937
938 HRESULT (STDMETHODCALLTYPE *GetValueByIndex)(
939 IWICMetadataWriter *This,
940 UINT nIndex,
941 PROPVARIANT *pvarSchema,
942 PROPVARIANT *pvarId,
943 PROPVARIANT *pvarValue);
944
945 HRESULT (STDMETHODCALLTYPE *GetValue)(
946 IWICMetadataWriter *This,
947 const PROPVARIANT *pvarSchema,
948 const PROPVARIANT *pvarId,
949 PROPVARIANT *pvarValue);
950
951 HRESULT (STDMETHODCALLTYPE *GetEnumerator)(
952 IWICMetadataWriter *This,
953 IWICEnumMetadataItem **ppIEnumMetadata);
954
955 /*** IWICMetadataWriter methods ***/
956 HRESULT (STDMETHODCALLTYPE *SetValue)(
957 IWICMetadataWriter *This,
958 const PROPVARIANT *pvarSchema,
959 const PROPVARIANT *pvarId,
960 const PROPVARIANT *pvarValue);
961
962 HRESULT (STDMETHODCALLTYPE *SetValueByIndex)(
963 IWICMetadataWriter *This,
964 UINT nIndex,
965 const PROPVARIANT *pvarSchema,
966 const PROPVARIANT *pvarId,
967 const PROPVARIANT *pvarValue);
968
969 HRESULT (STDMETHODCALLTYPE *RemoveValue)(
970 IWICMetadataWriter *This,
971 const PROPVARIANT *pvarSchema,
972 const PROPVARIANT *pvarId);
973
974 HRESULT (STDMETHODCALLTYPE *RemoveValueByIndex)(
975 IWICMetadataWriter *This,
976 UINT nIndex);
977
978 END_INTERFACE
979} IWICMetadataWriterVtbl;
980
981interface IWICMetadataWriter {
982 CONST_VTBL IWICMetadataWriterVtbl* lpVtbl;
983};
984
985#ifdef COBJMACROS
986#ifndef WIDL_C_INLINE_WRAPPERS
987/*** IUnknown methods ***/
988#define IWICMetadataWriter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
989#define IWICMetadataWriter_AddRef(This) (This)->lpVtbl->AddRef(This)
990#define IWICMetadataWriter_Release(This) (This)->lpVtbl->Release(This)
991/*** IWICMetadataReader methods ***/
992#define IWICMetadataWriter_GetMetadataFormat(This,pguidMetadataFormat) (This)->lpVtbl->GetMetadataFormat(This,pguidMetadataFormat)
993#define IWICMetadataWriter_GetMetadataHandlerInfo(This,ppIHandler) (This)->lpVtbl->GetMetadataHandlerInfo(This,ppIHandler)
994#define IWICMetadataWriter_GetCount(This,pcCount) (This)->lpVtbl->GetCount(This,pcCount)
995#define IWICMetadataWriter_GetValueByIndex(This,nIndex,pvarSchema,pvarId,pvarValue) (This)->lpVtbl->GetValueByIndex(This,nIndex,pvarSchema,pvarId,pvarValue)
996#define IWICMetadataWriter_GetValue(This,pvarSchema,pvarId,pvarValue) (This)->lpVtbl->GetValue(This,pvarSchema,pvarId,pvarValue)
997#define IWICMetadataWriter_GetEnumerator(This,ppIEnumMetadata) (This)->lpVtbl->GetEnumerator(This,ppIEnumMetadata)
998/*** IWICMetadataWriter methods ***/
999#define IWICMetadataWriter_SetValue(This,pvarSchema,pvarId,pvarValue) (This)->lpVtbl->SetValue(This,pvarSchema,pvarId,pvarValue)
1000#define IWICMetadataWriter_SetValueByIndex(This,nIndex,pvarSchema,pvarId,pvarValue) (This)->lpVtbl->SetValueByIndex(This,nIndex,pvarSchema,pvarId,pvarValue)
1001#define IWICMetadataWriter_RemoveValue(This,pvarSchema,pvarId) (This)->lpVtbl->RemoveValue(This,pvarSchema,pvarId)
1002#define IWICMetadataWriter_RemoveValueByIndex(This,nIndex) (This)->lpVtbl->RemoveValueByIndex(This,nIndex)
1003#else
1004/*** IUnknown methods ***/
1005static FORCEINLINE HRESULT IWICMetadataWriter_QueryInterface(IWICMetadataWriter* This,REFIID riid,void **ppvObject) {
1006 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1007}
1008static FORCEINLINE ULONG IWICMetadataWriter_AddRef(IWICMetadataWriter* This) {
1009 return This->lpVtbl->AddRef(This);
1010}
1011static FORCEINLINE ULONG IWICMetadataWriter_Release(IWICMetadataWriter* This) {
1012 return This->lpVtbl->Release(This);
1013}
1014/*** IWICMetadataReader methods ***/
1015static FORCEINLINE HRESULT IWICMetadataWriter_GetMetadataFormat(IWICMetadataWriter* This,GUID *pguidMetadataFormat) {
1016 return This->lpVtbl->GetMetadataFormat(This,pguidMetadataFormat);
1017}
1018static FORCEINLINE HRESULT IWICMetadataWriter_GetMetadataHandlerInfo(IWICMetadataWriter* This,IWICMetadataHandlerInfo **ppIHandler) {
1019 return This->lpVtbl->GetMetadataHandlerInfo(This,ppIHandler);
1020}
1021static FORCEINLINE HRESULT IWICMetadataWriter_GetCount(IWICMetadataWriter* This,UINT *pcCount) {
1022 return This->lpVtbl->GetCount(This,pcCount);
1023}
1024static FORCEINLINE HRESULT IWICMetadataWriter_GetValueByIndex(IWICMetadataWriter* This,UINT nIndex,PROPVARIANT *pvarSchema,PROPVARIANT *pvarId,PROPVARIANT *pvarValue) {
1025 return This->lpVtbl->GetValueByIndex(This,nIndex,pvarSchema,pvarId,pvarValue);
1026}
1027static FORCEINLINE HRESULT IWICMetadataWriter_GetValue(IWICMetadataWriter* This,const PROPVARIANT *pvarSchema,const PROPVARIANT *pvarId,PROPVARIANT *pvarValue) {
1028 return This->lpVtbl->GetValue(This,pvarSchema,pvarId,pvarValue);
1029}
1030static FORCEINLINE HRESULT IWICMetadataWriter_GetEnumerator(IWICMetadataWriter* This,IWICEnumMetadataItem **ppIEnumMetadata) {
1031 return This->lpVtbl->GetEnumerator(This,ppIEnumMetadata);
1032}
1033/*** IWICMetadataWriter methods ***/
1034static FORCEINLINE HRESULT IWICMetadataWriter_SetValue(IWICMetadataWriter* This,const PROPVARIANT *pvarSchema,const PROPVARIANT *pvarId,const PROPVARIANT *pvarValue) {
1035 return This->lpVtbl->SetValue(This,pvarSchema,pvarId,pvarValue);
1036}
1037static FORCEINLINE HRESULT IWICMetadataWriter_SetValueByIndex(IWICMetadataWriter* This,UINT nIndex,const PROPVARIANT *pvarSchema,const PROPVARIANT *pvarId,const PROPVARIANT *pvarValue) {
1038 return This->lpVtbl->SetValueByIndex(This,nIndex,pvarSchema,pvarId,pvarValue);
1039}
1040static FORCEINLINE HRESULT IWICMetadataWriter_RemoveValue(IWICMetadataWriter* This,const PROPVARIANT *pvarSchema,const PROPVARIANT *pvarId) {
1041 return This->lpVtbl->RemoveValue(This,pvarSchema,pvarId);
1042}
1043static FORCEINLINE HRESULT IWICMetadataWriter_RemoveValueByIndex(IWICMetadataWriter* This,UINT nIndex) {
1044 return This->lpVtbl->RemoveValueByIndex(This,nIndex);
1045}
1046#endif
1047#endif
1048
1049#endif
1050
1051
1052#endif /* __IWICMetadataWriter_INTERFACE_DEFINED__ */
1053
1054/*****************************************************************************
1055 * IWICMetadataWriterInfo interface
1056 */
1057#ifndef __IWICMetadataWriterInfo_INTERFACE_DEFINED__
1058#define __IWICMetadataWriterInfo_INTERFACE_DEFINED__
1059
1060DEFINE_GUID(IID_IWICMetadataWriterInfo, 0xb22e3fba, 0x3925, 0x4323, 0xb5,0xc1, 0x9e,0xbf,0xc4,0x30,0xf2,0x36);
1061#if defined(__cplusplus) && !defined(CINTERFACE)
1062MIDL_INTERFACE("b22e3fba-3925-4323-b5c1-9ebfc430f236")
1063IWICMetadataWriterInfo : public IWICMetadataHandlerInfo
1064{
1065 virtual HRESULT STDMETHODCALLTYPE GetHeader(
1066 REFGUID guidContainerFormat,
1067 UINT cbSize,
1068 WICMetadataHeader *pHeader,
1069 UINT *pcbActual) = 0;
1070
1071 virtual HRESULT STDMETHODCALLTYPE CreateInstance(
1072 IWICMetadataWriter **ppIWriter) = 0;
1073
1074};
1075#ifdef __CRT_UUID_DECL
1076__CRT_UUID_DECL(IWICMetadataWriterInfo, 0xb22e3fba, 0x3925, 0x4323, 0xb5,0xc1, 0x9e,0xbf,0xc4,0x30,0xf2,0x36)
1077#endif
1078#else
1079typedef struct IWICMetadataWriterInfoVtbl {
1080 BEGIN_INTERFACE
1081
1082 /*** IUnknown methods ***/
1083 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1084 IWICMetadataWriterInfo *This,
1085 REFIID riid,
1086 void **ppvObject);
1087
1088 ULONG (STDMETHODCALLTYPE *AddRef)(
1089 IWICMetadataWriterInfo *This);
1090
1091 ULONG (STDMETHODCALLTYPE *Release)(
1092 IWICMetadataWriterInfo *This);
1093
1094 /*** IWICComponentInfo methods ***/
1095 HRESULT (STDMETHODCALLTYPE *GetComponentType)(
1096 IWICMetadataWriterInfo *This,
1097 WICComponentType *pType);
1098
1099 HRESULT (STDMETHODCALLTYPE *GetCLSID)(
1100 IWICMetadataWriterInfo *This,
1101 CLSID *pclsid);
1102
1103 HRESULT (STDMETHODCALLTYPE *GetSigningStatus)(
1104 IWICMetadataWriterInfo *This,
1105 DWORD *pStatus);
1106
1107 HRESULT (STDMETHODCALLTYPE *GetAuthor)(
1108 IWICMetadataWriterInfo *This,
1109 UINT cchAuthor,
1110 WCHAR *wzAuthor,
1111 UINT *pcchActual);
1112
1113 HRESULT (STDMETHODCALLTYPE *GetVendorGUID)(
1114 IWICMetadataWriterInfo *This,
1115 GUID *pguidVendor);
1116
1117 HRESULT (STDMETHODCALLTYPE *GetVersion)(
1118 IWICMetadataWriterInfo *This,
1119 UINT cchVersion,
1120 WCHAR *wzVersion,
1121 UINT *pcchActual);
1122
1123 HRESULT (STDMETHODCALLTYPE *GetSpecVersion)(
1124 IWICMetadataWriterInfo *This,
1125 UINT cchSpecVersion,
1126 WCHAR *wzSpecVersion,
1127 UINT *pcchActual);
1128
1129 HRESULT (STDMETHODCALLTYPE *GetFriendlyName)(
1130 IWICMetadataWriterInfo *This,
1131 UINT cchFriendlyName,
1132 WCHAR *wzFriendlyName,
1133 UINT *pcchActual);
1134
1135 /*** IWICMetadataHandlerInfo methods ***/
1136 HRESULT (STDMETHODCALLTYPE *GetMetadataFormat)(
1137 IWICMetadataWriterInfo *This,
1138 GUID *pguidMetadataFormat);
1139
1140 HRESULT (STDMETHODCALLTYPE *GetContainerFormats)(
1141 IWICMetadataWriterInfo *This,
1142 UINT cContainerFormats,
1143 GUID *pguidContainerFormats,
1144 UINT *pcchActual);
1145
1146 HRESULT (STDMETHODCALLTYPE *GetDeviceManufacturer)(
1147 IWICMetadataWriterInfo *This,
1148 UINT cchDeviceManufacturer,
1149 WCHAR *wzDeviceManufacturer,
1150 UINT *pcchActual);
1151
1152 HRESULT (STDMETHODCALLTYPE *GetDeviceModels)(
1153 IWICMetadataWriterInfo *This,
1154 UINT cchDeviceModels,
1155 WCHAR *wzDeviceModels,
1156 UINT *pcchActual);
1157
1158 HRESULT (STDMETHODCALLTYPE *DoesRequireFullStream)(
1159 IWICMetadataWriterInfo *This,
1160 WINBOOL *pfRequiresFullStream);
1161
1162 HRESULT (STDMETHODCALLTYPE *DoesSupportPadding)(
1163 IWICMetadataWriterInfo *This,
1164 WINBOOL *pfSupportsPadding);
1165
1166 HRESULT (STDMETHODCALLTYPE *DoesRequireFixedSize)(
1167 IWICMetadataWriterInfo *This,
1168 WINBOOL *pfFixedSize);
1169
1170 /*** IWICMetadataWriterInfo methods ***/
1171 HRESULT (STDMETHODCALLTYPE *GetHeader)(
1172 IWICMetadataWriterInfo *This,
1173 REFGUID guidContainerFormat,
1174 UINT cbSize,
1175 WICMetadataHeader *pHeader,
1176 UINT *pcbActual);
1177
1178 HRESULT (STDMETHODCALLTYPE *CreateInstance)(
1179 IWICMetadataWriterInfo *This,
1180 IWICMetadataWriter **ppIWriter);
1181
1182 END_INTERFACE
1183} IWICMetadataWriterInfoVtbl;
1184
1185interface IWICMetadataWriterInfo {
1186 CONST_VTBL IWICMetadataWriterInfoVtbl* lpVtbl;
1187};
1188
1189#ifdef COBJMACROS
1190#ifndef WIDL_C_INLINE_WRAPPERS
1191/*** IUnknown methods ***/
1192#define IWICMetadataWriterInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1193#define IWICMetadataWriterInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
1194#define IWICMetadataWriterInfo_Release(This) (This)->lpVtbl->Release(This)
1195/*** IWICComponentInfo methods ***/
1196#define IWICMetadataWriterInfo_GetComponentType(This,pType) (This)->lpVtbl->GetComponentType(This,pType)
1197#define IWICMetadataWriterInfo_GetCLSID(This,pclsid) (This)->lpVtbl->GetCLSID(This,pclsid)
1198#define IWICMetadataWriterInfo_GetSigningStatus(This,pStatus) (This)->lpVtbl->GetSigningStatus(This,pStatus)
1199#define IWICMetadataWriterInfo_GetAuthor(This,cchAuthor,wzAuthor,pcchActual) (This)->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual)
1200#define IWICMetadataWriterInfo_GetVendorGUID(This,pguidVendor) (This)->lpVtbl->GetVendorGUID(This,pguidVendor)
1201#define IWICMetadataWriterInfo_GetVersion(This,cchVersion,wzVersion,pcchActual) (This)->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual)
1202#define IWICMetadataWriterInfo_GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual) (This)->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual)
1203#define IWICMetadataWriterInfo_GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual) (This)->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual)
1204/*** IWICMetadataHandlerInfo methods ***/
1205#define IWICMetadataWriterInfo_GetMetadataFormat(This,pguidMetadataFormat) (This)->lpVtbl->GetMetadataFormat(This,pguidMetadataFormat)
1206#define IWICMetadataWriterInfo_GetContainerFormats(This,cContainerFormats,pguidContainerFormats,pcchActual) (This)->lpVtbl->GetContainerFormats(This,cContainerFormats,pguidContainerFormats,pcchActual)
1207#define IWICMetadataWriterInfo_GetDeviceManufacturer(This,cchDeviceManufacturer,wzDeviceManufacturer,pcchActual) (This)->lpVtbl->GetDeviceManufacturer(This,cchDeviceManufacturer,wzDeviceManufacturer,pcchActual)
1208#define IWICMetadataWriterInfo_GetDeviceModels(This,cchDeviceModels,wzDeviceModels,pcchActual) (This)->lpVtbl->GetDeviceModels(This,cchDeviceModels,wzDeviceModels,pcchActual)
1209#define IWICMetadataWriterInfo_DoesRequireFullStream(This,pfRequiresFullStream) (This)->lpVtbl->DoesRequireFullStream(This,pfRequiresFullStream)
1210#define IWICMetadataWriterInfo_DoesSupportPadding(This,pfSupportsPadding) (This)->lpVtbl->DoesSupportPadding(This,pfSupportsPadding)
1211#define IWICMetadataWriterInfo_DoesRequireFixedSize(This,pfFixedSize) (This)->lpVtbl->DoesRequireFixedSize(This,pfFixedSize)
1212/*** IWICMetadataWriterInfo methods ***/
1213#define IWICMetadataWriterInfo_GetHeader(This,guidContainerFormat,cbSize,pHeader,pcbActual) (This)->lpVtbl->GetHeader(This,guidContainerFormat,cbSize,pHeader,pcbActual)
1214#define IWICMetadataWriterInfo_CreateInstance(This,ppIWriter) (This)->lpVtbl->CreateInstance(This,ppIWriter)
1215#else
1216/*** IUnknown methods ***/
1217static FORCEINLINE HRESULT IWICMetadataWriterInfo_QueryInterface(IWICMetadataWriterInfo* This,REFIID riid,void **ppvObject) {
1218 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1219}
1220static FORCEINLINE ULONG IWICMetadataWriterInfo_AddRef(IWICMetadataWriterInfo* This) {
1221 return This->lpVtbl->AddRef(This);
1222}
1223static FORCEINLINE ULONG IWICMetadataWriterInfo_Release(IWICMetadataWriterInfo* This) {
1224 return This->lpVtbl->Release(This);
1225}
1226/*** IWICComponentInfo methods ***/
1227static FORCEINLINE HRESULT IWICMetadataWriterInfo_GetComponentType(IWICMetadataWriterInfo* This,WICComponentType *pType) {
1228 return This->lpVtbl->GetComponentType(This,pType);
1229}
1230static FORCEINLINE HRESULT IWICMetadataWriterInfo_GetCLSID(IWICMetadataWriterInfo* This,CLSID *pclsid) {
1231 return This->lpVtbl->GetCLSID(This,pclsid);
1232}
1233static FORCEINLINE HRESULT IWICMetadataWriterInfo_GetSigningStatus(IWICMetadataWriterInfo* This,DWORD *pStatus) {
1234 return This->lpVtbl->GetSigningStatus(This,pStatus);
1235}
1236static FORCEINLINE HRESULT IWICMetadataWriterInfo_GetAuthor(IWICMetadataWriterInfo* This,UINT cchAuthor,WCHAR *wzAuthor,UINT *pcchActual) {
1237 return This->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual);
1238}
1239static FORCEINLINE HRESULT IWICMetadataWriterInfo_GetVendorGUID(IWICMetadataWriterInfo* This,GUID *pguidVendor) {
1240 return This->lpVtbl->GetVendorGUID(This,pguidVendor);
1241}
1242static FORCEINLINE HRESULT IWICMetadataWriterInfo_GetVersion(IWICMetadataWriterInfo* This,UINT cchVersion,WCHAR *wzVersion,UINT *pcchActual) {
1243 return This->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual);
1244}
1245static FORCEINLINE HRESULT IWICMetadataWriterInfo_GetSpecVersion(IWICMetadataWriterInfo* This,UINT cchSpecVersion,WCHAR *wzSpecVersion,UINT *pcchActual) {
1246 return This->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual);
1247}
1248static FORCEINLINE HRESULT IWICMetadataWriterInfo_GetFriendlyName(IWICMetadataWriterInfo* This,UINT cchFriendlyName,WCHAR *wzFriendlyName,UINT *pcchActual) {
1249 return This->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual);
1250}
1251/*** IWICMetadataHandlerInfo methods ***/
1252static FORCEINLINE HRESULT IWICMetadataWriterInfo_GetMetadataFormat(IWICMetadataWriterInfo* This,GUID *pguidMetadataFormat) {
1253 return This->lpVtbl->GetMetadataFormat(This,pguidMetadataFormat);
1254}
1255static FORCEINLINE HRESULT IWICMetadataWriterInfo_GetContainerFormats(IWICMetadataWriterInfo* This,UINT cContainerFormats,GUID *pguidContainerFormats,UINT *pcchActual) {
1256 return This->lpVtbl->GetContainerFormats(This,cContainerFormats,pguidContainerFormats,pcchActual);
1257}
1258static FORCEINLINE HRESULT IWICMetadataWriterInfo_GetDeviceManufacturer(IWICMetadataWriterInfo* This,UINT cchDeviceManufacturer,WCHAR *wzDeviceManufacturer,UINT *pcchActual) {
1259 return This->lpVtbl->GetDeviceManufacturer(This,cchDeviceManufacturer,wzDeviceManufacturer,pcchActual);
1260}
1261static FORCEINLINE HRESULT IWICMetadataWriterInfo_GetDeviceModels(IWICMetadataWriterInfo* This,UINT cchDeviceModels,WCHAR *wzDeviceModels,UINT *pcchActual) {
1262 return This->lpVtbl->GetDeviceModels(This,cchDeviceModels,wzDeviceModels,pcchActual);
1263}
1264static FORCEINLINE HRESULT IWICMetadataWriterInfo_DoesRequireFullStream(IWICMetadataWriterInfo* This,WINBOOL *pfRequiresFullStream) {
1265 return This->lpVtbl->DoesRequireFullStream(This,pfRequiresFullStream);
1266}
1267static FORCEINLINE HRESULT IWICMetadataWriterInfo_DoesSupportPadding(IWICMetadataWriterInfo* This,WINBOOL *pfSupportsPadding) {
1268 return This->lpVtbl->DoesSupportPadding(This,pfSupportsPadding);
1269}
1270static FORCEINLINE HRESULT IWICMetadataWriterInfo_DoesRequireFixedSize(IWICMetadataWriterInfo* This,WINBOOL *pfFixedSize) {
1271 return This->lpVtbl->DoesRequireFixedSize(This,pfFixedSize);
1272}
1273/*** IWICMetadataWriterInfo methods ***/
1274static FORCEINLINE HRESULT IWICMetadataWriterInfo_GetHeader(IWICMetadataWriterInfo* This,REFGUID guidContainerFormat,UINT cbSize,WICMetadataHeader *pHeader,UINT *pcbActual) {
1275 return This->lpVtbl->GetHeader(This,guidContainerFormat,cbSize,pHeader,pcbActual);
1276}
1277static FORCEINLINE HRESULT IWICMetadataWriterInfo_CreateInstance(IWICMetadataWriterInfo* This,IWICMetadataWriter **ppIWriter) {
1278 return This->lpVtbl->CreateInstance(This,ppIWriter);
1279}
1280#endif
1281#endif
1282
1283#endif
1284
1285
1286#endif /* __IWICMetadataWriterInfo_INTERFACE_DEFINED__ */
1287
1288/*****************************************************************************
1289 * IWICMetadataBlockReader interface
1290 */
1291#ifndef __IWICMetadataBlockReader_INTERFACE_DEFINED__
1292#define __IWICMetadataBlockReader_INTERFACE_DEFINED__
1293
1294DEFINE_GUID(IID_IWICMetadataBlockReader, 0xfeaa2a8d, 0xb3f3, 0x43e4, 0xb2,0x5c, 0xd1,0xde,0x99,0x0a,0x1a,0xe1);
1295#if defined(__cplusplus) && !defined(CINTERFACE)
1296MIDL_INTERFACE("feaa2a8d-b3f3-43e4-b25c-d1de990a1ae1")
1297IWICMetadataBlockReader : public IUnknown
1298{
1299 virtual HRESULT STDMETHODCALLTYPE GetContainerFormat(
1300 GUID *pguidContainerFormat) = 0;
1301
1302 virtual HRESULT STDMETHODCALLTYPE GetCount(
1303 UINT *pcCount) = 0;
1304
1305 virtual HRESULT STDMETHODCALLTYPE GetReaderByIndex(
1306 UINT nIndex,
1307 IWICMetadataReader **ppIMetadataReader) = 0;
1308
1309 virtual HRESULT STDMETHODCALLTYPE GetEnumerator(
1310 IEnumUnknown **ppIEnumMetadata) = 0;
1311
1312};
1313#ifdef __CRT_UUID_DECL
1314__CRT_UUID_DECL(IWICMetadataBlockReader, 0xfeaa2a8d, 0xb3f3, 0x43e4, 0xb2,0x5c, 0xd1,0xde,0x99,0x0a,0x1a,0xe1)
1315#endif
1316#else
1317typedef struct IWICMetadataBlockReaderVtbl {
1318 BEGIN_INTERFACE
1319
1320 /*** IUnknown methods ***/
1321 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1322 IWICMetadataBlockReader *This,
1323 REFIID riid,
1324 void **ppvObject);
1325
1326 ULONG (STDMETHODCALLTYPE *AddRef)(
1327 IWICMetadataBlockReader *This);
1328
1329 ULONG (STDMETHODCALLTYPE *Release)(
1330 IWICMetadataBlockReader *This);
1331
1332 /*** IWICMetadataBlockReader methods ***/
1333 HRESULT (STDMETHODCALLTYPE *GetContainerFormat)(
1334 IWICMetadataBlockReader *This,
1335 GUID *pguidContainerFormat);
1336
1337 HRESULT (STDMETHODCALLTYPE *GetCount)(
1338 IWICMetadataBlockReader *This,
1339 UINT *pcCount);
1340
1341 HRESULT (STDMETHODCALLTYPE *GetReaderByIndex)(
1342 IWICMetadataBlockReader *This,
1343 UINT nIndex,
1344 IWICMetadataReader **ppIMetadataReader);
1345
1346 HRESULT (STDMETHODCALLTYPE *GetEnumerator)(
1347 IWICMetadataBlockReader *This,
1348 IEnumUnknown **ppIEnumMetadata);
1349
1350 END_INTERFACE
1351} IWICMetadataBlockReaderVtbl;
1352
1353interface IWICMetadataBlockReader {
1354 CONST_VTBL IWICMetadataBlockReaderVtbl* lpVtbl;
1355};
1356
1357#ifdef COBJMACROS
1358#ifndef WIDL_C_INLINE_WRAPPERS
1359/*** IUnknown methods ***/
1360#define IWICMetadataBlockReader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1361#define IWICMetadataBlockReader_AddRef(This) (This)->lpVtbl->AddRef(This)
1362#define IWICMetadataBlockReader_Release(This) (This)->lpVtbl->Release(This)
1363/*** IWICMetadataBlockReader methods ***/
1364#define IWICMetadataBlockReader_GetContainerFormat(This,pguidContainerFormat) (This)->lpVtbl->GetContainerFormat(This,pguidContainerFormat)
1365#define IWICMetadataBlockReader_GetCount(This,pcCount) (This)->lpVtbl->GetCount(This,pcCount)
1366#define IWICMetadataBlockReader_GetReaderByIndex(This,nIndex,ppIMetadataReader) (This)->lpVtbl->GetReaderByIndex(This,nIndex,ppIMetadataReader)
1367#define IWICMetadataBlockReader_GetEnumerator(This,ppIEnumMetadata) (This)->lpVtbl->GetEnumerator(This,ppIEnumMetadata)
1368#else
1369/*** IUnknown methods ***/
1370static FORCEINLINE HRESULT IWICMetadataBlockReader_QueryInterface(IWICMetadataBlockReader* This,REFIID riid,void **ppvObject) {
1371 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1372}
1373static FORCEINLINE ULONG IWICMetadataBlockReader_AddRef(IWICMetadataBlockReader* This) {
1374 return This->lpVtbl->AddRef(This);
1375}
1376static FORCEINLINE ULONG IWICMetadataBlockReader_Release(IWICMetadataBlockReader* This) {
1377 return This->lpVtbl->Release(This);
1378}
1379/*** IWICMetadataBlockReader methods ***/
1380static FORCEINLINE HRESULT IWICMetadataBlockReader_GetContainerFormat(IWICMetadataBlockReader* This,GUID *pguidContainerFormat) {
1381 return This->lpVtbl->GetContainerFormat(This,pguidContainerFormat);
1382}
1383static FORCEINLINE HRESULT IWICMetadataBlockReader_GetCount(IWICMetadataBlockReader* This,UINT *pcCount) {
1384 return This->lpVtbl->GetCount(This,pcCount);
1385}
1386static FORCEINLINE HRESULT IWICMetadataBlockReader_GetReaderByIndex(IWICMetadataBlockReader* This,UINT nIndex,IWICMetadataReader **ppIMetadataReader) {
1387 return This->lpVtbl->GetReaderByIndex(This,nIndex,ppIMetadataReader);
1388}
1389static FORCEINLINE HRESULT IWICMetadataBlockReader_GetEnumerator(IWICMetadataBlockReader* This,IEnumUnknown **ppIEnumMetadata) {
1390 return This->lpVtbl->GetEnumerator(This,ppIEnumMetadata);
1391}
1392#endif
1393#endif
1394
1395#endif
1396
1397
1398#endif /* __IWICMetadataBlockReader_INTERFACE_DEFINED__ */
1399
1400/*****************************************************************************
1401 * IWICMetadataBlockWriter interface
1402 */
1403#ifndef __IWICMetadataBlockWriter_INTERFACE_DEFINED__
1404#define __IWICMetadataBlockWriter_INTERFACE_DEFINED__
1405
1406DEFINE_GUID(IID_IWICMetadataBlockWriter, 0x08fb9676, 0xb444, 0x41e8, 0x8d,0xbe, 0x6a,0x53,0xa5,0x42,0xbf,0xf1);
1407#if defined(__cplusplus) && !defined(CINTERFACE)
1408MIDL_INTERFACE("08fb9676-b444-41e8-8dbe-6a53a542bff1")
1409IWICMetadataBlockWriter : public IWICMetadataBlockReader
1410{
1411 virtual HRESULT STDMETHODCALLTYPE InitializeFromBlockReader(
1412 IWICMetadataBlockReader *pIMDBlockReader) = 0;
1413
1414 virtual HRESULT STDMETHODCALLTYPE GetWriterByIndex(
1415 UINT nIndex,
1416 IWICMetadataWriter **ppIMetadataWriter) = 0;
1417
1418 virtual HRESULT STDMETHODCALLTYPE AddWriter(
1419 IWICMetadataWriter *pIMetadataWriter) = 0;
1420
1421 virtual HRESULT STDMETHODCALLTYPE SetWriterByIndex(
1422 UINT nIndex,
1423 IWICMetadataWriter *pIMetadataWriter) = 0;
1424
1425 virtual HRESULT STDMETHODCALLTYPE RemoveWriterByIndex(
1426 UINT nIndex) = 0;
1427
1428};
1429#ifdef __CRT_UUID_DECL
1430__CRT_UUID_DECL(IWICMetadataBlockWriter, 0x08fb9676, 0xb444, 0x41e8, 0x8d,0xbe, 0x6a,0x53,0xa5,0x42,0xbf,0xf1)
1431#endif
1432#else
1433typedef struct IWICMetadataBlockWriterVtbl {
1434 BEGIN_INTERFACE
1435
1436 /*** IUnknown methods ***/
1437 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1438 IWICMetadataBlockWriter *This,
1439 REFIID riid,
1440 void **ppvObject);
1441
1442 ULONG (STDMETHODCALLTYPE *AddRef)(
1443 IWICMetadataBlockWriter *This);
1444
1445 ULONG (STDMETHODCALLTYPE *Release)(
1446 IWICMetadataBlockWriter *This);
1447
1448 /*** IWICMetadataBlockReader methods ***/
1449 HRESULT (STDMETHODCALLTYPE *GetContainerFormat)(
1450 IWICMetadataBlockWriter *This,
1451 GUID *pguidContainerFormat);
1452
1453 HRESULT (STDMETHODCALLTYPE *GetCount)(
1454 IWICMetadataBlockWriter *This,
1455 UINT *pcCount);
1456
1457 HRESULT (STDMETHODCALLTYPE *GetReaderByIndex)(
1458 IWICMetadataBlockWriter *This,
1459 UINT nIndex,
1460 IWICMetadataReader **ppIMetadataReader);
1461
1462 HRESULT (STDMETHODCALLTYPE *GetEnumerator)(
1463 IWICMetadataBlockWriter *This,
1464 IEnumUnknown **ppIEnumMetadata);
1465
1466 /*** IWICMetadataBlockWriter methods ***/
1467 HRESULT (STDMETHODCALLTYPE *InitializeFromBlockReader)(
1468 IWICMetadataBlockWriter *This,
1469 IWICMetadataBlockReader *pIMDBlockReader);
1470
1471 HRESULT (STDMETHODCALLTYPE *GetWriterByIndex)(
1472 IWICMetadataBlockWriter *This,
1473 UINT nIndex,
1474 IWICMetadataWriter **ppIMetadataWriter);
1475
1476 HRESULT (STDMETHODCALLTYPE *AddWriter)(
1477 IWICMetadataBlockWriter *This,
1478 IWICMetadataWriter *pIMetadataWriter);
1479
1480 HRESULT (STDMETHODCALLTYPE *SetWriterByIndex)(
1481 IWICMetadataBlockWriter *This,
1482 UINT nIndex,
1483 IWICMetadataWriter *pIMetadataWriter);
1484
1485 HRESULT (STDMETHODCALLTYPE *RemoveWriterByIndex)(
1486 IWICMetadataBlockWriter *This,
1487 UINT nIndex);
1488
1489 END_INTERFACE
1490} IWICMetadataBlockWriterVtbl;
1491
1492interface IWICMetadataBlockWriter {
1493 CONST_VTBL IWICMetadataBlockWriterVtbl* lpVtbl;
1494};
1495
1496#ifdef COBJMACROS
1497#ifndef WIDL_C_INLINE_WRAPPERS
1498/*** IUnknown methods ***/
1499#define IWICMetadataBlockWriter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1500#define IWICMetadataBlockWriter_AddRef(This) (This)->lpVtbl->AddRef(This)
1501#define IWICMetadataBlockWriter_Release(This) (This)->lpVtbl->Release(This)
1502/*** IWICMetadataBlockReader methods ***/
1503#define IWICMetadataBlockWriter_GetContainerFormat(This,pguidContainerFormat) (This)->lpVtbl->GetContainerFormat(This,pguidContainerFormat)
1504#define IWICMetadataBlockWriter_GetCount(This,pcCount) (This)->lpVtbl->GetCount(This,pcCount)
1505#define IWICMetadataBlockWriter_GetReaderByIndex(This,nIndex,ppIMetadataReader) (This)->lpVtbl->GetReaderByIndex(This,nIndex,ppIMetadataReader)
1506#define IWICMetadataBlockWriter_GetEnumerator(This,ppIEnumMetadata) (This)->lpVtbl->GetEnumerator(This,ppIEnumMetadata)
1507/*** IWICMetadataBlockWriter methods ***/
1508#define IWICMetadataBlockWriter_InitializeFromBlockReader(This,pIMDBlockReader) (This)->lpVtbl->InitializeFromBlockReader(This,pIMDBlockReader)
1509#define IWICMetadataBlockWriter_GetWriterByIndex(This,nIndex,ppIMetadataWriter) (This)->lpVtbl->GetWriterByIndex(This,nIndex,ppIMetadataWriter)
1510#define IWICMetadataBlockWriter_AddWriter(This,pIMetadataWriter) (This)->lpVtbl->AddWriter(This,pIMetadataWriter)
1511#define IWICMetadataBlockWriter_SetWriterByIndex(This,nIndex,pIMetadataWriter) (This)->lpVtbl->SetWriterByIndex(This,nIndex,pIMetadataWriter)
1512#define IWICMetadataBlockWriter_RemoveWriterByIndex(This,nIndex) (This)->lpVtbl->RemoveWriterByIndex(This,nIndex)
1513#else
1514/*** IUnknown methods ***/
1515static FORCEINLINE HRESULT IWICMetadataBlockWriter_QueryInterface(IWICMetadataBlockWriter* This,REFIID riid,void **ppvObject) {
1516 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1517}
1518static FORCEINLINE ULONG IWICMetadataBlockWriter_AddRef(IWICMetadataBlockWriter* This) {
1519 return This->lpVtbl->AddRef(This);
1520}
1521static FORCEINLINE ULONG IWICMetadataBlockWriter_Release(IWICMetadataBlockWriter* This) {
1522 return This->lpVtbl->Release(This);
1523}
1524/*** IWICMetadataBlockReader methods ***/
1525static FORCEINLINE HRESULT IWICMetadataBlockWriter_GetContainerFormat(IWICMetadataBlockWriter* This,GUID *pguidContainerFormat) {
1526 return This->lpVtbl->GetContainerFormat(This,pguidContainerFormat);
1527}
1528static FORCEINLINE HRESULT IWICMetadataBlockWriter_GetCount(IWICMetadataBlockWriter* This,UINT *pcCount) {
1529 return This->lpVtbl->GetCount(This,pcCount);
1530}
1531static FORCEINLINE HRESULT IWICMetadataBlockWriter_GetReaderByIndex(IWICMetadataBlockWriter* This,UINT nIndex,IWICMetadataReader **ppIMetadataReader) {
1532 return This->lpVtbl->GetReaderByIndex(This,nIndex,ppIMetadataReader);
1533}
1534static FORCEINLINE HRESULT IWICMetadataBlockWriter_GetEnumerator(IWICMetadataBlockWriter* This,IEnumUnknown **ppIEnumMetadata) {
1535 return This->lpVtbl->GetEnumerator(This,ppIEnumMetadata);
1536}
1537/*** IWICMetadataBlockWriter methods ***/
1538static FORCEINLINE HRESULT IWICMetadataBlockWriter_InitializeFromBlockReader(IWICMetadataBlockWriter* This,IWICMetadataBlockReader *pIMDBlockReader) {
1539 return This->lpVtbl->InitializeFromBlockReader(This,pIMDBlockReader);
1540}
1541static FORCEINLINE HRESULT IWICMetadataBlockWriter_GetWriterByIndex(IWICMetadataBlockWriter* This,UINT nIndex,IWICMetadataWriter **ppIMetadataWriter) {
1542 return This->lpVtbl->GetWriterByIndex(This,nIndex,ppIMetadataWriter);
1543}
1544static FORCEINLINE HRESULT IWICMetadataBlockWriter_AddWriter(IWICMetadataBlockWriter* This,IWICMetadataWriter *pIMetadataWriter) {
1545 return This->lpVtbl->AddWriter(This,pIMetadataWriter);
1546}
1547static FORCEINLINE HRESULT IWICMetadataBlockWriter_SetWriterByIndex(IWICMetadataBlockWriter* This,UINT nIndex,IWICMetadataWriter *pIMetadataWriter) {
1548 return This->lpVtbl->SetWriterByIndex(This,nIndex,pIMetadataWriter);
1549}
1550static FORCEINLINE HRESULT IWICMetadataBlockWriter_RemoveWriterByIndex(IWICMetadataBlockWriter* This,UINT nIndex) {
1551 return This->lpVtbl->RemoveWriterByIndex(This,nIndex);
1552}
1553#endif
1554#endif
1555
1556#endif
1557
1558
1559#endif /* __IWICMetadataBlockWriter_INTERFACE_DEFINED__ */
1560
1561/*****************************************************************************
1562 * IWICPersistStream interface
1563 */
1564#ifndef __IWICPersistStream_INTERFACE_DEFINED__
1565#define __IWICPersistStream_INTERFACE_DEFINED__
1566
1567DEFINE_GUID(IID_IWICPersistStream, 0x00675040, 0x6908, 0x45f8, 0x86,0xa3, 0x49,0xc7,0xdf,0xd6,0xd9,0xad);
1568#if defined(__cplusplus) && !defined(CINTERFACE)
1569MIDL_INTERFACE("00675040-6908-45f8-86a3-49c7dfd6d9ad")
1570IWICPersistStream : public IPersistStream
1571{
1572 virtual HRESULT STDMETHODCALLTYPE LoadEx(
1573 IStream *pIStream,
1574 const GUID *pguidPreferredVendor,
1575 DWORD dwPersistOptions) = 0;
1576
1577 virtual HRESULT STDMETHODCALLTYPE SaveEx(
1578 IStream *pIStream,
1579 DWORD dwPersistOptions,
1580 WINBOOL fClearDirty) = 0;
1581
1582};
1583#ifdef __CRT_UUID_DECL
1584__CRT_UUID_DECL(IWICPersistStream, 0x00675040, 0x6908, 0x45f8, 0x86,0xa3, 0x49,0xc7,0xdf,0xd6,0xd9,0xad)
1585#endif
1586#else
1587typedef struct IWICPersistStreamVtbl {
1588 BEGIN_INTERFACE
1589
1590 /*** IUnknown methods ***/
1591 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1592 IWICPersistStream *This,
1593 REFIID riid,
1594 void **ppvObject);
1595
1596 ULONG (STDMETHODCALLTYPE *AddRef)(
1597 IWICPersistStream *This);
1598
1599 ULONG (STDMETHODCALLTYPE *Release)(
1600 IWICPersistStream *This);
1601
1602 /*** IPersist methods ***/
1603 HRESULT (STDMETHODCALLTYPE *GetClassID)(
1604 IWICPersistStream *This,
1605 CLSID *pClassID);
1606
1607 /*** IPersistStream methods ***/
1608 HRESULT (STDMETHODCALLTYPE *IsDirty)(
1609 IWICPersistStream *This);
1610
1611 HRESULT (STDMETHODCALLTYPE *Load)(
1612 IWICPersistStream *This,
1613 IStream *pStm);
1614
1615 HRESULT (STDMETHODCALLTYPE *Save)(
1616 IWICPersistStream *This,
1617 IStream *pStm,
1618 WINBOOL fClearDirty);
1619
1620 HRESULT (STDMETHODCALLTYPE *GetSizeMax)(
1621 IWICPersistStream *This,
1622 ULARGE_INTEGER *pcbSize);
1623
1624 /*** IWICPersistStream methods ***/
1625 HRESULT (STDMETHODCALLTYPE *LoadEx)(
1626 IWICPersistStream *This,
1627 IStream *pIStream,
1628 const GUID *pguidPreferredVendor,
1629 DWORD dwPersistOptions);
1630
1631 HRESULT (STDMETHODCALLTYPE *SaveEx)(
1632 IWICPersistStream *This,
1633 IStream *pIStream,
1634 DWORD dwPersistOptions,
1635 WINBOOL fClearDirty);
1636
1637 END_INTERFACE
1638} IWICPersistStreamVtbl;
1639
1640interface IWICPersistStream {
1641 CONST_VTBL IWICPersistStreamVtbl* lpVtbl;
1642};
1643
1644#ifdef COBJMACROS
1645#ifndef WIDL_C_INLINE_WRAPPERS
1646/*** IUnknown methods ***/
1647#define IWICPersistStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1648#define IWICPersistStream_AddRef(This) (This)->lpVtbl->AddRef(This)
1649#define IWICPersistStream_Release(This) (This)->lpVtbl->Release(This)
1650/*** IPersist methods ***/
1651#define IWICPersistStream_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
1652/*** IPersistStream methods ***/
1653#define IWICPersistStream_IsDirty(This) (This)->lpVtbl->IsDirty(This)
1654#define IWICPersistStream_Load(This,pStm) (This)->lpVtbl->Load(This,pStm)
1655#define IWICPersistStream_Save(This,pStm,fClearDirty) (This)->lpVtbl->Save(This,pStm,fClearDirty)
1656#define IWICPersistStream_GetSizeMax(This,pcbSize) (This)->lpVtbl->GetSizeMax(This,pcbSize)
1657/*** IWICPersistStream methods ***/
1658#define IWICPersistStream_LoadEx(This,pIStream,pguidPreferredVendor,dwPersistOptions) (This)->lpVtbl->LoadEx(This,pIStream,pguidPreferredVendor,dwPersistOptions)
1659#define IWICPersistStream_SaveEx(This,pIStream,dwPersistOptions,fClearDirty) (This)->lpVtbl->SaveEx(This,pIStream,dwPersistOptions,fClearDirty)
1660#else
1661/*** IUnknown methods ***/
1662static FORCEINLINE HRESULT IWICPersistStream_QueryInterface(IWICPersistStream* This,REFIID riid,void **ppvObject) {
1663 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1664}
1665static FORCEINLINE ULONG IWICPersistStream_AddRef(IWICPersistStream* This) {
1666 return This->lpVtbl->AddRef(This);
1667}
1668static FORCEINLINE ULONG IWICPersistStream_Release(IWICPersistStream* This) {
1669 return This->lpVtbl->Release(This);
1670}
1671/*** IPersist methods ***/
1672static FORCEINLINE HRESULT IWICPersistStream_GetClassID(IWICPersistStream* This,CLSID *pClassID) {
1673 return This->lpVtbl->GetClassID(This,pClassID);
1674}
1675/*** IPersistStream methods ***/
1676static FORCEINLINE HRESULT IWICPersistStream_IsDirty(IWICPersistStream* This) {
1677 return This->lpVtbl->IsDirty(This);
1678}
1679static FORCEINLINE HRESULT IWICPersistStream_Load(IWICPersistStream* This,IStream *pStm) {
1680 return This->lpVtbl->Load(This,pStm);
1681}
1682static FORCEINLINE HRESULT IWICPersistStream_Save(IWICPersistStream* This,IStream *pStm,WINBOOL fClearDirty) {
1683 return This->lpVtbl->Save(This,pStm,fClearDirty);
1684}
1685static FORCEINLINE HRESULT IWICPersistStream_GetSizeMax(IWICPersistStream* This,ULARGE_INTEGER *pcbSize) {
1686 return This->lpVtbl->GetSizeMax(This,pcbSize);
1687}
1688/*** IWICPersistStream methods ***/
1689static FORCEINLINE HRESULT IWICPersistStream_LoadEx(IWICPersistStream* This,IStream *pIStream,const GUID *pguidPreferredVendor,DWORD dwPersistOptions) {
1690 return This->lpVtbl->LoadEx(This,pIStream,pguidPreferredVendor,dwPersistOptions);
1691}
1692static FORCEINLINE HRESULT IWICPersistStream_SaveEx(IWICPersistStream* This,IStream *pIStream,DWORD dwPersistOptions,WINBOOL fClearDirty) {
1693 return This->lpVtbl->SaveEx(This,pIStream,dwPersistOptions,fClearDirty);
1694}
1695#endif
1696#endif
1697
1698#endif
1699
1700
1701#endif /* __IWICPersistStream_INTERFACE_DEFINED__ */
1702
1703/*****************************************************************************
1704 * IWICComponentFactory interface
1705 */
1706#ifndef __IWICComponentFactory_INTERFACE_DEFINED__
1707#define __IWICComponentFactory_INTERFACE_DEFINED__
1708
1709DEFINE_GUID(IID_IWICComponentFactory, 0x412d0c3a, 0x9650, 0x44fa, 0xaf,0x5b, 0xdd,0x2a,0x06,0xc8,0xe8,0xfb);
1710#if defined(__cplusplus) && !defined(CINTERFACE)
1711MIDL_INTERFACE("412d0c3a-9650-44fa-af5b-dd2a06c8e8fb")
1712IWICComponentFactory : public IWICImagingFactory
1713{
1714 virtual HRESULT STDMETHODCALLTYPE CreateMetadataReader(
1715 REFGUID guidMetadataFormat,
1716 const GUID *pguidVendor,
1717 DWORD dwOptions,
1718 IStream *pIStream,
1719 IWICMetadataReader **ppIReader) = 0;
1720
1721 virtual HRESULT STDMETHODCALLTYPE CreateMetadataReaderFromContainer(
1722 REFGUID guidMetadataFormat,
1723 const GUID *pguidVendor,
1724 DWORD dwOptions,
1725 IStream *pIStream,
1726 IWICMetadataReader **ppIReader) = 0;
1727
1728 virtual HRESULT STDMETHODCALLTYPE CreateMetadataWriter(
1729 REFGUID guidMetadataFormat,
1730 const GUID *pguidVendor,
1731 DWORD dwMetadataOptions,
1732 IWICMetadataWriter **ppIWriter) = 0;
1733
1734 virtual HRESULT STDMETHODCALLTYPE CreateMetadataWriterFromReader(
1735 IWICMetadataReader *pIReader,
1736 const GUID *pguidVendor,
1737 IWICMetadataWriter **ppIWriter) = 0;
1738
1739 virtual HRESULT STDMETHODCALLTYPE CreateQueryReaderFromBlockReader(
1740 IWICMetadataBlockReader *pIBlockReader,
1741 IWICMetadataQueryReader **ppIQueryReader) = 0;
1742
1743 virtual HRESULT STDMETHODCALLTYPE CreateQueryWriterFromBlockWriter(
1744 IWICMetadataBlockWriter *pIBlockWriter,
1745 IWICMetadataQueryWriter **ppIQueryWriter) = 0;
1746
1747 virtual HRESULT STDMETHODCALLTYPE CreateEncoderPropertyBag(
1748 PROPBAG2 *ppropOptions,
1749 UINT cCount,
1750 IPropertyBag2 **ppIPropertyBag) = 0;
1751
1752};
1753#ifdef __CRT_UUID_DECL
1754__CRT_UUID_DECL(IWICComponentFactory, 0x412d0c3a, 0x9650, 0x44fa, 0xaf,0x5b, 0xdd,0x2a,0x06,0xc8,0xe8,0xfb)
1755#endif
1756#else
1757typedef struct IWICComponentFactoryVtbl {
1758 BEGIN_INTERFACE
1759
1760 /*** IUnknown methods ***/
1761 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1762 IWICComponentFactory *This,
1763 REFIID riid,
1764 void **ppvObject);
1765
1766 ULONG (STDMETHODCALLTYPE *AddRef)(
1767 IWICComponentFactory *This);
1768
1769 ULONG (STDMETHODCALLTYPE *Release)(
1770 IWICComponentFactory *This);
1771
1772 /*** IWICImagingFactory methods ***/
1773 HRESULT (STDMETHODCALLTYPE *CreateDecoderFromFilename)(
1774 IWICComponentFactory *This,
1775 LPCWSTR wzFilename,
1776 const GUID *pguidVendor,
1777 DWORD dwDesiredAccess,
1778 WICDecodeOptions metadataOptions,
1779 IWICBitmapDecoder **ppIDecoder);
1780
1781 HRESULT (STDMETHODCALLTYPE *CreateDecoderFromStream)(
1782 IWICComponentFactory *This,
1783 IStream *pIStream,
1784 const GUID *pguidVendor,
1785 WICDecodeOptions metadataOptions,
1786 IWICBitmapDecoder **ppIDecoder);
1787
1788 HRESULT (STDMETHODCALLTYPE *CreateDecoderFromFileHandle)(
1789 IWICComponentFactory *This,
1790 ULONG_PTR hFile,
1791 const GUID *pguidVendor,
1792 WICDecodeOptions metadataOptions,
1793 IWICBitmapDecoder **ppIDecoder);
1794
1795 HRESULT (STDMETHODCALLTYPE *CreateComponentInfo)(
1796 IWICComponentFactory *This,
1797 REFCLSID clsidComponent,
1798 IWICComponentInfo **ppIInfo);
1799
1800 HRESULT (STDMETHODCALLTYPE *CreateDecoder)(
1801 IWICComponentFactory *This,
1802 REFGUID guidContainerFormat,
1803 const GUID *pguidVendor,
1804 IWICBitmapDecoder **ppIDecoder);
1805
1806 HRESULT (STDMETHODCALLTYPE *CreateEncoder)(
1807 IWICComponentFactory *This,
1808 REFGUID guidContainerFormat,
1809 const GUID *pguidVendor,
1810 IWICBitmapEncoder **ppIEncoder);
1811
1812 HRESULT (STDMETHODCALLTYPE *CreatePalette)(
1813 IWICComponentFactory *This,
1814 IWICPalette **ppIPalette);
1815
1816 HRESULT (STDMETHODCALLTYPE *CreateFormatConverter)(
1817 IWICComponentFactory *This,
1818 IWICFormatConverter **ppIFormatConverter);
1819
1820 HRESULT (STDMETHODCALLTYPE *CreateBitmapScaler)(
1821 IWICComponentFactory *This,
1822 IWICBitmapScaler **ppIBitmapScaler);
1823
1824 HRESULT (STDMETHODCALLTYPE *CreateBitmapClipper)(
1825 IWICComponentFactory *This,
1826 IWICBitmapClipper **ppIBitmapClipper);
1827
1828 HRESULT (STDMETHODCALLTYPE *CreateBitmapFlipRotator)(
1829 IWICComponentFactory *This,
1830 IWICBitmapFlipRotator **ppIBitmapFlipRotator);
1831
1832 HRESULT (STDMETHODCALLTYPE *CreateStream)(
1833 IWICComponentFactory *This,
1834 IWICStream **ppIWICStream);
1835
1836 HRESULT (STDMETHODCALLTYPE *CreateColorContext)(
1837 IWICComponentFactory *This,
1838 IWICColorContext **ppIWICColorContext);
1839
1840 HRESULT (STDMETHODCALLTYPE *CreateColorTransformer)(
1841 IWICComponentFactory *This,
1842 IWICColorTransform **ppIWICColorTransform);
1843
1844 HRESULT (STDMETHODCALLTYPE *CreateBitmap)(
1845 IWICComponentFactory *This,
1846 UINT uiWidth,
1847 UINT uiHeight,
1848 REFWICPixelFormatGUID pixelFormat,
1849 WICBitmapCreateCacheOption option,
1850 IWICBitmap **ppIBitmap);
1851
1852 HRESULT (STDMETHODCALLTYPE *CreateBitmapFromSource)(
1853 IWICComponentFactory *This,
1854 IWICBitmapSource *piBitmapSource,
1855 WICBitmapCreateCacheOption option,
1856 IWICBitmap **ppIBitmap);
1857
1858 HRESULT (STDMETHODCALLTYPE *CreateBitmapFromSourceRect)(
1859 IWICComponentFactory *This,
1860 IWICBitmapSource *piBitmapSource,
1861 UINT x,
1862 UINT y,
1863 UINT width,
1864 UINT height,
1865 IWICBitmap **ppIBitmap);
1866
1867 HRESULT (STDMETHODCALLTYPE *CreateBitmapFromMemory)(
1868 IWICComponentFactory *This,
1869 UINT uiWidth,
1870 UINT uiHeight,
1871 REFWICPixelFormatGUID pixelFormat,
1872 UINT cbStride,
1873 UINT cbBufferSize,
1874 BYTE *pbBuffer,
1875 IWICBitmap **ppIBitmap);
1876
1877 HRESULT (STDMETHODCALLTYPE *CreateBitmapFromHBITMAP)(
1878 IWICComponentFactory *This,
1879 HBITMAP hBitmap,
1880 HPALETTE hPalette,
1881 WICBitmapAlphaChannelOption options,
1882 IWICBitmap **ppIBitmap);
1883
1884 HRESULT (STDMETHODCALLTYPE *CreateBitmapFromHICON)(
1885 IWICComponentFactory *This,
1886 HICON hIcon,
1887 IWICBitmap **ppIBitmap);
1888
1889 HRESULT (STDMETHODCALLTYPE *CreateComponentEnumerator)(
1890 IWICComponentFactory *This,
1891 DWORD componentTypes,
1892 DWORD options,
1893 IEnumUnknown **ppIEnumUnknown);
1894
1895 HRESULT (STDMETHODCALLTYPE *CreateFastMetadataEncoderFromDecoder)(
1896 IWICComponentFactory *This,
1897 IWICBitmapDecoder *pIDecoder,
1898 IWICFastMetadataEncoder **ppIFastEncoder);
1899
1900 HRESULT (STDMETHODCALLTYPE *CreateFastMetadataEncoderFromFrameDecode)(
1901 IWICComponentFactory *This,
1902 IWICBitmapFrameDecode *pIFrameDecoder,
1903 IWICFastMetadataEncoder **ppIFastEncoder);
1904
1905 HRESULT (STDMETHODCALLTYPE *CreateQueryWriter)(
1906 IWICComponentFactory *This,
1907 REFGUID guidMetadataFormat,
1908 const GUID *pguidVendor,
1909 IWICMetadataQueryWriter **ppIQueryWriter);
1910
1911 HRESULT (STDMETHODCALLTYPE *CreateQueryWriterFromReader)(
1912 IWICComponentFactory *This,
1913 IWICMetadataQueryReader *pIQueryReader,
1914 const GUID *pguidVendor,
1915 IWICMetadataQueryWriter **ppIQueryWriter);
1916
1917 /*** IWICComponentFactory methods ***/
1918 HRESULT (STDMETHODCALLTYPE *CreateMetadataReader)(
1919 IWICComponentFactory *This,
1920 REFGUID guidMetadataFormat,
1921 const GUID *pguidVendor,
1922 DWORD dwOptions,
1923 IStream *pIStream,
1924 IWICMetadataReader **ppIReader);
1925
1926 HRESULT (STDMETHODCALLTYPE *CreateMetadataReaderFromContainer)(
1927 IWICComponentFactory *This,
1928 REFGUID guidMetadataFormat,
1929 const GUID *pguidVendor,
1930 DWORD dwOptions,
1931 IStream *pIStream,
1932 IWICMetadataReader **ppIReader);
1933
1934 HRESULT (STDMETHODCALLTYPE *CreateMetadataWriter)(
1935 IWICComponentFactory *This,
1936 REFGUID guidMetadataFormat,
1937 const GUID *pguidVendor,
1938 DWORD dwMetadataOptions,
1939 IWICMetadataWriter **ppIWriter);
1940
1941 HRESULT (STDMETHODCALLTYPE *CreateMetadataWriterFromReader)(
1942 IWICComponentFactory *This,
1943 IWICMetadataReader *pIReader,
1944 const GUID *pguidVendor,
1945 IWICMetadataWriter **ppIWriter);
1946
1947 HRESULT (STDMETHODCALLTYPE *CreateQueryReaderFromBlockReader)(
1948 IWICComponentFactory *This,
1949 IWICMetadataBlockReader *pIBlockReader,
1950 IWICMetadataQueryReader **ppIQueryReader);
1951
1952 HRESULT (STDMETHODCALLTYPE *CreateQueryWriterFromBlockWriter)(
1953 IWICComponentFactory *This,
1954 IWICMetadataBlockWriter *pIBlockWriter,
1955 IWICMetadataQueryWriter **ppIQueryWriter);
1956
1957 HRESULT (STDMETHODCALLTYPE *CreateEncoderPropertyBag)(
1958 IWICComponentFactory *This,
1959 PROPBAG2 *ppropOptions,
1960 UINT cCount,
1961 IPropertyBag2 **ppIPropertyBag);
1962
1963 END_INTERFACE
1964} IWICComponentFactoryVtbl;
1965
1966interface IWICComponentFactory {
1967 CONST_VTBL IWICComponentFactoryVtbl* lpVtbl;
1968};
1969
1970#ifdef COBJMACROS
1971#ifndef WIDL_C_INLINE_WRAPPERS
1972/*** IUnknown methods ***/
1973#define IWICComponentFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1974#define IWICComponentFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
1975#define IWICComponentFactory_Release(This) (This)->lpVtbl->Release(This)
1976/*** IWICImagingFactory methods ***/
1977#define IWICComponentFactory_CreateDecoderFromFilename(This,wzFilename,pguidVendor,dwDesiredAccess,metadataOptions,ppIDecoder) (This)->lpVtbl->CreateDecoderFromFilename(This,wzFilename,pguidVendor,dwDesiredAccess,metadataOptions,ppIDecoder)
1978#define IWICComponentFactory_CreateDecoderFromStream(This,pIStream,pguidVendor,metadataOptions,ppIDecoder) (This)->lpVtbl->CreateDecoderFromStream(This,pIStream,pguidVendor,metadataOptions,ppIDecoder)
1979#define IWICComponentFactory_CreateDecoderFromFileHandle(This,hFile,pguidVendor,metadataOptions,ppIDecoder) (This)->lpVtbl->CreateDecoderFromFileHandle(This,hFile,pguidVendor,metadataOptions,ppIDecoder)
1980#define IWICComponentFactory_CreateComponentInfo(This,clsidComponent,ppIInfo) (This)->lpVtbl->CreateComponentInfo(This,clsidComponent,ppIInfo)
1981#define IWICComponentFactory_CreateDecoder(This,guidContainerFormat,pguidVendor,ppIDecoder) (This)->lpVtbl->CreateDecoder(This,guidContainerFormat,pguidVendor,ppIDecoder)
1982#define IWICComponentFactory_CreateEncoder(This,guidContainerFormat,pguidVendor,ppIEncoder) (This)->lpVtbl->CreateEncoder(This,guidContainerFormat,pguidVendor,ppIEncoder)
1983#define IWICComponentFactory_CreatePalette(This,ppIPalette) (This)->lpVtbl->CreatePalette(This,ppIPalette)
1984#define IWICComponentFactory_CreateFormatConverter(This,ppIFormatConverter) (This)->lpVtbl->CreateFormatConverter(This,ppIFormatConverter)
1985#define IWICComponentFactory_CreateBitmapScaler(This,ppIBitmapScaler) (This)->lpVtbl->CreateBitmapScaler(This,ppIBitmapScaler)
1986#define IWICComponentFactory_CreateBitmapClipper(This,ppIBitmapClipper) (This)->lpVtbl->CreateBitmapClipper(This,ppIBitmapClipper)
1987#define IWICComponentFactory_CreateBitmapFlipRotator(This,ppIBitmapFlipRotator) (This)->lpVtbl->CreateBitmapFlipRotator(This,ppIBitmapFlipRotator)
1988#define IWICComponentFactory_CreateStream(This,ppIWICStream) (This)->lpVtbl->CreateStream(This,ppIWICStream)
1989#define IWICComponentFactory_CreateColorContext(This,ppIWICColorContext) (This)->lpVtbl->CreateColorContext(This,ppIWICColorContext)
1990#define IWICComponentFactory_CreateColorTransformer(This,ppIWICColorTransform) (This)->lpVtbl->CreateColorTransformer(This,ppIWICColorTransform)
1991#define IWICComponentFactory_CreateBitmap(This,uiWidth,uiHeight,pixelFormat,option,ppIBitmap) (This)->lpVtbl->CreateBitmap(This,uiWidth,uiHeight,pixelFormat,option,ppIBitmap)
1992#define IWICComponentFactory_CreateBitmapFromSource(This,piBitmapSource,option,ppIBitmap) (This)->lpVtbl->CreateBitmapFromSource(This,piBitmapSource,option,ppIBitmap)
1993#define IWICComponentFactory_CreateBitmapFromSourceRect(This,piBitmapSource,x,y,width,height,ppIBitmap) (This)->lpVtbl->CreateBitmapFromSourceRect(This,piBitmapSource,x,y,width,height,ppIBitmap)
1994#define IWICComponentFactory_CreateBitmapFromMemory(This,uiWidth,uiHeight,pixelFormat,cbStride,cbBufferSize,pbBuffer,ppIBitmap) (This)->lpVtbl->CreateBitmapFromMemory(This,uiWidth,uiHeight,pixelFormat,cbStride,cbBufferSize,pbBuffer,ppIBitmap)
1995#define IWICComponentFactory_CreateBitmapFromHBITMAP(This,hBitmap,hPalette,options,ppIBitmap) (This)->lpVtbl->CreateBitmapFromHBITMAP(This,hBitmap,hPalette,options,ppIBitmap)
1996#define IWICComponentFactory_CreateBitmapFromHICON(This,hIcon,ppIBitmap) (This)->lpVtbl->CreateBitmapFromHICON(This,hIcon,ppIBitmap)
1997#define IWICComponentFactory_CreateComponentEnumerator(This,componentTypes,options,ppIEnumUnknown) (This)->lpVtbl->CreateComponentEnumerator(This,componentTypes,options,ppIEnumUnknown)
1998#define IWICComponentFactory_CreateFastMetadataEncoderFromDecoder(This,pIDecoder,ppIFastEncoder) (This)->lpVtbl->CreateFastMetadataEncoderFromDecoder(This,pIDecoder,ppIFastEncoder)
1999#define IWICComponentFactory_CreateFastMetadataEncoderFromFrameDecode(This,pIFrameDecoder,ppIFastEncoder) (This)->lpVtbl->CreateFastMetadataEncoderFromFrameDecode(This,pIFrameDecoder,ppIFastEncoder)
2000#define IWICComponentFactory_CreateQueryWriter(This,guidMetadataFormat,pguidVendor,ppIQueryWriter) (This)->lpVtbl->CreateQueryWriter(This,guidMetadataFormat,pguidVendor,ppIQueryWriter)
2001#define IWICComponentFactory_CreateQueryWriterFromReader(This,pIQueryReader,pguidVendor,ppIQueryWriter) (This)->lpVtbl->CreateQueryWriterFromReader(This,pIQueryReader,pguidVendor,ppIQueryWriter)
2002/*** IWICComponentFactory methods ***/
2003#define IWICComponentFactory_CreateMetadataReader(This,guidMetadataFormat,pguidVendor,dwOptions,pIStream,ppIReader) (This)->lpVtbl->CreateMetadataReader(This,guidMetadataFormat,pguidVendor,dwOptions,pIStream,ppIReader)
2004#define IWICComponentFactory_CreateMetadataReaderFromContainer(This,guidMetadataFormat,pguidVendor,dwOptions,pIStream,ppIReader) (This)->lpVtbl->CreateMetadataReaderFromContainer(This,guidMetadataFormat,pguidVendor,dwOptions,pIStream,ppIReader)
2005#define IWICComponentFactory_CreateMetadataWriter(This,guidMetadataFormat,pguidVendor,dwMetadataOptions,ppIWriter) (This)->lpVtbl->CreateMetadataWriter(This,guidMetadataFormat,pguidVendor,dwMetadataOptions,ppIWriter)
2006#define IWICComponentFactory_CreateMetadataWriterFromReader(This,pIReader,pguidVendor,ppIWriter) (This)->lpVtbl->CreateMetadataWriterFromReader(This,pIReader,pguidVendor,ppIWriter)
2007#define IWICComponentFactory_CreateQueryReaderFromBlockReader(This,pIBlockReader,ppIQueryReader) (This)->lpVtbl->CreateQueryReaderFromBlockReader(This,pIBlockReader,ppIQueryReader)
2008#define IWICComponentFactory_CreateQueryWriterFromBlockWriter(This,pIBlockWriter,ppIQueryWriter) (This)->lpVtbl->CreateQueryWriterFromBlockWriter(This,pIBlockWriter,ppIQueryWriter)
2009#define IWICComponentFactory_CreateEncoderPropertyBag(This,ppropOptions,cCount,ppIPropertyBag) (This)->lpVtbl->CreateEncoderPropertyBag(This,ppropOptions,cCount,ppIPropertyBag)
2010#else
2011/*** IUnknown methods ***/
2012static FORCEINLINE HRESULT IWICComponentFactory_QueryInterface(IWICComponentFactory* This,REFIID riid,void **ppvObject) {
2013 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2014}
2015static FORCEINLINE ULONG IWICComponentFactory_AddRef(IWICComponentFactory* This) {
2016 return This->lpVtbl->AddRef(This);
2017}
2018static FORCEINLINE ULONG IWICComponentFactory_Release(IWICComponentFactory* This) {
2019 return This->lpVtbl->Release(This);
2020}
2021/*** IWICImagingFactory methods ***/
2022static FORCEINLINE HRESULT IWICComponentFactory_CreateDecoderFromFilename(IWICComponentFactory* This,LPCWSTR wzFilename,const GUID *pguidVendor,DWORD dwDesiredAccess,WICDecodeOptions metadataOptions,IWICBitmapDecoder **ppIDecoder) {
2023 return This->lpVtbl->CreateDecoderFromFilename(This,wzFilename,pguidVendor,dwDesiredAccess,metadataOptions,ppIDecoder);
2024}
2025static FORCEINLINE HRESULT IWICComponentFactory_CreateDecoderFromStream(IWICComponentFactory* This,IStream *pIStream,const GUID *pguidVendor,WICDecodeOptions metadataOptions,IWICBitmapDecoder **ppIDecoder) {
2026 return This->lpVtbl->CreateDecoderFromStream(This,pIStream,pguidVendor,metadataOptions,ppIDecoder);
2027}
2028static FORCEINLINE HRESULT IWICComponentFactory_CreateDecoderFromFileHandle(IWICComponentFactory* This,ULONG_PTR hFile,const GUID *pguidVendor,WICDecodeOptions metadataOptions,IWICBitmapDecoder **ppIDecoder) {
2029 return This->lpVtbl->CreateDecoderFromFileHandle(This,hFile,pguidVendor,metadataOptions,ppIDecoder);
2030}
2031static FORCEINLINE HRESULT IWICComponentFactory_CreateComponentInfo(IWICComponentFactory* This,REFCLSID clsidComponent,IWICComponentInfo **ppIInfo) {
2032 return This->lpVtbl->CreateComponentInfo(This,clsidComponent,ppIInfo);
2033}
2034static FORCEINLINE HRESULT IWICComponentFactory_CreateDecoder(IWICComponentFactory* This,REFGUID guidContainerFormat,const GUID *pguidVendor,IWICBitmapDecoder **ppIDecoder) {
2035 return This->lpVtbl->CreateDecoder(This,guidContainerFormat,pguidVendor,ppIDecoder);
2036}
2037static FORCEINLINE HRESULT IWICComponentFactory_CreateEncoder(IWICComponentFactory* This,REFGUID guidContainerFormat,const GUID *pguidVendor,IWICBitmapEncoder **ppIEncoder) {
2038 return This->lpVtbl->CreateEncoder(This,guidContainerFormat,pguidVendor,ppIEncoder);
2039}
2040static FORCEINLINE HRESULT IWICComponentFactory_CreatePalette(IWICComponentFactory* This,IWICPalette **ppIPalette) {
2041 return This->lpVtbl->CreatePalette(This,ppIPalette);
2042}
2043static FORCEINLINE HRESULT IWICComponentFactory_CreateFormatConverter(IWICComponentFactory* This,IWICFormatConverter **ppIFormatConverter) {
2044 return This->lpVtbl->CreateFormatConverter(This,ppIFormatConverter);
2045}
2046static FORCEINLINE HRESULT IWICComponentFactory_CreateBitmapScaler(IWICComponentFactory* This,IWICBitmapScaler **ppIBitmapScaler) {
2047 return This->lpVtbl->CreateBitmapScaler(This,ppIBitmapScaler);
2048}
2049static FORCEINLINE HRESULT IWICComponentFactory_CreateBitmapClipper(IWICComponentFactory* This,IWICBitmapClipper **ppIBitmapClipper) {
2050 return This->lpVtbl->CreateBitmapClipper(This,ppIBitmapClipper);
2051}
2052static FORCEINLINE HRESULT IWICComponentFactory_CreateBitmapFlipRotator(IWICComponentFactory* This,IWICBitmapFlipRotator **ppIBitmapFlipRotator) {
2053 return This->lpVtbl->CreateBitmapFlipRotator(This,ppIBitmapFlipRotator);
2054}
2055static FORCEINLINE HRESULT IWICComponentFactory_CreateStream(IWICComponentFactory* This,IWICStream **ppIWICStream) {
2056 return This->lpVtbl->CreateStream(This,ppIWICStream);
2057}
2058static FORCEINLINE HRESULT IWICComponentFactory_CreateColorContext(IWICComponentFactory* This,IWICColorContext **ppIWICColorContext) {
2059 return This->lpVtbl->CreateColorContext(This,ppIWICColorContext);
2060}
2061static FORCEINLINE HRESULT IWICComponentFactory_CreateColorTransformer(IWICComponentFactory* This,IWICColorTransform **ppIWICColorTransform) {
2062 return This->lpVtbl->CreateColorTransformer(This,ppIWICColorTransform);
2063}
2064static FORCEINLINE HRESULT IWICComponentFactory_CreateBitmap(IWICComponentFactory* This,UINT uiWidth,UINT uiHeight,REFWICPixelFormatGUID pixelFormat,WICBitmapCreateCacheOption option,IWICBitmap **ppIBitmap) {
2065 return This->lpVtbl->CreateBitmap(This,uiWidth,uiHeight,pixelFormat,option,ppIBitmap);
2066}
2067static FORCEINLINE HRESULT IWICComponentFactory_CreateBitmapFromSource(IWICComponentFactory* This,IWICBitmapSource *piBitmapSource,WICBitmapCreateCacheOption option,IWICBitmap **ppIBitmap) {
2068 return This->lpVtbl->CreateBitmapFromSource(This,piBitmapSource,option,ppIBitmap);
2069}
2070static FORCEINLINE HRESULT IWICComponentFactory_CreateBitmapFromSourceRect(IWICComponentFactory* This,IWICBitmapSource *piBitmapSource,UINT x,UINT y,UINT width,UINT height,IWICBitmap **ppIBitmap) {
2071 return This->lpVtbl->CreateBitmapFromSourceRect(This,piBitmapSource,x,y,width,height,ppIBitmap);
2072}
2073static FORCEINLINE HRESULT IWICComponentFactory_CreateBitmapFromMemory(IWICComponentFactory* This,UINT uiWidth,UINT uiHeight,REFWICPixelFormatGUID pixelFormat,UINT cbStride,UINT cbBufferSize,BYTE *pbBuffer,IWICBitmap **ppIBitmap) {
2074 return This->lpVtbl->CreateBitmapFromMemory(This,uiWidth,uiHeight,pixelFormat,cbStride,cbBufferSize,pbBuffer,ppIBitmap);
2075}
2076static FORCEINLINE HRESULT IWICComponentFactory_CreateBitmapFromHBITMAP(IWICComponentFactory* This,HBITMAP hBitmap,HPALETTE hPalette,WICBitmapAlphaChannelOption options,IWICBitmap **ppIBitmap) {
2077 return This->lpVtbl->CreateBitmapFromHBITMAP(This,hBitmap,hPalette,options,ppIBitmap);
2078}
2079static FORCEINLINE HRESULT IWICComponentFactory_CreateBitmapFromHICON(IWICComponentFactory* This,HICON hIcon,IWICBitmap **ppIBitmap) {
2080 return This->lpVtbl->CreateBitmapFromHICON(This,hIcon,ppIBitmap);
2081}
2082static FORCEINLINE HRESULT IWICComponentFactory_CreateComponentEnumerator(IWICComponentFactory* This,DWORD componentTypes,DWORD options,IEnumUnknown **ppIEnumUnknown) {
2083 return This->lpVtbl->CreateComponentEnumerator(This,componentTypes,options,ppIEnumUnknown);
2084}
2085static FORCEINLINE HRESULT IWICComponentFactory_CreateFastMetadataEncoderFromDecoder(IWICComponentFactory* This,IWICBitmapDecoder *pIDecoder,IWICFastMetadataEncoder **ppIFastEncoder) {
2086 return This->lpVtbl->CreateFastMetadataEncoderFromDecoder(This,pIDecoder,ppIFastEncoder);
2087}
2088static FORCEINLINE HRESULT IWICComponentFactory_CreateFastMetadataEncoderFromFrameDecode(IWICComponentFactory* This,IWICBitmapFrameDecode *pIFrameDecoder,IWICFastMetadataEncoder **ppIFastEncoder) {
2089 return This->lpVtbl->CreateFastMetadataEncoderFromFrameDecode(This,pIFrameDecoder,ppIFastEncoder);
2090}
2091static FORCEINLINE HRESULT IWICComponentFactory_CreateQueryWriter(IWICComponentFactory* This,REFGUID guidMetadataFormat,const GUID *pguidVendor,IWICMetadataQueryWriter **ppIQueryWriter) {
2092 return This->lpVtbl->CreateQueryWriter(This,guidMetadataFormat,pguidVendor,ppIQueryWriter);
2093}
2094static FORCEINLINE HRESULT IWICComponentFactory_CreateQueryWriterFromReader(IWICComponentFactory* This,IWICMetadataQueryReader *pIQueryReader,const GUID *pguidVendor,IWICMetadataQueryWriter **ppIQueryWriter) {
2095 return This->lpVtbl->CreateQueryWriterFromReader(This,pIQueryReader,pguidVendor,ppIQueryWriter);
2096}
2097/*** IWICComponentFactory methods ***/
2098static FORCEINLINE HRESULT IWICComponentFactory_CreateMetadataReader(IWICComponentFactory* This,REFGUID guidMetadataFormat,const GUID *pguidVendor,DWORD dwOptions,IStream *pIStream,IWICMetadataReader **ppIReader) {
2099 return This->lpVtbl->CreateMetadataReader(This,guidMetadataFormat,pguidVendor,dwOptions,pIStream,ppIReader);
2100}
2101static FORCEINLINE HRESULT IWICComponentFactory_CreateMetadataReaderFromContainer(IWICComponentFactory* This,REFGUID guidMetadataFormat,const GUID *pguidVendor,DWORD dwOptions,IStream *pIStream,IWICMetadataReader **ppIReader) {
2102 return This->lpVtbl->CreateMetadataReaderFromContainer(This,guidMetadataFormat,pguidVendor,dwOptions,pIStream,ppIReader);
2103}
2104static FORCEINLINE HRESULT IWICComponentFactory_CreateMetadataWriter(IWICComponentFactory* This,REFGUID guidMetadataFormat,const GUID *pguidVendor,DWORD dwMetadataOptions,IWICMetadataWriter **ppIWriter) {
2105 return This->lpVtbl->CreateMetadataWriter(This,guidMetadataFormat,pguidVendor,dwMetadataOptions,ppIWriter);
2106}
2107static FORCEINLINE HRESULT IWICComponentFactory_CreateMetadataWriterFromReader(IWICComponentFactory* This,IWICMetadataReader *pIReader,const GUID *pguidVendor,IWICMetadataWriter **ppIWriter) {
2108 return This->lpVtbl->CreateMetadataWriterFromReader(This,pIReader,pguidVendor,ppIWriter);
2109}
2110static FORCEINLINE HRESULT IWICComponentFactory_CreateQueryReaderFromBlockReader(IWICComponentFactory* This,IWICMetadataBlockReader *pIBlockReader,IWICMetadataQueryReader **ppIQueryReader) {
2111 return This->lpVtbl->CreateQueryReaderFromBlockReader(This,pIBlockReader,ppIQueryReader);
2112}
2113static FORCEINLINE HRESULT IWICComponentFactory_CreateQueryWriterFromBlockWriter(IWICComponentFactory* This,IWICMetadataBlockWriter *pIBlockWriter,IWICMetadataQueryWriter **ppIQueryWriter) {
2114 return This->lpVtbl->CreateQueryWriterFromBlockWriter(This,pIBlockWriter,ppIQueryWriter);
2115}
2116static FORCEINLINE HRESULT IWICComponentFactory_CreateEncoderPropertyBag(IWICComponentFactory* This,PROPBAG2 *ppropOptions,UINT cCount,IPropertyBag2 **ppIPropertyBag) {
2117 return This->lpVtbl->CreateEncoderPropertyBag(This,ppropOptions,cCount,ppIPropertyBag);
2118}
2119#endif
2120#endif
2121
2122#endif
2123
2124
2125#endif /* __IWICComponentFactory_INTERFACE_DEFINED__ */
2126
2127/* Begin additional prototypes for all interfaces */
2128
2129ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *);
2130unsigned char * __RPC_USER BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *);
2131unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
2132void __RPC_USER BSTR_UserFree (ULONG *, BSTR *);
2133ULONG __RPC_USER LPSAFEARRAY_UserSize (ULONG *, ULONG, LPSAFEARRAY *);
2134unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal (ULONG *, unsigned char *, LPSAFEARRAY *);
2135unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal(ULONG *, unsigned char *, LPSAFEARRAY *);
2136void __RPC_USER LPSAFEARRAY_UserFree (ULONG *, LPSAFEARRAY *);
2137ULONG __RPC_USER CLIPFORMAT_UserSize (ULONG *, ULONG, CLIPFORMAT *);
2138unsigned char * __RPC_USER CLIPFORMAT_UserMarshal (ULONG *, unsigned char *, CLIPFORMAT *);
2139unsigned char * __RPC_USER CLIPFORMAT_UserUnmarshal(ULONG *, unsigned char *, CLIPFORMAT *);
2140void __RPC_USER CLIPFORMAT_UserFree (ULONG *, CLIPFORMAT *);
2141
2142/* End additional prototypes */
2143
2144#ifdef __cplusplus
2145}
2146#endif
2147
2148#endif /* __wincodecsdk_h__ */
Note: See TracBrowser for help on using the repository browser.