PortAudio 2.0
propsys.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 propsys.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__ 475
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 __propsys_h__
00043 #define __propsys_h__
00044 
00045 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
00046 #pragma once
00047 #endif
00048 
00049 /* Forward Declarations */ 
00050 
00051 #ifndef __IInitializeWithFile_FWD_DEFINED__
00052 #define __IInitializeWithFile_FWD_DEFINED__
00053 typedef interface IInitializeWithFile IInitializeWithFile;
00054 #endif  /* __IInitializeWithFile_FWD_DEFINED__ */
00055 
00056 
00057 #ifndef __IInitializeWithStream_FWD_DEFINED__
00058 #define __IInitializeWithStream_FWD_DEFINED__
00059 typedef interface IInitializeWithStream IInitializeWithStream;
00060 #endif  /* __IInitializeWithStream_FWD_DEFINED__ */
00061 
00062 
00063 #ifndef __IPropertyStore_FWD_DEFINED__
00064 #define __IPropertyStore_FWD_DEFINED__
00065 typedef interface IPropertyStore IPropertyStore;
00066 #endif  /* __IPropertyStore_FWD_DEFINED__ */
00067 
00068 
00069 #ifndef __INamedPropertyStore_FWD_DEFINED__
00070 #define __INamedPropertyStore_FWD_DEFINED__
00071 typedef interface INamedPropertyStore INamedPropertyStore;
00072 #endif  /* __INamedPropertyStore_FWD_DEFINED__ */
00073 
00074 
00075 #ifndef __IObjectWithPropertyKey_FWD_DEFINED__
00076 #define __IObjectWithPropertyKey_FWD_DEFINED__
00077 typedef interface IObjectWithPropertyKey IObjectWithPropertyKey;
00078 #endif  /* __IObjectWithPropertyKey_FWD_DEFINED__ */
00079 
00080 
00081 #ifndef __IPropertyChange_FWD_DEFINED__
00082 #define __IPropertyChange_FWD_DEFINED__
00083 typedef interface IPropertyChange IPropertyChange;
00084 #endif  /* __IPropertyChange_FWD_DEFINED__ */
00085 
00086 
00087 #ifndef __IPropertyChangeArray_FWD_DEFINED__
00088 #define __IPropertyChangeArray_FWD_DEFINED__
00089 typedef interface IPropertyChangeArray IPropertyChangeArray;
00090 #endif  /* __IPropertyChangeArray_FWD_DEFINED__ */
00091 
00092 
00093 #ifndef __IPropertyStoreCapabilities_FWD_DEFINED__
00094 #define __IPropertyStoreCapabilities_FWD_DEFINED__
00095 typedef interface IPropertyStoreCapabilities IPropertyStoreCapabilities;
00096 #endif  /* __IPropertyStoreCapabilities_FWD_DEFINED__ */
00097 
00098 
00099 #ifndef __IPropertyStoreCache_FWD_DEFINED__
00100 #define __IPropertyStoreCache_FWD_DEFINED__
00101 typedef interface IPropertyStoreCache IPropertyStoreCache;
00102 #endif  /* __IPropertyStoreCache_FWD_DEFINED__ */
00103 
00104 
00105 #ifndef __IPropertyEnumType_FWD_DEFINED__
00106 #define __IPropertyEnumType_FWD_DEFINED__
00107 typedef interface IPropertyEnumType IPropertyEnumType;
00108 #endif  /* __IPropertyEnumType_FWD_DEFINED__ */
00109 
00110 
00111 #ifndef __IPropertyEnumTypeList_FWD_DEFINED__
00112 #define __IPropertyEnumTypeList_FWD_DEFINED__
00113 typedef interface IPropertyEnumTypeList IPropertyEnumTypeList;
00114 #endif  /* __IPropertyEnumTypeList_FWD_DEFINED__ */
00115 
00116 
00117 #ifndef __IPropertyDescription_FWD_DEFINED__
00118 #define __IPropertyDescription_FWD_DEFINED__
00119 typedef interface IPropertyDescription IPropertyDescription;
00120 #endif  /* __IPropertyDescription_FWD_DEFINED__ */
00121 
00122 
00123 #ifndef __IPropertyDescriptionAliasInfo_FWD_DEFINED__
00124 #define __IPropertyDescriptionAliasInfo_FWD_DEFINED__
00125 typedef interface IPropertyDescriptionAliasInfo IPropertyDescriptionAliasInfo;
00126 #endif  /* __IPropertyDescriptionAliasInfo_FWD_DEFINED__ */
00127 
00128 
00129 #ifndef __IPropertyDescriptionSearchInfo_FWD_DEFINED__
00130 #define __IPropertyDescriptionSearchInfo_FWD_DEFINED__
00131 typedef interface IPropertyDescriptionSearchInfo IPropertyDescriptionSearchInfo;
00132 #endif  /* __IPropertyDescriptionSearchInfo_FWD_DEFINED__ */
00133 
00134 
00135 #ifndef __IPropertySystem_FWD_DEFINED__
00136 #define __IPropertySystem_FWD_DEFINED__
00137 typedef interface IPropertySystem IPropertySystem;
00138 #endif  /* __IPropertySystem_FWD_DEFINED__ */
00139 
00140 
00141 #ifndef __IPropertyDescriptionList_FWD_DEFINED__
00142 #define __IPropertyDescriptionList_FWD_DEFINED__
00143 typedef interface IPropertyDescriptionList IPropertyDescriptionList;
00144 #endif  /* __IPropertyDescriptionList_FWD_DEFINED__ */
00145 
00146 
00147 #ifndef __IPropertyStoreFactory_FWD_DEFINED__
00148 #define __IPropertyStoreFactory_FWD_DEFINED__
00149 typedef interface IPropertyStoreFactory IPropertyStoreFactory;
00150 #endif  /* __IPropertyStoreFactory_FWD_DEFINED__ */
00151 
00152 
00153 #ifndef __IDelayedPropertyStoreFactory_FWD_DEFINED__
00154 #define __IDelayedPropertyStoreFactory_FWD_DEFINED__
00155 typedef interface IDelayedPropertyStoreFactory IDelayedPropertyStoreFactory;
00156 #endif  /* __IDelayedPropertyStoreFactory_FWD_DEFINED__ */
00157 
00158 
00159 #ifndef __IPersistSerializedPropStorage_FWD_DEFINED__
00160 #define __IPersistSerializedPropStorage_FWD_DEFINED__
00161 typedef interface IPersistSerializedPropStorage IPersistSerializedPropStorage;
00162 #endif  /* __IPersistSerializedPropStorage_FWD_DEFINED__ */
00163 
00164 
00165 #ifndef __IPropertySystemChangeNotify_FWD_DEFINED__
00166 #define __IPropertySystemChangeNotify_FWD_DEFINED__
00167 typedef interface IPropertySystemChangeNotify IPropertySystemChangeNotify;
00168 #endif  /* __IPropertySystemChangeNotify_FWD_DEFINED__ */
00169 
00170 
00171 #ifndef __ICreateObject_FWD_DEFINED__
00172 #define __ICreateObject_FWD_DEFINED__
00173 typedef interface ICreateObject ICreateObject;
00174 #endif  /* __ICreateObject_FWD_DEFINED__ */
00175 
00176 
00177 #ifndef __InMemoryPropertyStore_FWD_DEFINED__
00178 #define __InMemoryPropertyStore_FWD_DEFINED__
00179 
00180 #ifdef __cplusplus
00181 typedef class InMemoryPropertyStore InMemoryPropertyStore;
00182 #else
00183 typedef struct InMemoryPropertyStore InMemoryPropertyStore;
00184 #endif /* __cplusplus */
00185 
00186 #endif  /* __InMemoryPropertyStore_FWD_DEFINED__ */
00187 
00188 
00189 #ifndef __PropertySystem_FWD_DEFINED__
00190 #define __PropertySystem_FWD_DEFINED__
00191 
00192 #ifdef __cplusplus
00193 typedef class PropertySystem PropertySystem;
00194 #else
00195 typedef struct PropertySystem PropertySystem;
00196 #endif /* __cplusplus */
00197 
00198 #endif  /* __PropertySystem_FWD_DEFINED__ */
00199 
00200 
00201 /* header files for imported files */
00202 #include "objidl.h"
00203 #include "oleidl.h"
00204 #include "ocidl.h"
00205 #include "shtypes.h"
00206 #include "structuredquery.h"
00207 
00208 #ifdef __cplusplus
00209 extern "C"{
00210 #endif 
00211 
00212 
00213 /* interface __MIDL_itf_propsys_0000_0000 */
00214 /* [local] */ 
00215 
00216 #ifndef PSSTDAPI
00217 #if defined(_PROPSYS_)
00218 #define PSSTDAPI          STDAPI
00219 #define PSSTDAPI_(type)   STDAPI_(type)
00220 #else
00221 #define PSSTDAPI          EXTERN_C DECLSPEC_IMPORT HRESULT STDAPICALLTYPE
00222 #define PSSTDAPI_(type)   EXTERN_C DECLSPEC_IMPORT type STDAPICALLTYPE
00223 #endif
00224 #endif // PSSTDAPI
00225 #if 0
00226 typedef PROPERTYKEY *REFPROPERTYKEY;
00227 
00228 #endif // 0
00229 #include <propkeydef.h>
00230 
00231 
00232 extern RPC_IF_HANDLE __MIDL_itf_propsys_0000_0000_v0_0_c_ifspec;
00233 extern RPC_IF_HANDLE __MIDL_itf_propsys_0000_0000_v0_0_s_ifspec;
00234 
00235 #ifndef __IInitializeWithFile_INTERFACE_DEFINED__
00236 #define __IInitializeWithFile_INTERFACE_DEFINED__
00237 
00238 /* interface IInitializeWithFile */
00239 /* [unique][object][uuid] */ 
00240 
00241 
00242 EXTERN_C const IID IID_IInitializeWithFile;
00243 
00244 #if defined(__cplusplus) && !defined(CINTERFACE)
00245     
00246     MIDL_INTERFACE("b7d14566-0509-4cce-a71f-0a554233bd9b")
00247     IInitializeWithFile : public IUnknown
00248     {
00249     public:
00250         virtual HRESULT STDMETHODCALLTYPE Initialize( 
00251             /* [string][in] */ __RPC__in LPCWSTR pszFilePath,
00252             /* [in] */ DWORD grfMode) = 0;
00253         
00254     };
00255     
00256 #else   /* C style interface */
00257 
00258     typedef struct IInitializeWithFileVtbl
00259     {
00260         BEGIN_INTERFACE
00261         
00262         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
00263             IInitializeWithFile * This,
00264             /* [in] */ __RPC__in REFIID riid,
00265             /* [iid_is][out] */ 
00266             __RPC__deref_out  void **ppvObject);
00267         
00268         ULONG ( STDMETHODCALLTYPE *AddRef )( 
00269             IInitializeWithFile * This);
00270         
00271         ULONG ( STDMETHODCALLTYPE *Release )( 
00272             IInitializeWithFile * This);
00273         
00274         HRESULT ( STDMETHODCALLTYPE *Initialize )( 
00275             IInitializeWithFile * This,
00276             /* [string][in] */ __RPC__in LPCWSTR pszFilePath,
00277             /* [in] */ DWORD grfMode);
00278         
00279         END_INTERFACE
00280     } IInitializeWithFileVtbl;
00281 
00282     interface IInitializeWithFile
00283     {
00284         CONST_VTBL struct IInitializeWithFileVtbl *lpVtbl;
00285     };
00286 
00287     
00288 
00289 #ifdef COBJMACROS
00290 
00291 
00292 #define IInitializeWithFile_QueryInterface(This,riid,ppvObject) \
00293     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
00294 
00295 #define IInitializeWithFile_AddRef(This)        \
00296     ( (This)->lpVtbl -> AddRef(This) ) 
00297 
00298 #define IInitializeWithFile_Release(This)       \
00299     ( (This)->lpVtbl -> Release(This) ) 
00300 
00301 
00302 #define IInitializeWithFile_Initialize(This,pszFilePath,grfMode)        \
00303     ( (This)->lpVtbl -> Initialize(This,pszFilePath,grfMode) ) 
00304 
00305 #endif /* COBJMACROS */
00306 
00307 
00308 #endif  /* C style interface */
00309 
00310 
00311 
00312 
00313 #endif  /* __IInitializeWithFile_INTERFACE_DEFINED__ */
00314 
00315 
00316 #ifndef __IInitializeWithStream_INTERFACE_DEFINED__
00317 #define __IInitializeWithStream_INTERFACE_DEFINED__
00318 
00319 /* interface IInitializeWithStream */
00320 /* [unique][object][uuid] */ 
00321 
00322 
00323 EXTERN_C const IID IID_IInitializeWithStream;
00324 
00325 #if defined(__cplusplus) && !defined(CINTERFACE)
00326     
00327     MIDL_INTERFACE("b824b49d-22ac-4161-ac8a-9916e8fa3f7f")
00328     IInitializeWithStream : public IUnknown
00329     {
00330     public:
00331         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Initialize( 
00332             /* [in] */ IStream *pstream,
00333             /* [in] */ DWORD grfMode) = 0;
00334         
00335     };
00336     
00337 #else   /* C style interface */
00338 
00339     typedef struct IInitializeWithStreamVtbl
00340     {
00341         BEGIN_INTERFACE
00342         
00343         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
00344             IInitializeWithStream * This,
00345             /* [in] */ __RPC__in REFIID riid,
00346             /* [iid_is][out] */ 
00347             __RPC__deref_out  void **ppvObject);
00348         
00349         ULONG ( STDMETHODCALLTYPE *AddRef )( 
00350             IInitializeWithStream * This);
00351         
00352         ULONG ( STDMETHODCALLTYPE *Release )( 
00353             IInitializeWithStream * This);
00354         
00355         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Initialize )( 
00356             IInitializeWithStream * This,
00357             /* [in] */ IStream *pstream,
00358             /* [in] */ DWORD grfMode);
00359         
00360         END_INTERFACE
00361     } IInitializeWithStreamVtbl;
00362 
00363     interface IInitializeWithStream
00364     {
00365         CONST_VTBL struct IInitializeWithStreamVtbl *lpVtbl;
00366     };
00367 
00368     
00369 
00370 #ifdef COBJMACROS
00371 
00372 
00373 #define IInitializeWithStream_QueryInterface(This,riid,ppvObject)       \
00374     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
00375 
00376 #define IInitializeWithStream_AddRef(This)      \
00377     ( (This)->lpVtbl -> AddRef(This) ) 
00378 
00379 #define IInitializeWithStream_Release(This)     \
00380     ( (This)->lpVtbl -> Release(This) ) 
00381 
00382 
00383 #define IInitializeWithStream_Initialize(This,pstream,grfMode)  \
00384     ( (This)->lpVtbl -> Initialize(This,pstream,grfMode) ) 
00385 
00386 #endif /* COBJMACROS */
00387 
00388 
00389 #endif  /* C style interface */
00390 
00391 
00392 
00393 /* [call_as] */ HRESULT STDMETHODCALLTYPE IInitializeWithStream_RemoteInitialize_Proxy( 
00394     IInitializeWithStream * This,
00395     /* [in] */ __RPC__in_opt IStream *pstream,
00396     /* [in] */ DWORD grfMode);
00397 
00398 
00399 void __RPC_STUB IInitializeWithStream_RemoteInitialize_Stub(
00400     IRpcStubBuffer *This,
00401     IRpcChannelBuffer *_pRpcChannelBuffer,
00402     PRPC_MESSAGE _pRpcMessage,
00403     DWORD *_pdwStubPhase);
00404 
00405 
00406 
00407 #endif  /* __IInitializeWithStream_INTERFACE_DEFINED__ */
00408 
00409 
00410 #ifndef __IPropertyStore_INTERFACE_DEFINED__
00411 #define __IPropertyStore_INTERFACE_DEFINED__
00412 
00413 /* interface IPropertyStore */
00414 /* [unique][object][helpstring][uuid] */ 
00415 
00416 
00417 EXTERN_C const IID IID_IPropertyStore;
00418 
00419 #if defined(__cplusplus) && !defined(CINTERFACE)
00420     
00421     MIDL_INTERFACE("886d8eeb-8cf2-4446-8d02-cdba1dbdcf99")
00422     IPropertyStore : public IUnknown
00423     {
00424     public:
00425         virtual HRESULT STDMETHODCALLTYPE GetCount( 
00426             /* [out] */ __RPC__out DWORD *cProps) = 0;
00427         
00428         virtual HRESULT STDMETHODCALLTYPE GetAt( 
00429             /* [in] */ DWORD iProp,
00430             /* [out] */ __RPC__out PROPERTYKEY *pkey) = 0;
00431         
00432         virtual HRESULT STDMETHODCALLTYPE GetValue( 
00433             /* [in] */ __RPC__in REFPROPERTYKEY key,
00434             /* [out] */ __RPC__out PROPVARIANT *pv) = 0;
00435         
00436         virtual HRESULT STDMETHODCALLTYPE SetValue( 
00437             /* [in] */ __RPC__in REFPROPERTYKEY key,
00438             /* [in] */ __RPC__in REFPROPVARIANT propvar) = 0;
00439         
00440         virtual HRESULT STDMETHODCALLTYPE Commit( void) = 0;
00441         
00442     };
00443     
00444 #else   /* C style interface */
00445 
00446     typedef struct IPropertyStoreVtbl
00447     {
00448         BEGIN_INTERFACE
00449         
00450         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
00451             IPropertyStore * This,
00452             /* [in] */ __RPC__in REFIID riid,
00453             /* [iid_is][out] */ 
00454             __RPC__deref_out  void **ppvObject);
00455         
00456         ULONG ( STDMETHODCALLTYPE *AddRef )( 
00457             IPropertyStore * This);
00458         
00459         ULONG ( STDMETHODCALLTYPE *Release )( 
00460             IPropertyStore * This);
00461         
00462         HRESULT ( STDMETHODCALLTYPE *GetCount )( 
00463             IPropertyStore * This,
00464             /* [out] */ __RPC__out DWORD *cProps);
00465         
00466         HRESULT ( STDMETHODCALLTYPE *GetAt )( 
00467             IPropertyStore * This,
00468             /* [in] */ DWORD iProp,
00469             /* [out] */ __RPC__out PROPERTYKEY *pkey);
00470         
00471         HRESULT ( STDMETHODCALLTYPE *GetValue )( 
00472             IPropertyStore * This,
00473             /* [in] */ __RPC__in REFPROPERTYKEY key,
00474             /* [out] */ __RPC__out PROPVARIANT *pv);
00475         
00476         HRESULT ( STDMETHODCALLTYPE *SetValue )( 
00477             IPropertyStore * This,
00478             /* [in] */ __RPC__in REFPROPERTYKEY key,
00479             /* [in] */ __RPC__in REFPROPVARIANT propvar);
00480         
00481         HRESULT ( STDMETHODCALLTYPE *Commit )( 
00482             IPropertyStore * This);
00483         
00484         END_INTERFACE
00485     } IPropertyStoreVtbl;
00486 
00487     interface IPropertyStore
00488     {
00489         CONST_VTBL struct IPropertyStoreVtbl *lpVtbl;
00490     };
00491 
00492     
00493 
00494 #ifdef COBJMACROS
00495 
00496 
00497 #define IPropertyStore_QueryInterface(This,riid,ppvObject)      \
00498     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
00499 
00500 #define IPropertyStore_AddRef(This)     \
00501     ( (This)->lpVtbl -> AddRef(This) ) 
00502 
00503 #define IPropertyStore_Release(This)    \
00504     ( (This)->lpVtbl -> Release(This) ) 
00505 
00506 
00507 #define IPropertyStore_GetCount(This,cProps)    \
00508     ( (This)->lpVtbl -> GetCount(This,cProps) ) 
00509 
00510 #define IPropertyStore_GetAt(This,iProp,pkey)   \
00511     ( (This)->lpVtbl -> GetAt(This,iProp,pkey) ) 
00512 
00513 #define IPropertyStore_GetValue(This,key,pv)    \
00514     ( (This)->lpVtbl -> GetValue(This,key,pv) ) 
00515 
00516 #define IPropertyStore_SetValue(This,key,propvar)       \
00517     ( (This)->lpVtbl -> SetValue(This,key,propvar) ) 
00518 
00519 #define IPropertyStore_Commit(This)     \
00520     ( (This)->lpVtbl -> Commit(This) ) 
00521 
00522 #endif /* COBJMACROS */
00523 
00524 
00525 #endif  /* C style interface */
00526 
00527 
00528 
00529 
00530 #endif  /* __IPropertyStore_INTERFACE_DEFINED__ */
00531 
00532 
00533 /* interface __MIDL_itf_propsys_0000_0003 */
00534 /* [local] */ 
00535 
00536 typedef /* [unique] */  __RPC_unique_pointer IPropertyStore *LPPROPERTYSTORE;
00537 
00538 
00539 
00540 extern RPC_IF_HANDLE __MIDL_itf_propsys_0000_0003_v0_0_c_ifspec;
00541 extern RPC_IF_HANDLE __MIDL_itf_propsys_0000_0003_v0_0_s_ifspec;
00542 
00543 #ifndef __INamedPropertyStore_INTERFACE_DEFINED__
00544 #define __INamedPropertyStore_INTERFACE_DEFINED__
00545 
00546 /* interface INamedPropertyStore */
00547 /* [unique][object][uuid] */ 
00548 
00549 
00550 EXTERN_C const IID IID_INamedPropertyStore;
00551 
00552 #if defined(__cplusplus) && !defined(CINTERFACE)
00553     
00554     MIDL_INTERFACE("71604b0f-97b0-4764-8577-2f13e98a1422")
00555     INamedPropertyStore : public IUnknown
00556     {
00557     public:
00558         virtual HRESULT STDMETHODCALLTYPE GetNamedValue( 
00559             /* [string][in] */ __RPC__in LPCWSTR pszName,
00560             /* [out] */ __RPC__out PROPVARIANT *ppropvar) = 0;
00561         
00562         virtual HRESULT STDMETHODCALLTYPE SetNamedValue( 
00563             /* [string][in] */ __RPC__in LPCWSTR pszName,
00564             /* [in] */ __RPC__in REFPROPVARIANT propvar) = 0;
00565         
00566         virtual HRESULT STDMETHODCALLTYPE GetNameCount( 
00567             /* [out] */ __RPC__out DWORD *pdwCount) = 0;
00568         
00569         virtual HRESULT STDMETHODCALLTYPE GetNameAt( 
00570             /* [in] */ DWORD iProp,
00571             /* [out] */ __RPC__deref_out_opt BSTR *pbstrName) = 0;
00572         
00573     };
00574     
00575 #else   /* C style interface */
00576 
00577     typedef struct INamedPropertyStoreVtbl
00578     {
00579         BEGIN_INTERFACE
00580         
00581         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
00582             INamedPropertyStore * This,
00583             /* [in] */ __RPC__in REFIID riid,
00584             /* [iid_is][out] */ 
00585             __RPC__deref_out  void **ppvObject);
00586         
00587         ULONG ( STDMETHODCALLTYPE *AddRef )( 
00588             INamedPropertyStore * This);
00589         
00590         ULONG ( STDMETHODCALLTYPE *Release )( 
00591             INamedPropertyStore * This);
00592         
00593         HRESULT ( STDMETHODCALLTYPE *GetNamedValue )( 
00594             INamedPropertyStore * This,
00595             /* [string][in] */ __RPC__in LPCWSTR pszName,
00596             /* [out] */ __RPC__out PROPVARIANT *ppropvar);
00597         
00598         HRESULT ( STDMETHODCALLTYPE *SetNamedValue )( 
00599             INamedPropertyStore * This,
00600             /* [string][in] */ __RPC__in LPCWSTR pszName,
00601             /* [in] */ __RPC__in REFPROPVARIANT propvar);
00602         
00603         HRESULT ( STDMETHODCALLTYPE *GetNameCount )( 
00604             INamedPropertyStore * This,
00605             /* [out] */ __RPC__out DWORD *pdwCount);
00606         
00607         HRESULT ( STDMETHODCALLTYPE *GetNameAt )( 
00608             INamedPropertyStore * This,
00609             /* [in] */ DWORD iProp,
00610             /* [out] */ __RPC__deref_out_opt BSTR *pbstrName);
00611         
00612         END_INTERFACE
00613     } INamedPropertyStoreVtbl;
00614 
00615     interface INamedPropertyStore
00616     {
00617         CONST_VTBL struct INamedPropertyStoreVtbl *lpVtbl;
00618     };
00619 
00620     
00621 
00622 #ifdef COBJMACROS
00623 
00624 
00625 #define INamedPropertyStore_QueryInterface(This,riid,ppvObject) \
00626     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
00627 
00628 #define INamedPropertyStore_AddRef(This)        \
00629     ( (This)->lpVtbl -> AddRef(This) ) 
00630 
00631 #define INamedPropertyStore_Release(This)       \
00632     ( (This)->lpVtbl -> Release(This) ) 
00633 
00634 
00635 #define INamedPropertyStore_GetNamedValue(This,pszName,ppropvar)        \
00636     ( (This)->lpVtbl -> GetNamedValue(This,pszName,ppropvar) ) 
00637 
00638 #define INamedPropertyStore_SetNamedValue(This,pszName,propvar) \
00639     ( (This)->lpVtbl -> SetNamedValue(This,pszName,propvar) ) 
00640 
00641 #define INamedPropertyStore_GetNameCount(This,pdwCount) \
00642     ( (This)->lpVtbl -> GetNameCount(This,pdwCount) ) 
00643 
00644 #define INamedPropertyStore_GetNameAt(This,iProp,pbstrName)     \
00645     ( (This)->lpVtbl -> GetNameAt(This,iProp,pbstrName) ) 
00646 
00647 #endif /* COBJMACROS */
00648 
00649 
00650 #endif  /* C style interface */
00651 
00652 
00653 
00654 
00655 #endif  /* __INamedPropertyStore_INTERFACE_DEFINED__ */
00656 
00657 
00658 /* interface __MIDL_itf_propsys_0000_0004 */
00659 /* [local] */ 
00660 
00661 /* [v1_enum] */ 
00662 enum tagGETPROPERTYSTOREFLAGS
00663     {   GPS_DEFAULT     = 0,
00664         GPS_HANDLERPROPERTIESONLY       = 0x1,
00665         GPS_READWRITE   = 0x2,
00666         GPS_TEMPORARY   = 0x4,
00667         GPS_FASTPROPERTIESONLY  = 0x8,
00668         GPS_OPENSLOWITEM        = 0x10,
00669         GPS_DELAYCREATION       = 0x20,
00670         GPS_BESTEFFORT  = 0x40,
00671         GPS_MASK_VALID  = 0x7f
00672     } ;
00673 typedef int GETPROPERTYSTOREFLAGS;
00674 
00675 
00676 
00677 extern RPC_IF_HANDLE __MIDL_itf_propsys_0000_0004_v0_0_c_ifspec;
00678 extern RPC_IF_HANDLE __MIDL_itf_propsys_0000_0004_v0_0_s_ifspec;
00679 
00680 #ifndef __IObjectWithPropertyKey_INTERFACE_DEFINED__
00681 #define __IObjectWithPropertyKey_INTERFACE_DEFINED__
00682 
00683 /* interface IObjectWithPropertyKey */
00684 /* [uuid][object] */ 
00685 
00686 
00687 EXTERN_C const IID IID_IObjectWithPropertyKey;
00688 
00689 #if defined(__cplusplus) && !defined(CINTERFACE)
00690     
00691     MIDL_INTERFACE("fc0ca0a7-c316-4fd2-9031-3e628e6d4f23")
00692     IObjectWithPropertyKey : public IUnknown
00693     {
00694     public:
00695         virtual HRESULT STDMETHODCALLTYPE SetPropertyKey( 
00696             /* [in] */ __RPC__in REFPROPERTYKEY key) = 0;
00697         
00698         virtual HRESULT STDMETHODCALLTYPE GetPropertyKey( 
00699             /* [out] */ __RPC__out PROPERTYKEY *pkey) = 0;
00700         
00701     };
00702     
00703 #else   /* C style interface */
00704 
00705     typedef struct IObjectWithPropertyKeyVtbl
00706     {
00707         BEGIN_INTERFACE
00708         
00709         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
00710             IObjectWithPropertyKey * This,
00711             /* [in] */ __RPC__in REFIID riid,
00712             /* [iid_is][out] */ 
00713             __RPC__deref_out  void **ppvObject);
00714         
00715         ULONG ( STDMETHODCALLTYPE *AddRef )( 
00716             IObjectWithPropertyKey * This);
00717         
00718         ULONG ( STDMETHODCALLTYPE *Release )( 
00719             IObjectWithPropertyKey * This);
00720         
00721         HRESULT ( STDMETHODCALLTYPE *SetPropertyKey )( 
00722             IObjectWithPropertyKey * This,
00723             /* [in] */ __RPC__in REFPROPERTYKEY key);
00724         
00725         HRESULT ( STDMETHODCALLTYPE *GetPropertyKey )( 
00726             IObjectWithPropertyKey * This,
00727             /* [out] */ __RPC__out PROPERTYKEY *pkey);
00728         
00729         END_INTERFACE
00730     } IObjectWithPropertyKeyVtbl;
00731 
00732     interface IObjectWithPropertyKey
00733     {
00734         CONST_VTBL struct IObjectWithPropertyKeyVtbl *lpVtbl;
00735     };
00736 
00737     
00738 
00739 #ifdef COBJMACROS
00740 
00741 
00742 #define IObjectWithPropertyKey_QueryInterface(This,riid,ppvObject)      \
00743     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
00744 
00745 #define IObjectWithPropertyKey_AddRef(This)     \
00746     ( (This)->lpVtbl -> AddRef(This) ) 
00747 
00748 #define IObjectWithPropertyKey_Release(This)    \
00749     ( (This)->lpVtbl -> Release(This) ) 
00750 
00751 
00752 #define IObjectWithPropertyKey_SetPropertyKey(This,key) \
00753     ( (This)->lpVtbl -> SetPropertyKey(This,key) ) 
00754 
00755 #define IObjectWithPropertyKey_GetPropertyKey(This,pkey)        \
00756     ( (This)->lpVtbl -> GetPropertyKey(This,pkey) ) 
00757 
00758 #endif /* COBJMACROS */
00759 
00760 
00761 #endif  /* C style interface */
00762 
00763 
00764 
00765 
00766 #endif  /* __IObjectWithPropertyKey_INTERFACE_DEFINED__ */
00767 
00768 
00769 /* interface __MIDL_itf_propsys_0000_0005 */
00770 /* [local] */ 
00771 
00772 typedef /* [v1_enum] */ 
00773 enum tagPKA_FLAGS
00774     {   PKA_SET = 0,
00775         PKA_APPEND      = ( PKA_SET + 1 ) ,
00776         PKA_DELETE      = ( PKA_APPEND + 1 ) 
00777     }   PKA_FLAGS;
00778 
00779 
00780 
00781 extern RPC_IF_HANDLE __MIDL_itf_propsys_0000_0005_v0_0_c_ifspec;
00782 extern RPC_IF_HANDLE __MIDL_itf_propsys_0000_0005_v0_0_s_ifspec;
00783 
00784 #ifndef __IPropertyChange_INTERFACE_DEFINED__
00785 #define __IPropertyChange_INTERFACE_DEFINED__
00786 
00787 /* interface IPropertyChange */
00788 /* [unique][object][uuid] */ 
00789 
00790 
00791 EXTERN_C const IID IID_IPropertyChange;
00792 
00793 #if defined(__cplusplus) && !defined(CINTERFACE)
00794     
00795     MIDL_INTERFACE("f917bc8a-1bba-4478-a245-1bde03eb9431")
00796     IPropertyChange : public IObjectWithPropertyKey
00797     {
00798     public:
00799         virtual HRESULT STDMETHODCALLTYPE ApplyToPropVariant( 
00800             /* [in] */ __RPC__in REFPROPVARIANT propvarIn,
00801             /* [out] */ __RPC__out PROPVARIANT *ppropvarOut) = 0;
00802         
00803     };
00804     
00805 #else   /* C style interface */
00806 
00807     typedef struct IPropertyChangeVtbl
00808     {
00809         BEGIN_INTERFACE
00810         
00811         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
00812             IPropertyChange * This,
00813             /* [in] */ __RPC__in REFIID riid,
00814             /* [iid_is][out] */ 
00815             __RPC__deref_out  void **ppvObject);
00816         
00817         ULONG ( STDMETHODCALLTYPE *AddRef )( 
00818             IPropertyChange * This);
00819         
00820         ULONG ( STDMETHODCALLTYPE *Release )( 
00821             IPropertyChange * This);
00822         
00823         HRESULT ( STDMETHODCALLTYPE *SetPropertyKey )( 
00824             IPropertyChange * This,
00825             /* [in] */ __RPC__in REFPROPERTYKEY key);
00826         
00827         HRESULT ( STDMETHODCALLTYPE *GetPropertyKey )( 
00828             IPropertyChange * This,
00829             /* [out] */ __RPC__out PROPERTYKEY *pkey);
00830         
00831         HRESULT ( STDMETHODCALLTYPE *ApplyToPropVariant )( 
00832             IPropertyChange * This,
00833             /* [in] */ __RPC__in REFPROPVARIANT propvarIn,
00834             /* [out] */ __RPC__out PROPVARIANT *ppropvarOut);
00835         
00836         END_INTERFACE
00837     } IPropertyChangeVtbl;
00838 
00839     interface IPropertyChange
00840     {
00841         CONST_VTBL struct IPropertyChangeVtbl *lpVtbl;
00842     };
00843 
00844     
00845 
00846 #ifdef COBJMACROS
00847 
00848 
00849 #define IPropertyChange_QueryInterface(This,riid,ppvObject)     \
00850     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
00851 
00852 #define IPropertyChange_AddRef(This)    \
00853     ( (This)->lpVtbl -> AddRef(This) ) 
00854 
00855 #define IPropertyChange_Release(This)   \
00856     ( (This)->lpVtbl -> Release(This) ) 
00857 
00858 
00859 #define IPropertyChange_SetPropertyKey(This,key)        \
00860     ( (This)->lpVtbl -> SetPropertyKey(This,key) ) 
00861 
00862 #define IPropertyChange_GetPropertyKey(This,pkey)       \
00863     ( (This)->lpVtbl -> GetPropertyKey(This,pkey) ) 
00864 
00865 
00866 #define IPropertyChange_ApplyToPropVariant(This,propvarIn,ppropvarOut)  \
00867     ( (This)->lpVtbl -> ApplyToPropVariant(This,propvarIn,ppropvarOut) ) 
00868 
00869 #endif /* COBJMACROS */
00870 
00871 
00872 #endif  /* C style interface */
00873 
00874 
00875 
00876 
00877 #endif  /* __IPropertyChange_INTERFACE_DEFINED__ */
00878 
00879 
00880 #ifndef __IPropertyChangeArray_INTERFACE_DEFINED__
00881 #define __IPropertyChangeArray_INTERFACE_DEFINED__
00882 
00883 /* interface IPropertyChangeArray */
00884 /* [unique][object][uuid] */ 
00885 
00886 
00887 EXTERN_C const IID IID_IPropertyChangeArray;
00888 
00889 #if defined(__cplusplus) && !defined(CINTERFACE)
00890     
00891     MIDL_INTERFACE("380f5cad-1b5e-42f2-805d-637fd392d31e")
00892     IPropertyChangeArray : public IUnknown
00893     {
00894     public:
00895         virtual HRESULT STDMETHODCALLTYPE GetCount( 
00896             /* [out] */ __RPC__out UINT *pcOperations) = 0;
00897         
00898         virtual HRESULT STDMETHODCALLTYPE GetAt( 
00899             /* [in] */ UINT iIndex,
00900             /* [in] */ __RPC__in REFIID riid,
00901             /* [iid_is][out] */ __RPC__deref_out_opt void **ppv) = 0;
00902         
00903         virtual HRESULT STDMETHODCALLTYPE InsertAt( 
00904             /* [in] */ UINT iIndex,
00905             /* [in] */ __RPC__in_opt IPropertyChange *ppropChange) = 0;
00906         
00907         virtual HRESULT STDMETHODCALLTYPE Append( 
00908             /* [in] */ __RPC__in_opt IPropertyChange *ppropChange) = 0;
00909         
00910         virtual HRESULT STDMETHODCALLTYPE AppendOrReplace( 
00911             /* [in] */ __RPC__in_opt IPropertyChange *ppropChange) = 0;
00912         
00913         virtual HRESULT STDMETHODCALLTYPE RemoveAt( 
00914             /* [in] */ UINT iIndex) = 0;
00915         
00916         virtual HRESULT STDMETHODCALLTYPE IsKeyInArray( 
00917             /* [in] */ __RPC__in REFPROPERTYKEY key) = 0;
00918         
00919     };
00920     
00921 #else   /* C style interface */
00922 
00923     typedef struct IPropertyChangeArrayVtbl
00924     {
00925         BEGIN_INTERFACE
00926         
00927         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
00928             IPropertyChangeArray * This,
00929             /* [in] */ __RPC__in REFIID riid,
00930             /* [iid_is][out] */ 
00931             __RPC__deref_out  void **ppvObject);
00932         
00933         ULONG ( STDMETHODCALLTYPE *AddRef )( 
00934             IPropertyChangeArray * This);
00935         
00936         ULONG ( STDMETHODCALLTYPE *Release )( 
00937             IPropertyChangeArray * This);
00938         
00939         HRESULT ( STDMETHODCALLTYPE *GetCount )( 
00940             IPropertyChangeArray * This,
00941             /* [out] */ __RPC__out UINT *pcOperations);
00942         
00943         HRESULT ( STDMETHODCALLTYPE *GetAt )( 
00944             IPropertyChangeArray * This,
00945             /* [in] */ UINT iIndex,
00946             /* [in] */ __RPC__in REFIID riid,
00947             /* [iid_is][out] */ __RPC__deref_out_opt void **ppv);
00948         
00949         HRESULT ( STDMETHODCALLTYPE *InsertAt )( 
00950             IPropertyChangeArray * This,
00951             /* [in] */ UINT iIndex,
00952             /* [in] */ __RPC__in_opt IPropertyChange *ppropChange);
00953         
00954         HRESULT ( STDMETHODCALLTYPE *Append )( 
00955             IPropertyChangeArray * This,
00956             /* [in] */ __RPC__in_opt IPropertyChange *ppropChange);
00957         
00958         HRESULT ( STDMETHODCALLTYPE *AppendOrReplace )( 
00959             IPropertyChangeArray * This,
00960             /* [in] */ __RPC__in_opt IPropertyChange *ppropChange);
00961         
00962         HRESULT ( STDMETHODCALLTYPE *RemoveAt )( 
00963             IPropertyChangeArray * This,
00964             /* [in] */ UINT iIndex);
00965         
00966         HRESULT ( STDMETHODCALLTYPE *IsKeyInArray )( 
00967             IPropertyChangeArray * This,
00968             /* [in] */ __RPC__in REFPROPERTYKEY key);
00969         
00970         END_INTERFACE
00971     } IPropertyChangeArrayVtbl;
00972 
00973     interface IPropertyChangeArray
00974     {
00975         CONST_VTBL struct IPropertyChangeArrayVtbl *lpVtbl;
00976     };
00977 
00978     
00979 
00980 #ifdef COBJMACROS
00981 
00982 
00983 #define IPropertyChangeArray_QueryInterface(This,riid,ppvObject)        \
00984     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
00985 
00986 #define IPropertyChangeArray_AddRef(This)       \
00987     ( (This)->lpVtbl -> AddRef(This) ) 
00988 
00989 #define IPropertyChangeArray_Release(This)      \
00990     ( (This)->lpVtbl -> Release(This) ) 
00991 
00992 
00993 #define IPropertyChangeArray_GetCount(This,pcOperations)        \
00994     ( (This)->lpVtbl -> GetCount(This,pcOperations) ) 
00995 
00996 #define IPropertyChangeArray_GetAt(This,iIndex,riid,ppv)        \
00997     ( (This)->lpVtbl -> GetAt(This,iIndex,riid,ppv) ) 
00998 
00999 #define IPropertyChangeArray_InsertAt(This,iIndex,ppropChange)  \
01000     ( (This)->lpVtbl -> InsertAt(This,iIndex,ppropChange) ) 
01001 
01002 #define IPropertyChangeArray_Append(This,ppropChange)   \
01003     ( (This)->lpVtbl -> Append(This,ppropChange) ) 
01004 
01005 #define IPropertyChangeArray_AppendOrReplace(This,ppropChange)  \
01006     ( (This)->lpVtbl -> AppendOrReplace(This,ppropChange) ) 
01007 
01008 #define IPropertyChangeArray_RemoveAt(This,iIndex)      \
01009     ( (This)->lpVtbl -> RemoveAt(This,iIndex) ) 
01010 
01011 #define IPropertyChangeArray_IsKeyInArray(This,key)     \
01012     ( (This)->lpVtbl -> IsKeyInArray(This,key) ) 
01013 
01014 #endif /* COBJMACROS */
01015 
01016 
01017 #endif  /* C style interface */
01018 
01019 
01020 
01021 
01022 #endif  /* __IPropertyChangeArray_INTERFACE_DEFINED__ */
01023 
01024 
01025 #ifndef __IPropertyStoreCapabilities_INTERFACE_DEFINED__
01026 #define __IPropertyStoreCapabilities_INTERFACE_DEFINED__
01027 
01028 /* interface IPropertyStoreCapabilities */
01029 /* [unique][object][uuid] */ 
01030 
01031 
01032 EXTERN_C const IID IID_IPropertyStoreCapabilities;
01033 
01034 #if defined(__cplusplus) && !defined(CINTERFACE)
01035     
01036     MIDL_INTERFACE("c8e2d566-186e-4d49-bf41-6909ead56acc")
01037     IPropertyStoreCapabilities : public IUnknown
01038     {
01039     public:
01040         virtual HRESULT STDMETHODCALLTYPE IsPropertyWritable( 
01041             /* [in] */ __RPC__in REFPROPERTYKEY key) = 0;
01042         
01043     };
01044     
01045 #else   /* C style interface */
01046 
01047     typedef struct IPropertyStoreCapabilitiesVtbl
01048     {
01049         BEGIN_INTERFACE
01050         
01051         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
01052             IPropertyStoreCapabilities * This,
01053             /* [in] */ __RPC__in REFIID riid,
01054             /* [iid_is][out] */ 
01055             __RPC__deref_out  void **ppvObject);
01056         
01057         ULONG ( STDMETHODCALLTYPE *AddRef )( 
01058             IPropertyStoreCapabilities * This);
01059         
01060         ULONG ( STDMETHODCALLTYPE *Release )( 
01061             IPropertyStoreCapabilities * This);
01062         
01063         HRESULT ( STDMETHODCALLTYPE *IsPropertyWritable )( 
01064             IPropertyStoreCapabilities * This,
01065             /* [in] */ __RPC__in REFPROPERTYKEY key);
01066         
01067         END_INTERFACE
01068     } IPropertyStoreCapabilitiesVtbl;
01069 
01070     interface IPropertyStoreCapabilities
01071     {
01072         CONST_VTBL struct IPropertyStoreCapabilitiesVtbl *lpVtbl;
01073     };
01074 
01075     
01076 
01077 #ifdef COBJMACROS
01078 
01079 
01080 #define IPropertyStoreCapabilities_QueryInterface(This,riid,ppvObject)  \
01081     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
01082 
01083 #define IPropertyStoreCapabilities_AddRef(This) \
01084     ( (This)->lpVtbl -> AddRef(This) ) 
01085 
01086 #define IPropertyStoreCapabilities_Release(This)        \
01087     ( (This)->lpVtbl -> Release(This) ) 
01088 
01089 
01090 #define IPropertyStoreCapabilities_IsPropertyWritable(This,key) \
01091     ( (This)->lpVtbl -> IsPropertyWritable(This,key) ) 
01092 
01093 #endif /* COBJMACROS */
01094 
01095 
01096 #endif  /* C style interface */
01097 
01098 
01099 
01100 
01101 #endif  /* __IPropertyStoreCapabilities_INTERFACE_DEFINED__ */
01102 
01103 
01104 #ifndef __IPropertyStoreCache_INTERFACE_DEFINED__
01105 #define __IPropertyStoreCache_INTERFACE_DEFINED__
01106 
01107 /* interface IPropertyStoreCache */
01108 /* [unique][object][uuid] */ 
01109 
01110 typedef /* [v1_enum] */ 
01111 enum _PSC_STATE
01112     {   PSC_NORMAL      = 0,
01113         PSC_NOTINSOURCE = 1,
01114         PSC_DIRTY       = 2,
01115         PSC_READONLY    = 3
01116     }   PSC_STATE;
01117 
01118 
01119 EXTERN_C const IID IID_IPropertyStoreCache;
01120 
01121 #if defined(__cplusplus) && !defined(CINTERFACE)
01122     
01123     MIDL_INTERFACE("3017056d-9a91-4e90-937d-746c72abbf4f")
01124     IPropertyStoreCache : public IPropertyStore
01125     {
01126     public:
01127         virtual HRESULT STDMETHODCALLTYPE GetState( 
01128             /* [in] */ __RPC__in REFPROPERTYKEY key,
01129             /* [out] */ __RPC__out PSC_STATE *pstate) = 0;
01130         
01131         virtual HRESULT STDMETHODCALLTYPE GetValueAndState( 
01132             /* [in] */ __RPC__in REFPROPERTYKEY key,
01133             /* [out] */ __RPC__out PROPVARIANT *ppropvar,
01134             /* [out] */ __RPC__out PSC_STATE *pstate) = 0;
01135         
01136         virtual HRESULT STDMETHODCALLTYPE SetState( 
01137             /* [in] */ __RPC__in REFPROPERTYKEY key,
01138             /* [in] */ PSC_STATE state) = 0;
01139         
01140         virtual HRESULT STDMETHODCALLTYPE SetValueAndState( 
01141             /* [in] */ __RPC__in REFPROPERTYKEY key,
01142             /* [unique][in] */ __RPC__in_opt const PROPVARIANT *ppropvar,
01143             /* [in] */ PSC_STATE state) = 0;
01144         
01145     };
01146     
01147 #else   /* C style interface */
01148 
01149     typedef struct IPropertyStoreCacheVtbl
01150     {
01151         BEGIN_INTERFACE
01152         
01153         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
01154             IPropertyStoreCache * This,
01155             /* [in] */ __RPC__in REFIID riid,
01156             /* [iid_is][out] */ 
01157             __RPC__deref_out  void **ppvObject);
01158         
01159         ULONG ( STDMETHODCALLTYPE *AddRef )( 
01160             IPropertyStoreCache * This);
01161         
01162         ULONG ( STDMETHODCALLTYPE *Release )( 
01163             IPropertyStoreCache * This);
01164         
01165         HRESULT ( STDMETHODCALLTYPE *GetCount )( 
01166             IPropertyStoreCache * This,
01167             /* [out] */ __RPC__out DWORD *cProps);
01168         
01169         HRESULT ( STDMETHODCALLTYPE *GetAt )( 
01170             IPropertyStoreCache * This,
01171             /* [in] */ DWORD iProp,
01172             /* [out] */ __RPC__out PROPERTYKEY *pkey);
01173         
01174         HRESULT ( STDMETHODCALLTYPE *GetValue )( 
01175             IPropertyStoreCache * This,
01176             /* [in] */ __RPC__in REFPROPERTYKEY key,
01177             /* [out] */ __RPC__out PROPVARIANT *pv);
01178         
01179         HRESULT ( STDMETHODCALLTYPE *SetValue )( 
01180             IPropertyStoreCache * This,
01181             /* [in] */ __RPC__in REFPROPERTYKEY key,
01182             /* [in] */ __RPC__in REFPROPVARIANT propvar);
01183         
01184         HRESULT ( STDMETHODCALLTYPE *Commit )( 
01185             IPropertyStoreCache * This);
01186         
01187         HRESULT ( STDMETHODCALLTYPE *GetState )( 
01188             IPropertyStoreCache * This,
01189             /* [in] */ __RPC__in REFPROPERTYKEY key,
01190             /* [out] */ __RPC__out PSC_STATE *pstate);
01191         
01192         HRESULT ( STDMETHODCALLTYPE *GetValueAndState )( 
01193             IPropertyStoreCache * This,
01194             /* [in] */ __RPC__in REFPROPERTYKEY key,
01195             /* [out] */ __RPC__out PROPVARIANT *ppropvar,
01196             /* [out] */ __RPC__out PSC_STATE *pstate);
01197         
01198         HRESULT ( STDMETHODCALLTYPE *SetState )( 
01199             IPropertyStoreCache * This,
01200             /* [in] */ __RPC__in REFPROPERTYKEY key,
01201             /* [in] */ PSC_STATE state);
01202         
01203         HRESULT ( STDMETHODCALLTYPE *SetValueAndState )( 
01204             IPropertyStoreCache * This,
01205             /* [in] */ __RPC__in REFPROPERTYKEY key,
01206             /* [unique][in] */ __RPC__in_opt const PROPVARIANT *ppropvar,
01207             /* [in] */ PSC_STATE state);
01208         
01209         END_INTERFACE
01210     } IPropertyStoreCacheVtbl;
01211 
01212     interface IPropertyStoreCache
01213     {
01214         CONST_VTBL struct IPropertyStoreCacheVtbl *lpVtbl;
01215     };
01216 
01217     
01218 
01219 #ifdef COBJMACROS
01220 
01221 
01222 #define IPropertyStoreCache_QueryInterface(This,riid,ppvObject) \
01223     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
01224 
01225 #define IPropertyStoreCache_AddRef(This)        \
01226     ( (This)->lpVtbl -> AddRef(This) ) 
01227 
01228 #define IPropertyStoreCache_Release(This)       \
01229     ( (This)->lpVtbl -> Release(This) ) 
01230 
01231 
01232 #define IPropertyStoreCache_GetCount(This,cProps)       \
01233     ( (This)->lpVtbl -> GetCount(This,cProps) ) 
01234 
01235 #define IPropertyStoreCache_GetAt(This,iProp,pkey)      \
01236     ( (This)->lpVtbl -> GetAt(This,iProp,pkey) ) 
01237 
01238 #define IPropertyStoreCache_GetValue(This,key,pv)       \
01239     ( (This)->lpVtbl -> GetValue(This,key,pv) ) 
01240 
01241 #define IPropertyStoreCache_SetValue(This,key,propvar)  \
01242     ( (This)->lpVtbl -> SetValue(This,key,propvar) ) 
01243 
01244 #define IPropertyStoreCache_Commit(This)        \
01245     ( (This)->lpVtbl -> Commit(This) ) 
01246 
01247 
01248 #define IPropertyStoreCache_GetState(This,key,pstate)   \
01249     ( (This)->lpVtbl -> GetState(This,key,pstate) ) 
01250 
01251 #define IPropertyStoreCache_GetValueAndState(This,key,ppropvar,pstate)  \
01252     ( (This)->lpVtbl -> GetValueAndState(This,key,ppropvar,pstate) ) 
01253 
01254 #define IPropertyStoreCache_SetState(This,key,state)    \
01255     ( (This)->lpVtbl -> SetState(This,key,state) ) 
01256 
01257 #define IPropertyStoreCache_SetValueAndState(This,key,ppropvar,state)   \
01258     ( (This)->lpVtbl -> SetValueAndState(This,key,ppropvar,state) ) 
01259 
01260 #endif /* COBJMACROS */
01261 
01262 
01263 #endif  /* C style interface */
01264 
01265 
01266 
01267 
01268 #endif  /* __IPropertyStoreCache_INTERFACE_DEFINED__ */
01269 
01270 
01271 #ifndef __IPropertyEnumType_INTERFACE_DEFINED__
01272 #define __IPropertyEnumType_INTERFACE_DEFINED__
01273 
01274 /* interface IPropertyEnumType */
01275 /* [unique][object][uuid] */ 
01276 
01277 /* [v1_enum] */ 
01278 enum tagPROPENUMTYPE
01279     {   PET_DISCRETEVALUE       = 0,
01280         PET_RANGEDVALUE = 1,
01281         PET_DEFAULTVALUE        = 2,
01282         PET_ENDRANGE    = 3
01283     } ;
01284 typedef enum tagPROPENUMTYPE PROPENUMTYPE;
01285 
01286 
01287 EXTERN_C const IID IID_IPropertyEnumType;
01288 
01289 #if defined(__cplusplus) && !defined(CINTERFACE)
01290     
01291     MIDL_INTERFACE("11e1fbf9-2d56-4a6b-8db3-7cd193a471f2")
01292     IPropertyEnumType : public IUnknown
01293     {
01294     public:
01295         virtual HRESULT STDMETHODCALLTYPE GetEnumType( 
01296             /* [out] */ __RPC__out PROPENUMTYPE *penumtype) = 0;
01297         
01298         virtual HRESULT STDMETHODCALLTYPE GetValue( 
01299             /* [out] */ __RPC__out PROPVARIANT *ppropvar) = 0;
01300         
01301         virtual HRESULT STDMETHODCALLTYPE GetRangeMinValue( 
01302             /* [out] */ __RPC__out PROPVARIANT *ppropvarMin) = 0;
01303         
01304         virtual HRESULT STDMETHODCALLTYPE GetRangeSetValue( 
01305             /* [out] */ __RPC__out PROPVARIANT *ppropvarSet) = 0;
01306         
01307         virtual HRESULT STDMETHODCALLTYPE GetDisplayText( 
01308             /* [out] */ __RPC__deref_out_opt LPWSTR *ppszDisplay) = 0;
01309         
01310     };
01311     
01312 #else   /* C style interface */
01313 
01314     typedef struct IPropertyEnumTypeVtbl
01315     {
01316         BEGIN_INTERFACE
01317         
01318         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
01319             IPropertyEnumType * This,
01320             /* [in] */ __RPC__in REFIID riid,
01321             /* [iid_is][out] */ 
01322             __RPC__deref_out  void **ppvObject);
01323         
01324         ULONG ( STDMETHODCALLTYPE *AddRef )( 
01325             IPropertyEnumType * This);
01326         
01327         ULONG ( STDMETHODCALLTYPE *Release )( 
01328             IPropertyEnumType * This);
01329         
01330         HRESULT ( STDMETHODCALLTYPE *GetEnumType )( 
01331             IPropertyEnumType * This,
01332             /* [out] */ __RPC__out PROPENUMTYPE *penumtype);
01333         
01334         HRESULT ( STDMETHODCALLTYPE *GetValue )( 
01335             IPropertyEnumType * This,
01336             /* [out] */ __RPC__out PROPVARIANT *ppropvar);
01337         
01338         HRESULT ( STDMETHODCALLTYPE *GetRangeMinValue )( 
01339             IPropertyEnumType * This,
01340             /* [out] */ __RPC__out PROPVARIANT *ppropvarMin);
01341         
01342         HRESULT ( STDMETHODCALLTYPE *GetRangeSetValue )( 
01343             IPropertyEnumType * This,
01344             /* [out] */ __RPC__out PROPVARIANT *ppropvarSet);
01345         
01346         HRESULT ( STDMETHODCALLTYPE *GetDisplayText )( 
01347             IPropertyEnumType * This,
01348             /* [out] */ __RPC__deref_out_opt LPWSTR *ppszDisplay);
01349         
01350         END_INTERFACE
01351     } IPropertyEnumTypeVtbl;
01352 
01353     interface IPropertyEnumType
01354     {
01355         CONST_VTBL struct IPropertyEnumTypeVtbl *lpVtbl;
01356     };
01357 
01358     
01359 
01360 #ifdef COBJMACROS
01361 
01362 
01363 #define IPropertyEnumType_QueryInterface(This,riid,ppvObject)   \
01364     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
01365 
01366 #define IPropertyEnumType_AddRef(This)  \
01367     ( (This)->lpVtbl -> AddRef(This) ) 
01368 
01369 #define IPropertyEnumType_Release(This) \
01370     ( (This)->lpVtbl -> Release(This) ) 
01371 
01372 
01373 #define IPropertyEnumType_GetEnumType(This,penumtype)   \
01374     ( (This)->lpVtbl -> GetEnumType(This,penumtype) ) 
01375 
01376 #define IPropertyEnumType_GetValue(This,ppropvar)       \
01377     ( (This)->lpVtbl -> GetValue(This,ppropvar) ) 
01378 
01379 #define IPropertyEnumType_GetRangeMinValue(This,ppropvarMin)    \
01380     ( (This)->lpVtbl -> GetRangeMinValue(This,ppropvarMin) ) 
01381 
01382 #define IPropertyEnumType_GetRangeSetValue(This,ppropvarSet)    \
01383     ( (This)->lpVtbl -> GetRangeSetValue(This,ppropvarSet) ) 
01384 
01385 #define IPropertyEnumType_GetDisplayText(This,ppszDisplay)      \
01386     ( (This)->lpVtbl -> GetDisplayText(This,ppszDisplay) ) 
01387 
01388 #endif /* COBJMACROS */
01389 
01390 
01391 #endif  /* C style interface */
01392 
01393 
01394 
01395 
01396 #endif  /* __IPropertyEnumType_INTERFACE_DEFINED__ */
01397 
01398 
01399 #ifndef __IPropertyEnumTypeList_INTERFACE_DEFINED__
01400 #define __IPropertyEnumTypeList_INTERFACE_DEFINED__
01401 
01402 /* interface IPropertyEnumTypeList */
01403 /* [unique][object][uuid] */ 
01404 
01405 
01406 EXTERN_C const IID IID_IPropertyEnumTypeList;
01407 
01408 #if defined(__cplusplus) && !defined(CINTERFACE)
01409     
01410     MIDL_INTERFACE("a99400f4-3d84-4557-94ba-1242fb2cc9a6")
01411     IPropertyEnumTypeList : public IUnknown
01412     {
01413     public:
01414         virtual HRESULT STDMETHODCALLTYPE GetCount( 
01415             /* [out] */ __RPC__out UINT *pctypes) = 0;
01416         
01417         virtual HRESULT STDMETHODCALLTYPE GetAt( 
01418             /* [in] */ UINT itype,
01419             /* [in] */ __RPC__in REFIID riid,
01420             /* [iid_is][out] */ __RPC__deref_out_opt void **ppv) = 0;
01421         
01422         virtual HRESULT STDMETHODCALLTYPE GetConditionAt( 
01423             /* [in] */ UINT nIndex,
01424             /* [in] */ __RPC__in REFIID riid,
01425             /* [iid_is][out] */ __RPC__deref_out_opt void **ppv) = 0;
01426         
01427         virtual HRESULT STDMETHODCALLTYPE FindMatchingIndex( 
01428             /* [in] */ __RPC__in REFPROPVARIANT propvarCmp,
01429             /* [out] */ __RPC__out UINT *pnIndex) = 0;
01430         
01431     };
01432     
01433 #else   /* C style interface */
01434 
01435     typedef struct IPropertyEnumTypeListVtbl
01436     {
01437         BEGIN_INTERFACE
01438         
01439         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
01440             IPropertyEnumTypeList * This,
01441             /* [in] */ __RPC__in REFIID riid,
01442             /* [iid_is][out] */ 
01443             __RPC__deref_out  void **ppvObject);
01444         
01445         ULONG ( STDMETHODCALLTYPE *AddRef )( 
01446             IPropertyEnumTypeList * This);
01447         
01448         ULONG ( STDMETHODCALLTYPE *Release )( 
01449             IPropertyEnumTypeList * This);
01450         
01451         HRESULT ( STDMETHODCALLTYPE *GetCount )( 
01452             IPropertyEnumTypeList * This,
01453             /* [out] */ __RPC__out UINT *pctypes);
01454         
01455         HRESULT ( STDMETHODCALLTYPE *GetAt )( 
01456             IPropertyEnumTypeList * This,
01457             /* [in] */ UINT itype,
01458             /* [in] */ __RPC__in REFIID riid,
01459             /* [iid_is][out] */ __RPC__deref_out_opt void **ppv);
01460         
01461         HRESULT ( STDMETHODCALLTYPE *GetConditionAt )( 
01462             IPropertyEnumTypeList * This,
01463             /* [in] */ UINT nIndex,
01464             /* [in] */ __RPC__in REFIID riid,
01465             /* [iid_is][out] */ __RPC__deref_out_opt void **ppv);
01466         
01467         HRESULT ( STDMETHODCALLTYPE *FindMatchingIndex )( 
01468             IPropertyEnumTypeList * This,
01469             /* [in] */ __RPC__in REFPROPVARIANT propvarCmp,
01470             /* [out] */ __RPC__out UINT *pnIndex);
01471         
01472         END_INTERFACE
01473     } IPropertyEnumTypeListVtbl;
01474 
01475     interface IPropertyEnumTypeList
01476     {
01477         CONST_VTBL struct IPropertyEnumTypeListVtbl *lpVtbl;
01478     };
01479 
01480     
01481 
01482 #ifdef COBJMACROS
01483 
01484 
01485 #define IPropertyEnumTypeList_QueryInterface(This,riid,ppvObject)       \
01486     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
01487 
01488 #define IPropertyEnumTypeList_AddRef(This)      \
01489     ( (This)->lpVtbl -> AddRef(This) ) 
01490 
01491 #define IPropertyEnumTypeList_Release(This)     \
01492     ( (This)->lpVtbl -> Release(This) ) 
01493 
01494 
01495 #define IPropertyEnumTypeList_GetCount(This,pctypes)    \
01496     ( (This)->lpVtbl -> GetCount(This,pctypes) ) 
01497 
01498 #define IPropertyEnumTypeList_GetAt(This,itype,riid,ppv)        \
01499     ( (This)->lpVtbl -> GetAt(This,itype,riid,ppv) ) 
01500 
01501 #define IPropertyEnumTypeList_GetConditionAt(This,nIndex,riid,ppv)      \
01502     ( (This)->lpVtbl -> GetConditionAt(This,nIndex,riid,ppv) ) 
01503 
01504 #define IPropertyEnumTypeList_FindMatchingIndex(This,propvarCmp,pnIndex)        \
01505     ( (This)->lpVtbl -> FindMatchingIndex(This,propvarCmp,pnIndex) ) 
01506 
01507 #endif /* COBJMACROS */
01508 
01509 
01510 #endif  /* C style interface */
01511 
01512 
01513 
01514 
01515 #endif  /* __IPropertyEnumTypeList_INTERFACE_DEFINED__ */
01516 
01517 
01518 #ifndef __IPropertyDescription_INTERFACE_DEFINED__
01519 #define __IPropertyDescription_INTERFACE_DEFINED__
01520 
01521 /* interface IPropertyDescription */
01522 /* [unique][object][uuid] */ 
01523 
01524 /* [v1_enum] */ 
01525 enum tagPROPDESC_TYPE_FLAGS
01526     {   PDTF_DEFAULT    = 0,
01527         PDTF_MULTIPLEVALUES     = 0x1,
01528         PDTF_ISINNATE   = 0x2,
01529         PDTF_ISGROUP    = 0x4,
01530         PDTF_CANGROUPBY = 0x8,
01531         PDTF_CANSTACKBY = 0x10,
01532         PDTF_ISTREEPROPERTY     = 0x20,
01533         PDTF_INCLUDEINFULLTEXTQUERY     = 0x40,
01534         PDTF_ISVIEWABLE = 0x80,
01535         PDTF_ISQUERYABLE        = 0x100,
01536         PDTF_ISSYSTEMPROPERTY   = 0x80000000,
01537         PDTF_MASK_ALL   = 0x800001ff
01538     } ;
01539 typedef int PROPDESC_TYPE_FLAGS;
01540 
01541 /* [v1_enum] */ 
01542 enum tagPROPDESC_VIEW_FLAGS
01543     {   PDVF_DEFAULT    = 0,
01544         PDVF_CENTERALIGN        = 0x1,
01545         PDVF_RIGHTALIGN = 0x2,
01546         PDVF_BEGINNEWGROUP      = 0x4,
01547         PDVF_FILLAREA   = 0x8,
01548         PDVF_SORTDESCENDING     = 0x10,
01549         PDVF_SHOWONLYIFPRESENT  = 0x20,
01550         PDVF_SHOWBYDEFAULT      = 0x40,
01551         PDVF_SHOWINPRIMARYLIST  = 0x80,
01552         PDVF_SHOWINSECONDARYLIST        = 0x100,
01553         PDVF_HIDELABEL  = 0x200,
01554         PDVF_HIDDEN     = 0x800,
01555         PDVF_CANWRAP    = 0x1000,
01556         PDVF_MASK_ALL   = 0x1bff
01557     } ;
01558 typedef int PROPDESC_VIEW_FLAGS;
01559 
01560 /* [v1_enum] */ 
01561 enum tagPROPDESC_DISPLAYTYPE
01562     {   PDDT_STRING     = 0,
01563         PDDT_NUMBER     = 1,
01564         PDDT_BOOLEAN    = 2,
01565         PDDT_DATETIME   = 3,
01566         PDDT_ENUMERATED = 4
01567     } ;
01568 typedef enum tagPROPDESC_DISPLAYTYPE PROPDESC_DISPLAYTYPE;
01569 
01570 /* [v1_enum] */ 
01571 enum tagPROPDESC_GROUPING_RANGE
01572     {   PDGR_DISCRETE   = 0,
01573         PDGR_ALPHANUMERIC       = 1,
01574         PDGR_SIZE       = 2,
01575         PDGR_DYNAMIC    = 3,
01576         PDGR_DATE       = 4,
01577         PDGR_PERCENT    = 5,
01578         PDGR_ENUMERATED = 6
01579     } ;
01580 typedef enum tagPROPDESC_GROUPING_RANGE PROPDESC_GROUPING_RANGE;
01581 
01582 /* [v1_enum] */ 
01583 enum tagPROPDESC_FORMAT_FLAGS
01584     {   PDFF_DEFAULT    = 0,
01585         PDFF_PREFIXNAME = 0x1,
01586         PDFF_FILENAME   = 0x2,
01587         PDFF_ALWAYSKB   = 0x4,
01588         PDFF_RESERVED_RIGHTTOLEFT       = 0x8,
01589         PDFF_SHORTTIME  = 0x10,
01590         PDFF_LONGTIME   = 0x20,
01591         PDFF_HIDETIME   = 0x40,
01592         PDFF_SHORTDATE  = 0x80,
01593         PDFF_LONGDATE   = 0x100,
01594         PDFF_HIDEDATE   = 0x200,
01595         PDFF_RELATIVEDATE       = 0x400,
01596         PDFF_USEEDITINVITATION  = 0x800,
01597         PDFF_READONLY   = 0x1000,
01598         PDFF_NOAUTOREADINGORDER = 0x2000
01599     } ;
01600 typedef int PROPDESC_FORMAT_FLAGS;
01601 
01602 /* [v1_enum] */ 
01603 enum tagPROPDESC_SORTDESCRIPTION
01604     {   PDSD_GENERAL    = 0,
01605         PDSD_A_Z        = 1,
01606         PDSD_LOWEST_HIGHEST     = 2,
01607         PDSD_SMALLEST_BIGGEST   = 3,
01608         PDSD_OLDEST_NEWEST      = 4
01609     } ;
01610 typedef enum tagPROPDESC_SORTDESCRIPTION PROPDESC_SORTDESCRIPTION;
01611 
01612 /* [v1_enum] */ 
01613 enum tagPROPDESC_RELATIVEDESCRIPTION_TYPE
01614     {   PDRDT_GENERAL   = 0,
01615         PDRDT_DATE      = 1,
01616         PDRDT_SIZE      = 2,
01617         PDRDT_COUNT     = 3,
01618         PDRDT_REVISION  = 4,
01619         PDRDT_LENGTH    = 5,
01620         PDRDT_DURATION  = 6,
01621         PDRDT_SPEED     = 7,
01622         PDRDT_RATE      = 8,
01623         PDRDT_RATING    = 9,
01624         PDRDT_PRIORITY  = 10
01625     } ;
01626 typedef enum tagPROPDESC_RELATIVEDESCRIPTION_TYPE PROPDESC_RELATIVEDESCRIPTION_TYPE;
01627 
01628 /* [v1_enum] */ 
01629 enum tagPROPDESC_AGGREGATION_TYPE
01630     {   PDAT_DEFAULT    = 0,
01631         PDAT_FIRST      = 1,
01632         PDAT_SUM        = 2,
01633         PDAT_AVERAGE    = 3,
01634         PDAT_DATERANGE  = 4,
01635         PDAT_UNION      = 5,
01636         PDAT_MAX        = 6,
01637         PDAT_MIN        = 7
01638     } ;
01639 typedef enum tagPROPDESC_AGGREGATION_TYPE PROPDESC_AGGREGATION_TYPE;
01640 
01641 /* [v1_enum] */ 
01642 enum tagPROPDESC_CONDITION_TYPE
01643     {   PDCOT_NONE      = 0,
01644         PDCOT_STRING    = 1,
01645         PDCOT_SIZE      = 2,
01646         PDCOT_DATETIME  = 3,
01647         PDCOT_BOOLEAN   = 4,
01648         PDCOT_NUMBER    = 5
01649     } ;
01650 typedef enum tagPROPDESC_CONDITION_TYPE PROPDESC_CONDITION_TYPE;
01651 
01652 
01653 EXTERN_C const IID IID_IPropertyDescription;
01654 
01655 #if defined(__cplusplus) && !defined(CINTERFACE)
01656     
01657     MIDL_INTERFACE("6f79d558-3e96-4549-a1d1-7d75d2288814")
01658     IPropertyDescription : public IUnknown
01659     {
01660     public:
01661         virtual HRESULT STDMETHODCALLTYPE GetPropertyKey( 
01662             /* [out] */ __RPC__out PROPERTYKEY *pkey) = 0;
01663         
01664         virtual HRESULT STDMETHODCALLTYPE GetCanonicalName( 
01665             /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszName) = 0;
01666         
01667         virtual HRESULT STDMETHODCALLTYPE GetPropertyType( 
01668             /* [out] */ __RPC__out VARTYPE *pvartype) = 0;
01669         
01670         virtual HRESULT STDMETHODCALLTYPE GetDisplayName( 
01671             /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszName) = 0;
01672         
01673         virtual HRESULT STDMETHODCALLTYPE GetEditInvitation( 
01674             /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszInvite) = 0;
01675         
01676         virtual HRESULT STDMETHODCALLTYPE GetTypeFlags( 
01677             /* [in] */ PROPDESC_TYPE_FLAGS mask,
01678             /* [out] */ __RPC__out PROPDESC_TYPE_FLAGS *ppdtFlags) = 0;
01679         
01680         virtual HRESULT STDMETHODCALLTYPE GetViewFlags( 
01681             /* [out] */ __RPC__out PROPDESC_VIEW_FLAGS *ppdvFlags) = 0;
01682         
01683         virtual HRESULT STDMETHODCALLTYPE GetDefaultColumnWidth( 
01684             /* [out] */ __RPC__out UINT *pcxChars) = 0;
01685         
01686         virtual HRESULT STDMETHODCALLTYPE GetDisplayType( 
01687             /* [out] */ __RPC__out PROPDESC_DISPLAYTYPE *pdisplaytype) = 0;
01688         
01689         virtual HRESULT STDMETHODCALLTYPE GetColumnState( 
01690             /* [out] */ __RPC__out SHCOLSTATEF *pcsFlags) = 0;
01691         
01692         virtual HRESULT STDMETHODCALLTYPE GetGroupingRange( 
01693             /* [out] */ __RPC__out PROPDESC_GROUPING_RANGE *pgr) = 0;
01694         
01695         virtual HRESULT STDMETHODCALLTYPE GetRelativeDescriptionType( 
01696             /* [out] */ __RPC__out PROPDESC_RELATIVEDESCRIPTION_TYPE *prdt) = 0;
01697         
01698         virtual HRESULT STDMETHODCALLTYPE GetRelativeDescription( 
01699             /* [in] */ __RPC__in REFPROPVARIANT propvar1,
01700             /* [in] */ __RPC__in REFPROPVARIANT propvar2,
01701             /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszDesc1,
01702             /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszDesc2) = 0;
01703         
01704         virtual HRESULT STDMETHODCALLTYPE GetSortDescription( 
01705             /* [out] */ __RPC__out PROPDESC_SORTDESCRIPTION *psd) = 0;
01706         
01707         virtual HRESULT STDMETHODCALLTYPE GetSortDescriptionLabel( 
01708             /* [in] */ BOOL fDescending,
01709             /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszDescription) = 0;
01710         
01711         virtual HRESULT STDMETHODCALLTYPE GetAggregationType( 
01712             /* [out] */ __RPC__out PROPDESC_AGGREGATION_TYPE *paggtype) = 0;
01713         
01714         virtual HRESULT STDMETHODCALLTYPE GetConditionType( 
01715             /* [out] */ __RPC__out PROPDESC_CONDITION_TYPE *pcontype,
01716             /* [out] */ __RPC__out CONDITION_OPERATION *popDefault) = 0;
01717         
01718         virtual HRESULT STDMETHODCALLTYPE GetEnumTypeList( 
01719             /* [in] */ __RPC__in REFIID riid,
01720             /* [iid_is][out] */ __RPC__deref_out_opt void **ppv) = 0;
01721         
01722         virtual /* [local] */ HRESULT STDMETHODCALLTYPE CoerceToCanonicalValue( 
01723             /* [out][in] */ PROPVARIANT *ppropvar) = 0;
01724         
01725         virtual HRESULT STDMETHODCALLTYPE FormatForDisplay( 
01726             /* [in] */ __RPC__in REFPROPVARIANT propvar,
01727             /* [in] */ PROPDESC_FORMAT_FLAGS pdfFlags,
01728             /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszDisplay) = 0;
01729         
01730         virtual HRESULT STDMETHODCALLTYPE IsValueCanonical( 
01731             /* [in] */ __RPC__in REFPROPVARIANT propvar) = 0;
01732         
01733     };
01734     
01735 #else   /* C style interface */
01736 
01737     typedef struct IPropertyDescriptionVtbl
01738     {
01739         BEGIN_INTERFACE
01740         
01741         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
01742             IPropertyDescription * This,
01743             /* [in] */ __RPC__in REFIID riid,
01744             /* [iid_is][out] */ 
01745             __RPC__deref_out  void **ppvObject);
01746         
01747         ULONG ( STDMETHODCALLTYPE *AddRef )( 
01748             IPropertyDescription * This);
01749         
01750         ULONG ( STDMETHODCALLTYPE *Release )( 
01751             IPropertyDescription * This);
01752         
01753         HRESULT ( STDMETHODCALLTYPE *GetPropertyKey )( 
01754             IPropertyDescription * This,
01755             /* [out] */ __RPC__out PROPERTYKEY *pkey);
01756         
01757         HRESULT ( STDMETHODCALLTYPE *GetCanonicalName )( 
01758             IPropertyDescription * This,
01759             /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszName);
01760         
01761         HRESULT ( STDMETHODCALLTYPE *GetPropertyType )( 
01762             IPropertyDescription * This,
01763             /* [out] */ __RPC__out VARTYPE *pvartype);
01764         
01765         HRESULT ( STDMETHODCALLTYPE *GetDisplayName )( 
01766             IPropertyDescription * This,
01767             /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszName);
01768         
01769         HRESULT ( STDMETHODCALLTYPE *GetEditInvitation )( 
01770             IPropertyDescription * This,
01771             /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszInvite);
01772         
01773         HRESULT ( STDMETHODCALLTYPE *GetTypeFlags )( 
01774             IPropertyDescription * This,
01775             /* [in] */ PROPDESC_TYPE_FLAGS mask,
01776             /* [out] */ __RPC__out PROPDESC_TYPE_FLAGS *ppdtFlags);
01777         
01778         HRESULT ( STDMETHODCALLTYPE *GetViewFlags )( 
01779             IPropertyDescription * This,
01780             /* [out] */ __RPC__out PROPDESC_VIEW_FLAGS *ppdvFlags);
01781         
01782         HRESULT ( STDMETHODCALLTYPE *GetDefaultColumnWidth )( 
01783             IPropertyDescription * This,
01784             /* [out] */ __RPC__out UINT *pcxChars);
01785         
01786         HRESULT ( STDMETHODCALLTYPE *GetDisplayType )( 
01787             IPropertyDescription * This,
01788             /* [out] */ __RPC__out PROPDESC_DISPLAYTYPE *pdisplaytype);
01789         
01790         HRESULT ( STDMETHODCALLTYPE *GetColumnState )( 
01791             IPropertyDescription * This,
01792             /* [out] */ __RPC__out SHCOLSTATEF *pcsFlags);
01793         
01794         HRESULT ( STDMETHODCALLTYPE *GetGroupingRange )( 
01795             IPropertyDescription * This,
01796             /* [out] */ __RPC__out PROPDESC_GROUPING_RANGE *pgr);
01797         
01798         HRESULT ( STDMETHODCALLTYPE *GetRelativeDescriptionType )( 
01799             IPropertyDescription * This,
01800             /* [out] */ __RPC__out PROPDESC_RELATIVEDESCRIPTION_TYPE *prdt);
01801         
01802         HRESULT ( STDMETHODCALLTYPE *GetRelativeDescription )( 
01803             IPropertyDescription * This,
01804             /* [in] */ __RPC__in REFPROPVARIANT propvar1,
01805             /* [in] */ __RPC__in REFPROPVARIANT propvar2,
01806             /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszDesc1,
01807             /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszDesc2);
01808         
01809         HRESULT ( STDMETHODCALLTYPE *GetSortDescription )( 
01810             IPropertyDescription * This,
01811             /* [out] */ __RPC__out PROPDESC_SORTDESCRIPTION *psd);
01812         
01813         HRESULT ( STDMETHODCALLTYPE *GetSortDescriptionLabel )( 
01814             IPropertyDescription * This,
01815             /* [in] */ BOOL fDescending,
01816             /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszDescription);
01817         
01818         HRESULT ( STDMETHODCALLTYPE *GetAggregationType )( 
01819             IPropertyDescription * This,
01820             /* [out] */ __RPC__out PROPDESC_AGGREGATION_TYPE *paggtype);
01821         
01822         HRESULT ( STDMETHODCALLTYPE *GetConditionType )( 
01823             IPropertyDescription * This,
01824             /* [out] */ __RPC__out PROPDESC_CONDITION_TYPE *pcontype,
01825             /* [out] */ __RPC__out CONDITION_OPERATION *popDefault);
01826         
01827         HRESULT ( STDMETHODCALLTYPE *GetEnumTypeList )( 
01828             IPropertyDescription * This,
01829             /* [in] */ __RPC__in REFIID riid,
01830             /* [iid_is][out] */ __RPC__deref_out_opt void **ppv);
01831         
01832         /* [local] */ HRESULT ( STDMETHODCALLTYPE *CoerceToCanonicalValue )( 
01833             IPropertyDescription * This,
01834             /* [out][in] */ PROPVARIANT *ppropvar);
01835         
01836         HRESULT ( STDMETHODCALLTYPE *FormatForDisplay )( 
01837             IPropertyDescription * This,
01838             /* [in] */ __RPC__in REFPROPVARIANT propvar,
01839             /* [in] */ PROPDESC_FORMAT_FLAGS pdfFlags,
01840             /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszDisplay);
01841         
01842         HRESULT ( STDMETHODCALLTYPE *IsValueCanonical )( 
01843             IPropertyDescription * This,
01844             /* [in] */ __RPC__in REFPROPVARIANT propvar);
01845         
01846         END_INTERFACE
01847     } IPropertyDescriptionVtbl;
01848 
01849     interface IPropertyDescription
01850     {
01851         CONST_VTBL struct IPropertyDescriptionVtbl *lpVtbl;
01852     };
01853 
01854     
01855 
01856 #ifdef COBJMACROS
01857 
01858 
01859 #define IPropertyDescription_QueryInterface(This,riid,ppvObject)        \
01860     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
01861 
01862 #define IPropertyDescription_AddRef(This)       \
01863     ( (This)->lpVtbl -> AddRef(This) ) 
01864 
01865 #define IPropertyDescription_Release(This)      \
01866     ( (This)->lpVtbl -> Release(This) ) 
01867 
01868 
01869 #define IPropertyDescription_GetPropertyKey(This,pkey)  \
01870     ( (This)->lpVtbl -> GetPropertyKey(This,pkey) ) 
01871 
01872 #define IPropertyDescription_GetCanonicalName(This,ppszName)    \
01873     ( (This)->lpVtbl -> GetCanonicalName(This,ppszName) ) 
01874 
01875 #define IPropertyDescription_GetPropertyType(This,pvartype)     \
01876     ( (This)->lpVtbl -> GetPropertyType(This,pvartype) ) 
01877 
01878 #define IPropertyDescription_GetDisplayName(This,ppszName)      \
01879     ( (This)->lpVtbl -> GetDisplayName(This,ppszName) ) 
01880 
01881 #define IPropertyDescription_GetEditInvitation(This,ppszInvite) \
01882     ( (This)->lpVtbl -> GetEditInvitation(This,ppszInvite) ) 
01883 
01884 #define IPropertyDescription_GetTypeFlags(This,mask,ppdtFlags)  \
01885     ( (This)->lpVtbl -> GetTypeFlags(This,mask,ppdtFlags) ) 
01886 
01887 #define IPropertyDescription_GetViewFlags(This,ppdvFlags)       \
01888     ( (This)->lpVtbl -> GetViewFlags(This,ppdvFlags) ) 
01889 
01890 #define IPropertyDescription_GetDefaultColumnWidth(This,pcxChars)       \
01891     ( (This)->lpVtbl -> GetDefaultColumnWidth(This,pcxChars) ) 
01892 
01893 #define IPropertyDescription_GetDisplayType(This,pdisplaytype)  \
01894     ( (This)->lpVtbl -> GetDisplayType(This,pdisplaytype) ) 
01895 
01896 #define IPropertyDescription_GetColumnState(This,pcsFlags)      \
01897     ( (This)->lpVtbl -> GetColumnState(This,pcsFlags) ) 
01898 
01899 #define IPropertyDescription_GetGroupingRange(This,pgr) \
01900     ( (This)->lpVtbl -> GetGroupingRange(This,pgr) ) 
01901 
01902 #define IPropertyDescription_GetRelativeDescriptionType(This,prdt)      \
01903     ( (This)->lpVtbl -> GetRelativeDescriptionType(This,prdt) ) 
01904 
01905 #define IPropertyDescription_GetRelativeDescription(This,propvar1,propvar2,ppszDesc1,ppszDesc2) \
01906     ( (This)->lpVtbl -> GetRelativeDescription(This,propvar1,propvar2,ppszDesc1,ppszDesc2) ) 
01907 
01908 #define IPropertyDescription_GetSortDescription(This,psd)       \
01909     ( (This)->lpVtbl -> GetSortDescription(This,psd) ) 
01910 
01911 #define IPropertyDescription_GetSortDescriptionLabel(This,fDescending,ppszDescription)  \
01912     ( (This)->lpVtbl -> GetSortDescriptionLabel(This,fDescending,ppszDescription) ) 
01913 
01914 #define IPropertyDescription_GetAggregationType(This,paggtype)  \
01915     ( (This)->lpVtbl -> GetAggregationType(This,paggtype) ) 
01916 
01917 #define IPropertyDescription_GetConditionType(This,pcontype,popDefault) \
01918     ( (This)->lpVtbl -> GetConditionType(This,pcontype,popDefault) ) 
01919 
01920 #define IPropertyDescription_GetEnumTypeList(This,riid,ppv)     \
01921     ( (This)->lpVtbl -> GetEnumTypeList(This,riid,ppv) ) 
01922 
01923 #define IPropertyDescription_CoerceToCanonicalValue(This,ppropvar)      \
01924     ( (This)->lpVtbl -> CoerceToCanonicalValue(This,ppropvar) ) 
01925 
01926 #define IPropertyDescription_FormatForDisplay(This,propvar,pdfFlags,ppszDisplay)        \
01927     ( (This)->lpVtbl -> FormatForDisplay(This,propvar,pdfFlags,ppszDisplay) ) 
01928 
01929 #define IPropertyDescription_IsValueCanonical(This,propvar)     \
01930     ( (This)->lpVtbl -> IsValueCanonical(This,propvar) ) 
01931 
01932 #endif /* COBJMACROS */
01933 
01934 
01935 #endif  /* C style interface */
01936 
01937 
01938 
01939 /* [call_as] */ HRESULT STDMETHODCALLTYPE IPropertyDescription_RemoteCoerceToCanonicalValue_Proxy( 
01940     IPropertyDescription * This,
01941     /* [in] */ __RPC__in REFPROPVARIANT propvar,
01942     /* [out] */ __RPC__out PROPVARIANT *ppropvar);
01943 
01944 
01945 void __RPC_STUB IPropertyDescription_RemoteCoerceToCanonicalValue_Stub(
01946     IRpcStubBuffer *This,
01947     IRpcChannelBuffer *_pRpcChannelBuffer,
01948     PRPC_MESSAGE _pRpcMessage,
01949     DWORD *_pdwStubPhase);
01950 
01951 
01952 
01953 #endif  /* __IPropertyDescription_INTERFACE_DEFINED__ */
01954 
01955 
01956 #ifndef __IPropertyDescriptionAliasInfo_INTERFACE_DEFINED__
01957 #define __IPropertyDescriptionAliasInfo_INTERFACE_DEFINED__
01958 
01959 /* interface IPropertyDescriptionAliasInfo */
01960 /* [unique][object][uuid] */ 
01961 
01962 
01963 EXTERN_C const IID IID_IPropertyDescriptionAliasInfo;
01964 
01965 #if defined(__cplusplus) && !defined(CINTERFACE)
01966     
01967     MIDL_INTERFACE("f67104fc-2af9-46fd-b32d-243c1404f3d1")
01968     IPropertyDescriptionAliasInfo : public IPropertyDescription
01969     {
01970     public:
01971         virtual HRESULT STDMETHODCALLTYPE GetSortByAlias( 
01972             /* [in] */ __RPC__in REFIID riid,
01973             /* [iid_is][out] */ __RPC__deref_out_opt void **ppv) = 0;
01974         
01975         virtual HRESULT STDMETHODCALLTYPE GetAdditionalSortByAliases( 
01976             /* [in] */ __RPC__in REFIID riid,
01977             /* [iid_is][out] */ __RPC__deref_out_opt void **ppv) = 0;
01978         
01979     };
01980     
01981 #else   /* C style interface */
01982 
01983     typedef struct IPropertyDescriptionAliasInfoVtbl
01984     {
01985         BEGIN_INTERFACE
01986         
01987         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
01988             IPropertyDescriptionAliasInfo * This,
01989             /* [in] */ __RPC__in REFIID riid,
01990             /* [iid_is][out] */ 
01991             __RPC__deref_out  void **ppvObject);
01992         
01993         ULONG ( STDMETHODCALLTYPE *AddRef )( 
01994             IPropertyDescriptionAliasInfo * This);
01995         
01996         ULONG ( STDMETHODCALLTYPE *Release )( 
01997             IPropertyDescriptionAliasInfo * This);
01998         
01999         HRESULT ( STDMETHODCALLTYPE *GetPropertyKey )( 
02000             IPropertyDescriptionAliasInfo * This,
02001             /* [out] */ __RPC__out PROPERTYKEY *pkey);
02002         
02003         HRESULT ( STDMETHODCALLTYPE *GetCanonicalName )( 
02004             IPropertyDescriptionAliasInfo * This,
02005             /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszName);
02006         
02007         HRESULT ( STDMETHODCALLTYPE *GetPropertyType )( 
02008             IPropertyDescriptionAliasInfo * This,
02009             /* [out] */ __RPC__out VARTYPE *pvartype);
02010         
02011         HRESULT ( STDMETHODCALLTYPE *GetDisplayName )( 
02012             IPropertyDescriptionAliasInfo * This,
02013             /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszName);
02014         
02015         HRESULT ( STDMETHODCALLTYPE *GetEditInvitation )( 
02016             IPropertyDescriptionAliasInfo * This,
02017             /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszInvite);
02018         
02019         HRESULT ( STDMETHODCALLTYPE *GetTypeFlags )( 
02020             IPropertyDescriptionAliasInfo * This,
02021             /* [in] */ PROPDESC_TYPE_FLAGS mask,
02022             /* [out] */ __RPC__out PROPDESC_TYPE_FLAGS *ppdtFlags);
02023         
02024         HRESULT ( STDMETHODCALLTYPE *GetViewFlags )( 
02025             IPropertyDescriptionAliasInfo * This,
02026             /* [out] */ __RPC__out PROPDESC_VIEW_FLAGS *ppdvFlags);
02027         
02028         HRESULT ( STDMETHODCALLTYPE *GetDefaultColumnWidth )( 
02029             IPropertyDescriptionAliasInfo * This,
02030             /* [out] */ __RPC__out UINT *pcxChars);
02031         
02032         HRESULT ( STDMETHODCALLTYPE *GetDisplayType )( 
02033             IPropertyDescriptionAliasInfo * This,
02034             /* [out] */ __RPC__out PROPDESC_DISPLAYTYPE *pdisplaytype);
02035         
02036         HRESULT ( STDMETHODCALLTYPE *GetColumnState )( 
02037             IPropertyDescriptionAliasInfo * This,
02038             /* [out] */ __RPC__out SHCOLSTATEF *pcsFlags);
02039         
02040         HRESULT ( STDMETHODCALLTYPE *GetGroupingRange )( 
02041             IPropertyDescriptionAliasInfo * This,
02042             /* [out] */ __RPC__out PROPDESC_GROUPING_RANGE *pgr);
02043         
02044         HRESULT ( STDMETHODCALLTYPE *GetRelativeDescriptionType )( 
02045             IPropertyDescriptionAliasInfo * This,
02046             /* [out] */ __RPC__out PROPDESC_RELATIVEDESCRIPTION_TYPE *prdt);
02047         
02048         HRESULT ( STDMETHODCALLTYPE *GetRelativeDescription )( 
02049             IPropertyDescriptionAliasInfo * This,
02050             /* [in] */ __RPC__in REFPROPVARIANT propvar1,
02051             /* [in] */ __RPC__in REFPROPVARIANT propvar2,
02052             /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszDesc1,
02053             /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszDesc2);
02054         
02055         HRESULT ( STDMETHODCALLTYPE *GetSortDescription )( 
02056             IPropertyDescriptionAliasInfo * This,
02057             /* [out] */ __RPC__out PROPDESC_SORTDESCRIPTION *psd);
02058         
02059         HRESULT ( STDMETHODCALLTYPE *GetSortDescriptionLabel )( 
02060             IPropertyDescriptionAliasInfo * This,
02061             /* [in] */ BOOL fDescending,
02062             /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszDescription);
02063         
02064         HRESULT ( STDMETHODCALLTYPE *GetAggregationType )( 
02065             IPropertyDescriptionAliasInfo * This,
02066             /* [out] */ __RPC__out PROPDESC_AGGREGATION_TYPE *paggtype);
02067         
02068         HRESULT ( STDMETHODCALLTYPE *GetConditionType )( 
02069             IPropertyDescriptionAliasInfo * This,
02070             /* [out] */ __RPC__out PROPDESC_CONDITION_TYPE *pcontype,
02071             /* [out] */ __RPC__out CONDITION_OPERATION *popDefault);
02072         
02073         HRESULT ( STDMETHODCALLTYPE *GetEnumTypeList )( 
02074             IPropertyDescriptionAliasInfo * This,
02075             /* [in] */ __RPC__in REFIID riid,
02076             /* [iid_is][out] */ __RPC__deref_out_opt void **ppv);
02077         
02078         /* [local] */ HRESULT ( STDMETHODCALLTYPE *CoerceToCanonicalValue )( 
02079             IPropertyDescriptionAliasInfo * This,
02080             /* [out][in] */ PROPVARIANT *ppropvar);
02081         
02082         HRESULT ( STDMETHODCALLTYPE *FormatForDisplay )( 
02083             IPropertyDescriptionAliasInfo * This,
02084             /* [in] */ __RPC__in REFPROPVARIANT propvar,
02085             /* [in] */ PROPDESC_FORMAT_FLAGS pdfFlags,
02086             /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszDisplay);
02087         
02088         HRESULT ( STDMETHODCALLTYPE *IsValueCanonical )( 
02089             IPropertyDescriptionAliasInfo * This,
02090             /* [in] */ __RPC__in REFPROPVARIANT propvar);
02091         
02092         HRESULT ( STDMETHODCALLTYPE *GetSortByAlias )( 
02093             IPropertyDescriptionAliasInfo * This,
02094             /* [in] */ __RPC__in REFIID riid,
02095             /* [iid_is][out] */ __RPC__deref_out_opt void **ppv);
02096         
02097         HRESULT ( STDMETHODCALLTYPE *GetAdditionalSortByAliases )( 
02098             IPropertyDescriptionAliasInfo * This,
02099             /* [in] */ __RPC__in REFIID riid,
02100             /* [iid_is][out] */ __RPC__deref_out_opt void **ppv);
02101         
02102         END_INTERFACE
02103     } IPropertyDescriptionAliasInfoVtbl;
02104 
02105     interface IPropertyDescriptionAliasInfo
02106     {
02107         CONST_VTBL struct IPropertyDescriptionAliasInfoVtbl *lpVtbl;
02108     };
02109 
02110     
02111 
02112 #ifdef COBJMACROS
02113 
02114 
02115 #define IPropertyDescriptionAliasInfo_QueryInterface(This,riid,ppvObject)       \
02116     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
02117 
02118 #define IPropertyDescriptionAliasInfo_AddRef(This)      \
02119     ( (This)->lpVtbl -> AddRef(This) ) 
02120 
02121 #define IPropertyDescriptionAliasInfo_Release(This)     \
02122     ( (This)->lpVtbl -> Release(This) ) 
02123 
02124 
02125 #define IPropertyDescriptionAliasInfo_GetPropertyKey(This,pkey) \
02126     ( (This)->lpVtbl -> GetPropertyKey(This,pkey) ) 
02127 
02128 #define IPropertyDescriptionAliasInfo_GetCanonicalName(This,ppszName)   \
02129     ( (This)->lpVtbl -> GetCanonicalName(This,ppszName) ) 
02130 
02131 #define IPropertyDescriptionAliasInfo_GetPropertyType(This,pvartype)    \
02132     ( (This)->lpVtbl -> GetPropertyType(This,pvartype) ) 
02133 
02134 #define IPropertyDescriptionAliasInfo_GetDisplayName(This,ppszName)     \
02135     ( (This)->lpVtbl -> GetDisplayName(This,ppszName) ) 
02136 
02137 #define IPropertyDescriptionAliasInfo_GetEditInvitation(This,ppszInvite)        \
02138     ( (This)->lpVtbl -> GetEditInvitation(This,ppszInvite) ) 
02139 
02140 #define IPropertyDescriptionAliasInfo_GetTypeFlags(This,mask,ppdtFlags) \
02141     ( (This)->lpVtbl -> GetTypeFlags(This,mask,ppdtFlags) ) 
02142 
02143 #define IPropertyDescriptionAliasInfo_GetViewFlags(This,ppdvFlags)      \
02144     ( (This)->lpVtbl -> GetViewFlags(This,ppdvFlags) ) 
02145 
02146 #define IPropertyDescriptionAliasInfo_GetDefaultColumnWidth(This,pcxChars)      \
02147     ( (This)->lpVtbl -> GetDefaultColumnWidth(This,pcxChars) ) 
02148 
02149 #define IPropertyDescriptionAliasInfo_GetDisplayType(This,pdisplaytype) \
02150     ( (This)->lpVtbl -> GetDisplayType(This,pdisplaytype) ) 
02151 
02152 #define IPropertyDescriptionAliasInfo_GetColumnState(This,pcsFlags)     \
02153     ( (This)->lpVtbl -> GetColumnState(This,pcsFlags) ) 
02154 
02155 #define IPropertyDescriptionAliasInfo_GetGroupingRange(This,pgr)        \
02156     ( (This)->lpVtbl -> GetGroupingRange(This,pgr) ) 
02157 
02158 #define IPropertyDescriptionAliasInfo_GetRelativeDescriptionType(This,prdt)     \
02159     ( (This)->lpVtbl -> GetRelativeDescriptionType(This,prdt) ) 
02160 
02161 #define IPropertyDescriptionAliasInfo_GetRelativeDescription(This,propvar1,propvar2,ppszDesc1,ppszDesc2)        \
02162     ( (This)->lpVtbl -> GetRelativeDescription(This,propvar1,propvar2,ppszDesc1,ppszDesc2) ) 
02163 
02164 #define IPropertyDescriptionAliasInfo_GetSortDescription(This,psd)      \
02165     ( (This)->lpVtbl -> GetSortDescription(This,psd) ) 
02166 
02167 #define IPropertyDescriptionAliasInfo_GetSortDescriptionLabel(This,fDescending,ppszDescription) \
02168     ( (This)->lpVtbl -> GetSortDescriptionLabel(This,fDescending,ppszDescription) ) 
02169 
02170 #define IPropertyDescriptionAliasInfo_GetAggregationType(This,paggtype) \
02171     ( (This)->lpVtbl -> GetAggregationType(This,paggtype) ) 
02172 
02173 #define IPropertyDescriptionAliasInfo_GetConditionType(This,pcontype,popDefault)        \
02174     ( (This)->lpVtbl -> GetConditionType(This,pcontype,popDefault) ) 
02175 
02176 #define IPropertyDescriptionAliasInfo_GetEnumTypeList(This,riid,ppv)    \
02177     ( (This)->lpVtbl -> GetEnumTypeList(This,riid,ppv) ) 
02178 
02179 #define IPropertyDescriptionAliasInfo_CoerceToCanonicalValue(This,ppropvar)     \
02180     ( (This)->lpVtbl -> CoerceToCanonicalValue(This,ppropvar) ) 
02181 
02182 #define IPropertyDescriptionAliasInfo_FormatForDisplay(This,propvar,pdfFlags,ppszDisplay)       \
02183     ( (This)->lpVtbl -> FormatForDisplay(This,propvar,pdfFlags,ppszDisplay) ) 
02184 
02185 #define IPropertyDescriptionAliasInfo_IsValueCanonical(This,propvar)    \
02186     ( (This)->lpVtbl -> IsValueCanonical(This,propvar) ) 
02187 
02188 
02189 #define IPropertyDescriptionAliasInfo_GetSortByAlias(This,riid,ppv)     \
02190     ( (This)->lpVtbl -> GetSortByAlias(This,riid,ppv) ) 
02191 
02192 #define IPropertyDescriptionAliasInfo_GetAdditionalSortByAliases(This,riid,ppv) \
02193     ( (This)->lpVtbl -> GetAdditionalSortByAliases(This,riid,ppv) ) 
02194 
02195 #endif /* COBJMACROS */
02196 
02197 
02198 #endif  /* C style interface */
02199 
02200 
02201 
02202 
02203 #endif  /* __IPropertyDescriptionAliasInfo_INTERFACE_DEFINED__ */
02204 
02205 
02206 #ifndef __IPropertyDescriptionSearchInfo_INTERFACE_DEFINED__
02207 #define __IPropertyDescriptionSearchInfo_INTERFACE_DEFINED__
02208 
02209 /* interface IPropertyDescriptionSearchInfo */
02210 /* [unique][object][uuid] */ 
02211 
02212 /* [v1_enum] */ 
02213 enum tagPROPDESC_SEARCHINFO_FLAGS
02214     {   PDSIF_DEFAULT   = 0,
02215         PDSIF_ININVERTEDINDEX   = 0x1,
02216         PDSIF_ISCOLUMN  = 0x2,
02217         PDSIF_ISCOLUMNSPARSE    = 0x4
02218     } ;
02219 typedef int PROPDESC_SEARCHINFO_FLAGS;
02220 
02221 typedef /* [v1_enum] */ 
02222 enum tagPROPDESC_COLUMNINDEX_TYPE
02223     {   PDCIT_NONE      = 0,
02224         PDCIT_ONDISK    = 1,
02225         PDCIT_INMEMORY  = 2
02226     }   PROPDESC_COLUMNINDEX_TYPE;
02227 
02228 
02229 EXTERN_C const IID IID_IPropertyDescriptionSearchInfo;
02230 
02231 #if defined(__cplusplus) && !defined(CINTERFACE)
02232     
02233     MIDL_INTERFACE("078f91bd-29a2-440f-924e-46a291524520")
02234     IPropertyDescriptionSearchInfo : public IPropertyDescription
02235     {
02236     public:
02237         virtual HRESULT STDMETHODCALLTYPE GetSearchInfoFlags( 
02238             /* [out] */ __RPC__out PROPDESC_SEARCHINFO_FLAGS *ppdsiFlags) = 0;
02239         
02240         virtual HRESULT STDMETHODCALLTYPE GetColumnIndexType( 
02241             /* [out] */ __RPC__out PROPDESC_COLUMNINDEX_TYPE *ppdciType) = 0;
02242         
02243         virtual HRESULT STDMETHODCALLTYPE GetProjectionString( 
02244             /* [out] */ __RPC__deref_out_opt LPWSTR *ppszProjection) = 0;
02245         
02246         virtual HRESULT STDMETHODCALLTYPE GetMaxSize( 
02247             /* [out] */ __RPC__out UINT *pcbMaxSize) = 0;
02248         
02249     };
02250     
02251 #else   /* C style interface */
02252 
02253     typedef struct IPropertyDescriptionSearchInfoVtbl
02254     {
02255         BEGIN_INTERFACE
02256         
02257         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
02258             IPropertyDescriptionSearchInfo * This,
02259             /* [in] */ __RPC__in REFIID riid,
02260             /* [iid_is][out] */ 
02261             __RPC__deref_out  void **ppvObject);
02262         
02263         ULONG ( STDMETHODCALLTYPE *AddRef )( 
02264             IPropertyDescriptionSearchInfo * This);
02265         
02266         ULONG ( STDMETHODCALLTYPE *Release )( 
02267             IPropertyDescriptionSearchInfo * This);
02268         
02269         HRESULT ( STDMETHODCALLTYPE *GetPropertyKey )( 
02270             IPropertyDescriptionSearchInfo * This,
02271             /* [out] */ __RPC__out PROPERTYKEY *pkey);
02272         
02273         HRESULT ( STDMETHODCALLTYPE *GetCanonicalName )( 
02274             IPropertyDescriptionSearchInfo * This,
02275             /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszName);
02276         
02277         HRESULT ( STDMETHODCALLTYPE *GetPropertyType )( 
02278             IPropertyDescriptionSearchInfo * This,
02279             /* [out] */ __RPC__out VARTYPE *pvartype);
02280         
02281         HRESULT ( STDMETHODCALLTYPE *GetDisplayName )( 
02282             IPropertyDescriptionSearchInfo * This,
02283             /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszName);
02284         
02285         HRESULT ( STDMETHODCALLTYPE *GetEditInvitation )( 
02286             IPropertyDescriptionSearchInfo * This,
02287             /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszInvite);
02288         
02289         HRESULT ( STDMETHODCALLTYPE *GetTypeFlags )( 
02290             IPropertyDescriptionSearchInfo * This,
02291             /* [in] */ PROPDESC_TYPE_FLAGS mask,
02292             /* [out] */ __RPC__out PROPDESC_TYPE_FLAGS *ppdtFlags);
02293         
02294         HRESULT ( STDMETHODCALLTYPE *GetViewFlags )( 
02295             IPropertyDescriptionSearchInfo * This,
02296             /* [out] */ __RPC__out PROPDESC_VIEW_FLAGS *ppdvFlags);
02297         
02298         HRESULT ( STDMETHODCALLTYPE *GetDefaultColumnWidth )( 
02299             IPropertyDescriptionSearchInfo * This,
02300             /* [out] */ __RPC__out UINT *pcxChars);
02301         
02302         HRESULT ( STDMETHODCALLTYPE *GetDisplayType )( 
02303             IPropertyDescriptionSearchInfo * This,
02304             /* [out] */ __RPC__out PROPDESC_DISPLAYTYPE *pdisplaytype);
02305         
02306         HRESULT ( STDMETHODCALLTYPE *GetColumnState )( 
02307             IPropertyDescriptionSearchInfo * This,
02308             /* [out] */ __RPC__out SHCOLSTATEF *pcsFlags);
02309         
02310         HRESULT ( STDMETHODCALLTYPE *GetGroupingRange )( 
02311             IPropertyDescriptionSearchInfo * This,
02312             /* [out] */ __RPC__out PROPDESC_GROUPING_RANGE *pgr);
02313         
02314         HRESULT ( STDMETHODCALLTYPE *GetRelativeDescriptionType )( 
02315             IPropertyDescriptionSearchInfo * This,
02316             /* [out] */ __RPC__out PROPDESC_RELATIVEDESCRIPTION_TYPE *prdt);
02317         
02318         HRESULT ( STDMETHODCALLTYPE *GetRelativeDescription )( 
02319             IPropertyDescriptionSearchInfo * This,
02320             /* [in] */ __RPC__in REFPROPVARIANT propvar1,
02321             /* [in] */ __RPC__in REFPROPVARIANT propvar2,
02322             /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszDesc1,
02323             /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszDesc2);
02324         
02325         HRESULT ( STDMETHODCALLTYPE *GetSortDescription )( 
02326             IPropertyDescriptionSearchInfo * This,
02327             /* [out] */ __RPC__out PROPDESC_SORTDESCRIPTION *psd);
02328         
02329         HRESULT ( STDMETHODCALLTYPE *GetSortDescriptionLabel )( 
02330             IPropertyDescriptionSearchInfo * This,
02331             /* [in] */ BOOL fDescending,
02332             /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszDescription);
02333         
02334         HRESULT ( STDMETHODCALLTYPE *GetAggregationType )( 
02335             IPropertyDescriptionSearchInfo * This,
02336             /* [out] */ __RPC__out PROPDESC_AGGREGATION_TYPE *paggtype);
02337         
02338         HRESULT ( STDMETHODCALLTYPE *GetConditionType )( 
02339             IPropertyDescriptionSearchInfo * This,
02340             /* [out] */ __RPC__out PROPDESC_CONDITION_TYPE *pcontype,
02341             /* [out] */ __RPC__out CONDITION_OPERATION *popDefault);
02342         
02343         HRESULT ( STDMETHODCALLTYPE *GetEnumTypeList )( 
02344             IPropertyDescriptionSearchInfo * This,
02345             /* [in] */ __RPC__in REFIID riid,
02346             /* [iid_is][out] */ __RPC__deref_out_opt void **ppv);
02347         
02348         /* [local] */ HRESULT ( STDMETHODCALLTYPE *CoerceToCanonicalValue )( 
02349             IPropertyDescriptionSearchInfo * This,
02350             /* [out][in] */ PROPVARIANT *ppropvar);
02351         
02352         HRESULT ( STDMETHODCALLTYPE *FormatForDisplay )( 
02353             IPropertyDescriptionSearchInfo * This,
02354             /* [in] */ __RPC__in REFPROPVARIANT propvar,
02355             /* [in] */ PROPDESC_FORMAT_FLAGS pdfFlags,
02356             /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszDisplay);
02357         
02358         HRESULT ( STDMETHODCALLTYPE *IsValueCanonical )( 
02359             IPropertyDescriptionSearchInfo * This,
02360             /* [in] */ __RPC__in REFPROPVARIANT propvar);
02361         
02362         HRESULT ( STDMETHODCALLTYPE *GetSearchInfoFlags )( 
02363             IPropertyDescriptionSearchInfo * This,
02364             /* [out] */ __RPC__out PROPDESC_SEARCHINFO_FLAGS *ppdsiFlags);
02365         
02366         HRESULT ( STDMETHODCALLTYPE *GetColumnIndexType )( 
02367             IPropertyDescriptionSearchInfo * This,
02368             /* [out] */ __RPC__out PROPDESC_COLUMNINDEX_TYPE *ppdciType);
02369         
02370         HRESULT ( STDMETHODCALLTYPE *GetProjectionString )( 
02371             IPropertyDescriptionSearchInfo * This,
02372             /* [out] */ __RPC__deref_out_opt LPWSTR *ppszProjection);
02373         
02374         HRESULT ( STDMETHODCALLTYPE *GetMaxSize )( 
02375             IPropertyDescriptionSearchInfo * This,
02376             /* [out] */ __RPC__out UINT *pcbMaxSize);
02377         
02378         END_INTERFACE
02379     } IPropertyDescriptionSearchInfoVtbl;
02380 
02381     interface IPropertyDescriptionSearchInfo
02382     {
02383         CONST_VTBL struct IPropertyDescriptionSearchInfoVtbl *lpVtbl;
02384     };
02385 
02386     
02387 
02388 #ifdef COBJMACROS
02389 
02390 
02391 #define IPropertyDescriptionSearchInfo_QueryInterface(This,riid,ppvObject)      \
02392     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
02393 
02394 #define IPropertyDescriptionSearchInfo_AddRef(This)     \
02395     ( (This)->lpVtbl -> AddRef(This) ) 
02396 
02397 #define IPropertyDescriptionSearchInfo_Release(This)    \
02398     ( (This)->lpVtbl -> Release(This) ) 
02399 
02400 
02401 #define IPropertyDescriptionSearchInfo_GetPropertyKey(This,pkey)        \
02402     ( (This)->lpVtbl -> GetPropertyKey(This,pkey) ) 
02403 
02404 #define IPropertyDescriptionSearchInfo_GetCanonicalName(This,ppszName)  \
02405     ( (This)->lpVtbl -> GetCanonicalName(This,ppszName) ) 
02406 
02407 #define IPropertyDescriptionSearchInfo_GetPropertyType(This,pvartype)   \
02408     ( (This)->lpVtbl -> GetPropertyType(This,pvartype) ) 
02409 
02410 #define IPropertyDescriptionSearchInfo_GetDisplayName(This,ppszName)    \
02411     ( (This)->lpVtbl -> GetDisplayName(This,ppszName) ) 
02412 
02413 #define IPropertyDescriptionSearchInfo_GetEditInvitation(This,ppszInvite)       \
02414     ( (This)->lpVtbl -> GetEditInvitation(This,ppszInvite) ) 
02415 
02416 #define IPropertyDescriptionSearchInfo_GetTypeFlags(This,mask,ppdtFlags)        \
02417     ( (This)->lpVtbl -> GetTypeFlags(This,mask,ppdtFlags) ) 
02418 
02419 #define IPropertyDescriptionSearchInfo_GetViewFlags(This,ppdvFlags)     \
02420     ( (This)->lpVtbl -> GetViewFlags(This,ppdvFlags) ) 
02421 
02422 #define IPropertyDescriptionSearchInfo_GetDefaultColumnWidth(This,pcxChars)     \
02423     ( (This)->lpVtbl -> GetDefaultColumnWidth(This,pcxChars) ) 
02424 
02425 #define IPropertyDescriptionSearchInfo_GetDisplayType(This,pdisplaytype)        \
02426     ( (This)->lpVtbl -> GetDisplayType(This,pdisplaytype) ) 
02427 
02428 #define IPropertyDescriptionSearchInfo_GetColumnState(This,pcsFlags)    \
02429     ( (This)->lpVtbl -> GetColumnState(This,pcsFlags) ) 
02430 
02431 #define IPropertyDescriptionSearchInfo_GetGroupingRange(This,pgr)       \
02432     ( (This)->lpVtbl -> GetGroupingRange(This,pgr) ) 
02433 
02434 #define IPropertyDescriptionSearchInfo_GetRelativeDescriptionType(This,prdt)    \
02435     ( (This)->lpVtbl -> GetRelativeDescriptionType(This,prdt) ) 
02436 
02437 #define IPropertyDescriptionSearchInfo_GetRelativeDescription(This,propvar1,propvar2,ppszDesc1,ppszDesc2)       \
02438     ( (This)->lpVtbl -> GetRelativeDescription(This,propvar1,propvar2,ppszDesc1,ppszDesc2) ) 
02439 
02440 #define IPropertyDescriptionSearchInfo_GetSortDescription(This,psd)     \
02441     ( (This)->lpVtbl -> GetSortDescription(This,psd) ) 
02442 
02443 #define IPropertyDescriptionSearchInfo_GetSortDescriptionLabel(This,fDescending,ppszDescription)        \
02444     ( (This)->lpVtbl -> GetSortDescriptionLabel(This,fDescending,ppszDescription) ) 
02445 
02446 #define IPropertyDescriptionSearchInfo_GetAggregationType(This,paggtype)        \
02447     ( (This)->lpVtbl -> GetAggregationType(This,paggtype) ) 
02448 
02449 #define IPropertyDescriptionSearchInfo_GetConditionType(This,pcontype,popDefault)       \
02450     ( (This)->lpVtbl -> GetConditionType(This,pcontype,popDefault) ) 
02451 
02452 #define IPropertyDescriptionSearchInfo_GetEnumTypeList(This,riid,ppv)   \
02453     ( (This)->lpVtbl -> GetEnumTypeList(This,riid,ppv) ) 
02454 
02455 #define IPropertyDescriptionSearchInfo_CoerceToCanonicalValue(This,ppropvar)    \
02456     ( (This)->lpVtbl -> CoerceToCanonicalValue(This,ppropvar) ) 
02457 
02458 #define IPropertyDescriptionSearchInfo_FormatForDisplay(This,propvar,pdfFlags,ppszDisplay)      \
02459     ( (This)->lpVtbl -> FormatForDisplay(This,propvar,pdfFlags,ppszDisplay) ) 
02460 
02461 #define IPropertyDescriptionSearchInfo_IsValueCanonical(This,propvar)   \
02462     ( (This)->lpVtbl -> IsValueCanonical(This,propvar) ) 
02463 
02464 
02465 #define IPropertyDescriptionSearchInfo_GetSearchInfoFlags(This,ppdsiFlags)      \
02466     ( (This)->lpVtbl -> GetSearchInfoFlags(This,ppdsiFlags) ) 
02467 
02468 #define IPropertyDescriptionSearchInfo_GetColumnIndexType(This,ppdciType)       \
02469     ( (This)->lpVtbl -> GetColumnIndexType(This,ppdciType) ) 
02470 
02471 #define IPropertyDescriptionSearchInfo_GetProjectionString(This,ppszProjection) \
02472     ( (This)->lpVtbl -> GetProjectionString(This,ppszProjection) ) 
02473 
02474 #define IPropertyDescriptionSearchInfo_GetMaxSize(This,pcbMaxSize)      \
02475     ( (This)->lpVtbl -> GetMaxSize(This,pcbMaxSize) ) 
02476 
02477 #endif /* COBJMACROS */
02478 
02479 
02480 #endif  /* C style interface */
02481 
02482 
02483 
02484 
02485 #endif  /* __IPropertyDescriptionSearchInfo_INTERFACE_DEFINED__ */
02486 
02487 
02488 /* interface __MIDL_itf_propsys_0000_0014 */
02489 /* [local] */ 
02490 
02491 /* [v1_enum] */ 
02492 enum tagPROPDESC_ENUMFILTER
02493     {   PDEF_ALL        = 0,
02494         PDEF_SYSTEM     = 1,
02495         PDEF_NONSYSTEM  = 2,
02496         PDEF_VIEWABLE   = 3,
02497         PDEF_QUERYABLE  = 4,
02498         PDEF_INFULLTEXTQUERY    = 5,
02499         PDEF_COLUMN     = 6
02500     } ;
02501 typedef enum tagPROPDESC_ENUMFILTER PROPDESC_ENUMFILTER;
02502 
02503 
02504 
02505 extern RPC_IF_HANDLE __MIDL_itf_propsys_0000_0014_v0_0_c_ifspec;
02506 extern RPC_IF_HANDLE __MIDL_itf_propsys_0000_0014_v0_0_s_ifspec;
02507 
02508 #ifndef __IPropertySystem_INTERFACE_DEFINED__
02509 #define __IPropertySystem_INTERFACE_DEFINED__
02510 
02511 /* interface IPropertySystem */
02512 /* [unique][object][uuid] */ 
02513 
02514 
02515 EXTERN_C const IID IID_IPropertySystem;
02516 
02517 #if defined(__cplusplus) && !defined(CINTERFACE)
02518     
02519     MIDL_INTERFACE("ca724e8a-c3e6-442b-88a4-6fb0db8035a3")
02520     IPropertySystem : public IUnknown
02521     {
02522     public:
02523         virtual HRESULT STDMETHODCALLTYPE GetPropertyDescription( 
02524             /* [in] */ __RPC__in REFPROPERTYKEY propkey,
02525             /* [in] */ __RPC__in REFIID riid,
02526             /* [iid_is][out] */ __RPC__deref_out_opt void **ppv) = 0;
02527         
02528         virtual HRESULT STDMETHODCALLTYPE GetPropertyDescriptionByName( 
02529             /* [string][in] */ __RPC__in LPCWSTR pszCanonicalName,
02530             /* [in] */ __RPC__in REFIID riid,
02531             /* [iid_is][out] */ __RPC__deref_out_opt void **ppv) = 0;
02532         
02533         virtual HRESULT STDMETHODCALLTYPE GetPropertyDescriptionListFromString( 
02534             /* [string][in] */ __RPC__in LPCWSTR pszPropList,
02535             /* [in] */ __RPC__in REFIID riid,
02536             /* [iid_is][out] */ __RPC__deref_out_opt void **ppv) = 0;
02537         
02538         virtual HRESULT STDMETHODCALLTYPE EnumeratePropertyDescriptions( 
02539             /* [in] */ PROPDESC_ENUMFILTER filterOn,
02540             /* [in] */ __RPC__in REFIID riid,
02541             /* [iid_is][out] */ __RPC__deref_out_opt void **ppv) = 0;
02542         
02543         virtual HRESULT STDMETHODCALLTYPE FormatForDisplay( 
02544             /* [in] */ __RPC__in REFPROPERTYKEY key,
02545             /* [in] */ __RPC__in REFPROPVARIANT propvar,
02546             /* [in] */ PROPDESC_FORMAT_FLAGS pdff,
02547             /* [size_is][string][out] */ __RPC__out_ecount_full_string(cchText) LPWSTR pszText,
02548             /* [in] */ DWORD cchText) = 0;
02549         
02550         virtual HRESULT STDMETHODCALLTYPE FormatForDisplayAlloc( 
02551             /* [in] */ __RPC__in REFPROPERTYKEY key,
02552             /* [in] */ __RPC__in REFPROPVARIANT propvar,
02553             /* [in] */ PROPDESC_FORMAT_FLAGS pdff,
02554             /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszDisplay) = 0;
02555         
02556         virtual HRESULT STDMETHODCALLTYPE RegisterPropertySchema( 
02557             /* [string][in] */ __RPC__in LPCWSTR pszPath) = 0;
02558         
02559         virtual HRESULT STDMETHODCALLTYPE UnregisterPropertySchema( 
02560             /* [string][in] */ __RPC__in LPCWSTR pszPath) = 0;
02561         
02562         virtual HRESULT STDMETHODCALLTYPE RefreshPropertySchema( void) = 0;
02563         
02564     };
02565     
02566 #else   /* C style interface */
02567 
02568     typedef struct IPropertySystemVtbl
02569     {
02570         BEGIN_INTERFACE
02571         
02572         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
02573             IPropertySystem * This,
02574             /* [in] */ __RPC__in REFIID riid,
02575             /* [iid_is][out] */ 
02576             __RPC__deref_out  void **ppvObject);
02577         
02578         ULONG ( STDMETHODCALLTYPE *AddRef )( 
02579             IPropertySystem * This);
02580         
02581         ULONG ( STDMETHODCALLTYPE *Release )( 
02582             IPropertySystem * This);
02583         
02584         HRESULT ( STDMETHODCALLTYPE *GetPropertyDescription )( 
02585             IPropertySystem * This,
02586             /* [in] */ __RPC__in REFPROPERTYKEY propkey,
02587             /* [in] */ __RPC__in REFIID riid,
02588             /* [iid_is][out] */ __RPC__deref_out_opt void **ppv);
02589         
02590         HRESULT ( STDMETHODCALLTYPE *GetPropertyDescriptionByName )( 
02591             IPropertySystem * This,
02592             /* [string][in] */ __RPC__in LPCWSTR pszCanonicalName,
02593             /* [in] */ __RPC__in REFIID riid,
02594             /* [iid_is][out] */ __RPC__deref_out_opt void **ppv);
02595         
02596         HRESULT ( STDMETHODCALLTYPE *GetPropertyDescriptionListFromString )( 
02597             IPropertySystem * This,
02598             /* [string][in] */ __RPC__in LPCWSTR pszPropList,
02599             /* [in] */ __RPC__in REFIID riid,
02600             /* [iid_is][out] */ __RPC__deref_out_opt void **ppv);
02601         
02602         HRESULT ( STDMETHODCALLTYPE *EnumeratePropertyDescriptions )( 
02603             IPropertySystem * This,
02604             /* [in] */ PROPDESC_ENUMFILTER filterOn,
02605             /* [in] */ __RPC__in REFIID riid,
02606             /* [iid_is][out] */ __RPC__deref_out_opt void **ppv);
02607         
02608         HRESULT ( STDMETHODCALLTYPE *FormatForDisplay )( 
02609             IPropertySystem * This,
02610             /* [in] */ __RPC__in REFPROPERTYKEY key,
02611             /* [in] */ __RPC__in REFPROPVARIANT propvar,
02612             /* [in] */ PROPDESC_FORMAT_FLAGS pdff,
02613             /* [size_is][string][out] */ __RPC__out_ecount_full_string(cchText) LPWSTR pszText,
02614             /* [in] */ DWORD cchText);
02615         
02616         HRESULT ( STDMETHODCALLTYPE *FormatForDisplayAlloc )( 
02617             IPropertySystem * This,
02618             /* [in] */ __RPC__in REFPROPERTYKEY key,
02619             /* [in] */ __RPC__in REFPROPVARIANT propvar,
02620             /* [in] */ PROPDESC_FORMAT_FLAGS pdff,
02621             /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszDisplay);
02622         
02623         HRESULT ( STDMETHODCALLTYPE *RegisterPropertySchema )( 
02624             IPropertySystem * This,
02625             /* [string][in] */ __RPC__in LPCWSTR pszPath);
02626         
02627         HRESULT ( STDMETHODCALLTYPE *UnregisterPropertySchema )( 
02628             IPropertySystem * This,
02629             /* [string][in] */ __RPC__in LPCWSTR pszPath);
02630         
02631         HRESULT ( STDMETHODCALLTYPE *RefreshPropertySchema )( 
02632             IPropertySystem * This);
02633         
02634         END_INTERFACE
02635     } IPropertySystemVtbl;
02636 
02637     interface IPropertySystem
02638     {
02639         CONST_VTBL struct IPropertySystemVtbl *lpVtbl;
02640     };
02641 
02642     
02643 
02644 #ifdef COBJMACROS
02645 
02646 
02647 #define IPropertySystem_QueryInterface(This,riid,ppvObject)     \
02648     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
02649 
02650 #define IPropertySystem_AddRef(This)    \
02651     ( (This)->lpVtbl -> AddRef(This) ) 
02652 
02653 #define IPropertySystem_Release(This)   \
02654     ( (This)->lpVtbl -> Release(This) ) 
02655 
02656 
02657 #define IPropertySystem_GetPropertyDescription(This,propkey,riid,ppv)   \
02658     ( (This)->lpVtbl -> GetPropertyDescription(This,propkey,riid,ppv) ) 
02659 
02660 #define IPropertySystem_GetPropertyDescriptionByName(This,pszCanonicalName,riid,ppv)    \
02661     ( (This)->lpVtbl -> GetPropertyDescriptionByName(This,pszCanonicalName,riid,ppv) ) 
02662 
02663 #define IPropertySystem_GetPropertyDescriptionListFromString(This,pszPropList,riid,ppv) \
02664     ( (This)->lpVtbl -> GetPropertyDescriptionListFromString(This,pszPropList,riid,ppv) ) 
02665 
02666 #define IPropertySystem_EnumeratePropertyDescriptions(This,filterOn,riid,ppv)   \
02667     ( (This)->lpVtbl -> EnumeratePropertyDescriptions(This,filterOn,riid,ppv) ) 
02668 
02669 #define IPropertySystem_FormatForDisplay(This,key,propvar,pdff,pszText,cchText) \
02670     ( (This)->lpVtbl -> FormatForDisplay(This,key,propvar,pdff,pszText,cchText) ) 
02671 
02672 #define IPropertySystem_FormatForDisplayAlloc(This,key,propvar,pdff,ppszDisplay)        \
02673     ( (This)->lpVtbl -> FormatForDisplayAlloc(This,key,propvar,pdff,ppszDisplay) ) 
02674 
02675 #define IPropertySystem_RegisterPropertySchema(This,pszPath)    \
02676     ( (This)->lpVtbl -> RegisterPropertySchema(This,pszPath) ) 
02677 
02678 #define IPropertySystem_UnregisterPropertySchema(This,pszPath)  \
02679     ( (This)->lpVtbl -> UnregisterPropertySchema(This,pszPath) ) 
02680 
02681 #define IPropertySystem_RefreshPropertySchema(This)     \
02682     ( (This)->lpVtbl -> RefreshPropertySchema(This) ) 
02683 
02684 #endif /* COBJMACROS */
02685 
02686 
02687 #endif  /* C style interface */
02688 
02689 
02690 
02691 
02692 #endif  /* __IPropertySystem_INTERFACE_DEFINED__ */
02693 
02694 
02695 #ifndef __IPropertyDescriptionList_INTERFACE_DEFINED__
02696 #define __IPropertyDescriptionList_INTERFACE_DEFINED__
02697 
02698 /* interface IPropertyDescriptionList */
02699 /* [unique][object][uuid] */ 
02700 
02701 
02702 EXTERN_C const IID IID_IPropertyDescriptionList;
02703 
02704 #if defined(__cplusplus) && !defined(CINTERFACE)
02705     
02706     MIDL_INTERFACE("1f9fc1d0-c39b-4b26-817f-011967d3440e")
02707     IPropertyDescriptionList : public IUnknown
02708     {
02709     public:
02710         virtual HRESULT STDMETHODCALLTYPE GetCount( 
02711             /* [out] */ __RPC__out UINT *pcElem) = 0;
02712         
02713         virtual HRESULT STDMETHODCALLTYPE GetAt( 
02714             /* [in] */ UINT iElem,
02715             /* [in] */ __RPC__in REFIID riid,
02716             /* [iid_is][out] */ __RPC__deref_out_opt void **ppv) = 0;
02717         
02718     };
02719     
02720 #else   /* C style interface */
02721 
02722     typedef struct IPropertyDescriptionListVtbl
02723     {
02724         BEGIN_INTERFACE
02725         
02726         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
02727             IPropertyDescriptionList * This,
02728             /* [in] */ __RPC__in REFIID riid,
02729             /* [iid_is][out] */ 
02730             __RPC__deref_out  void **ppvObject);
02731         
02732         ULONG ( STDMETHODCALLTYPE *AddRef )( 
02733             IPropertyDescriptionList * This);
02734         
02735         ULONG ( STDMETHODCALLTYPE *Release )( 
02736             IPropertyDescriptionList * This);
02737         
02738         HRESULT ( STDMETHODCALLTYPE *GetCount )( 
02739             IPropertyDescriptionList * This,
02740             /* [out] */ __RPC__out UINT *pcElem);
02741         
02742         HRESULT ( STDMETHODCALLTYPE *GetAt )( 
02743             IPropertyDescriptionList * This,
02744             /* [in] */ UINT iElem,
02745             /* [in] */ __RPC__in REFIID riid,
02746             /* [iid_is][out] */ __RPC__deref_out_opt void **ppv);
02747         
02748         END_INTERFACE
02749     } IPropertyDescriptionListVtbl;
02750 
02751     interface IPropertyDescriptionList
02752     {
02753         CONST_VTBL struct IPropertyDescriptionListVtbl *lpVtbl;
02754     };
02755 
02756     
02757 
02758 #ifdef COBJMACROS
02759 
02760 
02761 #define IPropertyDescriptionList_QueryInterface(This,riid,ppvObject)    \
02762     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
02763 
02764 #define IPropertyDescriptionList_AddRef(This)   \
02765     ( (This)->lpVtbl -> AddRef(This) ) 
02766 
02767 #define IPropertyDescriptionList_Release(This)  \
02768     ( (This)->lpVtbl -> Release(This) ) 
02769 
02770 
02771 #define IPropertyDescriptionList_GetCount(This,pcElem)  \
02772     ( (This)->lpVtbl -> GetCount(This,pcElem) ) 
02773 
02774 #define IPropertyDescriptionList_GetAt(This,iElem,riid,ppv)     \
02775     ( (This)->lpVtbl -> GetAt(This,iElem,riid,ppv) ) 
02776 
02777 #endif /* COBJMACROS */
02778 
02779 
02780 #endif  /* C style interface */
02781 
02782 
02783 
02784 
02785 #endif  /* __IPropertyDescriptionList_INTERFACE_DEFINED__ */
02786 
02787 
02788 #ifndef __IPropertyStoreFactory_INTERFACE_DEFINED__
02789 #define __IPropertyStoreFactory_INTERFACE_DEFINED__
02790 
02791 /* interface IPropertyStoreFactory */
02792 /* [unique][object][uuid] */ 
02793 
02794 
02795 EXTERN_C const IID IID_IPropertyStoreFactory;
02796 
02797 #if defined(__cplusplus) && !defined(CINTERFACE)
02798     
02799     MIDL_INTERFACE("bc110b6d-57e8-4148-a9c6-91015ab2f3a5")
02800     IPropertyStoreFactory : public IUnknown
02801     {
02802     public:
02803         virtual HRESULT STDMETHODCALLTYPE GetPropertyStore( 
02804             /* [in] */ GETPROPERTYSTOREFLAGS flags,
02805             /* [unique][in] */ __RPC__in_opt IUnknown *pUnkFactory,
02806             /* [in] */ __RPC__in REFIID riid,
02807             /* [iid_is][out] */ __RPC__deref_out_opt void **ppv) = 0;
02808         
02809         virtual HRESULT STDMETHODCALLTYPE GetPropertyStoreForKeys( 
02810             /* [unique][in] */ __RPC__in_opt const PROPERTYKEY *rgKeys,
02811             /* [in] */ UINT cKeys,
02812             /* [in] */ GETPROPERTYSTOREFLAGS flags,
02813             /* [in] */ __RPC__in REFIID riid,
02814             /* [iid_is][out] */ __RPC__deref_out_opt void **ppv) = 0;
02815         
02816     };
02817     
02818 #else   /* C style interface */
02819 
02820     typedef struct IPropertyStoreFactoryVtbl
02821     {
02822         BEGIN_INTERFACE
02823         
02824         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
02825             IPropertyStoreFactory * This,
02826             /* [in] */ __RPC__in REFIID riid,
02827             /* [iid_is][out] */ 
02828             __RPC__deref_out  void **ppvObject);
02829         
02830         ULONG ( STDMETHODCALLTYPE *AddRef )( 
02831             IPropertyStoreFactory * This);
02832         
02833         ULONG ( STDMETHODCALLTYPE *Release )( 
02834             IPropertyStoreFactory * This);
02835         
02836         HRESULT ( STDMETHODCALLTYPE *GetPropertyStore )( 
02837             IPropertyStoreFactory * This,
02838             /* [in] */ GETPROPERTYSTOREFLAGS flags,
02839             /* [unique][in] */ __RPC__in_opt IUnknown *pUnkFactory,
02840             /* [in] */ __RPC__in REFIID riid,
02841             /* [iid_is][out] */ __RPC__deref_out_opt void **ppv);
02842         
02843         HRESULT ( STDMETHODCALLTYPE *GetPropertyStoreForKeys )( 
02844             IPropertyStoreFactory * This,
02845             /* [unique][in] */ __RPC__in_opt const PROPERTYKEY *rgKeys,
02846             /* [in] */ UINT cKeys,
02847             /* [in] */ GETPROPERTYSTOREFLAGS flags,
02848             /* [in] */ __RPC__in REFIID riid,
02849             /* [iid_is][out] */ __RPC__deref_out_opt void **ppv);
02850         
02851         END_INTERFACE
02852     } IPropertyStoreFactoryVtbl;
02853 
02854     interface IPropertyStoreFactory
02855     {
02856         CONST_VTBL struct IPropertyStoreFactoryVtbl *lpVtbl;
02857     };
02858 
02859     
02860 
02861 #ifdef COBJMACROS
02862 
02863 
02864 #define IPropertyStoreFactory_QueryInterface(This,riid,ppvObject)       \
02865     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
02866 
02867 #define IPropertyStoreFactory_AddRef(This)      \
02868     ( (This)->lpVtbl -> AddRef(This) ) 
02869 
02870 #define IPropertyStoreFactory_Release(This)     \
02871     ( (This)->lpVtbl -> Release(This) ) 
02872 
02873 
02874 #define IPropertyStoreFactory_GetPropertyStore(This,flags,pUnkFactory,riid,ppv) \
02875     ( (This)->lpVtbl -> GetPropertyStore(This,flags,pUnkFactory,riid,ppv) ) 
02876 
02877 #define IPropertyStoreFactory_GetPropertyStoreForKeys(This,rgKeys,cKeys,flags,riid,ppv) \
02878     ( (This)->lpVtbl -> GetPropertyStoreForKeys(This,rgKeys,cKeys,flags,riid,ppv) ) 
02879 
02880 #endif /* COBJMACROS */
02881 
02882 
02883 #endif  /* C style interface */
02884 
02885 
02886 
02887 
02888 #endif  /* __IPropertyStoreFactory_INTERFACE_DEFINED__ */
02889 
02890 
02891 #ifndef __IDelayedPropertyStoreFactory_INTERFACE_DEFINED__
02892 #define __IDelayedPropertyStoreFactory_INTERFACE_DEFINED__
02893 
02894 /* interface IDelayedPropertyStoreFactory */
02895 /* [unique][object][uuid] */ 
02896 
02897 
02898 EXTERN_C const IID IID_IDelayedPropertyStoreFactory;
02899 
02900 #if defined(__cplusplus) && !defined(CINTERFACE)
02901     
02902     MIDL_INTERFACE("40d4577f-e237-4bdb-bd69-58f089431b6a")
02903     IDelayedPropertyStoreFactory : public IPropertyStoreFactory
02904     {
02905     public:
02906         virtual HRESULT STDMETHODCALLTYPE GetDelayedPropertyStore( 
02907             /* [in] */ GETPROPERTYSTOREFLAGS flags,
02908             /* [in] */ DWORD dwStoreId,
02909             /* [in] */ __RPC__in REFIID riid,
02910             /* [iid_is][out] */ __RPC__deref_out_opt void **ppv) = 0;
02911         
02912     };
02913     
02914 #else   /* C style interface */
02915 
02916     typedef struct IDelayedPropertyStoreFactoryVtbl
02917     {
02918         BEGIN_INTERFACE
02919         
02920         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
02921             IDelayedPropertyStoreFactory * This,
02922             /* [in] */ __RPC__in REFIID riid,
02923             /* [iid_is][out] */ 
02924             __RPC__deref_out  void **ppvObject);
02925         
02926         ULONG ( STDMETHODCALLTYPE *AddRef )( 
02927             IDelayedPropertyStoreFactory * This);
02928         
02929         ULONG ( STDMETHODCALLTYPE *Release )( 
02930             IDelayedPropertyStoreFactory * This);
02931         
02932         HRESULT ( STDMETHODCALLTYPE *GetPropertyStore )( 
02933             IDelayedPropertyStoreFactory * This,
02934             /* [in] */ GETPROPERTYSTOREFLAGS flags,
02935             /* [unique][in] */ __RPC__in_opt IUnknown *pUnkFactory,
02936             /* [in] */ __RPC__in REFIID riid,
02937             /* [iid_is][out] */ __RPC__deref_out_opt void **ppv);
02938         
02939         HRESULT ( STDMETHODCALLTYPE *GetPropertyStoreForKeys )( 
02940             IDelayedPropertyStoreFactory * This,
02941             /* [unique][in] */ __RPC__in_opt const PROPERTYKEY *rgKeys,
02942             /* [in] */ UINT cKeys,
02943             /* [in] */ GETPROPERTYSTOREFLAGS flags,
02944             /* [in] */ __RPC__in REFIID riid,
02945             /* [iid_is][out] */ __RPC__deref_out_opt void **ppv);
02946         
02947         HRESULT ( STDMETHODCALLTYPE *GetDelayedPropertyStore )( 
02948             IDelayedPropertyStoreFactory * This,
02949             /* [in] */ GETPROPERTYSTOREFLAGS flags,
02950             /* [in] */ DWORD dwStoreId,
02951             /* [in] */ __RPC__in REFIID riid,
02952             /* [iid_is][out] */ __RPC__deref_out_opt void **ppv);
02953         
02954         END_INTERFACE
02955     } IDelayedPropertyStoreFactoryVtbl;
02956 
02957     interface IDelayedPropertyStoreFactory
02958     {
02959         CONST_VTBL struct IDelayedPropertyStoreFactoryVtbl *lpVtbl;
02960     };
02961 
02962     
02963 
02964 #ifdef COBJMACROS
02965 
02966 
02967 #define IDelayedPropertyStoreFactory_QueryInterface(This,riid,ppvObject)        \
02968     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
02969 
02970 #define IDelayedPropertyStoreFactory_AddRef(This)       \
02971     ( (This)->lpVtbl -> AddRef(This) ) 
02972 
02973 #define IDelayedPropertyStoreFactory_Release(This)      \
02974     ( (This)->lpVtbl -> Release(This) ) 
02975 
02976 
02977 #define IDelayedPropertyStoreFactory_GetPropertyStore(This,flags,pUnkFactory,riid,ppv)  \
02978     ( (This)->lpVtbl -> GetPropertyStore(This,flags,pUnkFactory,riid,ppv) ) 
02979 
02980 #define IDelayedPropertyStoreFactory_GetPropertyStoreForKeys(This,rgKeys,cKeys,flags,riid,ppv)  \
02981     ( (This)->lpVtbl -> GetPropertyStoreForKeys(This,rgKeys,cKeys,flags,riid,ppv) ) 
02982 
02983 
02984 #define IDelayedPropertyStoreFactory_GetDelayedPropertyStore(This,flags,dwStoreId,riid,ppv)     \
02985     ( (This)->lpVtbl -> GetDelayedPropertyStore(This,flags,dwStoreId,riid,ppv) ) 
02986 
02987 #endif /* COBJMACROS */
02988 
02989 
02990 #endif  /* C style interface */
02991 
02992 
02993 
02994 
02995 #endif  /* __IDelayedPropertyStoreFactory_INTERFACE_DEFINED__ */
02996 
02997 
02998 /* interface __MIDL_itf_propsys_0000_0018 */
02999 /* [local] */ 
03000 
03001 /* [v1_enum] */ 
03002 enum tagPERSIST_SPROPSTORE_FLAGS
03003     {   FPSPS_READONLY  = 0x1
03004     } ;
03005 typedef int PERSIST_SPROPSTORE_FLAGS;
03006 
03007 typedef struct tagSERIALIZEDPROPSTORAGE SERIALIZEDPROPSTORAGE;
03008 
03009 typedef SERIALIZEDPROPSTORAGE __unaligned *PUSERIALIZEDPROPSTORAGE;
03010 
03011 typedef const SERIALIZEDPROPSTORAGE __unaligned *PCUSERIALIZEDPROPSTORAGE;
03012 
03013 
03014 
03015 extern RPC_IF_HANDLE __MIDL_itf_propsys_0000_0018_v0_0_c_ifspec;
03016 extern RPC_IF_HANDLE __MIDL_itf_propsys_0000_0018_v0_0_s_ifspec;
03017 
03018 #ifndef __IPersistSerializedPropStorage_INTERFACE_DEFINED__
03019 #define __IPersistSerializedPropStorage_INTERFACE_DEFINED__
03020 
03021 /* interface IPersistSerializedPropStorage */
03022 /* [object][local][unique][uuid] */ 
03023 
03024 
03025 EXTERN_C const IID IID_IPersistSerializedPropStorage;
03026 
03027 #if defined(__cplusplus) && !defined(CINTERFACE)
03028     
03029     MIDL_INTERFACE("e318ad57-0aa0-450f-aca5-6fab7103d917")
03030     IPersistSerializedPropStorage : public IUnknown
03031     {
03032     public:
03033         virtual HRESULT STDMETHODCALLTYPE SetFlags( 
03034             /* [in] */ PERSIST_SPROPSTORE_FLAGS flags) = 0;
03035         
03036         virtual HRESULT STDMETHODCALLTYPE SetPropertyStorage( 
03037             /* [in] */ 
03038             __in_bcount(cb)  PCUSERIALIZEDPROPSTORAGE psps,
03039             /* [in] */ 
03040             __in  DWORD cb) = 0;
03041         
03042         virtual HRESULT STDMETHODCALLTYPE GetPropertyStorage( 
03043             /* [out] */ 
03044             __deref_out_bcount(*pcb)  SERIALIZEDPROPSTORAGE **ppsps,
03045             /* [out] */ 
03046             __out  DWORD *pcb) = 0;
03047         
03048     };
03049     
03050 #else   /* C style interface */
03051 
03052     typedef struct IPersistSerializedPropStorageVtbl
03053     {
03054         BEGIN_INTERFACE
03055         
03056         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
03057             IPersistSerializedPropStorage * This,
03058             /* [in] */ REFIID riid,
03059             /* [iid_is][out] */ 
03060             __RPC__deref_out  void **ppvObject);
03061         
03062         ULONG ( STDMETHODCALLTYPE *AddRef )( 
03063             IPersistSerializedPropStorage * This);
03064         
03065         ULONG ( STDMETHODCALLTYPE *Release )( 
03066             IPersistSerializedPropStorage * This);
03067         
03068         HRESULT ( STDMETHODCALLTYPE *SetFlags )( 
03069             IPersistSerializedPropStorage * This,
03070             /* [in] */ PERSIST_SPROPSTORE_FLAGS flags);
03071         
03072         HRESULT ( STDMETHODCALLTYPE *SetPropertyStorage )( 
03073             IPersistSerializedPropStorage * This,
03074             /* [in] */ 
03075             __in_bcount(cb)  PCUSERIALIZEDPROPSTORAGE psps,
03076             /* [in] */ 
03077             __in  DWORD cb);
03078         
03079         HRESULT ( STDMETHODCALLTYPE *GetPropertyStorage )( 
03080             IPersistSerializedPropStorage * This,
03081             /* [out] */ 
03082             __deref_out_bcount(*pcb)  SERIALIZEDPROPSTORAGE **ppsps,
03083             /* [out] */ 
03084             __out  DWORD *pcb);
03085         
03086         END_INTERFACE
03087     } IPersistSerializedPropStorageVtbl;
03088 
03089     interface IPersistSerializedPropStorage
03090     {
03091         CONST_VTBL struct IPersistSerializedPropStorageVtbl *lpVtbl;
03092     };
03093 
03094     
03095 
03096 #ifdef COBJMACROS
03097 
03098 
03099 #define IPersistSerializedPropStorage_QueryInterface(This,riid,ppvObject)       \
03100     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
03101 
03102 #define IPersistSerializedPropStorage_AddRef(This)      \
03103     ( (This)->lpVtbl -> AddRef(This) ) 
03104 
03105 #define IPersistSerializedPropStorage_Release(This)     \
03106     ( (This)->lpVtbl -> Release(This) ) 
03107 
03108 
03109 #define IPersistSerializedPropStorage_SetFlags(This,flags)      \
03110     ( (This)->lpVtbl -> SetFlags(This,flags) ) 
03111 
03112 #define IPersistSerializedPropStorage_SetPropertyStorage(This,psps,cb)  \
03113     ( (This)->lpVtbl -> SetPropertyStorage(This,psps,cb) ) 
03114 
03115 #define IPersistSerializedPropStorage_GetPropertyStorage(This,ppsps,pcb)        \
03116     ( (This)->lpVtbl -> GetPropertyStorage(This,ppsps,pcb) ) 
03117 
03118 #endif /* COBJMACROS */
03119 
03120 
03121 #endif  /* C style interface */
03122 
03123 
03124 
03125 
03126 #endif  /* __IPersistSerializedPropStorage_INTERFACE_DEFINED__ */
03127 
03128 
03129 #ifndef __IPropertySystemChangeNotify_INTERFACE_DEFINED__
03130 #define __IPropertySystemChangeNotify_INTERFACE_DEFINED__
03131 
03132 /* interface IPropertySystemChangeNotify */
03133 /* [unique][object][uuid] */ 
03134 
03135 
03136 EXTERN_C const IID IID_IPropertySystemChangeNotify;
03137 
03138 #if defined(__cplusplus) && !defined(CINTERFACE)
03139     
03140     MIDL_INTERFACE("fa955fd9-38be-4879-a6ce-824cf52d609f")
03141     IPropertySystemChangeNotify : public IUnknown
03142     {
03143     public:
03144         virtual HRESULT STDMETHODCALLTYPE SchemaRefreshed( void) = 0;
03145         
03146     };
03147     
03148 #else   /* C style interface */
03149 
03150     typedef struct IPropertySystemChangeNotifyVtbl
03151     {
03152         BEGIN_INTERFACE
03153         
03154         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
03155             IPropertySystemChangeNotify * This,
03156             /* [in] */ __RPC__in REFIID riid,
03157             /* [iid_is][out] */ 
03158             __RPC__deref_out  void **ppvObject);
03159         
03160         ULONG ( STDMETHODCALLTYPE *AddRef )( 
03161             IPropertySystemChangeNotify * This);
03162         
03163         ULONG ( STDMETHODCALLTYPE *Release )( 
03164             IPropertySystemChangeNotify * This);
03165         
03166         HRESULT ( STDMETHODCALLTYPE *SchemaRefreshed )( 
03167             IPropertySystemChangeNotify * This);
03168         
03169         END_INTERFACE
03170     } IPropertySystemChangeNotifyVtbl;
03171 
03172     interface IPropertySystemChangeNotify
03173     {
03174         CONST_VTBL struct IPropertySystemChangeNotifyVtbl *lpVtbl;
03175     };
03176 
03177     
03178 
03179 #ifdef COBJMACROS
03180 
03181 
03182 #define IPropertySystemChangeNotify_QueryInterface(This,riid,ppvObject) \
03183     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
03184 
03185 #define IPropertySystemChangeNotify_AddRef(This)        \
03186     ( (This)->lpVtbl -> AddRef(This) ) 
03187 
03188 #define IPropertySystemChangeNotify_Release(This)       \
03189     ( (This)->lpVtbl -> Release(This) ) 
03190 
03191 
03192 #define IPropertySystemChangeNotify_SchemaRefreshed(This)       \
03193     ( (This)->lpVtbl -> SchemaRefreshed(This) ) 
03194 
03195 #endif /* COBJMACROS */
03196 
03197 
03198 #endif  /* C style interface */
03199 
03200 
03201 
03202 
03203 #endif  /* __IPropertySystemChangeNotify_INTERFACE_DEFINED__ */
03204 
03205 
03206 #ifndef __ICreateObject_INTERFACE_DEFINED__
03207 #define __ICreateObject_INTERFACE_DEFINED__
03208 
03209 /* interface ICreateObject */
03210 /* [object][unique][uuid] */ 
03211 
03212 
03213 EXTERN_C const IID IID_ICreateObject;
03214 
03215 #if defined(__cplusplus) && !defined(CINTERFACE)
03216     
03217     MIDL_INTERFACE("75121952-e0d0-43e5-9380-1d80483acf72")
03218     ICreateObject : public IUnknown
03219     {
03220     public:
03221         virtual HRESULT STDMETHODCALLTYPE CreateObject( 
03222             /* [in] */ __RPC__in REFCLSID clsid,
03223             /* [unique][in] */ __RPC__in_opt IUnknown *pUnkOuter,
03224             /* [in] */ __RPC__in REFIID riid,
03225             /* [iid_is][out] */ __RPC__deref_out_opt void **ppv) = 0;
03226         
03227     };
03228     
03229 #else   /* C style interface */
03230 
03231     typedef struct ICreateObjectVtbl
03232     {
03233         BEGIN_INTERFACE
03234         
03235         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
03236             ICreateObject * This,
03237             /* [in] */ __RPC__in REFIID riid,
03238             /* [iid_is][out] */ 
03239             __RPC__deref_out  void **ppvObject);
03240         
03241         ULONG ( STDMETHODCALLTYPE *AddRef )( 
03242             ICreateObject * This);
03243         
03244         ULONG ( STDMETHODCALLTYPE *Release )( 
03245             ICreateObject * This);
03246         
03247         HRESULT ( STDMETHODCALLTYPE *CreateObject )( 
03248             ICreateObject * This,
03249             /* [in] */ __RPC__in REFCLSID clsid,
03250             /* [unique][in] */ __RPC__in_opt IUnknown *pUnkOuter,
03251             /* [in] */ __RPC__in REFIID riid,
03252             /* [iid_is][out] */ __RPC__deref_out_opt void **ppv);
03253         
03254         END_INTERFACE
03255     } ICreateObjectVtbl;
03256 
03257     interface ICreateObject
03258     {
03259         CONST_VTBL struct ICreateObjectVtbl *lpVtbl;
03260     };
03261 
03262     
03263 
03264 #ifdef COBJMACROS
03265 
03266 
03267 #define ICreateObject_QueryInterface(This,riid,ppvObject)       \
03268     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
03269 
03270 #define ICreateObject_AddRef(This)      \
03271     ( (This)->lpVtbl -> AddRef(This) ) 
03272 
03273 #define ICreateObject_Release(This)     \
03274     ( (This)->lpVtbl -> Release(This) ) 
03275 
03276 
03277 #define ICreateObject_CreateObject(This,clsid,pUnkOuter,riid,ppv)       \
03278     ( (This)->lpVtbl -> CreateObject(This,clsid,pUnkOuter,riid,ppv) ) 
03279 
03280 #endif /* COBJMACROS */
03281 
03282 
03283 #endif  /* C style interface */
03284 
03285 
03286 
03287 
03288 #endif  /* __ICreateObject_INTERFACE_DEFINED__ */
03289 
03290 
03291 /* interface __MIDL_itf_propsys_0000_0021 */
03292 /* [local] */ 
03293 
03294 // Format a property value for display purposes
03295 PSSTDAPI PSFormatForDisplay(
03296     __in REFPROPERTYKEY propkey,
03297     __in REFPROPVARIANT propvar,
03298     __in PROPDESC_FORMAT_FLAGS pdfFlags,
03299     __out_ecount(cchText) LPWSTR pwszText,
03300     __in DWORD cchText);
03301 
03302 PSSTDAPI PSFormatForDisplayAlloc(
03303     __in REFPROPERTYKEY key,
03304     __in REFPROPVARIANT propvar,
03305     __in PROPDESC_FORMAT_FLAGS pdff,
03306     __deref_out PWSTR *ppszDisplay);
03307 
03308 PSSTDAPI PSFormatPropertyValue(
03309     __in IPropertyStore *pps,
03310     __in IPropertyDescription *ppd,
03311     __in PROPDESC_FORMAT_FLAGS pdff,
03312     __deref_out LPWSTR *ppszDisplay);
03313 
03314 
03315 #define PKEY_PIDSTR_MAX     10   // will take care of any long integer value
03316 #define GUIDSTRING_MAX      (1 + 8 + 1 + 4 + 1 + 4 + 1 + 4 + 1 + 12 + 1 + 1)  // "{12345678-1234-1234-1234-123456789012}"
03317 #define PKEYSTR_MAX         (GUIDSTRING_MAX + 1 + PKEY_PIDSTR_MAX)
03318 
03319 // Convert a PROPERTYKEY to and from a PWSTR
03320 PSSTDAPI PSStringFromPropertyKey(
03321     __in REFPROPERTYKEY pkey,
03322     __out_ecount(cch) LPWSTR psz,
03323     __in UINT cch);
03324 
03325 PSSTDAPI PSPropertyKeyFromString(
03326     __in LPCWSTR pszString,
03327     __out PROPERTYKEY *pkey);
03328 
03329 
03330 // Creates an in-memory property store
03331 // Returns an IPropertyStore, IPersistSerializedPropStorage, and related interfaces interface
03332 PSSTDAPI PSCreateMemoryPropertyStore(
03333     __in REFIID riid,
03334     __deref_out void **ppv);
03335 
03336 
03337 // Create a read-only, delay-bind multiplexing property store
03338 // Returns an IPropertyStore interface or related interfaces
03339 PSSTDAPI PSCreateDelayedMultiplexPropertyStore(
03340     __in GETPROPERTYSTOREFLAGS flags,
03341     __in IDelayedPropertyStoreFactory *pdpsf,
03342     __in_ecount(cStores) const DWORD *rgStoreIds,
03343     __in DWORD cStores,
03344     __in REFIID riid,
03345     __deref_out void **ppv);
03346 
03347 
03348 // Create a read-only property store from one or more sources (which each must support either IPropertyStore or IPropertySetStorage)
03349 // Returns an IPropertyStore interface or related interfaces
03350 PSSTDAPI PSCreateMultiplexPropertyStore(
03351     __in_ecount(cStores) IUnknown **prgpunkStores,
03352     __in DWORD cStores,
03353     __in REFIID riid,
03354     __deref_out void **ppv);
03355 
03356 
03357 // Create a container for IPropertyChanges
03358 // Returns an IPropertyChangeArray interface
03359 PSSTDAPI PSCreatePropertyChangeArray(
03360     __in_ecount_opt(cChanges) const PROPERTYKEY *rgpropkey,
03361     __in_ecount_opt(cChanges) const PKA_FLAGS *rgflags,
03362     __in_ecount_opt(cChanges) const PROPVARIANT *rgpropvar,
03363     __in UINT cChanges,
03364     __in REFIID riid,
03365     __deref_out void **ppv);
03366 
03367 
03368 // Create a simple property change
03369 // Returns an IPropertyChange interface
03370 PSSTDAPI PSCreateSimplePropertyChange(
03371     __in PKA_FLAGS flags,
03372     __in REFPROPERTYKEY key,
03373     __in REFPROPVARIANT propvar,
03374     __in REFIID riid,
03375     __deref_out void **ppv);
03376 
03377 
03378 // Get a property description
03379 // Returns an IPropertyDescription interface
03380 PSSTDAPI PSGetPropertyDescription(
03381     __in REFPROPERTYKEY propkey,
03382     __in REFIID riid,
03383     __deref_out void **ppv);
03384 
03385 PSSTDAPI PSGetPropertyDescriptionByName(
03386     __in LPCWSTR pszCanonicalName,
03387     __in REFIID riid,
03388     __deref_out void **ppv);
03389 
03390 
03391 // Lookup a per-machine registered file property handler
03392 PSSTDAPI PSLookupPropertyHandlerCLSID(
03393     __in PCWSTR pszFilePath,
03394     __out CLSID *pclsid);
03395 // Get a property handler, on Vista or downlevel to XP
03396 // punkItem is a shell item created with an SHCreateItemXXX API
03397 // Returns an IPropertyStore
03398 PSSTDAPI PSGetItemPropertyHandler(
03399     __in IUnknown *punkItem,
03400     __in BOOL fReadWrite,
03401     __in REFIID riid,
03402     __deref_out void **ppv);
03403 
03404 
03405 // Get a property handler, on Vista or downlevel to XP
03406 // punkItem is a shell item created with an SHCreateItemXXX API
03407 // punkCreateObject supports ICreateObject
03408 // Returns an IPropertyStore
03409 PSSTDAPI PSGetItemPropertyHandlerWithCreateObject(
03410     __in IUnknown *punkItem,
03411     __in BOOL fReadWrite,
03412     __in IUnknown *punkCreateObject,
03413     __in REFIID riid,
03414     __deref_out void **ppv);
03415 
03416 
03417 // Get or set a property value from a store
03418 PSSTDAPI PSGetPropertyValue(
03419     __in IPropertyStore *pps,
03420     __in IPropertyDescription *ppd,
03421     __out PROPVARIANT *ppropvar);
03422 
03423 PSSTDAPI PSSetPropertyValue(
03424     __in IPropertyStore *pps,
03425     __in IPropertyDescription *ppd,
03426     __in REFPROPVARIANT propvar);
03427 
03428 
03429 // Interact with the set of property descriptions
03430 PSSTDAPI PSRegisterPropertySchema(
03431     __in PCWSTR pszPath);
03432 
03433 PSSTDAPI PSUnregisterPropertySchema(
03434     __in PCWSTR pszPath);
03435 
03436 PSSTDAPI PSRefreshPropertySchema();
03437 
03438 // Returns either: IPropertyDescriptionList or IEnumUnknown interfaces
03439 PSSTDAPI PSEnumeratePropertyDescriptions(
03440     __in PROPDESC_ENUMFILTER filterOn,
03441     __in REFIID riid,
03442     __deref_out void **ppv);
03443 
03444 
03445 // Convert between a PROPERTYKEY and its canonical name
03446 PSSTDAPI PSGetPropertyKeyFromName(
03447     __in PCWSTR pszName,
03448     __out PROPERTYKEY *ppropkey);
03449 
03450 PSSTDAPI PSGetNameFromPropertyKey(
03451     __in REFPROPERTYKEY propkey,
03452     __deref_out PWSTR *ppszCanonicalName);
03453 
03454 
03455 // Coerce and canonicalize a property value
03456 PSSTDAPI PSCoerceToCanonicalValue(
03457     __in REFPROPERTYKEY key,
03458     __inout PROPVARIANT *ppropvar);
03459 
03460 
03461 // Convert a 'prop:' string into a list of property descriptions
03462 // Returns an IPropertyDescriptionList interface
03463 PSSTDAPI PSGetPropertyDescriptionListFromString(
03464     __in LPCWSTR pszPropList,
03465     __in REFIID riid,
03466     __deref_out void **ppv);
03467 
03468 
03469 // Wrap an IPropertySetStorage interface in an IPropertyStore interface
03470 // Returns an IPropertyStore or related interface
03471 PSSTDAPI PSCreatePropertyStoreFromPropertySetStorage(
03472     __in IPropertySetStorage *ppss,
03473     DWORD grfMode,
03474     REFIID riid,
03475     __deref_out void **ppv);
03476 
03477 
03478 // punkSource must support IPropertyStore or IPropertySetStorage
03479 // On success, the returned ppv is guaranteed to support IPropertyStore.
03480 // If punkSource already supports IPropertyStore, no wrapper is created.
03481 PSSTDAPI PSCreatePropertyStoreFromObject(
03482     __in IUnknown *punk,
03483     __in DWORD grfMode,
03484     __in REFIID riid,
03485     __deref_out void **ppv);
03486 
03487 
03488 // punkSource must support IPropertyStore
03489 // riid may be IPropertyStore, IPropertySetStorage, IPropertyStoreCapabilities, or IObjectProvider
03490 PSSTDAPI PSCreateAdapterFromPropertyStore(
03491     __in IPropertyStore *pps,
03492     __in REFIID riid,
03493     __deref_out void **ppv);
03494 
03495 
03496 // Talk to the property system using an interface
03497 // Returns an IPropertySystem interface
03498 PSSTDAPI PSGetPropertySystem(
03499     __in REFIID riid,
03500     __deref_out void **ppv);
03501 
03502 
03503 // Obtain a value from serialized property storage
03504 PSSTDAPI PSGetPropertyFromPropertyStorage(
03505     __in_bcount(cb) PCUSERIALIZEDPROPSTORAGE psps, 
03506     __in DWORD cb, 
03507     __in REFPROPERTYKEY rpkey, 
03508     __out PROPVARIANT *ppropvar);
03509 
03510 
03511 // Obtain a named value from serialized property storage
03512 PSSTDAPI PSGetNamedPropertyFromPropertyStorage(
03513     __in_bcount(cb) PCUSERIALIZEDPROPSTORAGE psps, 
03514     __in DWORD cb, 
03515     __in LPCWSTR pszName, 
03516     __out PROPVARIANT *ppropvar);
03517 
03518 
03519 
03520 
03521 extern RPC_IF_HANDLE __MIDL_itf_propsys_0000_0021_v0_0_c_ifspec;
03522 extern RPC_IF_HANDLE __MIDL_itf_propsys_0000_0021_v0_0_s_ifspec;
03523 
03524 
03525 #ifndef __PropSysObjects_LIBRARY_DEFINED__
03526 #define __PropSysObjects_LIBRARY_DEFINED__
03527 
03528 /* library PropSysObjects */
03529 /* [version][lcid][uuid] */ 
03530 
03531 
03532 EXTERN_C const IID LIBID_PropSysObjects;
03533 
03534 EXTERN_C const CLSID CLSID_InMemoryPropertyStore;
03535 
03536 #ifdef __cplusplus
03537 
03538 class DECLSPEC_UUID("9a02e012-6303-4e1e-b9a1-630f802592c5")
03539 InMemoryPropertyStore;
03540 #endif
03541 
03542 EXTERN_C const CLSID CLSID_PropertySystem;
03543 
03544 #ifdef __cplusplus
03545 
03546 class DECLSPEC_UUID("b8967f85-58ae-4f46-9fb2-5d7904798f4b")
03547 PropertySystem;
03548 #endif
03549 #endif /* __PropSysObjects_LIBRARY_DEFINED__ */
03550 
03551 /* Additional Prototypes for ALL interfaces */
03552 
03553 unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 
03554 unsigned char * __RPC_USER  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 
03555 unsigned char * __RPC_USER  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 
03556 void                      __RPC_USER  BSTR_UserFree(     unsigned long *, BSTR * ); 
03557 
03558 unsigned long             __RPC_USER  LPSAFEARRAY_UserSize(     unsigned long *, unsigned long            , LPSAFEARRAY * ); 
03559 unsigned char * __RPC_USER  LPSAFEARRAY_UserMarshal(  unsigned long *, unsigned char *, LPSAFEARRAY * ); 
03560 unsigned char * __RPC_USER  LPSAFEARRAY_UserUnmarshal(unsigned long *, unsigned char *, LPSAFEARRAY * ); 
03561 void                      __RPC_USER  LPSAFEARRAY_UserFree(     unsigned long *, LPSAFEARRAY * ); 
03562 
03563 unsigned long             __RPC_USER  BSTR_UserSize64(     unsigned long *, unsigned long            , BSTR * ); 
03564 unsigned char * __RPC_USER  BSTR_UserMarshal64(  unsigned long *, unsigned char *, BSTR * ); 
03565 unsigned char * __RPC_USER  BSTR_UserUnmarshal64(unsigned long *, unsigned char *, BSTR * ); 
03566 void                      __RPC_USER  BSTR_UserFree64(     unsigned long *, BSTR * ); 
03567 
03568 unsigned long             __RPC_USER  LPSAFEARRAY_UserSize64(     unsigned long *, unsigned long            , LPSAFEARRAY * ); 
03569 unsigned char * __RPC_USER  LPSAFEARRAY_UserMarshal64(  unsigned long *, unsigned char *, LPSAFEARRAY * ); 
03570 unsigned char * __RPC_USER  LPSAFEARRAY_UserUnmarshal64(unsigned long *, unsigned char *, LPSAFEARRAY * ); 
03571 void                      __RPC_USER  LPSAFEARRAY_UserFree64(     unsigned long *, LPSAFEARRAY * ); 
03572 
03573 /* [local] */ HRESULT STDMETHODCALLTYPE IInitializeWithStream_Initialize_Proxy( 
03574     IInitializeWithStream * This,
03575     /* [in] */ IStream *pstream,
03576     /* [in] */ DWORD grfMode);
03577 
03578 
03579 /* [call_as] */ HRESULT STDMETHODCALLTYPE IInitializeWithStream_Initialize_Stub( 
03580     IInitializeWithStream * This,
03581     /* [in] */ __RPC__in_opt IStream *pstream,
03582     /* [in] */ DWORD grfMode);
03583 
03584 /* [local] */ HRESULT STDMETHODCALLTYPE IPropertyDescription_CoerceToCanonicalValue_Proxy( 
03585     IPropertyDescription * This,
03586     /* [out][in] */ PROPVARIANT *ppropvar);
03587 
03588 
03589 /* [call_as] */ HRESULT STDMETHODCALLTYPE IPropertyDescription_CoerceToCanonicalValue_Stub( 
03590     IPropertyDescription * This,
03591     /* [in] */ __RPC__in REFPROPVARIANT propvar,
03592     /* [out] */ __RPC__out PROPVARIANT *ppropvar);
03593 
03594 
03595 
03596 /* end of Additional Prototypes */
03597 
03598 #ifdef __cplusplus
03599 }
03600 #endif
03601 
03602 #endif
03603 
03604 
03605 

Generated for PortAudio by  doxygen1.7.4