PortAudio  2.0
propidl.h
Go to the documentation of this file.
00001 
00002 
00003 /* this ALWAYS GENERATED file contains the definitions for the interfaces */
00004 
00005 
00006  /* File created by MIDL compiler version 7.00.0499 */
00007 /* Compiler settings for propidl.idl:
00008     Oicf, W1, Zp8, env=Win32 (32b run)
00009     protocol : dce , ms_ext, c_ext, robust
00010     error checks: allocation ref bounds_check enum stub_data
00011     VC __declspec() decoration level:
00012          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
00013          DECLSPEC_UUID(), MIDL_INTERFACE()
00014 */
00015 //@@MIDL_FILE_HEADING(  )
00016 
00017 #pragma warning( disable: 4049 )  /* more than 64k source lines */
00018 
00019 
00020 /* verify that the <rpcndr.h> version is high enough to compile this file*/
00021 #ifndef __REQUIRED_RPCNDR_H_VERSION__
00022 #define __REQUIRED_RPCNDR_H_VERSION__ 500
00023 #endif
00024 
00025 /* verify that the <rpcsal.h> version is high enough to compile this file*/
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 /*COM_NO_WINDOWS_H*/
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 /* Forward Declarations */
00058 
00059 #ifndef __IPropertyStorage_FWD_DEFINED__
00060 #define __IPropertyStorage_FWD_DEFINED__
00061 typedef interface IPropertyStorage IPropertyStorage;
00062 #endif  /* __IPropertyStorage_FWD_DEFINED__ */
00063 
00064 
00065 #ifndef __IPropertySetStorage_FWD_DEFINED__
00066 #define __IPropertySetStorage_FWD_DEFINED__
00067 typedef interface IPropertySetStorage IPropertySetStorage;
00068 #endif  /* __IPropertySetStorage_FWD_DEFINED__ */
00069 
00070 
00071 #ifndef __IEnumSTATPROPSTG_FWD_DEFINED__
00072 #define __IEnumSTATPROPSTG_FWD_DEFINED__
00073 typedef interface IEnumSTATPROPSTG IEnumSTATPROPSTG;
00074 #endif  /* __IEnumSTATPROPSTG_FWD_DEFINED__ */
00075 
00076 
00077 #ifndef __IEnumSTATPROPSETSTG_FWD_DEFINED__
00078 #define __IEnumSTATPROPSETSTG_FWD_DEFINED__
00079 typedef interface IEnumSTATPROPSETSTG IEnumSTATPROPSETSTG;
00080 #endif  /* __IEnumSTATPROPSETSTG_FWD_DEFINED__ */
00081 
00082 
00083 /* header files for imported files */
00084 #include "objidl.h"
00085 #include "oaidl.h"
00086 
00087 #ifdef __cplusplus
00088 extern "C"{
00089 #endif
00090 
00091 
00092 /* interface __MIDL_itf_propidl_0000_0000 */
00093 /* [local] */
00094 
00095 //+-------------------------------------------------------------------------
00096 //
00097 //  Microsoft Windows
00098 //  Copyright (c) Microsoft Corporation. All rights reserved.
00099 //
00100 //--------------------------------------------------------------------------
00101 #if ( _MSC_VER >= 800 )
00102 #if _MSC_VER >= 1200
00103 #pragma warning(push)
00104 #endif
00105 #pragma warning(disable:4201)    /* Nameless struct/union */
00106 #pragma warning(disable:4237)    /* obsolete member named 'bool' */
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 // Flags for IPropertySetStorage::Create
00124 #define PROPSETFLAG_DEFAULT     ( 0 )
00125 
00126 #define PROPSETFLAG_NONSIMPLE   ( 1 )
00127 
00128 #define PROPSETFLAG_ANSI        ( 2 )
00129 
00130 //   (This flag is only supported on StgCreatePropStg & StgOpenPropStg
00131 #define PROPSETFLAG_UNBUFFERED  ( 4 )
00132 
00133 //   (This flag causes a version-1 property set to be created
00134 #define PROPSETFLAG_CASE_SENSITIVE      ( 8 )
00135 
00136 
00137 // Flags for the reservied PID_BEHAVIOR property
00138 #define PROPSET_BEHAVIOR_CASE_SENSITIVE ( 1 )
00139 
00140 #ifdef MIDL_PASS
00141 // This is the PROPVARIANT definition for marshaling.
00142 typedef struct tag_inner_PROPVARIANT PROPVARIANT;
00143 
00144 #else
00145 // This is the standard C layout of the PROPVARIANT.
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 // This is the PROPVARIANT padding layout for marshaling.
00282 typedef BYTE PROPVAR_PAD1;
00283 
00284 typedef BYTE PROPVAR_PAD2;
00285 
00286 typedef ULONG PROPVAR_PAD3;
00287 
00288 #else
00289 // This is the standard C layout of the structure.
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     /* [switch_type] */ union
00307         {
00308          /* Empty union arm */
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         //_VARIANT_BOOL bool;
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 // This is the LPPROPVARIANT definition for marshaling.
00392 typedef struct tag_inner_PROPVARIANT *LPPROPVARIANT;
00393 
00394 typedef const PROPVARIANT *REFPROPVARIANT;
00395 
00396 #else
00397 
00398 // This is the standard C layout of the PROPVARIANT.
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 // Reserved global Property IDs
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 // Range which is read-only to downlevel implementations
00434 #define PID_MIN_READONLY        ( 0x80000000 )
00435 
00436 #define PID_MAX_READONLY        ( 0xbfffffff )
00437 
00438 // Property IDs for the DiscardableInformation Property Set
00439 
00440 #define PIDDI_THUMBNAIL          0x00000002L // VT_BLOB
00441 
00442 // Property IDs for the SummaryInformation Property Set
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 // Property IDs for the DocSummaryInformation Property Set
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 //  FMTID_MediaFileSummaryInfo - Property IDs
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 //  PIDMSI_STATUS value definitions
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     /* [switch_type] */ union
00520         {
00521         PROPID propid;
00522         LPOLESTR lpwstr;
00523          /* Empty union arm */
00524         }       ;
00525     }   PROPSPEC;
00526 
00527 typedef struct tagSTATPROPSTG
00528     {
00529     LPOLESTR lpwstrName;
00530     PROPID propid;
00531     VARTYPE vt;
00532     }   STATPROPSTG;
00533 #endif
00534 
00535 // Macros for parsing the OS Version of the Property Set Header
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 /* interface IPropertyStorage */
00561 /* [unique][uuid][object] */
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             /* [in] */ ULONG cpspec,
00574             /* [size_is][in] */ __RPC__in_ecount_full(cpspec) const PROPSPEC rgpspec[  ],
00575             /* [size_is][out] */ __RPC__out_ecount_full(cpspec) PROPVARIANT rgpropvar[  ]) = 0;
00576 
00577         virtual HRESULT STDMETHODCALLTYPE WriteMultiple(
00578             /* [in] */ ULONG cpspec,
00579             /* [size_is][in] */ __RPC__in_ecount_full(cpspec) const PROPSPEC rgpspec[  ],
00580             /* [size_is][in] */ __RPC__in_ecount_full(cpspec) const PROPVARIANT rgpropvar[  ],
00581             /* [in] */ PROPID propidNameFirst) = 0;
00582 
00583         virtual HRESULT STDMETHODCALLTYPE DeleteMultiple(
00584             /* [in] */ ULONG cpspec,
00585             /* [size_is][in] */ __RPC__in_ecount_full(cpspec) const PROPSPEC rgpspec[  ]) = 0;
00586 
00587         virtual HRESULT STDMETHODCALLTYPE ReadPropertyNames(
00588             /* [in] */ ULONG cpropid,
00589             /* [size_is][in] */ __RPC__in_ecount_full(cpropid) const PROPID rgpropid[  ],
00590             /* [size_is][out] */ __RPC__out_ecount_full(cpropid) LPOLESTR rglpwstrName[  ]) = 0;
00591 
00592         virtual HRESULT STDMETHODCALLTYPE WritePropertyNames(
00593             /* [in] */ ULONG cpropid,
00594             /* [size_is][in] */ __RPC__in_ecount_full(cpropid) const PROPID rgpropid[  ],
00595             /* [size_is][in] */ __RPC__in_ecount_full(cpropid) const LPOLESTR rglpwstrName[  ]) = 0;
00596 
00597         virtual HRESULT STDMETHODCALLTYPE DeletePropertyNames(
00598             /* [in] */ ULONG cpropid,
00599             /* [size_is][in] */ __RPC__in_ecount_full(cpropid) const PROPID rgpropid[  ]) = 0;
00600 
00601         virtual HRESULT STDMETHODCALLTYPE Commit(
00602             /* [in] */ DWORD grfCommitFlags) = 0;
00603 
00604         virtual HRESULT STDMETHODCALLTYPE Revert( void) = 0;
00605 
00606         virtual HRESULT STDMETHODCALLTYPE Enum(
00607             /* [out] */ __RPC__deref_out_opt IEnumSTATPROPSTG **ppenum) = 0;
00608 
00609         virtual HRESULT STDMETHODCALLTYPE SetTimes(
00610             /* [in] */ __RPC__in const FILETIME *pctime,
00611             /* [in] */ __RPC__in const FILETIME *patime,
00612             /* [in] */ __RPC__in const FILETIME *pmtime) = 0;
00613 
00614         virtual HRESULT STDMETHODCALLTYPE SetClass(
00615             /* [in] */ __RPC__in REFCLSID clsid) = 0;
00616 
00617         virtual HRESULT STDMETHODCALLTYPE Stat(
00618             /* [out] */ __RPC__out STATPROPSETSTG *pstatpsstg) = 0;
00619 
00620     };
00621 
00622 #else   /* C style interface */
00623 
00624 //    typedef struct IPropertyStorageVtbl
00625 //    {
00626 //        BEGIN_INTERFACE
00627 //
00628 //        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
00629 //            IPropertyStorage * This,
00630 //            /* [in] */ __RPC__in REFIID riid,
00631 //            /* [iid_is][out] */
00632 //            __RPC__deref_out  void **ppvObject);
00633 //
00634 //        ULONG ( STDMETHODCALLTYPE *AddRef )(
00635 //            IPropertyStorage * This);
00636 //
00637 //        ULONG ( STDMETHODCALLTYPE *Release )(
00638 //            IPropertyStorage * This);
00639 //
00640 //        HRESULT ( STDMETHODCALLTYPE *ReadMultiple )(
00641 //            IPropertyStorage * This,
00642 //            /* [in] */ ULONG cpspec,
00643 //            /* [size_is][in] */ __RPC__in_ecount_full(cpspec) const PROPSPEC rgpspec[  ],
00644 //            /* [size_is][out] */ __RPC__out_ecount_full(cpspec) PROPVARIANT rgpropvar[  ]);
00645 //
00646 //        HRESULT ( STDMETHODCALLTYPE *WriteMultiple )(
00647 //            IPropertyStorage * This,
00648 //            /* [in] */ ULONG cpspec,
00649 //            /* [size_is][in] */ __RPC__in_ecount_full(cpspec) const PROPSPEC rgpspec[  ],
00650 //            /* [size_is][in] */ __RPC__in_ecount_full(cpspec) const PROPVARIANT rgpropvar[  ],
00651 //            /* [in] */ PROPID propidNameFirst);
00652 //
00653 //        HRESULT ( STDMETHODCALLTYPE *DeleteMultiple )(
00654 //            IPropertyStorage * This,
00655 //            /* [in] */ ULONG cpspec,
00656 //            /* [size_is][in] */ __RPC__in_ecount_full(cpspec) const PROPSPEC rgpspec[  ]);
00657 //
00658 //        HRESULT ( STDMETHODCALLTYPE *ReadPropertyNames )(
00659 //            IPropertyStorage * This,
00660 //            /* [in] */ ULONG cpropid,
00661 //            /* [size_is][in] */ __RPC__in_ecount_full(cpropid) const PROPID rgpropid[  ],
00662 //            /* [size_is][out] */ __RPC__out_ecount_full(cpropid) LPOLESTR rglpwstrName[  ]);
00663 //
00664 //        HRESULT ( STDMETHODCALLTYPE *WritePropertyNames )(
00665 //            IPropertyStorage * This,
00666 //            /* [in] */ ULONG cpropid,
00667 //            /* [size_is][in] */ __RPC__in_ecount_full(cpropid) const PROPID rgpropid[  ],
00668 //            /* [size_is][in] */ __RPC__in_ecount_full(cpropid) const LPOLESTR rglpwstrName[  ]);
00669 //
00670 //        HRESULT ( STDMETHODCALLTYPE *DeletePropertyNames )(
00671 //            IPropertyStorage * This,
00672 //            /* [in] */ ULONG cpropid,
00673 //            /* [size_is][in] */ __RPC__in_ecount_full(cpropid) const PROPID rgpropid[  ]);
00674 //
00675 //        HRESULT ( STDMETHODCALLTYPE *Commit )(
00676 //            IPropertyStorage * This,
00677 //            /* [in] */ DWORD grfCommitFlags);
00678 //
00679 //        HRESULT ( STDMETHODCALLTYPE *Revert )(
00680 //            IPropertyStorage * This);
00681 //
00682 //        HRESULT ( STDMETHODCALLTYPE *Enum )(
00683 //            IPropertyStorage * This,
00684 //            /* [out] */ __RPC__deref_out_opt IEnumSTATPROPSTG **ppenum);
00685 //
00686 //        HRESULT ( STDMETHODCALLTYPE *SetTimes )(
00687 //            IPropertyStorage * This,
00688 //            /* [in] */ __RPC__in const FILETIME *pctime,
00689 //            /* [in] */ __RPC__in const FILETIME *patime,
00690 //            /* [in] */ __RPC__in const FILETIME *pmtime);
00691 //
00692 //        HRESULT ( STDMETHODCALLTYPE *SetClass )(
00693 //            IPropertyStorage * This,
00694 //            /* [in] */ __RPC__in REFCLSID clsid);
00695 //
00696 //        HRESULT ( STDMETHODCALLTYPE *Stat )(
00697 //            IPropertyStorage * This,
00698 //            /* [out] */ __RPC__out STATPROPSETSTG *pstatpsstg);
00699 //
00700 //        END_INTERFACE
00701 //    } IPropertyStorageVtbl;
00702 //
00703 //    interface IPropertyStorage
00704 //    {
00705 //        CONST_VTBL struct IPropertyStorageVtbl *lpVtbl;
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 /* COBJMACROS */
00760 
00761 
00762 #endif  /* C style interface */
00763 
00764 
00765 
00766 
00767 #endif  /* __IPropertyStorage_INTERFACE_DEFINED__ */
00768 
00769 
00770 #ifndef __IPropertySetStorage_INTERFACE_DEFINED__
00771 #define __IPropertySetStorage_INTERFACE_DEFINED__
00772 
00773 /* interface IPropertySetStorage */
00774 /* [unique][uuid][object] */
00775 
00776 typedef /* [unique] */  __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             /* [in] */ __RPC__in REFFMTID rfmtid,
00789             /* [unique][in] */ __RPC__in_opt const CLSID *pclsid,
00790             /* [in] */ DWORD grfFlags,
00791             /* [in] */ DWORD grfMode,
00792             /* [out] */ __RPC__deref_out_opt IPropertyStorage **ppprstg) = 0;
00793 
00794         virtual HRESULT STDMETHODCALLTYPE Open(
00795             /* [in] */ __RPC__in REFFMTID rfmtid,
00796             /* [in] */ DWORD grfMode,
00797             /* [out] */ __RPC__deref_out_opt IPropertyStorage **ppprstg) = 0;
00798 
00799         virtual HRESULT STDMETHODCALLTYPE Delete(
00800             /* [in] */ __RPC__in REFFMTID rfmtid) = 0;
00801 
00802         virtual HRESULT STDMETHODCALLTYPE Enum(
00803             /* [out] */ __RPC__deref_out_opt IEnumSTATPROPSETSTG **ppenum) = 0;
00804 
00805     };
00806 
00807 #else   /* C style interface */
00808 
00809 //    typedef struct IPropertySetStorageVtbl
00810 //    {
00811 //        BEGIN_INTERFACE
00812 //
00813 //        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
00814 //            IPropertySetStorage * This,
00815 //            /* [in] */ __RPC__in REFIID riid,
00816 //            /* [iid_is][out] */
00817 //            __RPC__deref_out  void **ppvObject);
00818 //
00819 //        ULONG ( STDMETHODCALLTYPE *AddRef )(
00820 //            IPropertySetStorage * This);
00821 //
00822 //        ULONG ( STDMETHODCALLTYPE *Release )(
00823 //            IPropertySetStorage * This);
00824 //
00825 //        HRESULT ( STDMETHODCALLTYPE *Create )(
00826 //            IPropertySetStorage * This,
00827 //            /* [in] */ __RPC__in REFFMTID rfmtid,
00828 //            /* [unique][in] */ __RPC__in_opt const CLSID *pclsid,
00829 //            /* [in] */ DWORD grfFlags,
00830 //            /* [in] */ DWORD grfMode,
00831 //            /* [out] */ __RPC__deref_out_opt IPropertyStorage **ppprstg);
00832 //
00833 //        HRESULT ( STDMETHODCALLTYPE *Open )(
00834 //            IPropertySetStorage * This,
00835 //            /* [in] */ __RPC__in REFFMTID rfmtid,
00836 //            /* [in] */ DWORD grfMode,
00837 //            /* [out] */ __RPC__deref_out_opt IPropertyStorage **ppprstg);
00838 //
00839 //        HRESULT ( STDMETHODCALLTYPE *Delete )(
00840 //            IPropertySetStorage * This,
00841 //            /* [in] */ __RPC__in REFFMTID rfmtid);
00842 //
00843 //        HRESULT ( STDMETHODCALLTYPE *Enum )(
00844 //            IPropertySetStorage * This,
00845 //            /* [out] */ __RPC__deref_out_opt IEnumSTATPROPSETSTG **ppenum);
00846 //
00847 //        END_INTERFACE
00848 //    } IPropertySetStorageVtbl;
00849 //
00850 //    interface IPropertySetStorage
00851 //    {
00852 //        CONST_VTBL struct IPropertySetStorageVtbl *lpVtbl;
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 /* COBJMACROS */
00883 
00884 
00885 #endif  /* C style interface */
00886 
00887 
00888 
00889 
00890 #endif  /* __IPropertySetStorage_INTERFACE_DEFINED__ */
00891 
00892 
00893 #ifndef __IEnumSTATPROPSTG_INTERFACE_DEFINED__
00894 #define __IEnumSTATPROPSTG_INTERFACE_DEFINED__
00895 
00896 /* interface IEnumSTATPROPSTG */
00897 /* [unique][uuid][object] */
00898 
00899 //typedef /* [unique] */  __RPC_unique_pointer IEnumSTATPROPSTG *LPENUMSTATPROPSTG;
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 /* [local] */ HRESULT STDMETHODCALLTYPE Next(
00911             /* [in] */ ULONG celt,
00912             /* [length_is][size_is][out] */ STATPROPSTG *rgelt,
00913             /* [out] */ ULONG *pceltFetched) = 0;
00914 
00915         virtual HRESULT STDMETHODCALLTYPE Skip(
00916             /* [in] */ ULONG celt) = 0;
00917 
00918         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
00919 
00920         virtual HRESULT STDMETHODCALLTYPE Clone(
00921             /* [out] */ __RPC__deref_out_opt IEnumSTATPROPSTG **ppenum) = 0;
00922 
00923     };
00924 
00925 #else   /* C style interface */
00926 
00927 //    typedef struct IEnumSTATPROPSTGVtbl
00928 //    {
00929 //        BEGIN_INTERFACE
00930 //
00931 //        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
00932 //            IEnumSTATPROPSTG * This,
00933 //            /* [in] */ __RPC__in REFIID riid,
00934 //            /* [iid_is][out] */
00935 //            __RPC__deref_out  void **ppvObject);
00936 //
00937 //        ULONG ( STDMETHODCALLTYPE *AddRef )(
00938 //            IEnumSTATPROPSTG * This);
00939 //
00940 //        ULONG ( STDMETHODCALLTYPE *Release )(
00941 //            IEnumSTATPROPSTG * This);
00942 //
00943 //        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Next )(
00944 //            IEnumSTATPROPSTG * This,
00945 //            /* [in] */ ULONG celt,
00946 //            /* [length_is][size_is][out] */ STATPROPSTG *rgelt,
00947 //            /* [out] */ ULONG *pceltFetched);
00948 //
00949 //        HRESULT ( STDMETHODCALLTYPE *Skip )(
00950 //            IEnumSTATPROPSTG * This,
00951 //            /* [in] */ ULONG celt);
00952 //
00953 //        HRESULT ( STDMETHODCALLTYPE *Reset )(
00954 //            IEnumSTATPROPSTG * This);
00955 //
00956 //        HRESULT ( STDMETHODCALLTYPE *Clone )(
00957 //            IEnumSTATPROPSTG * This,
00958 //            /* [out] */ __RPC__deref_out_opt IEnumSTATPROPSTG **ppenum);
00959 //
00960 //        END_INTERFACE
00961 //    } IEnumSTATPROPSTGVtbl;
00962 //
00963 //    interface IEnumSTATPROPSTG
00964 //    {
00965 //        CONST_VTBL struct IEnumSTATPROPSTGVtbl *lpVtbl;
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 /* COBJMACROS */
00996 
00997 
00998 #endif  /* C style interface */
00999 
01000 
01001 
01002 /* [call_as] */ HRESULT STDMETHODCALLTYPE IEnumSTATPROPSTG_RemoteNext_Proxy(
01003     IEnumSTATPROPSTG * This,
01004     /* [in] */ ULONG celt,
01005     /* [length_is][size_is][out] */ __RPC__out_ecount_part(celt, *pceltFetched) STATPROPSTG *rgelt,
01006     /* [out] */ __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  /* __IEnumSTATPROPSTG_INTERFACE_DEFINED__ */
01018 
01019 
01020 #ifndef __IEnumSTATPROPSETSTG_INTERFACE_DEFINED__
01021 #define __IEnumSTATPROPSETSTG_INTERFACE_DEFINED__
01022 
01023 /* interface IEnumSTATPROPSETSTG */
01024 /* [unique][uuid][object] */
01025 
01026 typedef /* [unique] */  __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 /* [local] */ HRESULT STDMETHODCALLTYPE Next(
01038             /* [in] */ ULONG celt,
01039             /* [length_is][size_is][out] */ STATPROPSETSTG *rgelt,
01040             /* [out] */ ULONG *pceltFetched) = 0;
01041 
01042         virtual HRESULT STDMETHODCALLTYPE Skip(
01043             /* [in] */ ULONG celt) = 0;
01044 
01045         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
01046 
01047         virtual HRESULT STDMETHODCALLTYPE Clone(
01048             /* [out] */ __RPC__deref_out_opt IEnumSTATPROPSETSTG **ppenum) = 0;
01049 
01050     };
01051 
01052 #else   /* C style interface */
01053 
01054 //    typedef struct IEnumSTATPROPSETSTGVtbl
01055 //    {
01056 //        BEGIN_INTERFACE
01057 //
01058 //        HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
01059 //            IEnumSTATPROPSETSTG * This,
01060 //            /* [in] */ __RPC__in REFIID riid,
01061 //            /* [iid_is][out] */
01062 //            __RPC__deref_out  void **ppvObject);
01063 //
01064 //        ULONG ( STDMETHODCALLTYPE *AddRef )(
01065 //            IEnumSTATPROPSETSTG * This);
01066 //
01067 //        ULONG ( STDMETHODCALLTYPE *Release )(
01068 //            IEnumSTATPROPSETSTG * This);
01069 //
01070 //        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Next )(
01071 //            IEnumSTATPROPSETSTG * This,
01072 //            /* [in] */ ULONG celt,
01073 //            /* [length_is][size_is][out] */ STATPROPSETSTG *rgelt,
01074 //            /* [out] */ ULONG *pceltFetched);
01075 //
01076 //        HRESULT ( STDMETHODCALLTYPE *Skip )(
01077 //            IEnumSTATPROPSETSTG * This,
01078 //            /* [in] */ ULONG celt);
01079 //
01080 //        HRESULT ( STDMETHODCALLTYPE *Reset )(
01081 //            IEnumSTATPROPSETSTG * This);
01082 //
01083 //        HRESULT ( STDMETHODCALLTYPE *Clone )(
01084 //            IEnumSTATPROPSETSTG * This,
01085 //            /* [out] */ __RPC__deref_out_opt IEnumSTATPROPSETSTG **ppenum);
01086 //
01087 //        END_INTERFACE
01088 //    } IEnumSTATPROPSETSTGVtbl;
01089 //
01090 //    interface IEnumSTATPROPSETSTG
01091 //    {
01092 //        CONST_VTBL struct IEnumSTATPROPSETSTGVtbl *lpVtbl;
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 /* COBJMACROS */
01123 
01124 
01125 #endif  /* C style interface */
01126 
01127 
01128 
01129 /* [call_as] */ HRESULT STDMETHODCALLTYPE IEnumSTATPROPSETSTG_RemoteNext_Proxy(
01130     IEnumSTATPROPSETSTG * This,
01131     /* [in] */ ULONG celt,
01132     /* [length_is][size_is][out] */ __RPC__out_ecount_part(celt, *pceltFetched) STATPROPSETSTG *rgelt,
01133     /* [out] */ __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  /* __IEnumSTATPROPSETSTG_INTERFACE_DEFINED__ */
01145 
01146 
01147 /* interface __MIDL_itf_propidl_0000_0004 */
01148 /* [local] */
01149 
01150 typedef /* [unique] */  __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               // prop
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)    /* Nameless struct/union */
01209 #pragma warning(default:4237)    /* keywords bool, true, false, etc.. */
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 /* Additional Prototypes for ALL interfaces */
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 /* [local] */ HRESULT STDMETHODCALLTYPE IEnumSTATPROPSTG_Next_Proxy(
01239     IEnumSTATPROPSTG * This,
01240     /* [in] */ ULONG celt,
01241     /* [length_is][size_is][out] */ STATPROPSTG *rgelt,
01242     /* [out] */ ULONG *pceltFetched);
01243 
01244 
01245 /* [call_as] */ HRESULT STDMETHODCALLTYPE IEnumSTATPROPSTG_Next_Stub(
01246     IEnumSTATPROPSTG * This,
01247     /* [in] */ ULONG celt,
01248     /* [length_is][size_is][out] */ __RPC__out_ecount_part(celt, *pceltFetched) STATPROPSTG *rgelt,
01249     /* [out] */ __RPC__out ULONG *pceltFetched);
01250 
01251 /* [local] */ HRESULT STDMETHODCALLTYPE IEnumSTATPROPSETSTG_Next_Proxy(
01252     IEnumSTATPROPSETSTG * This,
01253     /* [in] */ ULONG celt,
01254     /* [length_is][size_is][out] */ STATPROPSETSTG *rgelt,
01255     /* [out] */ ULONG *pceltFetched);
01256 
01257 
01258 /* [call_as] */ HRESULT STDMETHODCALLTYPE IEnumSTATPROPSETSTG_Next_Stub(
01259     IEnumSTATPROPSETSTG * This,
01260     /* [in] */ ULONG celt,
01261     /* [length_is][size_is][out] */ __RPC__out_ecount_part(celt, *pceltFetched) STATPROPSETSTG *rgelt,
01262     /* [out] */ __RPC__out ULONG *pceltFetched);
01263 
01264 
01265 
01266 /* end of Additional Prototypes */
01267 
01268 #ifdef __cplusplus
01269 }
01270 #endif
01271 
01272 #endif
01273 
01274 
01275 

Generated for PortAudio by  doxygen1.7.6.1