master
   1/*** Autogenerated by WIDL 10.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 inline HRESULT IPropertyStorage_QueryInterface(IPropertyStorage* This,REFIID riid,void **ppvObject) {
 623    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 624}
 625static inline ULONG IPropertyStorage_AddRef(IPropertyStorage* This) {
 626    return This->lpVtbl->AddRef(This);
 627}
 628static inline ULONG IPropertyStorage_Release(IPropertyStorage* This) {
 629    return This->lpVtbl->Release(This);
 630}
 631/*** IPropertyStorage methods ***/
 632static inline HRESULT IPropertyStorage_ReadMultiple(IPropertyStorage* This,ULONG cpspec,const PROPSPEC rgpspec[],PROPVARIANT rgpropvar[]) {
 633    return This->lpVtbl->ReadMultiple(This,cpspec,rgpspec,rgpropvar);
 634}
 635static inline 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 inline HRESULT IPropertyStorage_DeleteMultiple(IPropertyStorage* This,ULONG cpspec,const PROPSPEC rgpspec[]) {
 639    return This->lpVtbl->DeleteMultiple(This,cpspec,rgpspec);
 640}
 641static inline HRESULT IPropertyStorage_ReadPropertyNames(IPropertyStorage* This,ULONG cpropid,const PROPID rgpropid[],LPOLESTR rglpwstrName[]) {
 642    return This->lpVtbl->ReadPropertyNames(This,cpropid,rgpropid,rglpwstrName);
 643}
 644static inline HRESULT IPropertyStorage_WritePropertyNames(IPropertyStorage* This,ULONG cpropid,const PROPID rgpropid[],const LPOLESTR rglpwstrName[]) {
 645    return This->lpVtbl->WritePropertyNames(This,cpropid,rgpropid,rglpwstrName);
 646}
 647static inline HRESULT IPropertyStorage_DeletePropertyNames(IPropertyStorage* This,ULONG cpropid,const PROPID rgpropid[]) {
 648    return This->lpVtbl->DeletePropertyNames(This,cpropid,rgpropid);
 649}
 650static inline HRESULT IPropertyStorage_Commit(IPropertyStorage* This,DWORD grfCommitFlags) {
 651    return This->lpVtbl->Commit(This,grfCommitFlags);
 652}
 653static inline HRESULT IPropertyStorage_Revert(IPropertyStorage* This) {
 654    return This->lpVtbl->Revert(This);
 655}
 656static inline HRESULT IPropertyStorage_Enum(IPropertyStorage* This,IEnumSTATPROPSTG **ppenum) {
 657    return This->lpVtbl->Enum(This,ppenum);
 658}
 659static inline 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 inline HRESULT IPropertyStorage_SetClass(IPropertyStorage* This,REFCLSID clsid) {
 663    return This->lpVtbl->SetClass(This,clsid);
 664}
 665static inline 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 inline HRESULT IPropertySetStorage_QueryInterface(IPropertySetStorage* This,REFIID riid,void **ppvObject) {
 772    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 773}
 774static inline ULONG IPropertySetStorage_AddRef(IPropertySetStorage* This) {
 775    return This->lpVtbl->AddRef(This);
 776}
 777static inline ULONG IPropertySetStorage_Release(IPropertySetStorage* This) {
 778    return This->lpVtbl->Release(This);
 779}
 780/*** IPropertySetStorage methods ***/
 781static inline 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 inline HRESULT IPropertySetStorage_Open(IPropertySetStorage* This,REFFMTID rfmtid,DWORD grfMode,IPropertyStorage **ppprstg) {
 785    return This->lpVtbl->Open(This,rfmtid,grfMode,ppprstg);
 786}
 787static inline HRESULT IPropertySetStorage_Delete(IPropertySetStorage* This,REFFMTID rfmtid) {
 788    return This->lpVtbl->Delete(This,rfmtid);
 789}
 790static inline 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 inline HRESULT IEnumSTATPROPSTG_QueryInterface(IEnumSTATPROPSTG* This,REFIID riid,void **ppvObject) {
 888    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 889}
 890static inline ULONG IEnumSTATPROPSTG_AddRef(IEnumSTATPROPSTG* This) {
 891    return This->lpVtbl->AddRef(This);
 892}
 893static inline ULONG IEnumSTATPROPSTG_Release(IEnumSTATPROPSTG* This) {
 894    return This->lpVtbl->Release(This);
 895}
 896/*** IEnumSTATPROPSTG methods ***/
 897static inline HRESULT IEnumSTATPROPSTG_Next(IEnumSTATPROPSTG* This,ULONG celt,STATPROPSTG *rgelt,ULONG *pceltFetched) {
 898    return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
 899}
 900static inline HRESULT IEnumSTATPROPSTG_Skip(IEnumSTATPROPSTG* This,ULONG celt) {
 901    return This->lpVtbl->Skip(This,celt);
 902}
 903static inline HRESULT IEnumSTATPROPSTG_Reset(IEnumSTATPROPSTG* This) {
 904    return This->lpVtbl->Reset(This);
 905}
 906static inline 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 inline HRESULT IEnumSTATPROPSETSTG_QueryInterface(IEnumSTATPROPSETSTG* This,REFIID riid,void **ppvObject) {
1024    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1025}
1026static inline ULONG IEnumSTATPROPSETSTG_AddRef(IEnumSTATPROPSETSTG* This) {
1027    return This->lpVtbl->AddRef(This);
1028}
1029static inline ULONG IEnumSTATPROPSETSTG_Release(IEnumSTATPROPSETSTG* This) {
1030    return This->lpVtbl->Release(This);
1031}
1032/*** IEnumSTATPROPSETSTG methods ***/
1033static inline HRESULT IEnumSTATPROPSETSTG_Next(IEnumSTATPROPSETSTG* This,ULONG celt,STATPROPSETSTG *rgelt,ULONG *pceltFetched) {
1034    return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
1035}
1036static inline HRESULT IEnumSTATPROPSETSTG_Skip(IEnumSTATPROPSETSTG* This,ULONG celt) {
1037    return This->lpVtbl->Skip(This,celt);
1038}
1039static inline HRESULT IEnumSTATPROPSETSTG_Reset(IEnumSTATPROPSETSTG* This) {
1040    return This->lpVtbl->Reset(This);
1041}
1042static inline 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__ */