3
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
6
/* File created by MIDL compiler version 7.00.0499 */
7
/* Compiler settings for propidl.idl:
8
Oicf, W1, Zp8, env=Win32 (32b run)
9
protocol : dce , ms_ext, c_ext, robust
10
error checks: allocation ref bounds_check enum stub_data
11
VC __declspec() decoration level:
12
__declspec(uuid()), __declspec(selectany), __declspec(novtable)
13
DECLSPEC_UUID(), MIDL_INTERFACE()
15
//@@MIDL_FILE_HEADING( )
17
#pragma warning( disable: 4049 ) /* more than 64k source lines */
20
/* verify that the <rpcndr.h> version is high enough to compile this file*/
21
#ifndef __REQUIRED_RPCNDR_H_VERSION__
22
#define __REQUIRED_RPCNDR_H_VERSION__ 500
25
/* verify that the <rpcsal.h> version is high enough to compile this file*/
26
#ifndef __REQUIRED_RPCSAL_H_VERSION__
27
#define __REQUIRED_RPCSAL_H_VERSION__ 100
33
#ifndef __RPCNDR_H_VERSION__
34
#error this stub requires an updated version of <rpcndr.h>
35
#endif // __RPCNDR_H_VERSION__
37
#ifndef COM_NO_WINDOWS_H
40
#endif /*COM_NO_WINDOWS_H*/
46
#pragma GCC system_header
49
#define interface struct
53
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
57
/* Forward Declarations */
59
#ifndef __IPropertyStorage_FWD_DEFINED__
60
#define __IPropertyStorage_FWD_DEFINED__
61
typedef interface IPropertyStorage IPropertyStorage;
62
#endif /* __IPropertyStorage_FWD_DEFINED__ */
65
#ifndef __IPropertySetStorage_FWD_DEFINED__
66
#define __IPropertySetStorage_FWD_DEFINED__
67
typedef interface IPropertySetStorage IPropertySetStorage;
68
#endif /* __IPropertySetStorage_FWD_DEFINED__ */
71
#ifndef __IEnumSTATPROPSTG_FWD_DEFINED__
72
#define __IEnumSTATPROPSTG_FWD_DEFINED__
73
typedef interface IEnumSTATPROPSTG IEnumSTATPROPSTG;
74
#endif /* __IEnumSTATPROPSTG_FWD_DEFINED__ */
77
#ifndef __IEnumSTATPROPSETSTG_FWD_DEFINED__
78
#define __IEnumSTATPROPSETSTG_FWD_DEFINED__
79
typedef interface IEnumSTATPROPSETSTG IEnumSTATPROPSETSTG;
80
#endif /* __IEnumSTATPROPSETSTG_FWD_DEFINED__ */
83
/* header files for imported files */
92
/* interface __MIDL_itf_propidl_0000_0000 */
95
//+-------------------------------------------------------------------------
98
// Copyright (c) Microsoft Corporation. All rights reserved.
100
//--------------------------------------------------------------------------
101
#if ( _MSC_VER >= 800 )
103
#pragma warning(push)
105
#pragma warning(disable:4201) /* Nameless struct/union */
106
#pragma warning(disable:4237) /* obsolete member named 'bool' */
108
#if ( _MSC_VER >= 1020 )
114
typedef struct tagVersionedStream
120
typedef struct tagVersionedStream *LPVERSIONEDSTREAM;
123
// Flags for IPropertySetStorage::Create
124
#define PROPSETFLAG_DEFAULT ( 0 )
126
#define PROPSETFLAG_NONSIMPLE ( 1 )
128
#define PROPSETFLAG_ANSI ( 2 )
130
// (This flag is only supported on StgCreatePropStg & StgOpenPropStg
131
#define PROPSETFLAG_UNBUFFERED ( 4 )
133
// (This flag causes a version-1 property set to be created
134
#define PROPSETFLAG_CASE_SENSITIVE ( 8 )
137
// Flags for the reservied PID_BEHAVIOR property
138
#define PROPSET_BEHAVIOR_CASE_SENSITIVE ( 1 )
141
// This is the PROPVARIANT definition for marshaling.
142
typedef struct tag_inner_PROPVARIANT PROPVARIANT;
145
// This is the standard C layout of the PROPVARIANT.
146
typedef struct tagPROPVARIANT PROPVARIANT;
148
typedef struct tagCAC
154
typedef struct tagCAUB
160
typedef struct tagCAI
166
typedef struct tagCAUI
172
typedef struct tagCAL
178
typedef struct tagCAUL
184
typedef struct tagCAFLT
190
typedef struct tagCADBL
196
typedef struct tagCACY
202
typedef struct tagCADATE
208
typedef struct tagCABSTR
214
typedef struct tagCABSTRBLOB
220
typedef struct tagCABOOL
223
VARIANT_BOOL *pElems;
226
typedef struct tagCASCODE
232
typedef struct tagCAPROPVARIANT
238
typedef struct tagCAH
241
LARGE_INTEGER *pElems;
244
typedef struct tagCAUH
247
ULARGE_INTEGER *pElems;
250
typedef struct tagCALPSTR
256
typedef struct tagCALPWSTR
262
typedef struct tagCAFILETIME
268
typedef struct tagCACLIPDATA
274
typedef struct tagCACLSID
281
// This is the PROPVARIANT padding layout for marshaling.
282
typedef BYTE PROPVAR_PAD1;
284
typedef BYTE PROPVAR_PAD2;
286
typedef ULONG PROPVAR_PAD3;
289
// This is the standard C layout of the structure.
290
typedef WORD PROPVAR_PAD1;
291
typedef WORD PROPVAR_PAD2;
292
typedef WORD PROPVAR_PAD3;
293
#define tag_inner_PROPVARIANT
297
struct tagPROPVARIANT {
300
struct tag_inner_PROPVARIANT
303
PROPVAR_PAD1 wReserved1;
304
PROPVAR_PAD2 wReserved2;
305
PROPVAR_PAD3 wReserved3;
306
/* [switch_type] */ union
308
/* Empty union arm */
318
ULARGE_INTEGER uhVal;
321
VARIANT_BOOL boolVal;
322
//_VARIANT_BOOL bool;
330
BSTRBLOB bstrblobVal;
338
LPVERSIONEDSTREAM pVersionedStream;
354
CAFILETIME cafiletime;
356
CACLIPDATA caclipdata;
358
CABSTRBLOB cabstrblob;
361
CAPROPVARIANT capropvar;
372
VARIANT_BOOL *pboolVal;
379
IDispatch **ppdispVal;
380
LPSAFEARRAY *pparray;
381
PROPVARIANT *pvarVal;
391
// This is the LPPROPVARIANT definition for marshaling.
392
typedef struct tag_inner_PROPVARIANT *LPPROPVARIANT;
394
typedef const PROPVARIANT *REFPROPVARIANT;
398
// This is the standard C layout of the PROPVARIANT.
400
typedef struct tagPROPVARIANT * LPPROPVARIANT;
403
#ifndef _REFPROPVARIANT_DEFINED
404
#define _REFPROPVARIANT_DEFINED
406
#define REFPROPVARIANT const PROPVARIANT &
408
#define REFPROPVARIANT const PROPVARIANT * __MIDL_CONST
414
// Reserved global Property IDs
415
#define PID_DICTIONARY ( 0 )
417
#define PID_CODEPAGE ( 0x1 )
419
#define PID_FIRST_USABLE ( 0x2 )
421
#define PID_FIRST_NAME_DEFAULT ( 0xfff )
423
#define PID_LOCALE ( 0x80000000 )
425
#define PID_MODIFY_TIME ( 0x80000001 )
427
#define PID_SECURITY ( 0x80000002 )
429
#define PID_BEHAVIOR ( 0x80000003 )
431
#define PID_ILLEGAL ( 0xffffffff )
433
// Range which is read-only to downlevel implementations
434
#define PID_MIN_READONLY ( 0x80000000 )
436
#define PID_MAX_READONLY ( 0xbfffffff )
438
// Property IDs for the DiscardableInformation Property Set
440
#define PIDDI_THUMBNAIL 0x00000002L // VT_BLOB
442
// Property IDs for the SummaryInformation Property Set
444
#define PIDSI_TITLE 0x00000002L // VT_LPSTR
445
#define PIDSI_SUBJECT 0x00000003L // VT_LPSTR
446
#define PIDSI_AUTHOR 0x00000004L // VT_LPSTR
447
#define PIDSI_KEYWORDS 0x00000005L // VT_LPSTR
448
#define PIDSI_COMMENTS 0x00000006L // VT_LPSTR
449
#define PIDSI_TEMPLATE 0x00000007L // VT_LPSTR
450
#define PIDSI_LASTAUTHOR 0x00000008L // VT_LPSTR
451
#define PIDSI_REVNUMBER 0x00000009L // VT_LPSTR
452
#define PIDSI_EDITTIME 0x0000000aL // VT_FILETIME (UTC)
453
#define PIDSI_LASTPRINTED 0x0000000bL // VT_FILETIME (UTC)
454
#define PIDSI_CREATE_DTM 0x0000000cL // VT_FILETIME (UTC)
455
#define PIDSI_LASTSAVE_DTM 0x0000000dL // VT_FILETIME (UTC)
456
#define PIDSI_PAGECOUNT 0x0000000eL // VT_I4
457
#define PIDSI_WORDCOUNT 0x0000000fL // VT_I4
458
#define PIDSI_CHARCOUNT 0x00000010L // VT_I4
459
#define PIDSI_THUMBNAIL 0x00000011L // VT_CF
460
#define PIDSI_APPNAME 0x00000012L // VT_LPSTR
461
#define PIDSI_DOC_SECURITY 0x00000013L // VT_I4
463
// Property IDs for the DocSummaryInformation Property Set
465
#define PIDDSI_CATEGORY 0x00000002 // VT_LPSTR
466
#define PIDDSI_PRESFORMAT 0x00000003 // VT_LPSTR
467
#define PIDDSI_BYTECOUNT 0x00000004 // VT_I4
468
#define PIDDSI_LINECOUNT 0x00000005 // VT_I4
469
#define PIDDSI_PARCOUNT 0x00000006 // VT_I4
470
#define PIDDSI_SLIDECOUNT 0x00000007 // VT_I4
471
#define PIDDSI_NOTECOUNT 0x00000008 // VT_I4
472
#define PIDDSI_HIDDENCOUNT 0x00000009 // VT_I4
473
#define PIDDSI_MMCLIPCOUNT 0x0000000A // VT_I4
474
#define PIDDSI_SCALE 0x0000000B // VT_BOOL
475
#define PIDDSI_HEADINGPAIR 0x0000000C // VT_VARIANT | VT_VECTOR
476
#define PIDDSI_DOCPARTS 0x0000000D // VT_LPSTR | VT_VECTOR
477
#define PIDDSI_MANAGER 0x0000000E // VT_LPSTR
478
#define PIDDSI_COMPANY 0x0000000F // VT_LPSTR
479
#define PIDDSI_LINKSDIRTY 0x00000010 // VT_BOOL
482
// FMTID_MediaFileSummaryInfo - Property IDs
484
#define PIDMSI_EDITOR 0x00000002L // VT_LPWSTR
485
#define PIDMSI_SUPPLIER 0x00000003L // VT_LPWSTR
486
#define PIDMSI_SOURCE 0x00000004L // VT_LPWSTR
487
#define PIDMSI_SEQUENCE_NO 0x00000005L // VT_LPWSTR
488
#define PIDMSI_PROJECT 0x00000006L // VT_LPWSTR
489
#define PIDMSI_STATUS 0x00000007L // VT_UI4
490
#define PIDMSI_OWNER 0x00000008L // VT_LPWSTR
491
#define PIDMSI_RATING 0x00000009L // VT_LPWSTR
492
#define PIDMSI_PRODUCTION 0x0000000AL // VT_FILETIME (UTC)
493
#define PIDMSI_COPYRIGHT 0x0000000BL // VT_LPWSTR
495
// PIDMSI_STATUS value definitions
497
enum PIDMSI_STATUS_VALUE
498
{ PIDMSI_STATUS_NORMAL = 0,
499
PIDMSI_STATUS_NEW = ( PIDMSI_STATUS_NORMAL + 1 ) ,
500
PIDMSI_STATUS_PRELIM = ( PIDMSI_STATUS_NEW + 1 ) ,
501
PIDMSI_STATUS_DRAFT = ( PIDMSI_STATUS_PRELIM + 1 ) ,
502
PIDMSI_STATUS_INPROGRESS = ( PIDMSI_STATUS_DRAFT + 1 ) ,
503
PIDMSI_STATUS_EDIT = ( PIDMSI_STATUS_INPROGRESS + 1 ) ,
504
PIDMSI_STATUS_REVIEW = ( PIDMSI_STATUS_EDIT + 1 ) ,
505
PIDMSI_STATUS_PROOF = ( PIDMSI_STATUS_REVIEW + 1 ) ,
506
PIDMSI_STATUS_FINAL = ( PIDMSI_STATUS_PROOF + 1 ) ,
507
PIDMSI_STATUS_OTHER = 0x7fff
509
#define PRSPEC_INVALID ( 0xffffffff )
511
#define PRSPEC_LPWSTR ( 0 )
513
#define PRSPEC_PROPID ( 1 )
516
typedef struct tagPROPSPEC
519
/* [switch_type] */ union
523
/* Empty union arm */
527
typedef struct tagSTATPROPSTG
535
// Macros for parsing the OS Version of the Property Set Header
536
#define PROPSETHDR_OSVER_KIND(dwOSVer) HIWORD( (dwOSVer) )
537
#define PROPSETHDR_OSVER_MAJOR(dwOSVer) LOBYTE(LOWORD( (dwOSVer) ))
538
#define PROPSETHDR_OSVER_MINOR(dwOSVer) HIBYTE(LOWORD( (dwOSVer) ))
539
#define PROPSETHDR_OSVERSION_UNKNOWN 0xFFFFFFFF
541
typedef struct tagSTATPROPSETSTG
554
extern RPC_IF_HANDLE __MIDL_itf_propidl_0000_0000_v0_0_c_ifspec;
555
extern RPC_IF_HANDLE __MIDL_itf_propidl_0000_0000_v0_0_s_ifspec;
557
#ifndef __IPropertyStorage_INTERFACE_DEFINED__
558
#define __IPropertyStorage_INTERFACE_DEFINED__
560
/* interface IPropertyStorage */
561
/* [unique][uuid][object] */
564
EXTERN_C const IID IID_IPropertyStorage;
566
#if defined(__cplusplus) && !defined(CINTERFACE)
568
MIDL_INTERFACE("00000138-0000-0000-C000-000000000046")
569
IPropertyStorage : public IUnknown
572
virtual HRESULT STDMETHODCALLTYPE ReadMultiple(
573
/* [in] */ ULONG cpspec,
574
/* [size_is][in] */ __RPC__in_ecount_full(cpspec) const PROPSPEC rgpspec[ ],
575
/* [size_is][out] */ __RPC__out_ecount_full(cpspec) PROPVARIANT rgpropvar[ ]) = 0;
577
virtual HRESULT STDMETHODCALLTYPE WriteMultiple(
578
/* [in] */ ULONG cpspec,
579
/* [size_is][in] */ __RPC__in_ecount_full(cpspec) const PROPSPEC rgpspec[ ],
580
/* [size_is][in] */ __RPC__in_ecount_full(cpspec) const PROPVARIANT rgpropvar[ ],
581
/* [in] */ PROPID propidNameFirst) = 0;
583
virtual HRESULT STDMETHODCALLTYPE DeleteMultiple(
584
/* [in] */ ULONG cpspec,
585
/* [size_is][in] */ __RPC__in_ecount_full(cpspec) const PROPSPEC rgpspec[ ]) = 0;
587
virtual HRESULT STDMETHODCALLTYPE ReadPropertyNames(
588
/* [in] */ ULONG cpropid,
589
/* [size_is][in] */ __RPC__in_ecount_full(cpropid) const PROPID rgpropid[ ],
590
/* [size_is][out] */ __RPC__out_ecount_full(cpropid) LPOLESTR rglpwstrName[ ]) = 0;
592
virtual HRESULT STDMETHODCALLTYPE WritePropertyNames(
593
/* [in] */ ULONG cpropid,
594
/* [size_is][in] */ __RPC__in_ecount_full(cpropid) const PROPID rgpropid[ ],
595
/* [size_is][in] */ __RPC__in_ecount_full(cpropid) const LPOLESTR rglpwstrName[ ]) = 0;
597
virtual HRESULT STDMETHODCALLTYPE DeletePropertyNames(
598
/* [in] */ ULONG cpropid,
599
/* [size_is][in] */ __RPC__in_ecount_full(cpropid) const PROPID rgpropid[ ]) = 0;
601
virtual HRESULT STDMETHODCALLTYPE Commit(
602
/* [in] */ DWORD grfCommitFlags) = 0;
604
virtual HRESULT STDMETHODCALLTYPE Revert( void) = 0;
606
virtual HRESULT STDMETHODCALLTYPE Enum(
607
/* [out] */ __RPC__deref_out_opt IEnumSTATPROPSTG **ppenum) = 0;
609
virtual HRESULT STDMETHODCALLTYPE SetTimes(
610
/* [in] */ __RPC__in const FILETIME *pctime,
611
/* [in] */ __RPC__in const FILETIME *patime,
612
/* [in] */ __RPC__in const FILETIME *pmtime) = 0;
614
virtual HRESULT STDMETHODCALLTYPE SetClass(
615
/* [in] */ __RPC__in REFCLSID clsid) = 0;
617
virtual HRESULT STDMETHODCALLTYPE Stat(
618
/* [out] */ __RPC__out STATPROPSETSTG *pstatpsstg) = 0;
622
#else /* C style interface */
624
// typedef struct IPropertyStorageVtbl
628
// HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
629
// IPropertyStorage * This,
630
// /* [in] */ __RPC__in REFIID riid,
631
// /* [iid_is][out] */
632
// __RPC__deref_out void **ppvObject);
634
// ULONG ( STDMETHODCALLTYPE *AddRef )(
635
// IPropertyStorage * This);
637
// ULONG ( STDMETHODCALLTYPE *Release )(
638
// IPropertyStorage * This);
640
// HRESULT ( STDMETHODCALLTYPE *ReadMultiple )(
641
// IPropertyStorage * This,
642
// /* [in] */ ULONG cpspec,
643
// /* [size_is][in] */ __RPC__in_ecount_full(cpspec) const PROPSPEC rgpspec[ ],
644
// /* [size_is][out] */ __RPC__out_ecount_full(cpspec) PROPVARIANT rgpropvar[ ]);
646
// HRESULT ( STDMETHODCALLTYPE *WriteMultiple )(
647
// IPropertyStorage * This,
648
// /* [in] */ ULONG cpspec,
649
// /* [size_is][in] */ __RPC__in_ecount_full(cpspec) const PROPSPEC rgpspec[ ],
650
// /* [size_is][in] */ __RPC__in_ecount_full(cpspec) const PROPVARIANT rgpropvar[ ],
651
// /* [in] */ PROPID propidNameFirst);
653
// HRESULT ( STDMETHODCALLTYPE *DeleteMultiple )(
654
// IPropertyStorage * This,
655
// /* [in] */ ULONG cpspec,
656
// /* [size_is][in] */ __RPC__in_ecount_full(cpspec) const PROPSPEC rgpspec[ ]);
658
// HRESULT ( STDMETHODCALLTYPE *ReadPropertyNames )(
659
// IPropertyStorage * This,
660
// /* [in] */ ULONG cpropid,
661
// /* [size_is][in] */ __RPC__in_ecount_full(cpropid) const PROPID rgpropid[ ],
662
// /* [size_is][out] */ __RPC__out_ecount_full(cpropid) LPOLESTR rglpwstrName[ ]);
664
// HRESULT ( STDMETHODCALLTYPE *WritePropertyNames )(
665
// IPropertyStorage * This,
666
// /* [in] */ ULONG cpropid,
667
// /* [size_is][in] */ __RPC__in_ecount_full(cpropid) const PROPID rgpropid[ ],
668
// /* [size_is][in] */ __RPC__in_ecount_full(cpropid) const LPOLESTR rglpwstrName[ ]);
670
// HRESULT ( STDMETHODCALLTYPE *DeletePropertyNames )(
671
// IPropertyStorage * This,
672
// /* [in] */ ULONG cpropid,
673
// /* [size_is][in] */ __RPC__in_ecount_full(cpropid) const PROPID rgpropid[ ]);
675
// HRESULT ( STDMETHODCALLTYPE *Commit )(
676
// IPropertyStorage * This,
677
// /* [in] */ DWORD grfCommitFlags);
679
// HRESULT ( STDMETHODCALLTYPE *Revert )(
680
// IPropertyStorage * This);
682
// HRESULT ( STDMETHODCALLTYPE *Enum )(
683
// IPropertyStorage * This,
684
// /* [out] */ __RPC__deref_out_opt IEnumSTATPROPSTG **ppenum);
686
// HRESULT ( STDMETHODCALLTYPE *SetTimes )(
687
// IPropertyStorage * This,
688
// /* [in] */ __RPC__in const FILETIME *pctime,
689
// /* [in] */ __RPC__in const FILETIME *patime,
690
// /* [in] */ __RPC__in const FILETIME *pmtime);
692
// HRESULT ( STDMETHODCALLTYPE *SetClass )(
693
// IPropertyStorage * This,
694
// /* [in] */ __RPC__in REFCLSID clsid);
696
// HRESULT ( STDMETHODCALLTYPE *Stat )(
697
// IPropertyStorage * This,
698
// /* [out] */ __RPC__out STATPROPSETSTG *pstatpsstg);
701
// } IPropertyStorageVtbl;
703
// interface IPropertyStorage
705
// CONST_VTBL struct IPropertyStorageVtbl *lpVtbl;
713
#define IPropertyStorage_QueryInterface(This,riid,ppvObject) \
714
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
716
#define IPropertyStorage_AddRef(This) \
717
( (This)->lpVtbl -> AddRef(This) )
719
#define IPropertyStorage_Release(This) \
720
( (This)->lpVtbl -> Release(This) )
723
#define IPropertyStorage_ReadMultiple(This,cpspec,rgpspec,rgpropvar) \
724
( (This)->lpVtbl -> ReadMultiple(This,cpspec,rgpspec,rgpropvar) )
726
#define IPropertyStorage_WriteMultiple(This,cpspec,rgpspec,rgpropvar,propidNameFirst) \
727
( (This)->lpVtbl -> WriteMultiple(This,cpspec,rgpspec,rgpropvar,propidNameFirst) )
729
#define IPropertyStorage_DeleteMultiple(This,cpspec,rgpspec) \
730
( (This)->lpVtbl -> DeleteMultiple(This,cpspec,rgpspec) )
732
#define IPropertyStorage_ReadPropertyNames(This,cpropid,rgpropid,rglpwstrName) \
733
( (This)->lpVtbl -> ReadPropertyNames(This,cpropid,rgpropid,rglpwstrName) )
735
#define IPropertyStorage_WritePropertyNames(This,cpropid,rgpropid,rglpwstrName) \
736
( (This)->lpVtbl -> WritePropertyNames(This,cpropid,rgpropid,rglpwstrName) )
738
#define IPropertyStorage_DeletePropertyNames(This,cpropid,rgpropid) \
739
( (This)->lpVtbl -> DeletePropertyNames(This,cpropid,rgpropid) )
741
#define IPropertyStorage_Commit(This,grfCommitFlags) \
742
( (This)->lpVtbl -> Commit(This,grfCommitFlags) )
744
#define IPropertyStorage_Revert(This) \
745
( (This)->lpVtbl -> Revert(This) )
747
#define IPropertyStorage_Enum(This,ppenum) \
748
( (This)->lpVtbl -> Enum(This,ppenum) )
750
#define IPropertyStorage_SetTimes(This,pctime,patime,pmtime) \
751
( (This)->lpVtbl -> SetTimes(This,pctime,patime,pmtime) )
753
#define IPropertyStorage_SetClass(This,clsid) \
754
( (This)->lpVtbl -> SetClass(This,clsid) )
756
#define IPropertyStorage_Stat(This,pstatpsstg) \
757
( (This)->lpVtbl -> Stat(This,pstatpsstg) )
759
#endif /* COBJMACROS */
762
#endif /* C style interface */
767
#endif /* __IPropertyStorage_INTERFACE_DEFINED__ */
770
#ifndef __IPropertySetStorage_INTERFACE_DEFINED__
771
#define __IPropertySetStorage_INTERFACE_DEFINED__
773
/* interface IPropertySetStorage */
774
/* [unique][uuid][object] */
776
typedef /* [unique] */ __RPC_unique_pointer IPropertySetStorage *LPPROPERTYSETSTORAGE;
779
EXTERN_C const IID IID_IPropertySetStorage;
781
#if defined(__cplusplus) && !defined(CINTERFACE)
783
MIDL_INTERFACE("0000013A-0000-0000-C000-000000000046")
784
IPropertySetStorage : public IUnknown
787
virtual HRESULT STDMETHODCALLTYPE Create(
788
/* [in] */ __RPC__in REFFMTID rfmtid,
789
/* [unique][in] */ __RPC__in_opt const CLSID *pclsid,
790
/* [in] */ DWORD grfFlags,
791
/* [in] */ DWORD grfMode,
792
/* [out] */ __RPC__deref_out_opt IPropertyStorage **ppprstg) = 0;
794
virtual HRESULT STDMETHODCALLTYPE Open(
795
/* [in] */ __RPC__in REFFMTID rfmtid,
796
/* [in] */ DWORD grfMode,
797
/* [out] */ __RPC__deref_out_opt IPropertyStorage **ppprstg) = 0;
799
virtual HRESULT STDMETHODCALLTYPE Delete(
800
/* [in] */ __RPC__in REFFMTID rfmtid) = 0;
802
virtual HRESULT STDMETHODCALLTYPE Enum(
803
/* [out] */ __RPC__deref_out_opt IEnumSTATPROPSETSTG **ppenum) = 0;
807
#else /* C style interface */
809
// typedef struct IPropertySetStorageVtbl
813
// HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
814
// IPropertySetStorage * This,
815
// /* [in] */ __RPC__in REFIID riid,
816
// /* [iid_is][out] */
817
// __RPC__deref_out void **ppvObject);
819
// ULONG ( STDMETHODCALLTYPE *AddRef )(
820
// IPropertySetStorage * This);
822
// ULONG ( STDMETHODCALLTYPE *Release )(
823
// IPropertySetStorage * This);
825
// HRESULT ( STDMETHODCALLTYPE *Create )(
826
// IPropertySetStorage * This,
827
// /* [in] */ __RPC__in REFFMTID rfmtid,
828
// /* [unique][in] */ __RPC__in_opt const CLSID *pclsid,
829
// /* [in] */ DWORD grfFlags,
830
// /* [in] */ DWORD grfMode,
831
// /* [out] */ __RPC__deref_out_opt IPropertyStorage **ppprstg);
833
// HRESULT ( STDMETHODCALLTYPE *Open )(
834
// IPropertySetStorage * This,
835
// /* [in] */ __RPC__in REFFMTID rfmtid,
836
// /* [in] */ DWORD grfMode,
837
// /* [out] */ __RPC__deref_out_opt IPropertyStorage **ppprstg);
839
// HRESULT ( STDMETHODCALLTYPE *Delete )(
840
// IPropertySetStorage * This,
841
// /* [in] */ __RPC__in REFFMTID rfmtid);
843
// HRESULT ( STDMETHODCALLTYPE *Enum )(
844
// IPropertySetStorage * This,
845
// /* [out] */ __RPC__deref_out_opt IEnumSTATPROPSETSTG **ppenum);
848
// } IPropertySetStorageVtbl;
850
// interface IPropertySetStorage
852
// CONST_VTBL struct IPropertySetStorageVtbl *lpVtbl;
860
#define IPropertySetStorage_QueryInterface(This,riid,ppvObject) \
861
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
863
#define IPropertySetStorage_AddRef(This) \
864
( (This)->lpVtbl -> AddRef(This) )
866
#define IPropertySetStorage_Release(This) \
867
( (This)->lpVtbl -> Release(This) )
870
#define IPropertySetStorage_Create(This,rfmtid,pclsid,grfFlags,grfMode,ppprstg) \
871
( (This)->lpVtbl -> Create(This,rfmtid,pclsid,grfFlags,grfMode,ppprstg) )
873
#define IPropertySetStorage_Open(This,rfmtid,grfMode,ppprstg) \
874
( (This)->lpVtbl -> Open(This,rfmtid,grfMode,ppprstg) )
876
#define IPropertySetStorage_Delete(This,rfmtid) \
877
( (This)->lpVtbl -> Delete(This,rfmtid) )
879
#define IPropertySetStorage_Enum(This,ppenum) \
880
( (This)->lpVtbl -> Enum(This,ppenum) )
882
#endif /* COBJMACROS */
885
#endif /* C style interface */
890
#endif /* __IPropertySetStorage_INTERFACE_DEFINED__ */
893
#ifndef __IEnumSTATPROPSTG_INTERFACE_DEFINED__
894
#define __IEnumSTATPROPSTG_INTERFACE_DEFINED__
896
/* interface IEnumSTATPROPSTG */
897
/* [unique][uuid][object] */
899
//typedef /* [unique] */ __RPC_unique_pointer IEnumSTATPROPSTG *LPENUMSTATPROPSTG;
902
EXTERN_C const IID IID_IEnumSTATPROPSTG;
904
#if defined(__cplusplus) && !defined(CINTERFACE)
906
MIDL_INTERFACE("00000139-0000-0000-C000-000000000046")
907
IEnumSTATPROPSTG : public IUnknown
910
virtual /* [local] */ HRESULT STDMETHODCALLTYPE Next(
911
/* [in] */ ULONG celt,
912
/* [length_is][size_is][out] */ STATPROPSTG *rgelt,
913
/* [out] */ ULONG *pceltFetched) = 0;
915
virtual HRESULT STDMETHODCALLTYPE Skip(
916
/* [in] */ ULONG celt) = 0;
918
virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
920
virtual HRESULT STDMETHODCALLTYPE Clone(
921
/* [out] */ __RPC__deref_out_opt IEnumSTATPROPSTG **ppenum) = 0;
925
#else /* C style interface */
927
// typedef struct IEnumSTATPROPSTGVtbl
931
// HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
932
// IEnumSTATPROPSTG * This,
933
// /* [in] */ __RPC__in REFIID riid,
934
// /* [iid_is][out] */
935
// __RPC__deref_out void **ppvObject);
937
// ULONG ( STDMETHODCALLTYPE *AddRef )(
938
// IEnumSTATPROPSTG * This);
940
// ULONG ( STDMETHODCALLTYPE *Release )(
941
// IEnumSTATPROPSTG * This);
943
// /* [local] */ HRESULT ( STDMETHODCALLTYPE *Next )(
944
// IEnumSTATPROPSTG * This,
945
// /* [in] */ ULONG celt,
946
// /* [length_is][size_is][out] */ STATPROPSTG *rgelt,
947
// /* [out] */ ULONG *pceltFetched);
949
// HRESULT ( STDMETHODCALLTYPE *Skip )(
950
// IEnumSTATPROPSTG * This,
951
// /* [in] */ ULONG celt);
953
// HRESULT ( STDMETHODCALLTYPE *Reset )(
954
// IEnumSTATPROPSTG * This);
956
// HRESULT ( STDMETHODCALLTYPE *Clone )(
957
// IEnumSTATPROPSTG * This,
958
// /* [out] */ __RPC__deref_out_opt IEnumSTATPROPSTG **ppenum);
961
// } IEnumSTATPROPSTGVtbl;
963
// interface IEnumSTATPROPSTG
965
// CONST_VTBL struct IEnumSTATPROPSTGVtbl *lpVtbl;
973
#define IEnumSTATPROPSTG_QueryInterface(This,riid,ppvObject) \
974
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
976
#define IEnumSTATPROPSTG_AddRef(This) \
977
( (This)->lpVtbl -> AddRef(This) )
979
#define IEnumSTATPROPSTG_Release(This) \
980
( (This)->lpVtbl -> Release(This) )
983
#define IEnumSTATPROPSTG_Next(This,celt,rgelt,pceltFetched) \
984
( (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched) )
986
#define IEnumSTATPROPSTG_Skip(This,celt) \
987
( (This)->lpVtbl -> Skip(This,celt) )
989
#define IEnumSTATPROPSTG_Reset(This) \
990
( (This)->lpVtbl -> Reset(This) )
992
#define IEnumSTATPROPSTG_Clone(This,ppenum) \
993
( (This)->lpVtbl -> Clone(This,ppenum) )
995
#endif /* COBJMACROS */
998
#endif /* C style interface */
1002
/* [call_as] */ HRESULT STDMETHODCALLTYPE IEnumSTATPROPSTG_RemoteNext_Proxy(
1003
IEnumSTATPROPSTG * This,
1004
/* [in] */ ULONG celt,
1005
/* [length_is][size_is][out] */ __RPC__out_ecount_part(celt, *pceltFetched) STATPROPSTG *rgelt,
1006
/* [out] */ __RPC__out ULONG *pceltFetched);
1009
void __RPC_STUB IEnumSTATPROPSTG_RemoteNext_Stub(
1010
IRpcStubBuffer *This,
1011
IRpcChannelBuffer *_pRpcChannelBuffer,
1012
PRPC_MESSAGE _pRpcMessage,
1013
DWORD *_pdwStubPhase);
1017
#endif /* __IEnumSTATPROPSTG_INTERFACE_DEFINED__ */
1020
#ifndef __IEnumSTATPROPSETSTG_INTERFACE_DEFINED__
1021
#define __IEnumSTATPROPSETSTG_INTERFACE_DEFINED__
1023
/* interface IEnumSTATPROPSETSTG */
1024
/* [unique][uuid][object] */
1026
typedef /* [unique] */ __RPC_unique_pointer IEnumSTATPROPSETSTG *LPENUMSTATPROPSETSTG;
1029
EXTERN_C const IID IID_IEnumSTATPROPSETSTG;
1031
#if defined(__cplusplus) && !defined(CINTERFACE)
1033
MIDL_INTERFACE("0000013B-0000-0000-C000-000000000046")
1034
IEnumSTATPROPSETSTG : public IUnknown
1037
virtual /* [local] */ HRESULT STDMETHODCALLTYPE Next(
1038
/* [in] */ ULONG celt,
1039
/* [length_is][size_is][out] */ STATPROPSETSTG *rgelt,
1040
/* [out] */ ULONG *pceltFetched) = 0;
1042
virtual HRESULT STDMETHODCALLTYPE Skip(
1043
/* [in] */ ULONG celt) = 0;
1045
virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
1047
virtual HRESULT STDMETHODCALLTYPE Clone(
1048
/* [out] */ __RPC__deref_out_opt IEnumSTATPROPSETSTG **ppenum) = 0;
1052
#else /* C style interface */
1054
// typedef struct IEnumSTATPROPSETSTGVtbl
1058
// HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1059
// IEnumSTATPROPSETSTG * This,
1060
// /* [in] */ __RPC__in REFIID riid,
1061
// /* [iid_is][out] */
1062
// __RPC__deref_out void **ppvObject);
1064
// ULONG ( STDMETHODCALLTYPE *AddRef )(
1065
// IEnumSTATPROPSETSTG * This);
1067
// ULONG ( STDMETHODCALLTYPE *Release )(
1068
// IEnumSTATPROPSETSTG * This);
1070
// /* [local] */ HRESULT ( STDMETHODCALLTYPE *Next )(
1071
// IEnumSTATPROPSETSTG * This,
1072
// /* [in] */ ULONG celt,
1073
// /* [length_is][size_is][out] */ STATPROPSETSTG *rgelt,
1074
// /* [out] */ ULONG *pceltFetched);
1076
// HRESULT ( STDMETHODCALLTYPE *Skip )(
1077
// IEnumSTATPROPSETSTG * This,
1078
// /* [in] */ ULONG celt);
1080
// HRESULT ( STDMETHODCALLTYPE *Reset )(
1081
// IEnumSTATPROPSETSTG * This);
1083
// HRESULT ( STDMETHODCALLTYPE *Clone )(
1084
// IEnumSTATPROPSETSTG * This,
1085
// /* [out] */ __RPC__deref_out_opt IEnumSTATPROPSETSTG **ppenum);
1088
// } IEnumSTATPROPSETSTGVtbl;
1090
// interface IEnumSTATPROPSETSTG
1092
// CONST_VTBL struct IEnumSTATPROPSETSTGVtbl *lpVtbl;
1100
#define IEnumSTATPROPSETSTG_QueryInterface(This,riid,ppvObject) \
1101
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1103
#define IEnumSTATPROPSETSTG_AddRef(This) \
1104
( (This)->lpVtbl -> AddRef(This) )
1106
#define IEnumSTATPROPSETSTG_Release(This) \
1107
( (This)->lpVtbl -> Release(This) )
1110
#define IEnumSTATPROPSETSTG_Next(This,celt,rgelt,pceltFetched) \
1111
( (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched) )
1113
#define IEnumSTATPROPSETSTG_Skip(This,celt) \
1114
( (This)->lpVtbl -> Skip(This,celt) )
1116
#define IEnumSTATPROPSETSTG_Reset(This) \
1117
( (This)->lpVtbl -> Reset(This) )
1119
#define IEnumSTATPROPSETSTG_Clone(This,ppenum) \
1120
( (This)->lpVtbl -> Clone(This,ppenum) )
1122
#endif /* COBJMACROS */
1125
#endif /* C style interface */
1129
/* [call_as] */ HRESULT STDMETHODCALLTYPE IEnumSTATPROPSETSTG_RemoteNext_Proxy(
1130
IEnumSTATPROPSETSTG * This,
1131
/* [in] */ ULONG celt,
1132
/* [length_is][size_is][out] */ __RPC__out_ecount_part(celt, *pceltFetched) STATPROPSETSTG *rgelt,
1133
/* [out] */ __RPC__out ULONG *pceltFetched);
1136
void __RPC_STUB IEnumSTATPROPSETSTG_RemoteNext_Stub(
1137
IRpcStubBuffer *This,
1138
IRpcChannelBuffer *_pRpcChannelBuffer,
1139
PRPC_MESSAGE _pRpcMessage,
1140
DWORD *_pdwStubPhase);
1144
#endif /* __IEnumSTATPROPSETSTG_INTERFACE_DEFINED__ */
1147
/* interface __MIDL_itf_propidl_0000_0004 */
1150
typedef /* [unique] */ __RPC_unique_pointer IPropertyStorage *LPPROPERTYSTORAGE;
1152
WINOLEAPI PropVariantCopy ( PROPVARIANT * pvarDest, const PROPVARIANT * pvarSrc );
1153
WINOLEAPI PropVariantClear ( PROPVARIANT * pvar );
1154
WINOLEAPI FreePropVariantArray ( ULONG cVariants, PROPVARIANT * rgvars );
1156
#define _PROPVARIANTINIT_DEFINED_
1158
inline void PropVariantInit ( PROPVARIANT * pvar )
1160
memset ( pvar, 0, sizeof(PROPVARIANT) );
1163
# define PropVariantInit(pvar) memset ( (pvar), 0, sizeof(PROPVARIANT) )
1167
#ifndef _STGCREATEPROPSTG_DEFINED_
1168
WINOLEAPI StgCreatePropStg( IUnknown* pUnk, REFFMTID fmtid, const CLSID *pclsid, DWORD grfFlags, DWORD dwReserved, IPropertyStorage **ppPropStg );
1169
WINOLEAPI StgOpenPropStg( IUnknown* pUnk, REFFMTID fmtid, DWORD grfFlags, DWORD dwReserved, IPropertyStorage **ppPropStg );
1170
WINOLEAPI StgCreatePropSetStg( IStorage *pStorage, DWORD dwReserved, IPropertySetStorage **ppPropSetStg);
1172
#define CCH_MAX_PROPSTG_NAME 31
1173
__checkReturn WINOLEAPI FmtIdToPropStgName( const FMTID *pfmtid, __out_ecount(CCH_MAX_PROPSTG_NAME+1) LPOLESTR oszName );
1174
WINOLEAPI PropStgNameToFmtId( __in __nullterminated const LPOLESTR oszName, FMTID *pfmtid );
1176
#ifndef _SERIALIZEDPROPERTYVALUE_DEFINED_
1177
#define _SERIALIZEDPROPERTYVALUE_DEFINED_
1178
typedef struct tagSERIALIZEDPROPERTYVALUE // prop
1182
} SERIALIZEDPROPERTYVALUE;
1185
EXTERN_C SERIALIZEDPROPERTYVALUE* __stdcall
1186
StgConvertVariantToProperty(
1187
__in const PROPVARIANT* pvar,
1189
__out_bcount_opt(*pcb) SERIALIZEDPROPERTYVALUE* pprop,
1192
__reserved BOOLEAN fReserved,
1193
__out_opt ULONG* pcIndirect);
1196
class PMemoryAllocator;
1198
EXTERN_C BOOLEAN __stdcall
1199
StgConvertPropertyToVariant(
1200
__in const SERIALIZEDPROPERTYVALUE* pprop,
1202
__out PROPVARIANT* pvar,
1203
__in PMemoryAllocator* pma);
1205
#if _MSC_VER >= 1200
1206
#pragma warning(pop)
1208
#pragma warning(default:4201) /* Nameless struct/union */
1209
#pragma warning(default:4237) /* keywords bool, true, false, etc.. */
1213
extern RPC_IF_HANDLE __MIDL_itf_propidl_0000_0004_v0_0_c_ifspec;
1214
extern RPC_IF_HANDLE __MIDL_itf_propidl_0000_0004_v0_0_s_ifspec;
1216
/* Additional Prototypes for ALL interfaces */
1218
unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * );
1219
unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * );
1220
unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * );
1221
void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * );
1223
unsigned long __RPC_USER LPSAFEARRAY_UserSize( unsigned long *, unsigned long , LPSAFEARRAY * );
1224
unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal( unsigned long *, unsigned char *, LPSAFEARRAY * );
1225
unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal(unsigned long *, unsigned char *, LPSAFEARRAY * );
1226
void __RPC_USER LPSAFEARRAY_UserFree( unsigned long *, LPSAFEARRAY * );
1228
unsigned long __RPC_USER BSTR_UserSize64( unsigned long *, unsigned long , BSTR * );
1229
unsigned char * __RPC_USER BSTR_UserMarshal64( unsigned long *, unsigned char *, BSTR * );
1230
unsigned char * __RPC_USER BSTR_UserUnmarshal64(unsigned long *, unsigned char *, BSTR * );
1231
void __RPC_USER BSTR_UserFree64( unsigned long *, BSTR * );
1233
unsigned long __RPC_USER LPSAFEARRAY_UserSize64( unsigned long *, unsigned long , LPSAFEARRAY * );
1234
unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal64( unsigned long *, unsigned char *, LPSAFEARRAY * );
1235
unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal64(unsigned long *, unsigned char *, LPSAFEARRAY * );
1236
void __RPC_USER LPSAFEARRAY_UserFree64( unsigned long *, LPSAFEARRAY * );
1238
/* [local] */ HRESULT STDMETHODCALLTYPE IEnumSTATPROPSTG_Next_Proxy(
1239
IEnumSTATPROPSTG * This,
1240
/* [in] */ ULONG celt,
1241
/* [length_is][size_is][out] */ STATPROPSTG *rgelt,
1242
/* [out] */ ULONG *pceltFetched);
1245
/* [call_as] */ HRESULT STDMETHODCALLTYPE IEnumSTATPROPSTG_Next_Stub(
1246
IEnumSTATPROPSTG * This,
1247
/* [in] */ ULONG celt,
1248
/* [length_is][size_is][out] */ __RPC__out_ecount_part(celt, *pceltFetched) STATPROPSTG *rgelt,
1249
/* [out] */ __RPC__out ULONG *pceltFetched);
1251
/* [local] */ HRESULT STDMETHODCALLTYPE IEnumSTATPROPSETSTG_Next_Proxy(
1252
IEnumSTATPROPSETSTG * This,
1253
/* [in] */ ULONG celt,
1254
/* [length_is][size_is][out] */ STATPROPSETSTG *rgelt,
1255
/* [out] */ ULONG *pceltFetched);
1258
/* [call_as] */ HRESULT STDMETHODCALLTYPE IEnumSTATPROPSETSTG_Next_Stub(
1259
IEnumSTATPROPSETSTG * This,
1260
/* [in] */ ULONG celt,
1261
/* [length_is][size_is][out] */ __RPC__out_ecount_part(celt, *pceltFetched) STATPROPSETSTG *rgelt,
1262
/* [out] */ __RPC__out ULONG *pceltFetched);
1266
/* end of Additional Prototypes */