source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/propidl.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: 34.3 KB
Line 
1/*** Autogenerated by WIDL 6.4 from include/propidl.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 __propidl_h__
17#define __propidl_h__
18
19/* Forward declarations */
20
21#ifndef __IPropertyStorage_FWD_DEFINED__
22#define __IPropertyStorage_FWD_DEFINED__
23typedef interface IPropertyStorage IPropertyStorage;
24#ifdef __cplusplus
25interface IPropertyStorage;
26#endif /* __cplusplus */
27#endif
28
29#ifndef __IPropertySetStorage_FWD_DEFINED__
30#define __IPropertySetStorage_FWD_DEFINED__
31typedef interface IPropertySetStorage IPropertySetStorage;
32#ifdef __cplusplus
33interface IPropertySetStorage;
34#endif /* __cplusplus */
35#endif
36
37#ifndef __IEnumSTATPROPSTG_FWD_DEFINED__
38#define __IEnumSTATPROPSTG_FWD_DEFINED__
39typedef interface IEnumSTATPROPSTG IEnumSTATPROPSTG;
40#ifdef __cplusplus
41interface IEnumSTATPROPSTG;
42#endif /* __cplusplus */
43#endif
44
45#ifndef __IEnumSTATPROPSETSTG_FWD_DEFINED__
46#define __IEnumSTATPROPSETSTG_FWD_DEFINED__
47typedef interface IEnumSTATPROPSETSTG IEnumSTATPROPSETSTG;
48#ifdef __cplusplus
49interface IEnumSTATPROPSETSTG;
50#endif /* __cplusplus */
51#endif
52
53/* Headers for imported files */
54
55#include <wtypes.h>
56#include <objidl.h>
57#include <oaidl.h>
58
59#ifdef __cplusplus
60extern "C" {
61#endif
62
63/**
64 * This file is part of the mingw-w64 runtime package.
65 * No warranty is given; refer to the file DISCLAIMER within this package.
66 */
67
68#include <winapifamily.h>
69
70
71#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
72#ifndef __IPropertyStorage_FWD_DEFINED__
73#define __IPropertyStorage_FWD_DEFINED__
74typedef interface IPropertyStorage IPropertyStorage;
75#ifdef __cplusplus
76interface IPropertyStorage;
77#endif /* __cplusplus */
78#endif
79
80#ifndef __IEnumSTATPROPSTG_FWD_DEFINED__
81#define __IEnumSTATPROPSTG_FWD_DEFINED__
82typedef interface IEnumSTATPROPSTG IEnumSTATPROPSTG;
83#ifdef __cplusplus
84interface IEnumSTATPROPSTG;
85#endif /* __cplusplus */
86#endif
87
88#ifndef __IEnumSTATPROPSETSTG_FWD_DEFINED__
89#define __IEnumSTATPROPSETSTG_FWD_DEFINED__
90typedef interface IEnumSTATPROPSETSTG IEnumSTATPROPSETSTG;
91#ifdef __cplusplus
92interface IEnumSTATPROPSETSTG;
93#endif /* __cplusplus */
94#endif
95
96
97typedef struct tagVersionedStream {
98 GUID guidVersion;
99 IStream *pStream;
100} VERSIONEDSTREAM;
101typedef struct tagVersionedStream *LPVERSIONEDSTREAM;
102
103#define PROPSETFLAG_DEFAULT (0)
104
105#define PROPSETFLAG_NONSIMPLE (1)
106
107#define PROPSETFLAG_ANSI (2)
108
109#define PROPSETFLAG_UNBUFFERED (4)
110
111#define PROPSETFLAG_CASE_SENSITIVE (8)
112
113
114#define PROPSET_BEHAVIOR_CASE_SENSITIVE (1)
115
116
117#if 0
118typedef struct tag_inner_PROPVARIANT PROPVARIANT;
119#else
120typedef struct tagPROPVARIANT PROPVARIANT;
121#endif
122
123typedef struct tagCAC {
124 ULONG cElems;
125 CHAR *pElems;
126} CAC;
127typedef struct tagCAUB {
128 ULONG cElems;
129 UCHAR *pElems;
130} CAUB;
131typedef struct tagCAI {
132 ULONG cElems;
133 SHORT *pElems;
134} CAI;
135typedef struct tagCAUI {
136 ULONG cElems;
137 USHORT *pElems;
138} CAUI;
139typedef struct tagCAL {
140 ULONG cElems;
141 LONG *pElems;
142} CAL;
143typedef struct tagCAUL {
144 ULONG cElems;
145 ULONG *pElems;
146} CAUL;
147typedef struct tagCAFLT {
148 ULONG cElems;
149 FLOAT *pElems;
150} CAFLT;
151typedef struct tagCADBL {
152 ULONG cElems;
153 DOUBLE *pElems;
154} CADBL;
155typedef struct tagCACY {
156 ULONG cElems;
157 CY *pElems;
158} CACY;
159typedef struct tagCADATE {
160 ULONG cElems;
161 DATE *pElems;
162} CADATE;
163typedef struct tagCABSTR {
164 ULONG cElems;
165 BSTR *pElems;
166} CABSTR;
167typedef struct tagCABSTRBLOB {
168 ULONG cElems;
169 BSTRBLOB *pElems;
170} CABSTRBLOB;
171typedef struct tagCABOOL {
172 ULONG cElems;
173 VARIANT_BOOL *pElems;
174} CABOOL;
175typedef struct tagCASCODE {
176 ULONG cElems;
177 SCODE *pElems;
178} CASCODE;
179typedef struct tagCAPROPVARIANT {
180 ULONG cElems;
181 PROPVARIANT *pElems;
182} CAPROPVARIANT;
183typedef struct tagCAH {
184 ULONG cElems;
185 LARGE_INTEGER *pElems;
186} CAH;
187typedef struct tagCAUH {
188 ULONG cElems;
189 ULARGE_INTEGER *pElems;
190} CAUH;
191typedef struct tagCALPSTR {
192 ULONG cElems;
193 LPSTR *pElems;
194} CALPSTR;
195typedef struct tagCALPWSTR {
196 ULONG cElems;
197 LPWSTR *pElems;
198} CALPWSTR;
199typedef struct tagCAFILETIME {
200 ULONG cElems;
201 FILETIME *pElems;
202} CAFILETIME;
203typedef struct tagCACLIPDATA {
204 ULONG cElems;
205 CLIPDATA *pElems;
206} CACLIPDATA;
207typedef struct tagCACLSID {
208 ULONG cElems;
209 CLSID *pElems;
210} CACLSID;
211
212#if 0
213typedef BYTE PROPVAR_PAD1;
214typedef BYTE PROPVAR_PAD2;
215typedef ULONG PROPVAR_PAD3;
216#else
217typedef WORD PROPVAR_PAD1;
218typedef WORD PROPVAR_PAD2;
219typedef WORD PROPVAR_PAD3;
220
221#define tag_inner_PROPVARIANT
222#endif
223
224 struct tagPROPVARIANT {
225 __C89_NAMELESS union {
226 __C89_NAMELESS
227struct tag_inner_PROPVARIANT {
228 VARTYPE vt;
229 PROPVAR_PAD1 wReserved1;
230 PROPVAR_PAD2 wReserved2;
231 PROPVAR_PAD3 wReserved3;
232 __C89_NAMELESS union {
233 CHAR cVal;
234 UCHAR bVal;
235 SHORT iVal;
236 USHORT uiVal;
237 LONG lVal;
238 ULONG ulVal;
239 INT intVal;
240 UINT uintVal;
241 LARGE_INTEGER hVal;
242 ULARGE_INTEGER uhVal;
243 FLOAT fltVal;
244 DOUBLE dblVal;
245 VARIANT_BOOL boolVal;
246 SCODE scode;
247 CY cyVal;
248 DATE date;
249 FILETIME filetime;
250 CLSID *puuid;
251 CLIPDATA *pclipdata;
252 BSTR bstrVal;
253 BSTRBLOB bstrblobVal;
254 BLOB blob;
255 LPSTR pszVal;
256 LPWSTR pwszVal;
257 IUnknown *punkVal;
258 IDispatch *pdispVal;
259 IStream *pStream;
260 IStorage *pStorage;
261 LPVERSIONEDSTREAM pVersionedStream;
262 LPSAFEARRAY parray;
263 CAC cac;
264 CAUB caub;
265 CAI cai;
266 CAUI caui;
267 CAL cal;
268 CAUL caul;
269 CAH cah;
270 CAUH cauh;
271 CAFLT caflt;
272 CADBL cadbl;
273 CABOOL cabool;
274 CASCODE cascode;
275 CACY cacy;
276 CADATE cadate;
277 CAFILETIME cafiletime;
278 CACLSID cauuid;
279 CACLIPDATA caclipdata;
280 CABSTR cabstr;
281 CABSTRBLOB cabstrblob;
282 CALPSTR calpstr;
283 CALPWSTR calpwstr;
284 CAPROPVARIANT capropvar;
285 CHAR *pcVal;
286 UCHAR *pbVal;
287 SHORT *piVal;
288 USHORT *puiVal;
289 LONG *plVal;
290 ULONG *pulVal;
291 INT *pintVal;
292 UINT *puintVal;
293 FLOAT *pfltVal;
294 DOUBLE *pdblVal;
295 VARIANT_BOOL *pboolVal;
296 DECIMAL *pdecVal;
297 SCODE *pscode;
298 CY *pcyVal;
299 DATE *pdate;
300 BSTR *pbstrVal;
301 IUnknown **ppunkVal;
302 IDispatch **ppdispVal;
303 LPSAFEARRAY *pparray;
304 PROPVARIANT *pvarVal;
305 } __C89_NAMELESSUNIONNAME;
306};
307 DECIMAL decVal;
308 };
309};
310
311#if 0
312typedef struct tag_inner_PROPVARIANT *LPPROPVARIANT;
313typedef const PROPVARIANT *REFPROPVARIANT;
314#else
315typedef struct tagPROPVARIANT * LPPROPVARIANT;
316
317#ifndef _REFPROPVARIANT_DEFINED
318#define _REFPROPVARIANT_DEFINED
319#ifdef __cplusplus
320#define REFPROPVARIANT const PROPVARIANT &
321#else
322#define REFPROPVARIANT const PROPVARIANT * __MIDL_CONST
323#endif
324#endif
325#endif
326
327#define PID_DICTIONARY (0x0)
328
329#define PID_CODEPAGE (0x1)
330
331#define PID_FIRST_USABLE (0x2)
332
333#define PID_FIRST_NAME_DEFAULT (0xfff)
334
335#define PID_LOCALE (0x80000000)
336
337#define PID_MODIFY_TIME (0x80000001)
338
339#define PID_SECURITY (0x80000002)
340
341#define PID_BEHAVIOR (0x80000003)
342
343#define PID_ILLEGAL (0xffffffff)
344
345
346#define PID_MIN_READONLY (0x80000000)
347
348#define PID_MAX_READONLY (0xbfffffff)
349
350#endif
351
352#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
353
354#define PIDDI_THUMBNAIL __MSABI_LONG(0x2)
355
356#define PIDSI_TITLE __MSABI_LONG(0x2)
357#define PIDSI_SUBJECT __MSABI_LONG(0x3)
358#define PIDSI_AUTHOR __MSABI_LONG(0x4)
359#define PIDSI_KEYWORDS __MSABI_LONG(0x5)
360#define PIDSI_COMMENTS __MSABI_LONG(0x6)
361#define PIDSI_TEMPLATE __MSABI_LONG(0x7)
362#define PIDSI_LASTAUTHOR __MSABI_LONG(0x8)
363#define PIDSI_REVNUMBER __MSABI_LONG(0x9)
364#define PIDSI_EDITTIME __MSABI_LONG(0xa)
365#define PIDSI_LASTPRINTED __MSABI_LONG(0xb)
366#define PIDSI_CREATE_DTM __MSABI_LONG(0xc)
367#define PIDSI_LASTSAVE_DTM __MSABI_LONG(0xd)
368#define PIDSI_PAGECOUNT __MSABI_LONG(0xe)
369#define PIDSI_WORDCOUNT __MSABI_LONG(0xf)
370#define PIDSI_CHARCOUNT __MSABI_LONG(0x10)
371#define PIDSI_THUMBNAIL __MSABI_LONG(0x11)
372#define PIDSI_APPNAME __MSABI_LONG(0x12)
373#define PIDSI_DOC_SECURITY __MSABI_LONG(0x13)
374
375#define PIDDSI_CATEGORY 0x00000002
376#define PIDDSI_PRESFORMAT 0x00000003
377#define PIDDSI_BYTECOUNT 0x00000004
378#define PIDDSI_LINECOUNT 0x00000005
379#define PIDDSI_PARCOUNT 0x00000006
380#define PIDDSI_SLIDECOUNT 0x00000007
381#define PIDDSI_NOTECOUNT 0x00000008
382#define PIDDSI_HIDDENCOUNT 0x00000009
383#define PIDDSI_MMCLIPCOUNT 0x0000000A
384#define PIDDSI_SCALE 0x0000000B
385#define PIDDSI_HEADINGPAIR 0x0000000C
386#define PIDDSI_DOCPARTS 0x0000000D
387#define PIDDSI_MANAGER 0x0000000E
388#define PIDDSI_COMPANY 0x0000000F
389#define PIDDSI_LINKSDIRTY 0x00000010
390
391#define PIDMSI_EDITOR __MSABI_LONG(0x2)
392#define PIDMSI_SUPPLIER __MSABI_LONG(0x3)
393#define PIDMSI_SOURCE __MSABI_LONG(0x4)
394#define PIDMSI_SEQUENCE_NO __MSABI_LONG(0x5)
395#define PIDMSI_PROJECT __MSABI_LONG(0x6)
396#define PIDMSI_STATUS __MSABI_LONG(0x7)
397#define PIDMSI_OWNER __MSABI_LONG(0x8)
398#define PIDMSI_RATING __MSABI_LONG(0x9)
399#define PIDMSI_PRODUCTION __MSABI_LONG(0xa)
400#define PIDMSI_COPYRIGHT __MSABI_LONG(0xb)
401
402enum PIDMSI_STATUS_VALUE {
403 PIDMSI_STATUS_NORMAL = 0,
404 PIDMSI_STATUS_NEW = 1,
405 PIDMSI_STATUS_PRELIM = 2,
406 PIDMSI_STATUS_DRAFT = 3,
407 PIDMSI_STATUS_INPROGRESS = 4,
408 PIDMSI_STATUS_EDIT = 5,
409 PIDMSI_STATUS_REVIEW = 6,
410 PIDMSI_STATUS_PROOF = 7,
411 PIDMSI_STATUS_FINAL = 8,
412 PIDMSI_STATUS_OTHER = 0x7fff
413};
414#endif
415
416#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
417#define PRSPEC_INVALID (0xffffffff)
418
419#define PRSPEC_LPWSTR (0)
420
421#define PRSPEC_PROPID (1)
422
423
424typedef struct tagPROPSPEC {
425 ULONG ulKind;
426 union {
427 PROPID propid;
428 LPOLESTR lpwstr;
429 } DUMMYUNIONNAME;
430} PROPSPEC;
431
432typedef struct tagSTATPROPSTG {
433 LPOLESTR lpwstrName;
434 PROPID propid;
435 VARTYPE vt;
436} STATPROPSTG;
437
438#define PROPSETHDR_OSVER_KIND(dwOSVer) HIWORD((dwOSVer))
439#define PROPSETHDR_OSVER_MAJOR(dwOSVer) LOBYTE(LOWORD((dwOSVer)))
440#define PROPSETHDR_OSVER_MINOR(dwOSVer) HIBYTE(LOWORD((dwOSVer)))
441#define PROPSETHDR_OSVERSION_UNKNOWN 0xffffffff
442
443typedef struct tagSTATPROPSETSTG {
444 FMTID fmtid;
445 CLSID clsid;
446 DWORD grfFlags;
447 FILETIME mtime;
448 FILETIME ctime;
449 FILETIME atime;
450 DWORD dwOSVersion;
451} STATPROPSETSTG;
452
453/*****************************************************************************
454 * IPropertyStorage interface
455 */
456#ifndef __IPropertyStorage_INTERFACE_DEFINED__
457#define __IPropertyStorage_INTERFACE_DEFINED__
458
459DEFINE_GUID(IID_IPropertyStorage, 0x00000138, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
460#if defined(__cplusplus) && !defined(CINTERFACE)
461MIDL_INTERFACE("00000138-0000-0000-c000-000000000046")
462IPropertyStorage : public IUnknown
463{
464 virtual HRESULT STDMETHODCALLTYPE ReadMultiple(
465 ULONG cpspec,
466 const PROPSPEC rgpspec[],
467 PROPVARIANT rgpropvar[]) = 0;
468
469 virtual HRESULT STDMETHODCALLTYPE WriteMultiple(
470 ULONG cpspec,
471 const PROPSPEC rgpspec[],
472 const PROPVARIANT rgpropvar[],
473 PROPID propidNameFirst) = 0;
474
475 virtual HRESULT STDMETHODCALLTYPE DeleteMultiple(
476 ULONG cpspec,
477 const PROPSPEC rgpspec[]) = 0;
478
479 virtual HRESULT STDMETHODCALLTYPE ReadPropertyNames(
480 ULONG cpropid,
481 const PROPID rgpropid[],
482 LPOLESTR rglpwstrName[]) = 0;
483
484 virtual HRESULT STDMETHODCALLTYPE WritePropertyNames(
485 ULONG cpropid,
486 const PROPID rgpropid[],
487 const LPOLESTR rglpwstrName[]) = 0;
488
489 virtual HRESULT STDMETHODCALLTYPE DeletePropertyNames(
490 ULONG cpropid,
491 const PROPID rgpropid[]) = 0;
492
493 virtual HRESULT STDMETHODCALLTYPE Commit(
494 DWORD grfCommitFlags) = 0;
495
496 virtual HRESULT STDMETHODCALLTYPE Revert(
497 ) = 0;
498
499 virtual HRESULT STDMETHODCALLTYPE Enum(
500 IEnumSTATPROPSTG **ppenum) = 0;
501
502 virtual HRESULT STDMETHODCALLTYPE SetTimes(
503 const FILETIME *pctime,
504 const FILETIME *patime,
505 const FILETIME *pmtime) = 0;
506
507 virtual HRESULT STDMETHODCALLTYPE SetClass(
508 REFCLSID clsid) = 0;
509
510 virtual HRESULT STDMETHODCALLTYPE Stat(
511 STATPROPSETSTG *pstatpsstg) = 0;
512
513};
514#ifdef __CRT_UUID_DECL
515__CRT_UUID_DECL(IPropertyStorage, 0x00000138, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
516#endif
517#else
518typedef struct IPropertyStorageVtbl {
519 BEGIN_INTERFACE
520
521 /*** IUnknown methods ***/
522 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
523 IPropertyStorage *This,
524 REFIID riid,
525 void **ppvObject);
526
527 ULONG (STDMETHODCALLTYPE *AddRef)(
528 IPropertyStorage *This);
529
530 ULONG (STDMETHODCALLTYPE *Release)(
531 IPropertyStorage *This);
532
533 /*** IPropertyStorage methods ***/
534 HRESULT (STDMETHODCALLTYPE *ReadMultiple)(
535 IPropertyStorage *This,
536 ULONG cpspec,
537 const PROPSPEC rgpspec[],
538 PROPVARIANT rgpropvar[]);
539
540 HRESULT (STDMETHODCALLTYPE *WriteMultiple)(
541 IPropertyStorage *This,
542 ULONG cpspec,
543 const PROPSPEC rgpspec[],
544 const PROPVARIANT rgpropvar[],
545 PROPID propidNameFirst);
546
547 HRESULT (STDMETHODCALLTYPE *DeleteMultiple)(
548 IPropertyStorage *This,
549 ULONG cpspec,
550 const PROPSPEC rgpspec[]);
551
552 HRESULT (STDMETHODCALLTYPE *ReadPropertyNames)(
553 IPropertyStorage *This,
554 ULONG cpropid,
555 const PROPID rgpropid[],
556 LPOLESTR rglpwstrName[]);
557
558 HRESULT (STDMETHODCALLTYPE *WritePropertyNames)(
559 IPropertyStorage *This,
560 ULONG cpropid,
561 const PROPID rgpropid[],
562 const LPOLESTR rglpwstrName[]);
563
564 HRESULT (STDMETHODCALLTYPE *DeletePropertyNames)(
565 IPropertyStorage *This,
566 ULONG cpropid,
567 const PROPID rgpropid[]);
568
569 HRESULT (STDMETHODCALLTYPE *Commit)(
570 IPropertyStorage *This,
571 DWORD grfCommitFlags);
572
573 HRESULT (STDMETHODCALLTYPE *Revert)(
574 IPropertyStorage *This);
575
576 HRESULT (STDMETHODCALLTYPE *Enum)(
577 IPropertyStorage *This,
578 IEnumSTATPROPSTG **ppenum);
579
580 HRESULT (STDMETHODCALLTYPE *SetTimes)(
581 IPropertyStorage *This,
582 const FILETIME *pctime,
583 const FILETIME *patime,
584 const FILETIME *pmtime);
585
586 HRESULT (STDMETHODCALLTYPE *SetClass)(
587 IPropertyStorage *This,
588 REFCLSID clsid);
589
590 HRESULT (STDMETHODCALLTYPE *Stat)(
591 IPropertyStorage *This,
592 STATPROPSETSTG *pstatpsstg);
593
594 END_INTERFACE
595} IPropertyStorageVtbl;
596
597interface IPropertyStorage {
598 CONST_VTBL IPropertyStorageVtbl* lpVtbl;
599};
600
601#ifdef COBJMACROS
602#ifndef WIDL_C_INLINE_WRAPPERS
603/*** IUnknown methods ***/
604#define IPropertyStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
605#define IPropertyStorage_AddRef(This) (This)->lpVtbl->AddRef(This)
606#define IPropertyStorage_Release(This) (This)->lpVtbl->Release(This)
607/*** IPropertyStorage methods ***/
608#define IPropertyStorage_ReadMultiple(This,cpspec,rgpspec,rgpropvar) (This)->lpVtbl->ReadMultiple(This,cpspec,rgpspec,rgpropvar)
609#define IPropertyStorage_WriteMultiple(This,cpspec,rgpspec,rgpropvar,propidNameFirst) (This)->lpVtbl->WriteMultiple(This,cpspec,rgpspec,rgpropvar,propidNameFirst)
610#define IPropertyStorage_DeleteMultiple(This,cpspec,rgpspec) (This)->lpVtbl->DeleteMultiple(This,cpspec,rgpspec)
611#define IPropertyStorage_ReadPropertyNames(This,cpropid,rgpropid,rglpwstrName) (This)->lpVtbl->ReadPropertyNames(This,cpropid,rgpropid,rglpwstrName)
612#define IPropertyStorage_WritePropertyNames(This,cpropid,rgpropid,rglpwstrName) (This)->lpVtbl->WritePropertyNames(This,cpropid,rgpropid,rglpwstrName)
613#define IPropertyStorage_DeletePropertyNames(This,cpropid,rgpropid) (This)->lpVtbl->DeletePropertyNames(This,cpropid,rgpropid)
614#define IPropertyStorage_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags)
615#define IPropertyStorage_Revert(This) (This)->lpVtbl->Revert(This)
616#define IPropertyStorage_Enum(This,ppenum) (This)->lpVtbl->Enum(This,ppenum)
617#define IPropertyStorage_SetTimes(This,pctime,patime,pmtime) (This)->lpVtbl->SetTimes(This,pctime,patime,pmtime)
618#define IPropertyStorage_SetClass(This,clsid) (This)->lpVtbl->SetClass(This,clsid)
619#define IPropertyStorage_Stat(This,pstatpsstg) (This)->lpVtbl->Stat(This,pstatpsstg)
620#else
621/*** IUnknown methods ***/
622static FORCEINLINE HRESULT IPropertyStorage_QueryInterface(IPropertyStorage* This,REFIID riid,void **ppvObject) {
623 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
624}
625static FORCEINLINE ULONG IPropertyStorage_AddRef(IPropertyStorage* This) {
626 return This->lpVtbl->AddRef(This);
627}
628static FORCEINLINE ULONG IPropertyStorage_Release(IPropertyStorage* This) {
629 return This->lpVtbl->Release(This);
630}
631/*** IPropertyStorage methods ***/
632static FORCEINLINE HRESULT IPropertyStorage_ReadMultiple(IPropertyStorage* This,ULONG cpspec,const PROPSPEC rgpspec[],PROPVARIANT rgpropvar[]) {
633 return This->lpVtbl->ReadMultiple(This,cpspec,rgpspec,rgpropvar);
634}
635static FORCEINLINE HRESULT IPropertyStorage_WriteMultiple(IPropertyStorage* This,ULONG cpspec,const PROPSPEC rgpspec[],const PROPVARIANT rgpropvar[],PROPID propidNameFirst) {
636 return This->lpVtbl->WriteMultiple(This,cpspec,rgpspec,rgpropvar,propidNameFirst);
637}
638static FORCEINLINE HRESULT IPropertyStorage_DeleteMultiple(IPropertyStorage* This,ULONG cpspec,const PROPSPEC rgpspec[]) {
639 return This->lpVtbl->DeleteMultiple(This,cpspec,rgpspec);
640}
641static FORCEINLINE HRESULT IPropertyStorage_ReadPropertyNames(IPropertyStorage* This,ULONG cpropid,const PROPID rgpropid[],LPOLESTR rglpwstrName[]) {
642 return This->lpVtbl->ReadPropertyNames(This,cpropid,rgpropid,rglpwstrName);
643}
644static FORCEINLINE HRESULT IPropertyStorage_WritePropertyNames(IPropertyStorage* This,ULONG cpropid,const PROPID rgpropid[],const LPOLESTR rglpwstrName[]) {
645 return This->lpVtbl->WritePropertyNames(This,cpropid,rgpropid,rglpwstrName);
646}
647static FORCEINLINE HRESULT IPropertyStorage_DeletePropertyNames(IPropertyStorage* This,ULONG cpropid,const PROPID rgpropid[]) {
648 return This->lpVtbl->DeletePropertyNames(This,cpropid,rgpropid);
649}
650static FORCEINLINE HRESULT IPropertyStorage_Commit(IPropertyStorage* This,DWORD grfCommitFlags) {
651 return This->lpVtbl->Commit(This,grfCommitFlags);
652}
653static FORCEINLINE HRESULT IPropertyStorage_Revert(IPropertyStorage* This) {
654 return This->lpVtbl->Revert(This);
655}
656static FORCEINLINE HRESULT IPropertyStorage_Enum(IPropertyStorage* This,IEnumSTATPROPSTG **ppenum) {
657 return This->lpVtbl->Enum(This,ppenum);
658}
659static FORCEINLINE HRESULT IPropertyStorage_SetTimes(IPropertyStorage* This,const FILETIME *pctime,const FILETIME *patime,const FILETIME *pmtime) {
660 return This->lpVtbl->SetTimes(This,pctime,patime,pmtime);
661}
662static FORCEINLINE HRESULT IPropertyStorage_SetClass(IPropertyStorage* This,REFCLSID clsid) {
663 return This->lpVtbl->SetClass(This,clsid);
664}
665static FORCEINLINE HRESULT IPropertyStorage_Stat(IPropertyStorage* This,STATPROPSETSTG *pstatpsstg) {
666 return This->lpVtbl->Stat(This,pstatpsstg);
667}
668#endif
669#endif
670
671#endif
672
673
674#endif /* __IPropertyStorage_INTERFACE_DEFINED__ */
675
676
677/*****************************************************************************
678 * IPropertySetStorage interface
679 */
680#ifndef __IPropertySetStorage_INTERFACE_DEFINED__
681#define __IPropertySetStorage_INTERFACE_DEFINED__
682
683typedef IPropertySetStorage *LPPROPERTYSETSTORAGE;
684
685DEFINE_GUID(IID_IPropertySetStorage, 0x0000013a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
686#if defined(__cplusplus) && !defined(CINTERFACE)
687MIDL_INTERFACE("0000013a-0000-0000-c000-000000000046")
688IPropertySetStorage : public IUnknown
689{
690 virtual HRESULT STDMETHODCALLTYPE Create(
691 REFFMTID rfmtid,
692 const CLSID *pclsid,
693 DWORD grfFlags,
694 DWORD grfMode,
695 IPropertyStorage **ppprstg) = 0;
696
697 virtual HRESULT STDMETHODCALLTYPE Open(
698 REFFMTID rfmtid,
699 DWORD grfMode,
700 IPropertyStorage **ppprstg) = 0;
701
702 virtual HRESULT STDMETHODCALLTYPE Delete(
703 REFFMTID rfmtid) = 0;
704
705 virtual HRESULT STDMETHODCALLTYPE Enum(
706 IEnumSTATPROPSETSTG **ppenum) = 0;
707
708};
709#ifdef __CRT_UUID_DECL
710__CRT_UUID_DECL(IPropertySetStorage, 0x0000013a, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
711#endif
712#else
713typedef struct IPropertySetStorageVtbl {
714 BEGIN_INTERFACE
715
716 /*** IUnknown methods ***/
717 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
718 IPropertySetStorage *This,
719 REFIID riid,
720 void **ppvObject);
721
722 ULONG (STDMETHODCALLTYPE *AddRef)(
723 IPropertySetStorage *This);
724
725 ULONG (STDMETHODCALLTYPE *Release)(
726 IPropertySetStorage *This);
727
728 /*** IPropertySetStorage methods ***/
729 HRESULT (STDMETHODCALLTYPE *Create)(
730 IPropertySetStorage *This,
731 REFFMTID rfmtid,
732 const CLSID *pclsid,
733 DWORD grfFlags,
734 DWORD grfMode,
735 IPropertyStorage **ppprstg);
736
737 HRESULT (STDMETHODCALLTYPE *Open)(
738 IPropertySetStorage *This,
739 REFFMTID rfmtid,
740 DWORD grfMode,
741 IPropertyStorage **ppprstg);
742
743 HRESULT (STDMETHODCALLTYPE *Delete)(
744 IPropertySetStorage *This,
745 REFFMTID rfmtid);
746
747 HRESULT (STDMETHODCALLTYPE *Enum)(
748 IPropertySetStorage *This,
749 IEnumSTATPROPSETSTG **ppenum);
750
751 END_INTERFACE
752} IPropertySetStorageVtbl;
753
754interface IPropertySetStorage {
755 CONST_VTBL IPropertySetStorageVtbl* lpVtbl;
756};
757
758#ifdef COBJMACROS
759#ifndef WIDL_C_INLINE_WRAPPERS
760/*** IUnknown methods ***/
761#define IPropertySetStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
762#define IPropertySetStorage_AddRef(This) (This)->lpVtbl->AddRef(This)
763#define IPropertySetStorage_Release(This) (This)->lpVtbl->Release(This)
764/*** IPropertySetStorage methods ***/
765#define IPropertySetStorage_Create(This,rfmtid,pclsid,grfFlags,grfMode,ppprstg) (This)->lpVtbl->Create(This,rfmtid,pclsid,grfFlags,grfMode,ppprstg)
766#define IPropertySetStorage_Open(This,rfmtid,grfMode,ppprstg) (This)->lpVtbl->Open(This,rfmtid,grfMode,ppprstg)
767#define IPropertySetStorage_Delete(This,rfmtid) (This)->lpVtbl->Delete(This,rfmtid)
768#define IPropertySetStorage_Enum(This,ppenum) (This)->lpVtbl->Enum(This,ppenum)
769#else
770/*** IUnknown methods ***/
771static FORCEINLINE HRESULT IPropertySetStorage_QueryInterface(IPropertySetStorage* This,REFIID riid,void **ppvObject) {
772 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
773}
774static FORCEINLINE ULONG IPropertySetStorage_AddRef(IPropertySetStorage* This) {
775 return This->lpVtbl->AddRef(This);
776}
777static FORCEINLINE ULONG IPropertySetStorage_Release(IPropertySetStorage* This) {
778 return This->lpVtbl->Release(This);
779}
780/*** IPropertySetStorage methods ***/
781static FORCEINLINE HRESULT IPropertySetStorage_Create(IPropertySetStorage* This,REFFMTID rfmtid,const CLSID *pclsid,DWORD grfFlags,DWORD grfMode,IPropertyStorage **ppprstg) {
782 return This->lpVtbl->Create(This,rfmtid,pclsid,grfFlags,grfMode,ppprstg);
783}
784static FORCEINLINE HRESULT IPropertySetStorage_Open(IPropertySetStorage* This,REFFMTID rfmtid,DWORD grfMode,IPropertyStorage **ppprstg) {
785 return This->lpVtbl->Open(This,rfmtid,grfMode,ppprstg);
786}
787static FORCEINLINE HRESULT IPropertySetStorage_Delete(IPropertySetStorage* This,REFFMTID rfmtid) {
788 return This->lpVtbl->Delete(This,rfmtid);
789}
790static FORCEINLINE HRESULT IPropertySetStorage_Enum(IPropertySetStorage* This,IEnumSTATPROPSETSTG **ppenum) {
791 return This->lpVtbl->Enum(This,ppenum);
792}
793#endif
794#endif
795
796#endif
797
798
799#endif /* __IPropertySetStorage_INTERFACE_DEFINED__ */
800
801
802/*****************************************************************************
803 * IEnumSTATPROPSTG interface
804 */
805#ifndef __IEnumSTATPROPSTG_INTERFACE_DEFINED__
806#define __IEnumSTATPROPSTG_INTERFACE_DEFINED__
807
808typedef IEnumSTATPROPSTG *LPENUMSTATPROPSTG;
809
810DEFINE_GUID(IID_IEnumSTATPROPSTG, 0x00000139, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
811#if defined(__cplusplus) && !defined(CINTERFACE)
812MIDL_INTERFACE("00000139-0000-0000-c000-000000000046")
813IEnumSTATPROPSTG : public IUnknown
814{
815 virtual HRESULT STDMETHODCALLTYPE Next(
816 ULONG celt,
817 STATPROPSTG *rgelt,
818 ULONG *pceltFetched) = 0;
819
820 virtual HRESULT STDMETHODCALLTYPE Skip(
821 ULONG celt) = 0;
822
823 virtual HRESULT STDMETHODCALLTYPE Reset(
824 ) = 0;
825
826 virtual HRESULT STDMETHODCALLTYPE Clone(
827 IEnumSTATPROPSTG **ppenum) = 0;
828
829};
830#ifdef __CRT_UUID_DECL
831__CRT_UUID_DECL(IEnumSTATPROPSTG, 0x00000139, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
832#endif
833#else
834typedef struct IEnumSTATPROPSTGVtbl {
835 BEGIN_INTERFACE
836
837 /*** IUnknown methods ***/
838 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
839 IEnumSTATPROPSTG *This,
840 REFIID riid,
841 void **ppvObject);
842
843 ULONG (STDMETHODCALLTYPE *AddRef)(
844 IEnumSTATPROPSTG *This);
845
846 ULONG (STDMETHODCALLTYPE *Release)(
847 IEnumSTATPROPSTG *This);
848
849 /*** IEnumSTATPROPSTG methods ***/
850 HRESULT (STDMETHODCALLTYPE *Next)(
851 IEnumSTATPROPSTG *This,
852 ULONG celt,
853 STATPROPSTG *rgelt,
854 ULONG *pceltFetched);
855
856 HRESULT (STDMETHODCALLTYPE *Skip)(
857 IEnumSTATPROPSTG *This,
858 ULONG celt);
859
860 HRESULT (STDMETHODCALLTYPE *Reset)(
861 IEnumSTATPROPSTG *This);
862
863 HRESULT (STDMETHODCALLTYPE *Clone)(
864 IEnumSTATPROPSTG *This,
865 IEnumSTATPROPSTG **ppenum);
866
867 END_INTERFACE
868} IEnumSTATPROPSTGVtbl;
869
870interface IEnumSTATPROPSTG {
871 CONST_VTBL IEnumSTATPROPSTGVtbl* lpVtbl;
872};
873
874#ifdef COBJMACROS
875#ifndef WIDL_C_INLINE_WRAPPERS
876/*** IUnknown methods ***/
877#define IEnumSTATPROPSTG_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
878#define IEnumSTATPROPSTG_AddRef(This) (This)->lpVtbl->AddRef(This)
879#define IEnumSTATPROPSTG_Release(This) (This)->lpVtbl->Release(This)
880/*** IEnumSTATPROPSTG methods ***/
881#define IEnumSTATPROPSTG_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
882#define IEnumSTATPROPSTG_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
883#define IEnumSTATPROPSTG_Reset(This) (This)->lpVtbl->Reset(This)
884#define IEnumSTATPROPSTG_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
885#else
886/*** IUnknown methods ***/
887static FORCEINLINE HRESULT IEnumSTATPROPSTG_QueryInterface(IEnumSTATPROPSTG* This,REFIID riid,void **ppvObject) {
888 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
889}
890static FORCEINLINE ULONG IEnumSTATPROPSTG_AddRef(IEnumSTATPROPSTG* This) {
891 return This->lpVtbl->AddRef(This);
892}
893static FORCEINLINE ULONG IEnumSTATPROPSTG_Release(IEnumSTATPROPSTG* This) {
894 return This->lpVtbl->Release(This);
895}
896/*** IEnumSTATPROPSTG methods ***/
897static FORCEINLINE HRESULT IEnumSTATPROPSTG_Next(IEnumSTATPROPSTG* This,ULONG celt,STATPROPSTG *rgelt,ULONG *pceltFetched) {
898 return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
899}
900static FORCEINLINE HRESULT IEnumSTATPROPSTG_Skip(IEnumSTATPROPSTG* This,ULONG celt) {
901 return This->lpVtbl->Skip(This,celt);
902}
903static FORCEINLINE HRESULT IEnumSTATPROPSTG_Reset(IEnumSTATPROPSTG* This) {
904 return This->lpVtbl->Reset(This);
905}
906static FORCEINLINE HRESULT IEnumSTATPROPSTG_Clone(IEnumSTATPROPSTG* This,IEnumSTATPROPSTG **ppenum) {
907 return This->lpVtbl->Clone(This,ppenum);
908}
909#endif
910#endif
911
912#endif
913
914HRESULT STDMETHODCALLTYPE IEnumSTATPROPSTG_RemoteNext_Proxy(
915 IEnumSTATPROPSTG* This,
916 ULONG celt,
917 STATPROPSTG *rgelt,
918 ULONG *pceltFetched);
919void __RPC_STUB IEnumSTATPROPSTG_RemoteNext_Stub(
920 IRpcStubBuffer* This,
921 IRpcChannelBuffer* pRpcChannelBuffer,
922 PRPC_MESSAGE pRpcMessage,
923 DWORD* pdwStubPhase);
924HRESULT CALLBACK IEnumSTATPROPSTG_Next_Proxy(
925 IEnumSTATPROPSTG* This,
926 ULONG celt,
927 STATPROPSTG *rgelt,
928 ULONG *pceltFetched);
929HRESULT __RPC_STUB IEnumSTATPROPSTG_Next_Stub(
930 IEnumSTATPROPSTG* This,
931 ULONG celt,
932 STATPROPSTG *rgelt,
933 ULONG *pceltFetched);
934
935#endif /* __IEnumSTATPROPSTG_INTERFACE_DEFINED__ */
936
937
938/*****************************************************************************
939 * IEnumSTATPROPSETSTG interface
940 */
941#ifndef __IEnumSTATPROPSETSTG_INTERFACE_DEFINED__
942#define __IEnumSTATPROPSETSTG_INTERFACE_DEFINED__
943
944typedef IEnumSTATPROPSETSTG *LPENUMSTATPROPSETSTG;
945
946DEFINE_GUID(IID_IEnumSTATPROPSETSTG, 0x0000013b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
947#if defined(__cplusplus) && !defined(CINTERFACE)
948MIDL_INTERFACE("0000013b-0000-0000-c000-000000000046")
949IEnumSTATPROPSETSTG : public IUnknown
950{
951 virtual HRESULT STDMETHODCALLTYPE Next(
952 ULONG celt,
953 STATPROPSETSTG *rgelt,
954 ULONG *pceltFetched) = 0;
955
956 virtual HRESULT STDMETHODCALLTYPE Skip(
957 ULONG celt) = 0;
958
959 virtual HRESULT STDMETHODCALLTYPE Reset(
960 ) = 0;
961
962 virtual HRESULT STDMETHODCALLTYPE Clone(
963 IEnumSTATPROPSETSTG **ppenum) = 0;
964
965};
966#ifdef __CRT_UUID_DECL
967__CRT_UUID_DECL(IEnumSTATPROPSETSTG, 0x0000013b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
968#endif
969#else
970typedef struct IEnumSTATPROPSETSTGVtbl {
971 BEGIN_INTERFACE
972
973 /*** IUnknown methods ***/
974 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
975 IEnumSTATPROPSETSTG *This,
976 REFIID riid,
977 void **ppvObject);
978
979 ULONG (STDMETHODCALLTYPE *AddRef)(
980 IEnumSTATPROPSETSTG *This);
981
982 ULONG (STDMETHODCALLTYPE *Release)(
983 IEnumSTATPROPSETSTG *This);
984
985 /*** IEnumSTATPROPSETSTG methods ***/
986 HRESULT (STDMETHODCALLTYPE *Next)(
987 IEnumSTATPROPSETSTG *This,
988 ULONG celt,
989 STATPROPSETSTG *rgelt,
990 ULONG *pceltFetched);
991
992 HRESULT (STDMETHODCALLTYPE *Skip)(
993 IEnumSTATPROPSETSTG *This,
994 ULONG celt);
995
996 HRESULT (STDMETHODCALLTYPE *Reset)(
997 IEnumSTATPROPSETSTG *This);
998
999 HRESULT (STDMETHODCALLTYPE *Clone)(
1000 IEnumSTATPROPSETSTG *This,
1001 IEnumSTATPROPSETSTG **ppenum);
1002
1003 END_INTERFACE
1004} IEnumSTATPROPSETSTGVtbl;
1005
1006interface IEnumSTATPROPSETSTG {
1007 CONST_VTBL IEnumSTATPROPSETSTGVtbl* lpVtbl;
1008};
1009
1010#ifdef COBJMACROS
1011#ifndef WIDL_C_INLINE_WRAPPERS
1012/*** IUnknown methods ***/
1013#define IEnumSTATPROPSETSTG_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1014#define IEnumSTATPROPSETSTG_AddRef(This) (This)->lpVtbl->AddRef(This)
1015#define IEnumSTATPROPSETSTG_Release(This) (This)->lpVtbl->Release(This)
1016/*** IEnumSTATPROPSETSTG methods ***/
1017#define IEnumSTATPROPSETSTG_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
1018#define IEnumSTATPROPSETSTG_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
1019#define IEnumSTATPROPSETSTG_Reset(This) (This)->lpVtbl->Reset(This)
1020#define IEnumSTATPROPSETSTG_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
1021#else
1022/*** IUnknown methods ***/
1023static FORCEINLINE HRESULT IEnumSTATPROPSETSTG_QueryInterface(IEnumSTATPROPSETSTG* This,REFIID riid,void **ppvObject) {
1024 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1025}
1026static FORCEINLINE ULONG IEnumSTATPROPSETSTG_AddRef(IEnumSTATPROPSETSTG* This) {
1027 return This->lpVtbl->AddRef(This);
1028}
1029static FORCEINLINE ULONG IEnumSTATPROPSETSTG_Release(IEnumSTATPROPSETSTG* This) {
1030 return This->lpVtbl->Release(This);
1031}
1032/*** IEnumSTATPROPSETSTG methods ***/
1033static FORCEINLINE HRESULT IEnumSTATPROPSETSTG_Next(IEnumSTATPROPSETSTG* This,ULONG celt,STATPROPSETSTG *rgelt,ULONG *pceltFetched) {
1034 return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
1035}
1036static FORCEINLINE HRESULT IEnumSTATPROPSETSTG_Skip(IEnumSTATPROPSETSTG* This,ULONG celt) {
1037 return This->lpVtbl->Skip(This,celt);
1038}
1039static FORCEINLINE HRESULT IEnumSTATPROPSETSTG_Reset(IEnumSTATPROPSETSTG* This) {
1040 return This->lpVtbl->Reset(This);
1041}
1042static FORCEINLINE HRESULT IEnumSTATPROPSETSTG_Clone(IEnumSTATPROPSETSTG* This,IEnumSTATPROPSETSTG **ppenum) {
1043 return This->lpVtbl->Clone(This,ppenum);
1044}
1045#endif
1046#endif
1047
1048#endif
1049
1050HRESULT STDMETHODCALLTYPE IEnumSTATPROPSETSTG_RemoteNext_Proxy(
1051 IEnumSTATPROPSETSTG* This,
1052 ULONG celt,
1053 STATPROPSETSTG *rgelt,
1054 ULONG *pceltFetched);
1055void __RPC_STUB IEnumSTATPROPSETSTG_RemoteNext_Stub(
1056 IRpcStubBuffer* This,
1057 IRpcChannelBuffer* pRpcChannelBuffer,
1058 PRPC_MESSAGE pRpcMessage,
1059 DWORD* pdwStubPhase);
1060HRESULT CALLBACK IEnumSTATPROPSETSTG_Next_Proxy(
1061 IEnumSTATPROPSETSTG* This,
1062 ULONG celt,
1063 STATPROPSETSTG *rgelt,
1064 ULONG *pceltFetched);
1065HRESULT __RPC_STUB IEnumSTATPROPSETSTG_Next_Stub(
1066 IEnumSTATPROPSETSTG* This,
1067 ULONG celt,
1068 STATPROPSETSTG *rgelt,
1069 ULONG *pceltFetched);
1070
1071#endif /* __IEnumSTATPROPSETSTG_INTERFACE_DEFINED__ */
1072
1073
1074typedef IPropertyStorage *LPPROPERTYSTORAGE;
1075
1076 WINOLEAPI PropVariantCopy(PROPVARIANT *pvarDest,const PROPVARIANT *pvarSrc);
1077 WINOLEAPI PropVariantClear(PROPVARIANT *pvar);
1078 WINOLEAPI FreePropVariantArray(ULONG cVariants, PROPVARIANT *rgvars);
1079
1080#define _PROPVARIANTINIT_DEFINED_
1081#ifdef __cplusplus
1082inline void PropVariantInit (PROPVARIANT *pvar) { memset (pvar, 0, sizeof (PROPVARIANT)); }
1083#else
1084#define PropVariantInit(pvar) memset ((pvar), 0, sizeof (PROPVARIANT))
1085#endif
1086
1087#ifndef _STGCREATEPROPSTG_DEFINED_
1088 WINOLEAPI StgCreatePropStg(IUnknown *pUnk, REFFMTID fmtid, const CLSID *pclsid, DWORD grfFlags, DWORD dwReserved, IPropertyStorage **ppPropStg);
1089 WINOLEAPI StgOpenPropStg(IUnknown *pUnk, REFFMTID fmtid, DWORD grfFlags, DWORD dwReserved, IPropertyStorage **ppPropStg);
1090 WINOLEAPI StgCreatePropSetStg(IStorage *pStorage, DWORD dwReserved, IPropertySetStorage **ppPropSetStg);
1091
1092#define CCH_MAX_PROPSTG_NAME 31
1093
1094 WINOLEAPI FmtIdToPropStgName(const FMTID *pfmtid, LPOLESTR oszName);
1095 WINOLEAPI PropStgNameToFmtId(const LPOLESTR oszName, FMTID *pfmtid);
1096#endif
1097
1098#ifndef _SERIALIZEDPROPERTYVALUE_DEFINED_
1099#define _SERIALIZEDPROPERTYVALUE_DEFINED_
1100typedef struct tagSERIALIZEDPROPERTYVALUE {
1101 DWORD dwType;
1102 BYTE rgb[1];
1103} SERIALIZEDPROPERTYVALUE;
1104#endif
1105#endif
1106
1107#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
1108EXTERN_C SERIALIZEDPROPERTYVALUE * __stdcall StgConvertVariantToProperty(const PROPVARIANT *pvar, USHORT CodePage, SERIALIZEDPROPERTYVALUE *pprop, ULONG *pcb, PROPID pid, BOOLEAN fReserved, ULONG *pcIndirect);
1109
1110#ifdef __cplusplus
1111class PMemoryAllocator;
1112
1113EXTERN_C BOOLEAN __stdcall StgConvertPropertyToVariant(const SERIALIZEDPROPERTYVALUE *pprop, USHORT CodePage, PROPVARIANT *pvar, PMemoryAllocator *pma);
1114#endif
1115
1116#endif
1117/* Begin additional prototypes for all interfaces */
1118
1119ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *);
1120unsigned char * __RPC_USER BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *);
1121unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
1122void __RPC_USER BSTR_UserFree (ULONG *, BSTR *);
1123ULONG __RPC_USER LPSAFEARRAY_UserSize (ULONG *, ULONG, LPSAFEARRAY *);
1124unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal (ULONG *, unsigned char *, LPSAFEARRAY *);
1125unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal(ULONG *, unsigned char *, LPSAFEARRAY *);
1126void __RPC_USER LPSAFEARRAY_UserFree (ULONG *, LPSAFEARRAY *);
1127
1128/* End additional prototypes */
1129
1130#ifdef __cplusplus
1131}
1132#endif
1133
1134#endif /* __propidl_h__ */
Note: See TracBrowser for help on using the repository browser.