00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #pragma warning( disable: 4049 )
00018
00019
00020
00021 #ifndef __REQUIRED_RPCNDR_H_VERSION__
00022 #define __REQUIRED_RPCNDR_H_VERSION__ 500
00023 #endif
00024
00025
00026 #ifndef __REQUIRED_RPCSAL_H_VERSION__
00027 #define __REQUIRED_RPCSAL_H_VERSION__ 100
00028 #endif
00029
00030 #include "rpc.h"
00031 #include "rpcndr.h"
00032
00033 #ifndef __RPCNDR_H_VERSION__
00034 #error this stub requires an updated version of <rpcndr.h>
00035 #endif // __RPCNDR_H_VERSION__
00036
00037 #ifndef COM_NO_WINDOWS_H
00038 #include "windows.h"
00039 #include "ole2.h"
00040 #endif
00041
00042 #ifndef __propidl_h__
00043 #define __propidl_h__
00044
00045 #if __GNUC__ >=3
00046 #pragma GCC system_header
00047 #endif
00048
00049 #define interface struct
00050 #include "sal.h"
00051 #include "rpcsal.h"
00052
00053 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
00054 #pragma once
00055 #endif
00056
00057
00058
00059 #ifndef __IPropertyStorage_FWD_DEFINED__
00060 #define __IPropertyStorage_FWD_DEFINED__
00061 typedef interface IPropertyStorage IPropertyStorage;
00062 #endif
00063
00064
00065 #ifndef __IPropertySetStorage_FWD_DEFINED__
00066 #define __IPropertySetStorage_FWD_DEFINED__
00067 typedef interface IPropertySetStorage IPropertySetStorage;
00068 #endif
00069
00070
00071 #ifndef __IEnumSTATPROPSTG_FWD_DEFINED__
00072 #define __IEnumSTATPROPSTG_FWD_DEFINED__
00073 typedef interface IEnumSTATPROPSTG IEnumSTATPROPSTG;
00074 #endif
00075
00076
00077 #ifndef __IEnumSTATPROPSETSTG_FWD_DEFINED__
00078 #define __IEnumSTATPROPSETSTG_FWD_DEFINED__
00079 typedef interface IEnumSTATPROPSETSTG IEnumSTATPROPSETSTG;
00080 #endif
00081
00082
00083
00084 #include "objidl.h"
00085 #include "oaidl.h"
00086
00087 #ifdef __cplusplus
00088 extern "C"{
00089 #endif
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099
00100
00101 #if ( _MSC_VER >= 800 )
00102 #if _MSC_VER >= 1200
00103 #pragma warning(push)
00104 #endif
00105 #pragma warning(disable:4201)
00106 #pragma warning(disable:4237)
00107 #endif
00108 #if ( _MSC_VER >= 1020 )
00109 #pragma once
00110 #endif
00111
00112
00113
00114 typedef struct tagVersionedStream
00115 {
00116 GUID guidVersion;
00117 IStream *pStream;
00118 } VERSIONEDSTREAM;
00119
00120 typedef struct tagVersionedStream *LPVERSIONEDSTREAM;
00121
00122
00123
00124 #define PROPSETFLAG_DEFAULT ( 0 )
00125
00126 #define PROPSETFLAG_NONSIMPLE ( 1 )
00127
00128 #define PROPSETFLAG_ANSI ( 2 )
00129
00130
00131 #define PROPSETFLAG_UNBUFFERED ( 4 )
00132
00133
00134 #define PROPSETFLAG_CASE_SENSITIVE ( 8 )
00135
00136
00137
00138 #define PROPSET_BEHAVIOR_CASE_SENSITIVE ( 1 )
00139
00140 #ifdef MIDL_PASS
00141
00142 typedef struct tag_inner_PROPVARIANT PROPVARIANT;
00143
00144 #else
00145
00146 typedef struct tagPROPVARIANT PROPVARIANT;
00147 #endif
00148 typedef struct tagCAC
00149 {
00150 ULONG cElems;
00151 CHAR *pElems;
00152 } CAC;
00153 #ifdef WIN64
00154 typedef struct tagCAUB
00155 {
00156 ULONG cElems;
00157 UCHAR *pElems;
00158 } CAUB;
00159
00160 typedef struct tagCAI
00161 {
00162 ULONG cElems;
00163 SHORT *pElems;
00164 } CAI;
00165
00166 typedef struct tagCAUI
00167 {
00168 ULONG cElems;
00169 USHORT *pElems;
00170 } CAUI;
00171
00172 typedef struct tagCAL
00173 {
00174 ULONG cElems;
00175 LONG *pElems;
00176 } CAL;
00177
00178 typedef struct tagCAUL
00179 {
00180 ULONG cElems;
00181 ULONG *pElems;
00182 } CAUL;
00183
00184 typedef struct tagCAFLT
00185 {
00186 ULONG cElems;
00187 FLOAT *pElems;
00188 } CAFLT;
00189
00190 typedef struct tagCADBL
00191 {
00192 ULONG cElems;
00193 DOUBLE *pElems;
00194 } CADBL;
00195
00196 typedef struct tagCACY
00197 {
00198 ULONG cElems;
00199 CY *pElems;
00200 } CACY;
00201
00202 typedef struct tagCADATE
00203 {
00204 ULONG cElems;
00205 DATE *pElems;
00206 } CADATE;
00207
00208 typedef struct tagCABSTR
00209 {
00210 ULONG cElems;
00211 BSTR *pElems;
00212 } CABSTR;
00213
00214 typedef struct tagCABSTRBLOB
00215 {
00216 ULONG cElems;
00217 BSTRBLOB *pElems;
00218 } CABSTRBLOB;
00219
00220 typedef struct tagCABOOL
00221 {
00222 ULONG cElems;
00223 VARIANT_BOOL *pElems;
00224 } CABOOL;
00225
00226 typedef struct tagCASCODE
00227 {
00228 ULONG cElems;
00229 SCODE *pElems;
00230 } CASCODE;
00231
00232 typedef struct tagCAPROPVARIANT
00233 {
00234 ULONG cElems;
00235 PROPVARIANT *pElems;
00236 } CAPROPVARIANT;
00237
00238 typedef struct tagCAH
00239 {
00240 ULONG cElems;
00241 LARGE_INTEGER *pElems;
00242 } CAH;
00243
00244 typedef struct tagCAUH
00245 {
00246 ULONG cElems;
00247 ULARGE_INTEGER *pElems;
00248 } CAUH;
00249
00250 typedef struct tagCALPSTR
00251 {
00252 ULONG cElems;
00253 LPSTR *pElems;
00254 } CALPSTR;
00255
00256 typedef struct tagCALPWSTR
00257 {
00258 ULONG cElems;
00259 LPWSTR *pElems;
00260 } CALPWSTR;
00261
00262 typedef struct tagCAFILETIME
00263 {
00264 ULONG cElems;
00265 FILETIME *pElems;
00266 } CAFILETIME;
00267
00268 typedef struct tagCACLIPDATA
00269 {
00270 ULONG cElems;
00271 CLIPDATA *pElems;
00272 } CACLIPDATA;
00273
00274 typedef struct tagCACLSID
00275 {
00276 ULONG cElems;
00277 CLSID *pElems;
00278 } CACLSID;
00279 #endif
00280 #ifdef MIDL_PASS
00281
00282 typedef BYTE PROPVAR_PAD1;
00283
00284 typedef BYTE PROPVAR_PAD2;
00285
00286 typedef ULONG PROPVAR_PAD3;
00287
00288 #else
00289
00290 typedef WORD PROPVAR_PAD1;
00291 typedef WORD PROPVAR_PAD2;
00292 typedef WORD PROPVAR_PAD3;
00293 #define tag_inner_PROPVARIANT
00294 #endif
00295 #ifdef WIN64
00296 #ifndef MIDL_PASS
00297 struct tagPROPVARIANT {
00298 union {
00299 #endif
00300 struct tag_inner_PROPVARIANT
00301 {
00302 VARTYPE vt;
00303 PROPVAR_PAD1 wReserved1;
00304 PROPVAR_PAD2 wReserved2;
00305 PROPVAR_PAD3 wReserved3;
00306 union
00307 {
00308
00309 CHAR cVal;
00310 UCHAR bVal;
00311 SHORT iVal;
00312 USHORT uiVal;
00313 LONG lVal;
00314 ULONG ulVal;
00315 INT intVal;
00316 UINT uintVal;
00317 LARGE_INTEGER hVal;
00318 ULARGE_INTEGER uhVal;
00319 FLOAT fltVal;
00320 DOUBLE dblVal;
00321 VARIANT_BOOL boolVal;
00322
00323 SCODE scode;
00324 CY cyVal;
00325 DATE date;
00326 FILETIME filetime;
00327 CLSID *puuid;
00328 CLIPDATA *pclipdata;
00329 BSTR bstrVal;
00330 BSTRBLOB bstrblobVal;
00331 BLOB blob;
00332 LPSTR pszVal;
00333 LPWSTR pwszVal;
00334 IUnknown *punkVal;
00335 IDispatch *pdispVal;
00336 IStream *pStream;
00337 IStorage *pStorage;
00338 LPVERSIONEDSTREAM pVersionedStream;
00339 LPSAFEARRAY parray;
00340 CAC cac;
00341 CAUB caub;
00342 CAI cai;
00343 CAUI caui;
00344 CAL cal;
00345 CAUL caul;
00346 CAH cah;
00347 CAUH cauh;
00348 CAFLT caflt;
00349 CADBL cadbl;
00350 CABOOL cabool;
00351 CASCODE cascode;
00352 CACY cacy;
00353 CADATE cadate;
00354 CAFILETIME cafiletime;
00355 CACLSID cauuid;
00356 CACLIPDATA caclipdata;
00357 CABSTR cabstr;
00358 CABSTRBLOB cabstrblob;
00359 CALPSTR calpstr;
00360 CALPWSTR calpwstr;
00361 CAPROPVARIANT capropvar;
00362 CHAR *pcVal;
00363 UCHAR *pbVal;
00364 SHORT *piVal;
00365 USHORT *puiVal;
00366 LONG *plVal;
00367 ULONG *pulVal;
00368 INT *pintVal;
00369 UINT *puintVal;
00370 FLOAT *pfltVal;
00371 DOUBLE *pdblVal;
00372 VARIANT_BOOL *pboolVal;
00373 DECIMAL *pdecVal;
00374 SCODE *pscode;
00375 CY *pcyVal;
00376 DATE *pdate;
00377 BSTR *pbstrVal;
00378 IUnknown **ppunkVal;
00379 IDispatch **ppdispVal;
00380 LPSAFEARRAY *pparray;
00381 PROPVARIANT *pvarVal;
00382 } ;
00383 } ;
00384 #ifndef MIDL_PASS
00385 DECIMAL decVal;
00386 };
00387 };
00388 #endif
00389 #endif
00390 #ifdef MIDL_PASS
00391
00392 typedef struct tag_inner_PROPVARIANT *LPPROPVARIANT;
00393
00394 typedef const PROPVARIANT *REFPROPVARIANT;
00395
00396 #else
00397
00398
00399 #ifdef WIN64
00400 typedef struct tagPROPVARIANT * LPPROPVARIANT;
00401 #endif
00402
00403 #ifndef _REFPROPVARIANT_DEFINED
00404 #define _REFPROPVARIANT_DEFINED
00405 #ifdef __cplusplus
00406 #define REFPROPVARIANT const PROPVARIANT &
00407 #else
00408 #define REFPROPVARIANT const PROPVARIANT * __MIDL_CONST
00409 #endif
00410 #endif
00411
00412 #endif // MIDL_PASS
00413
00414
00415 #define PID_DICTIONARY ( 0 )
00416
00417 #define PID_CODEPAGE ( 0x1 )
00418
00419 #define PID_FIRST_USABLE ( 0x2 )
00420
00421 #define PID_FIRST_NAME_DEFAULT ( 0xfff )
00422
00423 #define PID_LOCALE ( 0x80000000 )
00424
00425 #define PID_MODIFY_TIME ( 0x80000001 )
00426
00427 #define PID_SECURITY ( 0x80000002 )
00428
00429 #define PID_BEHAVIOR ( 0x80000003 )
00430
00431 #define PID_ILLEGAL ( 0xffffffff )
00432
00433
00434 #define PID_MIN_READONLY ( 0x80000000 )
00435
00436 #define PID_MAX_READONLY ( 0xbfffffff )
00437
00438
00439
00440 #define PIDDI_THUMBNAIL 0x00000002L // VT_BLOB
00441
00442
00443
00444 #define PIDSI_TITLE 0x00000002L // VT_LPSTR
00445 #define PIDSI_SUBJECT 0x00000003L // VT_LPSTR
00446 #define PIDSI_AUTHOR 0x00000004L // VT_LPSTR
00447 #define PIDSI_KEYWORDS 0x00000005L // VT_LPSTR
00448 #define PIDSI_COMMENTS 0x00000006L // VT_LPSTR
00449 #define PIDSI_TEMPLATE 0x00000007L // VT_LPSTR
00450 #define PIDSI_LASTAUTHOR 0x00000008L // VT_LPSTR
00451 #define PIDSI_REVNUMBER 0x00000009L // VT_LPSTR
00452 #define PIDSI_EDITTIME 0x0000000aL // VT_FILETIME (UTC)
00453 #define PIDSI_LASTPRINTED 0x0000000bL // VT_FILETIME (UTC)
00454 #define PIDSI_CREATE_DTM 0x0000000cL // VT_FILETIME (UTC)
00455 #define PIDSI_LASTSAVE_DTM 0x0000000dL // VT_FILETIME (UTC)
00456 #define PIDSI_PAGECOUNT 0x0000000eL // VT_I4
00457 #define PIDSI_WORDCOUNT 0x0000000fL // VT_I4
00458 #define PIDSI_CHARCOUNT 0x00000010L // VT_I4
00459 #define PIDSI_THUMBNAIL 0x00000011L // VT_CF
00460 #define PIDSI_APPNAME 0x00000012L // VT_LPSTR
00461 #define PIDSI_DOC_SECURITY 0x00000013L // VT_I4
00462
00463
00464
00465 #define PIDDSI_CATEGORY 0x00000002 // VT_LPSTR
00466 #define PIDDSI_PRESFORMAT 0x00000003 // VT_LPSTR
00467 #define PIDDSI_BYTECOUNT 0x00000004 // VT_I4
00468 #define PIDDSI_LINECOUNT 0x00000005 // VT_I4
00469 #define PIDDSI_PARCOUNT 0x00000006 // VT_I4
00470 #define PIDDSI_SLIDECOUNT 0x00000007 // VT_I4
00471 #define PIDDSI_NOTECOUNT 0x00000008 // VT_I4
00472 #define PIDDSI_HIDDENCOUNT 0x00000009 // VT_I4
00473 #define PIDDSI_MMCLIPCOUNT 0x0000000A // VT_I4
00474 #define PIDDSI_SCALE 0x0000000B // VT_BOOL
00475 #define PIDDSI_HEADINGPAIR 0x0000000C // VT_VARIANT | VT_VECTOR
00476 #define PIDDSI_DOCPARTS 0x0000000D // VT_LPSTR | VT_VECTOR
00477 #define PIDDSI_MANAGER 0x0000000E // VT_LPSTR
00478 #define PIDDSI_COMPANY 0x0000000F // VT_LPSTR
00479 #define PIDDSI_LINKSDIRTY 0x00000010 // VT_BOOL
00480
00481
00482
00483
00484 #define PIDMSI_EDITOR 0x00000002L // VT_LPWSTR
00485 #define PIDMSI_SUPPLIER 0x00000003L // VT_LPWSTR
00486 #define PIDMSI_SOURCE 0x00000004L // VT_LPWSTR
00487 #define PIDMSI_SEQUENCE_NO 0x00000005L // VT_LPWSTR
00488 #define PIDMSI_PROJECT 0x00000006L // VT_LPWSTR
00489 #define PIDMSI_STATUS 0x00000007L // VT_UI4
00490 #define PIDMSI_OWNER 0x00000008L // VT_LPWSTR
00491 #define PIDMSI_RATING 0x00000009L // VT_LPWSTR
00492 #define PIDMSI_PRODUCTION 0x0000000AL // VT_FILETIME (UTC)
00493 #define PIDMSI_COPYRIGHT 0x0000000BL // VT_LPWSTR
00494
00495
00496
00497 enum PIDMSI_STATUS_VALUE
00498 { PIDMSI_STATUS_NORMAL = 0,
00499 PIDMSI_STATUS_NEW = ( PIDMSI_STATUS_NORMAL + 1 ) ,
00500 PIDMSI_STATUS_PRELIM = ( PIDMSI_STATUS_NEW + 1 ) ,
00501 PIDMSI_STATUS_DRAFT = ( PIDMSI_STATUS_PRELIM + 1 ) ,
00502 PIDMSI_STATUS_INPROGRESS = ( PIDMSI_STATUS_DRAFT + 1 ) ,
00503 PIDMSI_STATUS_EDIT = ( PIDMSI_STATUS_INPROGRESS + 1 ) ,
00504 PIDMSI_STATUS_REVIEW = ( PIDMSI_STATUS_EDIT + 1 ) ,
00505 PIDMSI_STATUS_PROOF = ( PIDMSI_STATUS_REVIEW + 1 ) ,
00506 PIDMSI_STATUS_FINAL = ( PIDMSI_STATUS_PROOF + 1 ) ,
00507 PIDMSI_STATUS_OTHER = 0x7fff
00508 } ;
00509 #define PRSPEC_INVALID ( 0xffffffff )
00510
00511 #define PRSPEC_LPWSTR ( 0 )
00512
00513 #define PRSPEC_PROPID ( 1 )
00514
00515 #ifdef WIN64
00516 typedef struct tagPROPSPEC
00517 {
00518 ULONG ulKind;
00519 union
00520 {
00521 PROPID propid;
00522 LPOLESTR lpwstr;
00523
00524 } ;
00525 } PROPSPEC;
00526
00527 typedef struct tagSTATPROPSTG
00528 {
00529 LPOLESTR lpwstrName;
00530 PROPID propid;
00531 VARTYPE vt;
00532 } STATPROPSTG;
00533 #endif
00534
00535
00536 #define PROPSETHDR_OSVER_KIND(dwOSVer) HIWORD( (dwOSVer) )
00537 #define PROPSETHDR_OSVER_MAJOR(dwOSVer) LOBYTE(LOWORD( (dwOSVer) ))
00538 #define PROPSETHDR_OSVER_MINOR(dwOSVer) HIBYTE(LOWORD( (dwOSVer) ))
00539 #define PROPSETHDR_OSVERSION_UNKNOWN 0xFFFFFFFF
00540 #ifdef WIN64
00541 typedef struct tagSTATPROPSETSTG
00542 {
00543 FMTID fmtid;
00544 CLSID clsid;
00545 DWORD grfFlags;
00546 FILETIME mtime;
00547 FILETIME ctime;
00548 FILETIME atime;
00549 DWORD dwOSVersion;
00550 } STATPROPSETSTG;
00551 #endif
00552
00553
00554 extern RPC_IF_HANDLE __MIDL_itf_propidl_0000_0000_v0_0_c_ifspec;
00555 extern RPC_IF_HANDLE __MIDL_itf_propidl_0000_0000_v0_0_s_ifspec;
00556
00557 #ifndef __IPropertyStorage_INTERFACE_DEFINED__
00558 #define __IPropertyStorage_INTERFACE_DEFINED__
00559
00560
00561
00562
00563
00564 EXTERN_C const IID IID_IPropertyStorage;
00565
00566 #if defined(__cplusplus) && !defined(CINTERFACE)
00567
00568 MIDL_INTERFACE("00000138-0000-0000-C000-000000000046")
00569 IPropertyStorage : public IUnknown
00570 {
00571 public:
00572 virtual HRESULT STDMETHODCALLTYPE ReadMultiple(
00573 ULONG cpspec,
00574 __RPC__in_ecount_full(cpspec) const PROPSPEC rgpspec[ ],
00575 __RPC__out_ecount_full(cpspec) PROPVARIANT rgpropvar[ ]) = 0;
00576
00577 virtual HRESULT STDMETHODCALLTYPE WriteMultiple(
00578 ULONG cpspec,
00579 __RPC__in_ecount_full(cpspec) const PROPSPEC rgpspec[ ],
00580 __RPC__in_ecount_full(cpspec) const PROPVARIANT rgpropvar[ ],
00581 PROPID propidNameFirst) = 0;
00582
00583 virtual HRESULT STDMETHODCALLTYPE DeleteMultiple(
00584 ULONG cpspec,
00585 __RPC__in_ecount_full(cpspec) const PROPSPEC rgpspec[ ]) = 0;
00586
00587 virtual HRESULT STDMETHODCALLTYPE ReadPropertyNames(
00588 ULONG cpropid,
00589 __RPC__in_ecount_full(cpropid) const PROPID rgpropid[ ],
00590 __RPC__out_ecount_full(cpropid) LPOLESTR rglpwstrName[ ]) = 0;
00591
00592 virtual HRESULT STDMETHODCALLTYPE WritePropertyNames(
00593 ULONG cpropid,
00594 __RPC__in_ecount_full(cpropid) const PROPID rgpropid[ ],
00595 __RPC__in_ecount_full(cpropid) const LPOLESTR rglpwstrName[ ]) = 0;
00596
00597 virtual HRESULT STDMETHODCALLTYPE DeletePropertyNames(
00598 ULONG cpropid,
00599 __RPC__in_ecount_full(cpropid) const PROPID rgpropid[ ]) = 0;
00600
00601 virtual HRESULT STDMETHODCALLTYPE Commit(
00602 DWORD grfCommitFlags) = 0;
00603
00604 virtual HRESULT STDMETHODCALLTYPE Revert( void) = 0;
00605
00606 virtual HRESULT STDMETHODCALLTYPE Enum(
00607 __RPC__deref_out_opt IEnumSTATPROPSTG **ppenum) = 0;
00608
00609 virtual HRESULT STDMETHODCALLTYPE SetTimes(
00610 __RPC__in const FILETIME *pctime,
00611 __RPC__in const FILETIME *patime,
00612 __RPC__in const FILETIME *pmtime) = 0;
00613
00614 virtual HRESULT STDMETHODCALLTYPE SetClass(
00615 __RPC__in REFCLSID clsid) = 0;
00616
00617 virtual HRESULT STDMETHODCALLTYPE Stat(
00618 __RPC__out STATPROPSETSTG *pstatpsstg) = 0;
00619
00620 };
00621
00622 #else
00623
00624
00625
00626
00627
00628
00629
00630
00631
00632
00633
00634
00635
00636
00637
00638
00639
00640
00641
00642
00643
00644
00645
00646
00647
00648
00649
00650
00651
00652
00653
00654
00655
00656
00657
00658
00659
00660
00661
00662
00663
00664
00665
00666
00667
00668
00669
00670
00671
00672
00673
00674
00675
00676
00677
00678
00679
00680
00681
00682
00683
00684
00685
00686
00687
00688
00689
00690
00691
00692
00693
00694
00695
00696
00697
00698
00699
00700
00701
00702
00703
00704
00705
00706
00707
00708
00709
00710 #ifdef COBJMACROS
00711
00712
00713 #define IPropertyStorage_QueryInterface(This,riid,ppvObject) \
00714 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
00715
00716 #define IPropertyStorage_AddRef(This) \
00717 ( (This)->lpVtbl -> AddRef(This) )
00718
00719 #define IPropertyStorage_Release(This) \
00720 ( (This)->lpVtbl -> Release(This) )
00721
00722
00723 #define IPropertyStorage_ReadMultiple(This,cpspec,rgpspec,rgpropvar) \
00724 ( (This)->lpVtbl -> ReadMultiple(This,cpspec,rgpspec,rgpropvar) )
00725
00726 #define IPropertyStorage_WriteMultiple(This,cpspec,rgpspec,rgpropvar,propidNameFirst) \
00727 ( (This)->lpVtbl -> WriteMultiple(This,cpspec,rgpspec,rgpropvar,propidNameFirst) )
00728
00729 #define IPropertyStorage_DeleteMultiple(This,cpspec,rgpspec) \
00730 ( (This)->lpVtbl -> DeleteMultiple(This,cpspec,rgpspec) )
00731
00732 #define IPropertyStorage_ReadPropertyNames(This,cpropid,rgpropid,rglpwstrName) \
00733 ( (This)->lpVtbl -> ReadPropertyNames(This,cpropid,rgpropid,rglpwstrName) )
00734
00735 #define IPropertyStorage_WritePropertyNames(This,cpropid,rgpropid,rglpwstrName) \
00736 ( (This)->lpVtbl -> WritePropertyNames(This,cpropid,rgpropid,rglpwstrName) )
00737
00738 #define IPropertyStorage_DeletePropertyNames(This,cpropid,rgpropid) \
00739 ( (This)->lpVtbl -> DeletePropertyNames(This,cpropid,rgpropid) )
00740
00741 #define IPropertyStorage_Commit(This,grfCommitFlags) \
00742 ( (This)->lpVtbl -> Commit(This,grfCommitFlags) )
00743
00744 #define IPropertyStorage_Revert(This) \
00745 ( (This)->lpVtbl -> Revert(This) )
00746
00747 #define IPropertyStorage_Enum(This,ppenum) \
00748 ( (This)->lpVtbl -> Enum(This,ppenum) )
00749
00750 #define IPropertyStorage_SetTimes(This,pctime,patime,pmtime) \
00751 ( (This)->lpVtbl -> SetTimes(This,pctime,patime,pmtime) )
00752
00753 #define IPropertyStorage_SetClass(This,clsid) \
00754 ( (This)->lpVtbl -> SetClass(This,clsid) )
00755
00756 #define IPropertyStorage_Stat(This,pstatpsstg) \
00757 ( (This)->lpVtbl -> Stat(This,pstatpsstg) )
00758
00759 #endif
00760
00761
00762 #endif
00763
00764
00765
00766
00767 #endif
00768
00769
00770 #ifndef __IPropertySetStorage_INTERFACE_DEFINED__
00771 #define __IPropertySetStorage_INTERFACE_DEFINED__
00772
00773
00774
00775
00776 typedef __RPC_unique_pointer IPropertySetStorage *LPPROPERTYSETSTORAGE;
00777
00778
00779 EXTERN_C const IID IID_IPropertySetStorage;
00780
00781 #if defined(__cplusplus) && !defined(CINTERFACE)
00782
00783 MIDL_INTERFACE("0000013A-0000-0000-C000-000000000046")
00784 IPropertySetStorage : public IUnknown
00785 {
00786 public:
00787 virtual HRESULT STDMETHODCALLTYPE Create(
00788 __RPC__in REFFMTID rfmtid,
00789 __RPC__in_opt const CLSID *pclsid,
00790 DWORD grfFlags,
00791 DWORD grfMode,
00792 __RPC__deref_out_opt IPropertyStorage **ppprstg) = 0;
00793
00794 virtual HRESULT STDMETHODCALLTYPE Open(
00795 __RPC__in REFFMTID rfmtid,
00796 DWORD grfMode,
00797 __RPC__deref_out_opt IPropertyStorage **ppprstg) = 0;
00798
00799 virtual HRESULT STDMETHODCALLTYPE Delete(
00800 __RPC__in REFFMTID rfmtid) = 0;
00801
00802 virtual HRESULT STDMETHODCALLTYPE Enum(
00803 __RPC__deref_out_opt IEnumSTATPROPSETSTG **ppenum) = 0;
00804
00805 };
00806
00807 #else
00808
00809
00810
00811
00812
00813
00814
00815
00816
00817
00818
00819
00820
00821
00822
00823
00824
00825
00826
00827
00828
00829
00830
00831
00832
00833
00834
00835
00836
00837
00838
00839
00840
00841
00842
00843
00844
00845
00846
00847
00848
00849
00850
00851
00852
00853
00854
00855
00856
00857 #ifdef COBJMACROS
00858
00859
00860 #define IPropertySetStorage_QueryInterface(This,riid,ppvObject) \
00861 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
00862
00863 #define IPropertySetStorage_AddRef(This) \
00864 ( (This)->lpVtbl -> AddRef(This) )
00865
00866 #define IPropertySetStorage_Release(This) \
00867 ( (This)->lpVtbl -> Release(This) )
00868
00869
00870 #define IPropertySetStorage_Create(This,rfmtid,pclsid,grfFlags,grfMode,ppprstg) \
00871 ( (This)->lpVtbl -> Create(This,rfmtid,pclsid,grfFlags,grfMode,ppprstg) )
00872
00873 #define IPropertySetStorage_Open(This,rfmtid,grfMode,ppprstg) \
00874 ( (This)->lpVtbl -> Open(This,rfmtid,grfMode,ppprstg) )
00875
00876 #define IPropertySetStorage_Delete(This,rfmtid) \
00877 ( (This)->lpVtbl -> Delete(This,rfmtid) )
00878
00879 #define IPropertySetStorage_Enum(This,ppenum) \
00880 ( (This)->lpVtbl -> Enum(This,ppenum) )
00881
00882 #endif
00883
00884
00885 #endif
00886
00887
00888
00889
00890 #endif
00891
00892
00893 #ifndef __IEnumSTATPROPSTG_INTERFACE_DEFINED__
00894 #define __IEnumSTATPROPSTG_INTERFACE_DEFINED__
00895
00896
00897
00898
00899
00900
00901
00902 EXTERN_C const IID IID_IEnumSTATPROPSTG;
00903
00904 #if defined(__cplusplus) && !defined(CINTERFACE)
00905
00906 MIDL_INTERFACE("00000139-0000-0000-C000-000000000046")
00907 IEnumSTATPROPSTG : public IUnknown
00908 {
00909 public:
00910 virtual HRESULT STDMETHODCALLTYPE Next(
00911 ULONG celt,
00912 STATPROPSTG *rgelt,
00913 ULONG *pceltFetched) = 0;
00914
00915 virtual HRESULT STDMETHODCALLTYPE Skip(
00916 ULONG celt) = 0;
00917
00918 virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
00919
00920 virtual HRESULT STDMETHODCALLTYPE Clone(
00921 __RPC__deref_out_opt IEnumSTATPROPSTG **ppenum) = 0;
00922
00923 };
00924
00925 #else
00926
00927
00928
00929
00930
00931
00932
00933
00934
00935
00936
00937
00938
00939
00940
00941
00942
00943
00944
00945
00946
00947
00948
00949
00950
00951
00952
00953
00954
00955
00956
00957
00958
00959
00960
00961
00962
00963
00964
00965
00966
00967
00968
00969
00970 #ifdef COBJMACROS
00971
00972
00973 #define IEnumSTATPROPSTG_QueryInterface(This,riid,ppvObject) \
00974 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
00975
00976 #define IEnumSTATPROPSTG_AddRef(This) \
00977 ( (This)->lpVtbl -> AddRef(This) )
00978
00979 #define IEnumSTATPROPSTG_Release(This) \
00980 ( (This)->lpVtbl -> Release(This) )
00981
00982
00983 #define IEnumSTATPROPSTG_Next(This,celt,rgelt,pceltFetched) \
00984 ( (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched) )
00985
00986 #define IEnumSTATPROPSTG_Skip(This,celt) \
00987 ( (This)->lpVtbl -> Skip(This,celt) )
00988
00989 #define IEnumSTATPROPSTG_Reset(This) \
00990 ( (This)->lpVtbl -> Reset(This) )
00991
00992 #define IEnumSTATPROPSTG_Clone(This,ppenum) \
00993 ( (This)->lpVtbl -> Clone(This,ppenum) )
00994
00995 #endif
00996
00997
00998 #endif
00999
01000
01001
01002 HRESULT STDMETHODCALLTYPE IEnumSTATPROPSTG_RemoteNext_Proxy(
01003 IEnumSTATPROPSTG * This,
01004 ULONG celt,
01005 __RPC__out_ecount_part(celt, *pceltFetched) STATPROPSTG *rgelt,
01006 __RPC__out ULONG *pceltFetched);
01007
01008
01009 void __RPC_STUB IEnumSTATPROPSTG_RemoteNext_Stub(
01010 IRpcStubBuffer *This,
01011 IRpcChannelBuffer *_pRpcChannelBuffer,
01012 PRPC_MESSAGE _pRpcMessage,
01013 DWORD *_pdwStubPhase);
01014
01015
01016
01017 #endif
01018
01019
01020 #ifndef __IEnumSTATPROPSETSTG_INTERFACE_DEFINED__
01021 #define __IEnumSTATPROPSETSTG_INTERFACE_DEFINED__
01022
01023
01024
01025
01026 typedef __RPC_unique_pointer IEnumSTATPROPSETSTG *LPENUMSTATPROPSETSTG;
01027
01028
01029 EXTERN_C const IID IID_IEnumSTATPROPSETSTG;
01030
01031 #if defined(__cplusplus) && !defined(CINTERFACE)
01032
01033 MIDL_INTERFACE("0000013B-0000-0000-C000-000000000046")
01034 IEnumSTATPROPSETSTG : public IUnknown
01035 {
01036 public:
01037 virtual HRESULT STDMETHODCALLTYPE Next(
01038 ULONG celt,
01039 STATPROPSETSTG *rgelt,
01040 ULONG *pceltFetched) = 0;
01041
01042 virtual HRESULT STDMETHODCALLTYPE Skip(
01043 ULONG celt) = 0;
01044
01045 virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
01046
01047 virtual HRESULT STDMETHODCALLTYPE Clone(
01048 __RPC__deref_out_opt IEnumSTATPROPSETSTG **ppenum) = 0;
01049
01050 };
01051
01052 #else
01053
01054
01055
01056
01057
01058
01059
01060
01061
01062
01063
01064
01065
01066
01067
01068
01069
01070
01071
01072
01073
01074
01075
01076
01077
01078
01079
01080
01081
01082
01083
01084
01085
01086
01087
01088
01089
01090
01091
01092
01093
01094
01095
01096
01097 #ifdef COBJMACROS
01098
01099
01100 #define IEnumSTATPROPSETSTG_QueryInterface(This,riid,ppvObject) \
01101 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
01102
01103 #define IEnumSTATPROPSETSTG_AddRef(This) \
01104 ( (This)->lpVtbl -> AddRef(This) )
01105
01106 #define IEnumSTATPROPSETSTG_Release(This) \
01107 ( (This)->lpVtbl -> Release(This) )
01108
01109
01110 #define IEnumSTATPROPSETSTG_Next(This,celt,rgelt,pceltFetched) \
01111 ( (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched) )
01112
01113 #define IEnumSTATPROPSETSTG_Skip(This,celt) \
01114 ( (This)->lpVtbl -> Skip(This,celt) )
01115
01116 #define IEnumSTATPROPSETSTG_Reset(This) \
01117 ( (This)->lpVtbl -> Reset(This) )
01118
01119 #define IEnumSTATPROPSETSTG_Clone(This,ppenum) \
01120 ( (This)->lpVtbl -> Clone(This,ppenum) )
01121
01122 #endif
01123
01124
01125 #endif
01126
01127
01128
01129 HRESULT STDMETHODCALLTYPE IEnumSTATPROPSETSTG_RemoteNext_Proxy(
01130 IEnumSTATPROPSETSTG * This,
01131 ULONG celt,
01132 __RPC__out_ecount_part(celt, *pceltFetched) STATPROPSETSTG *rgelt,
01133 __RPC__out ULONG *pceltFetched);
01134
01135
01136 void __RPC_STUB IEnumSTATPROPSETSTG_RemoteNext_Stub(
01137 IRpcStubBuffer *This,
01138 IRpcChannelBuffer *_pRpcChannelBuffer,
01139 PRPC_MESSAGE _pRpcMessage,
01140 DWORD *_pdwStubPhase);
01141
01142
01143
01144 #endif
01145
01146
01147
01148
01149
01150 typedef __RPC_unique_pointer IPropertyStorage *LPPROPERTYSTORAGE;
01151
01152 WINOLEAPI PropVariantCopy ( PROPVARIANT * pvarDest, const PROPVARIANT * pvarSrc );
01153 WINOLEAPI PropVariantClear ( PROPVARIANT * pvar );
01154 WINOLEAPI FreePropVariantArray ( ULONG cVariants, PROPVARIANT * rgvars );
01155
01156 #define _PROPVARIANTINIT_DEFINED_
01157 # ifdef __cplusplus
01158 inline void PropVariantInit ( PROPVARIANT * pvar )
01159 {
01160 memset ( pvar, 0, sizeof(PROPVARIANT) );
01161 }
01162 # else
01163 # define PropVariantInit(pvar) memset ( (pvar), 0, sizeof(PROPVARIANT) )
01164 # endif
01165
01166
01167 #ifndef _STGCREATEPROPSTG_DEFINED_
01168 WINOLEAPI StgCreatePropStg( IUnknown* pUnk, REFFMTID fmtid, const CLSID *pclsid, DWORD grfFlags, DWORD dwReserved, IPropertyStorage **ppPropStg );
01169 WINOLEAPI StgOpenPropStg( IUnknown* pUnk, REFFMTID fmtid, DWORD grfFlags, DWORD dwReserved, IPropertyStorage **ppPropStg );
01170 WINOLEAPI StgCreatePropSetStg( IStorage *pStorage, DWORD dwReserved, IPropertySetStorage **ppPropSetStg);
01171
01172 #define CCH_MAX_PROPSTG_NAME 31
01173 __checkReturn WINOLEAPI FmtIdToPropStgName( const FMTID *pfmtid, __out_ecount(CCH_MAX_PROPSTG_NAME+1) LPOLESTR oszName );
01174 WINOLEAPI PropStgNameToFmtId( __in __nullterminated const LPOLESTR oszName, FMTID *pfmtid );
01175 #endif
01176 #ifndef _SERIALIZEDPROPERTYVALUE_DEFINED_
01177 #define _SERIALIZEDPROPERTYVALUE_DEFINED_
01178 typedef struct tagSERIALIZEDPROPERTYVALUE
01179 {
01180 DWORD dwType;
01181 BYTE rgb[1];
01182 } SERIALIZEDPROPERTYVALUE;
01183 #endif
01184
01185 EXTERN_C SERIALIZEDPROPERTYVALUE* __stdcall
01186 StgConvertVariantToProperty(
01187 __in const PROPVARIANT* pvar,
01188 USHORT CodePage,
01189 __out_bcount_opt(*pcb) SERIALIZEDPROPERTYVALUE* pprop,
01190 __inout ULONG* pcb,
01191 PROPID pid,
01192 __reserved BOOLEAN fReserved,
01193 __out_opt ULONG* pcIndirect);
01194
01195 #ifdef __cplusplus
01196 class PMemoryAllocator;
01197
01198 EXTERN_C BOOLEAN __stdcall
01199 StgConvertPropertyToVariant(
01200 __in const SERIALIZEDPROPERTYVALUE* pprop,
01201 USHORT CodePage,
01202 __out PROPVARIANT* pvar,
01203 __in PMemoryAllocator* pma);
01204 #endif
01205 #if _MSC_VER >= 1200
01206 #pragma warning(pop)
01207 #else
01208 #pragma warning(default:4201)
01209 #pragma warning(default:4237)
01210 #endif
01211
01212
01213 extern RPC_IF_HANDLE __MIDL_itf_propidl_0000_0004_v0_0_c_ifspec;
01214 extern RPC_IF_HANDLE __MIDL_itf_propidl_0000_0004_v0_0_s_ifspec;
01215
01216
01217
01218 unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * );
01219 unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * );
01220 unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * );
01221 void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * );
01222
01223 unsigned long __RPC_USER LPSAFEARRAY_UserSize( unsigned long *, unsigned long , LPSAFEARRAY * );
01224 unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal( unsigned long *, unsigned char *, LPSAFEARRAY * );
01225 unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal(unsigned long *, unsigned char *, LPSAFEARRAY * );
01226 void __RPC_USER LPSAFEARRAY_UserFree( unsigned long *, LPSAFEARRAY * );
01227
01228 unsigned long __RPC_USER BSTR_UserSize64( unsigned long *, unsigned long , BSTR * );
01229 unsigned char * __RPC_USER BSTR_UserMarshal64( unsigned long *, unsigned char *, BSTR * );
01230 unsigned char * __RPC_USER BSTR_UserUnmarshal64(unsigned long *, unsigned char *, BSTR * );
01231 void __RPC_USER BSTR_UserFree64( unsigned long *, BSTR * );
01232
01233 unsigned long __RPC_USER LPSAFEARRAY_UserSize64( unsigned long *, unsigned long , LPSAFEARRAY * );
01234 unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal64( unsigned long *, unsigned char *, LPSAFEARRAY * );
01235 unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal64(unsigned long *, unsigned char *, LPSAFEARRAY * );
01236 void __RPC_USER LPSAFEARRAY_UserFree64( unsigned long *, LPSAFEARRAY * );
01237
01238 HRESULT STDMETHODCALLTYPE IEnumSTATPROPSTG_Next_Proxy(
01239 IEnumSTATPROPSTG * This,
01240 ULONG celt,
01241 STATPROPSTG *rgelt,
01242 ULONG *pceltFetched);
01243
01244
01245 HRESULT STDMETHODCALLTYPE IEnumSTATPROPSTG_Next_Stub(
01246 IEnumSTATPROPSTG * This,
01247 ULONG celt,
01248 __RPC__out_ecount_part(celt, *pceltFetched) STATPROPSTG *rgelt,
01249 __RPC__out ULONG *pceltFetched);
01250
01251 HRESULT STDMETHODCALLTYPE IEnumSTATPROPSETSTG_Next_Proxy(
01252 IEnumSTATPROPSETSTG * This,
01253 ULONG celt,
01254 STATPROPSETSTG *rgelt,
01255 ULONG *pceltFetched);
01256
01257
01258 HRESULT STDMETHODCALLTYPE IEnumSTATPROPSETSTG_Next_Stub(
01259 IEnumSTATPROPSETSTG * This,
01260 ULONG celt,
01261 __RPC__out_ecount_part(celt, *pceltFetched) STATPROPSETSTG *rgelt,
01262 __RPC__out ULONG *pceltFetched);
01263
01264
01265
01266
01267
01268 #ifdef __cplusplus
01269 }
01270 #endif
01271
01272 #endif
01273
01274
01275