ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/Daodan/MSYS2/mingw32/i686-w64-mingw32/include/propidl.idl
Revision: 1166
Committed: Tue Oct 26 14:22:36 2021 UTC (4 years ago) by rossy
File size: 16306 byte(s)
Log Message:
Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File Contents

# Content
1 cpp_quote("/**")
2 cpp_quote(" * This file is part of the mingw-w64 runtime package.")
3 cpp_quote(" * No warranty is given; refer to the file DISCLAIMER within this package.")
4 cpp_quote(" */")
5 cpp_quote("")
6 cpp_quote("#include <winapifamily.h>")
7 cpp_quote("")
8
9 #ifndef DO_NO_IMPORTS
10 import "wtypes.idl";
11 import "objidl.idl";
12 import "oaidl.idl";
13 #endif
14
15 cpp_quote("")
16 cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)")
17
18 interface IPropertyStorage;
19 interface IEnumSTATPROPSTG;
20 interface IEnumSTATPROPSETSTG;
21
22 cpp_quote("")
23 typedef struct tagVersionedStream {
24 GUID guidVersion;
25 IStream *pStream;
26 } VERSIONEDSTREAM,*LPVERSIONEDSTREAM;
27 cpp_quote("")
28 const DWORD PROPSETFLAG_DEFAULT = 0;
29 const DWORD PROPSETFLAG_NONSIMPLE = 1;
30 const DWORD PROPSETFLAG_ANSI = 2;
31 const DWORD PROPSETFLAG_UNBUFFERED = 4;
32 const DWORD PROPSETFLAG_CASE_SENSITIVE = 8;
33 cpp_quote("")
34 const DWORD PROPSET_BEHAVIOR_CASE_SENSITIVE = 1;
35 cpp_quote("")
36 cpp_quote("#if 0")
37 typedef struct tag_inner_PROPVARIANT PROPVARIANT;
38 cpp_quote("#else")
39 cpp_quote("typedef struct tagPROPVARIANT PROPVARIANT;")
40 cpp_quote("#endif")
41
42 #define TYPEDEF_CA(type, name) typedef struct tag##name { ULONG cElems; [size_is (cElems)] type *pElems; } name
43
44 cpp_quote("")
45 TYPEDEF_CA (CHAR, CAC);
46 TYPEDEF_CA (UCHAR, CAUB);
47 TYPEDEF_CA (SHORT, CAI);
48 TYPEDEF_CA (USHORT, CAUI);
49 TYPEDEF_CA (LONG, CAL);
50 TYPEDEF_CA (ULONG, CAUL);
51 TYPEDEF_CA (FLOAT, CAFLT);
52 TYPEDEF_CA (DOUBLE, CADBL);
53 TYPEDEF_CA (CY, CACY);
54 TYPEDEF_CA (DATE, CADATE);
55 TYPEDEF_CA (BSTR, CABSTR);
56 TYPEDEF_CA (BSTRBLOB, CABSTRBLOB);
57 TYPEDEF_CA (VARIANT_BOOL, CABOOL);
58 TYPEDEF_CA (SCODE, CASCODE);
59 TYPEDEF_CA (PROPVARIANT, CAPROPVARIANT);
60 TYPEDEF_CA (LARGE_INTEGER, CAH);
61 TYPEDEF_CA (ULARGE_INTEGER, CAUH);
62 TYPEDEF_CA (LPSTR, CALPSTR);
63 TYPEDEF_CA (LPWSTR, CALPWSTR);
64 TYPEDEF_CA (FILETIME, CAFILETIME);
65 TYPEDEF_CA (CLIPDATA, CACLIPDATA);
66 TYPEDEF_CA (CLSID, CACLSID);
67
68 cpp_quote("")
69 cpp_quote("#if 0")
70 typedef BYTE PROPVAR_PAD1;
71 typedef BYTE PROPVAR_PAD2;
72 typedef ULONG PROPVAR_PAD3;
73 cpp_quote("#else")
74 cpp_quote("typedef WORD PROPVAR_PAD1;")
75 cpp_quote("typedef WORD PROPVAR_PAD2;")
76 cpp_quote("typedef WORD PROPVAR_PAD3;")
77 cpp_quote("")
78 cpp_quote("#define tag_inner_PROPVARIANT")
79 cpp_quote("#endif")
80 cpp_quote("")
81 cpp_quote(" struct tagPROPVARIANT {")
82 cpp_quote(" __C89_NAMELESS union {")
83 cpp_quote(" __C89_NAMELESS")
84 struct tag_inner_PROPVARIANT {
85 VARTYPE vt;
86 PROPVAR_PAD1 wReserved1;
87 PROPVAR_PAD2 wReserved2;
88 PROPVAR_PAD3 wReserved3;
89 [switch_is ((unsigned short) vt)] union {
90 [case (VT_EMPTY, VT_NULL)];
91 [case (VT_I1)] CHAR cVal;
92 [case (VT_UI1)] UCHAR bVal;
93 [case (VT_I2)] SHORT iVal;
94 [case (VT_UI2)] USHORT uiVal;
95 [case (VT_I4)] LONG lVal;
96 [case (VT_UI4)] ULONG ulVal;
97 [case (VT_INT)] INT intVal;
98 [case (VT_UINT)] UINT uintVal;
99 [case (VT_DECIMAL, VT_I8)] LARGE_INTEGER hVal;
100 [case (VT_UI8)] ULARGE_INTEGER uhVal;
101 [case (VT_R4)] FLOAT fltVal;
102 [case (VT_R8)] DOUBLE dblVal;
103 [case (VT_BOOL)] VARIANT_BOOL boolVal;
104 /* [case (VT_ILLEGAL)] _VARIANT_BOOL bool; */
105 [case (VT_ERROR)] SCODE scode;
106 [case (VT_CY)] CY cyVal;
107 [case (VT_DATE)] DATE date;
108 [case (VT_FILETIME)] FILETIME filetime;
109 [case (VT_CLSID)] CLSID *puuid;
110 [case (VT_CF)] CLIPDATA *pclipdata;
111 [case (VT_BSTR)] BSTR bstrVal;
112 [case (VT_BSTR_BLOB)] BSTRBLOB bstrblobVal;
113 [case (VT_BLOB, VT_BLOB_OBJECT)] BLOB blob;
114 [case (VT_LPSTR)] LPSTR pszVal;
115 [case (VT_LPWSTR)] LPWSTR pwszVal;
116 [case (VT_UNKNOWN)] IUnknown *punkVal;
117 [case (VT_DISPATCH)] IDispatch *pdispVal;
118 [case (VT_STREAM, VT_STREAMED_OBJECT)] IStream *pStream;
119 [case (VT_STORAGE, VT_STORED_OBJECT)] IStorage *pStorage;
120 [case (VT_VERSIONED_STREAM)] LPVERSIONEDSTREAM pVersionedStream;
121 [case (VT_ARRAY|VT_I1, VT_ARRAY|VT_UI1, VT_ARRAY|VT_I2, VT_ARRAY|VT_UI2, VT_ARRAY|VT_I4, VT_ARRAY|VT_UI4, VT_ARRAY|VT_INT, VT_ARRAY|VT_UINT, VT_ARRAY|VT_R4, VT_ARRAY|VT_R8, VT_ARRAY|VT_CY, VT_ARRAY|VT_DATE, VT_ARRAY|VT_BSTR, VT_ARRAY|VT_BOOL, VT_ARRAY|VT_DECIMAL, VT_ARRAY|VT_DISPATCH, VT_ARRAY|VT_UNKNOWN, VT_ARRAY|VT_ERROR, VT_ARRAY|VT_VARIANT)] LPSAFEARRAY parray;
122 [case (VT_VECTOR|VT_I1)] CAC cac;
123 [case (VT_VECTOR|VT_UI1)] CAUB caub;
124 [case (VT_VECTOR|VT_I2)] CAI cai;
125 [case (VT_VECTOR|VT_UI2)] CAUI caui;
126 [case (VT_VECTOR|VT_I4)] CAL cal;
127 [case (VT_VECTOR|VT_UI4)] CAUL caul;
128 [case (VT_VECTOR|VT_I8)] CAH cah;
129 [case (VT_VECTOR|VT_UI8)] CAUH cauh;
130 [case (VT_VECTOR|VT_R4)] CAFLT caflt;
131 [case (VT_VECTOR|VT_R8)] CADBL cadbl;
132 [case (VT_VECTOR|VT_BOOL)] CABOOL cabool;
133 [case (VT_VECTOR|VT_ERROR)] CASCODE cascode;
134 [case (VT_VECTOR|VT_CY)] CACY cacy;
135 [case (VT_VECTOR|VT_DATE)] CADATE cadate;
136 [case (VT_VECTOR|VT_FILETIME)] CAFILETIME cafiletime;
137 [case (VT_VECTOR|VT_CLSID)] CACLSID cauuid;
138 [case (VT_VECTOR|VT_CF)] CACLIPDATA caclipdata;
139 [case (VT_VECTOR|VT_BSTR)] CABSTR cabstr;
140 [case (VT_VECTOR|VT_BSTR_BLOB)]CABSTRBLOB cabstrblob;
141 [case (VT_VECTOR|VT_LPSTR)] CALPSTR calpstr;
142 [case (VT_VECTOR|VT_LPWSTR)] CALPWSTR calpwstr;
143 [case (VT_VECTOR|VT_VARIANT)] CAPROPVARIANT capropvar;
144 [case (VT_BYREF|VT_I1)] CHAR *pcVal;
145 [case (VT_BYREF|VT_UI1)] UCHAR *pbVal;
146 [case (VT_BYREF|VT_I2)] SHORT *piVal;
147 [case (VT_BYREF|VT_UI2)] USHORT *puiVal;
148 [case (VT_BYREF|VT_I4)] LONG *plVal;
149 [case (VT_BYREF|VT_UI4)] ULONG *pulVal;
150 [case (VT_BYREF|VT_INT)] INT *pintVal;
151 [case (VT_BYREF|VT_UINT)] UINT *puintVal;
152 [case (VT_BYREF|VT_R4)] FLOAT *pfltVal;
153 [case (VT_BYREF|VT_R8)] DOUBLE *pdblVal;
154 [case (VT_BYREF|VT_BOOL)] VARIANT_BOOL *pboolVal;
155 [case (VT_BYREF|VT_DECIMAL)] DECIMAL *pdecVal;
156 [case (VT_BYREF|VT_ERROR)] SCODE *pscode;
157 [case (VT_BYREF|VT_CY)] CY *pcyVal;
158 [case (VT_BYREF|VT_DATE)] DATE *pdate;
159 [case (VT_BYREF|VT_BSTR)] BSTR *pbstrVal;
160 [case (VT_BYREF|VT_UNKNOWN)] IUnknown **ppunkVal;
161 [case (VT_BYREF|VT_DISPATCH)] IDispatch **ppdispVal;
162 [case (VT_BYREF|VT_ARRAY)] LPSAFEARRAY *pparray;
163 [case (VT_BYREF|VT_VARIANT)] PROPVARIANT *pvarVal;
164 };
165 };
166 cpp_quote(" DECIMAL decVal;")
167 cpp_quote(" };")
168 cpp_quote("};")
169
170 cpp_quote("")
171
172 cpp_quote("#if 0")
173 typedef struct tag_inner_PROPVARIANT *LPPROPVARIANT;
174 typedef const PROPVARIANT *REFPROPVARIANT;
175 cpp_quote("#else")
176 cpp_quote("typedef struct tagPROPVARIANT * LPPROPVARIANT;")
177 cpp_quote("")
178 cpp_quote("#ifndef _REFPROPVARIANT_DEFINED")
179 cpp_quote("#define _REFPROPVARIANT_DEFINED")
180 cpp_quote("#ifdef __cplusplus")
181 cpp_quote("#define REFPROPVARIANT const PROPVARIANT &")
182 cpp_quote("#else")
183 cpp_quote("#define REFPROPVARIANT const PROPVARIANT * __MIDL_CONST")
184 cpp_quote("#endif")
185 cpp_quote("#endif")
186 cpp_quote("#endif")
187 cpp_quote("")
188 const PROPID PID_DICTIONARY = 0x00000000;
189 const PROPID PID_CODEPAGE = 0x00000001;
190 const PROPID PID_FIRST_USABLE = 0x00000002;
191 const PROPID PID_FIRST_NAME_DEFAULT = 0x00000fff;
192 const PROPID PID_LOCALE = 0x80000000;
193 const PROPID PID_MODIFY_TIME = 0x80000001;
194 const PROPID PID_SECURITY = 0x80000002;
195 const PROPID PID_BEHAVIOR = 0x80000003;
196 const PROPID PID_ILLEGAL = 0xffffffff;
197 cpp_quote("")
198 const PROPID PID_MIN_READONLY = 0x80000000;
199 const PROPID PID_MAX_READONLY = 0xbfffffff;
200 cpp_quote("#endif")
201 cpp_quote("")
202 cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
203 cpp_quote("")
204 cpp_quote("#define PIDDI_THUMBNAIL __MSABI_LONG(0x2)")
205 cpp_quote("")
206 cpp_quote("#define PIDSI_TITLE __MSABI_LONG(0x2)")
207 cpp_quote("#define PIDSI_SUBJECT __MSABI_LONG(0x3)")
208 cpp_quote("#define PIDSI_AUTHOR __MSABI_LONG(0x4)")
209 cpp_quote("#define PIDSI_KEYWORDS __MSABI_LONG(0x5)")
210 cpp_quote("#define PIDSI_COMMENTS __MSABI_LONG(0x6)")
211 cpp_quote("#define PIDSI_TEMPLATE __MSABI_LONG(0x7)")
212 cpp_quote("#define PIDSI_LASTAUTHOR __MSABI_LONG(0x8)")
213 cpp_quote("#define PIDSI_REVNUMBER __MSABI_LONG(0x9)")
214 cpp_quote("#define PIDSI_EDITTIME __MSABI_LONG(0xa)")
215 cpp_quote("#define PIDSI_LASTPRINTED __MSABI_LONG(0xb)")
216 cpp_quote("#define PIDSI_CREATE_DTM __MSABI_LONG(0xc)")
217 cpp_quote("#define PIDSI_LASTSAVE_DTM __MSABI_LONG(0xd)")
218 cpp_quote("#define PIDSI_PAGECOUNT __MSABI_LONG(0xe)")
219 cpp_quote("#define PIDSI_WORDCOUNT __MSABI_LONG(0xf)")
220 cpp_quote("#define PIDSI_CHARCOUNT __MSABI_LONG(0x10)")
221 cpp_quote("#define PIDSI_THUMBNAIL __MSABI_LONG(0x11)")
222 cpp_quote("#define PIDSI_APPNAME __MSABI_LONG(0x12)")
223 cpp_quote("#define PIDSI_DOC_SECURITY __MSABI_LONG(0x13)")
224 cpp_quote("")
225 cpp_quote("#define PIDDSI_CATEGORY 0x00000002")
226 cpp_quote("#define PIDDSI_PRESFORMAT 0x00000003")
227 cpp_quote("#define PIDDSI_BYTECOUNT 0x00000004")
228 cpp_quote("#define PIDDSI_LINECOUNT 0x00000005")
229 cpp_quote("#define PIDDSI_PARCOUNT 0x00000006")
230 cpp_quote("#define PIDDSI_SLIDECOUNT 0x00000007")
231 cpp_quote("#define PIDDSI_NOTECOUNT 0x00000008")
232 cpp_quote("#define PIDDSI_HIDDENCOUNT 0x00000009")
233 cpp_quote("#define PIDDSI_MMCLIPCOUNT 0x0000000A")
234 cpp_quote("#define PIDDSI_SCALE 0x0000000B")
235 cpp_quote("#define PIDDSI_HEADINGPAIR 0x0000000C")
236 cpp_quote("#define PIDDSI_DOCPARTS 0x0000000D")
237 cpp_quote("#define PIDDSI_MANAGER 0x0000000E")
238 cpp_quote("#define PIDDSI_COMPANY 0x0000000F")
239 cpp_quote("#define PIDDSI_LINKSDIRTY 0x00000010")
240 cpp_quote("")
241 cpp_quote("#define PIDMSI_EDITOR __MSABI_LONG(0x2)")
242 cpp_quote("#define PIDMSI_SUPPLIER __MSABI_LONG(0x3)")
243 cpp_quote("#define PIDMSI_SOURCE __MSABI_LONG(0x4)")
244 cpp_quote("#define PIDMSI_SEQUENCE_NO __MSABI_LONG(0x5)")
245 cpp_quote("#define PIDMSI_PROJECT __MSABI_LONG(0x6)")
246 cpp_quote("#define PIDMSI_STATUS __MSABI_LONG(0x7)")
247 cpp_quote("#define PIDMSI_OWNER __MSABI_LONG(0x8)")
248 cpp_quote("#define PIDMSI_RATING __MSABI_LONG(0x9)")
249 cpp_quote("#define PIDMSI_PRODUCTION __MSABI_LONG(0xa)")
250 cpp_quote("#define PIDMSI_COPYRIGHT __MSABI_LONG(0xb)")
251
252 cpp_quote("")
253 enum PIDMSI_STATUS_VALUE {
254 PIDMSI_STATUS_NORMAL = 0,
255 PIDMSI_STATUS_NEW,
256 PIDMSI_STATUS_PRELIM,
257 PIDMSI_STATUS_DRAFT,
258 PIDMSI_STATUS_INPROGRESS,
259 PIDMSI_STATUS_EDIT,
260 PIDMSI_STATUS_REVIEW,
261 PIDMSI_STATUS_PROOF,
262 PIDMSI_STATUS_FINAL,
263 PIDMSI_STATUS_OTHER = 0x7fff
264 };
265 cpp_quote("#endif")
266 cpp_quote("")
267 cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)")
268 const ULONG PRSPEC_INVALID = 0xffffffff;
269 const ULONG PRSPEC_LPWSTR = 0;
270 const ULONG PRSPEC_PROPID = 1;
271 cpp_quote("")
272 typedef struct tagPROPSPEC {
273 ULONG ulKind;
274 [switch_is (ulKind)] union {
275 [case (PRSPEC_PROPID)] PROPID propid;
276 [case (PRSPEC_LPWSTR)] LPOLESTR lpwstr;
277 [default];
278 } DUMMYUNIONNAME;
279 } PROPSPEC;
280
281 cpp_quote("")
282 typedef struct tagSTATPROPSTG {
283 LPOLESTR lpwstrName;
284 PROPID propid;
285 VARTYPE vt;
286 } STATPROPSTG;
287 cpp_quote("")
288 cpp_quote("#define PROPSETHDR_OSVER_KIND(dwOSVer) HIWORD((dwOSVer))")
289 cpp_quote("#define PROPSETHDR_OSVER_MAJOR(dwOSVer) LOBYTE(LOWORD((dwOSVer)))")
290 cpp_quote("#define PROPSETHDR_OSVER_MINOR(dwOSVer) HIBYTE(LOWORD((dwOSVer)))")
291 cpp_quote("#define PROPSETHDR_OSVERSION_UNKNOWN 0xffffffff")
292
293 cpp_quote("")
294 typedef struct tagSTATPROPSETSTG {
295 FMTID fmtid;
296 CLSID clsid;
297 DWORD grfFlags;
298 FILETIME mtime;
299 FILETIME ctime;
300 FILETIME atime;
301 DWORD dwOSVersion;
302 } STATPROPSETSTG;
303
304 cpp_quote("")
305 [object, uuid (00000138-0000-0000-C000-000000000046), pointer_default (unique)]
306 interface IPropertyStorage : IUnknown {
307 HRESULT ReadMultiple ([in] ULONG cpspec,[in, size_is (cpspec)]const PROPSPEC rgpspec[],[out, size_is (cpspec)]PROPVARIANT rgpropvar[]);
308 HRESULT WriteMultiple ([in] ULONG cpspec,[in, size_is (cpspec)]const PROPSPEC rgpspec[],[in, size_is (cpspec)]const PROPVARIANT rgpropvar[],[in] PROPID propidNameFirst);
309 HRESULT DeleteMultiple ([in] ULONG cpspec,[in, size_is (cpspec)]const PROPSPEC rgpspec[]);
310 HRESULT ReadPropertyNames ([in] ULONG cpropid,[in, size_is (cpropid)]const PROPID rgpropid[],[out, size_is (cpropid)]LPOLESTR rglpwstrName[]);
311 HRESULT WritePropertyNames ([in] ULONG cpropid,[in, size_is (cpropid)]const PROPID rgpropid[],[in, size_is (cpropid)]const LPOLESTR rglpwstrName[]);
312 HRESULT DeletePropertyNames ([in] ULONG cpropid,[in, size_is (cpropid)]const PROPID rgpropid[]);
313 HRESULT Commit ([in] DWORD grfCommitFlags);
314 HRESULT Revert ();
315 HRESULT Enum ([out] IEnumSTATPROPSTG **ppenum);
316 HRESULT SetTimes ([in] FILETIME const *pctime,[in] FILETIME const *patime,[in] FILETIME const *pmtime);
317 HRESULT SetClass ([in] REFCLSID clsid);
318 HRESULT Stat ([out] STATPROPSETSTG *pstatpsstg);
319 }
320
321 cpp_quote("")
322 [object, uuid (0000013a-0000-0000-C000-000000000046), pointer_default (unique)]
323 interface IPropertySetStorage : IUnknown {
324 typedef [unique] IPropertySetStorage *LPPROPERTYSETSTORAGE;
325 cpp_quote("")
326 HRESULT Create ([in] REFFMTID rfmtid,[in, unique]const CLSID *pclsid,[in] DWORD grfFlags,[in] DWORD grfMode,[out] IPropertyStorage **ppprstg);
327 HRESULT Open ([in] REFFMTID rfmtid,[in] DWORD grfMode,[out] IPropertyStorage **ppprstg);
328 HRESULT Delete ([in] REFFMTID rfmtid);
329 HRESULT Enum ([out] IEnumSTATPROPSETSTG **ppenum);
330 }
331
332 cpp_quote("")
333 [object, uuid (00000139-0000-0000-C000-000000000046), pointer_default (unique)]
334 interface IEnumSTATPROPSTG : IUnknown {
335 typedef [unique] IEnumSTATPROPSTG *LPENUMSTATPROPSTG;
336 cpp_quote("")
337 [local] HRESULT Next ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)]STATPROPSTG *rgelt,[out]ULONG *pceltFetched);
338 [call_as (Next)] HRESULT RemoteNext ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)]STATPROPSTG *rgelt,[out] ULONG *pceltFetched);
339 HRESULT Skip ([in] ULONG celt);
340 HRESULT Reset ();
341 HRESULT Clone ([out] IEnumSTATPROPSTG **ppenum);
342 }
343
344 cpp_quote("")
345 [object, uuid (0000013b-0000-0000-C000-000000000046), pointer_default (unique)]
346 interface IEnumSTATPROPSETSTG : IUnknown {
347 typedef [unique] IEnumSTATPROPSETSTG *LPENUMSTATPROPSETSTG;
348 cpp_quote("")
349 [local] HRESULT Next ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)]STATPROPSETSTG *rgelt,[out]ULONG *pceltFetched);
350 [call_as (Next)] HRESULT RemoteNext ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)]STATPROPSETSTG *rgelt,[out] ULONG *pceltFetched);
351 HRESULT Skip ([in] ULONG celt);
352 HRESULT Reset ();
353 HRESULT Clone ([out] IEnumSTATPROPSETSTG **ppenum);
354 }
355
356 cpp_quote("")
357 typedef [unique] IPropertyStorage *LPPROPERTYSTORAGE;
358 cpp_quote("")
359 cpp_quote(" WINOLEAPI PropVariantCopy(PROPVARIANT *pvarDest,const PROPVARIANT *pvarSrc);")
360 cpp_quote(" WINOLEAPI PropVariantClear(PROPVARIANT *pvar);")
361 cpp_quote(" WINOLEAPI FreePropVariantArray(ULONG cVariants, PROPVARIANT *rgvars);")
362 cpp_quote("")
363 cpp_quote("#define _PROPVARIANTINIT_DEFINED_")
364 cpp_quote("#ifdef __cplusplus")
365 cpp_quote("inline void PropVariantInit (PROPVARIANT *pvar) { memset (pvar, 0, sizeof (PROPVARIANT)); }")
366 cpp_quote("#else")
367 cpp_quote("#define PropVariantInit(pvar) memset ((pvar), 0, sizeof (PROPVARIANT))")
368 cpp_quote("#endif")
369 cpp_quote("")
370 cpp_quote("#ifndef _STGCREATEPROPSTG_DEFINED_")
371 cpp_quote(" WINOLEAPI StgCreatePropStg(IUnknown *pUnk, REFFMTID fmtid, const CLSID *pclsid, DWORD grfFlags, DWORD dwReserved, IPropertyStorage **ppPropStg);")
372 cpp_quote(" WINOLEAPI StgOpenPropStg(IUnknown *pUnk, REFFMTID fmtid, DWORD grfFlags, DWORD dwReserved, IPropertyStorage **ppPropStg);")
373 cpp_quote(" WINOLEAPI StgCreatePropSetStg(IStorage *pStorage, DWORD dwReserved, IPropertySetStorage **ppPropSetStg);")
374 cpp_quote("")
375 cpp_quote("#define CCH_MAX_PROPSTG_NAME 31")
376 cpp_quote("")
377 cpp_quote(" WINOLEAPI FmtIdToPropStgName(const FMTID *pfmtid, LPOLESTR oszName);")
378 cpp_quote(" WINOLEAPI PropStgNameToFmtId(const LPOLESTR oszName, FMTID *pfmtid);")
379 cpp_quote("#endif")
380 cpp_quote("")
381 cpp_quote("#ifndef _SERIALIZEDPROPERTYVALUE_DEFINED_")
382 cpp_quote("#define _SERIALIZEDPROPERTYVALUE_DEFINED_")
383 cpp_quote("typedef struct tagSERIALIZEDPROPERTYVALUE {")
384 cpp_quote(" DWORD dwType;")
385 cpp_quote(" BYTE rgb[1];")
386 cpp_quote("} SERIALIZEDPROPERTYVALUE;")
387 cpp_quote("#endif")
388 cpp_quote("#endif")
389 cpp_quote("")
390 cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
391 cpp_quote("EXTERN_C SERIALIZEDPROPERTYVALUE * __stdcall StgConvertVariantToProperty(const PROPVARIANT *pvar, USHORT CodePage, SERIALIZEDPROPERTYVALUE *pprop, ULONG *pcb, PROPID pid, BOOLEAN fReserved, ULONG *pcIndirect);")
392 cpp_quote("")
393 cpp_quote("#ifdef __cplusplus")
394 cpp_quote("class PMemoryAllocator;")
395 cpp_quote("")
396 cpp_quote("EXTERN_C BOOLEAN __stdcall StgConvertPropertyToVariant(const SERIALIZEDPROPERTYVALUE *pprop, USHORT CodePage, PROPVARIANT *pvar, PMemoryAllocator *pma);")
397 cpp_quote("#endif")
398 cpp_quote("")
399 cpp_quote("#endif")