00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #pragma warning( disable: 4049 )
00018
00019
00020
00021 #ifndef __REQUIRED_RPCNDR_H_VERSION__
00022 #define __REQUIRED_RPCNDR_H_VERSION__ 475
00023 #endif
00024
00025
00026 #ifndef __REQUIRED_RPCSAL_H_VERSION__
00027 #define __REQUIRED_RPCSAL_H_VERSION__ 100
00028 #endif
00029
00030 #include "rpc.h"
00031 #include "rpcndr.h"
00032
00033 #ifndef __RPCNDR_H_VERSION__
00034 #error this stub requires an updated version of <rpcndr.h>
00035 #endif // __RPCNDR_H_VERSION__
00036
00037 #ifndef COM_NO_WINDOWS_H
00038 #include "windows.h"
00039 #include "ole2.h"
00040 #endif
00041
00042 #ifndef __propsys_h__
00043 #define __propsys_h__
00044
00045 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
00046 #pragma once
00047 #endif
00048
00049
00050
00051 #ifndef __IInitializeWithFile_FWD_DEFINED__
00052 #define __IInitializeWithFile_FWD_DEFINED__
00053 typedef interface IInitializeWithFile IInitializeWithFile;
00054 #endif
00055
00056
00057 #ifndef __IInitializeWithStream_FWD_DEFINED__
00058 #define __IInitializeWithStream_FWD_DEFINED__
00059 typedef interface IInitializeWithStream IInitializeWithStream;
00060 #endif
00061
00062
00063 #ifndef __IPropertyStore_FWD_DEFINED__
00064 #define __IPropertyStore_FWD_DEFINED__
00065 typedef interface IPropertyStore IPropertyStore;
00066 #endif
00067
00068
00069 #ifndef __INamedPropertyStore_FWD_DEFINED__
00070 #define __INamedPropertyStore_FWD_DEFINED__
00071 typedef interface INamedPropertyStore INamedPropertyStore;
00072 #endif
00073
00074
00075 #ifndef __IObjectWithPropertyKey_FWD_DEFINED__
00076 #define __IObjectWithPropertyKey_FWD_DEFINED__
00077 typedef interface IObjectWithPropertyKey IObjectWithPropertyKey;
00078 #endif
00079
00080
00081 #ifndef __IPropertyChange_FWD_DEFINED__
00082 #define __IPropertyChange_FWD_DEFINED__
00083 typedef interface IPropertyChange IPropertyChange;
00084 #endif
00085
00086
00087 #ifndef __IPropertyChangeArray_FWD_DEFINED__
00088 #define __IPropertyChangeArray_FWD_DEFINED__
00089 typedef interface IPropertyChangeArray IPropertyChangeArray;
00090 #endif
00091
00092
00093 #ifndef __IPropertyStoreCapabilities_FWD_DEFINED__
00094 #define __IPropertyStoreCapabilities_FWD_DEFINED__
00095 typedef interface IPropertyStoreCapabilities IPropertyStoreCapabilities;
00096 #endif
00097
00098
00099 #ifndef __IPropertyStoreCache_FWD_DEFINED__
00100 #define __IPropertyStoreCache_FWD_DEFINED__
00101 typedef interface IPropertyStoreCache IPropertyStoreCache;
00102 #endif
00103
00104
00105 #ifndef __IPropertyEnumType_FWD_DEFINED__
00106 #define __IPropertyEnumType_FWD_DEFINED__
00107 typedef interface IPropertyEnumType IPropertyEnumType;
00108 #endif
00109
00110
00111 #ifndef __IPropertyEnumTypeList_FWD_DEFINED__
00112 #define __IPropertyEnumTypeList_FWD_DEFINED__
00113 typedef interface IPropertyEnumTypeList IPropertyEnumTypeList;
00114 #endif
00115
00116
00117 #ifndef __IPropertyDescription_FWD_DEFINED__
00118 #define __IPropertyDescription_FWD_DEFINED__
00119 typedef interface IPropertyDescription IPropertyDescription;
00120 #endif
00121
00122
00123 #ifndef __IPropertyDescriptionAliasInfo_FWD_DEFINED__
00124 #define __IPropertyDescriptionAliasInfo_FWD_DEFINED__
00125 typedef interface IPropertyDescriptionAliasInfo IPropertyDescriptionAliasInfo;
00126 #endif
00127
00128
00129 #ifndef __IPropertyDescriptionSearchInfo_FWD_DEFINED__
00130 #define __IPropertyDescriptionSearchInfo_FWD_DEFINED__
00131 typedef interface IPropertyDescriptionSearchInfo IPropertyDescriptionSearchInfo;
00132 #endif
00133
00134
00135 #ifndef __IPropertySystem_FWD_DEFINED__
00136 #define __IPropertySystem_FWD_DEFINED__
00137 typedef interface IPropertySystem IPropertySystem;
00138 #endif
00139
00140
00141 #ifndef __IPropertyDescriptionList_FWD_DEFINED__
00142 #define __IPropertyDescriptionList_FWD_DEFINED__
00143 typedef interface IPropertyDescriptionList IPropertyDescriptionList;
00144 #endif
00145
00146
00147 #ifndef __IPropertyStoreFactory_FWD_DEFINED__
00148 #define __IPropertyStoreFactory_FWD_DEFINED__
00149 typedef interface IPropertyStoreFactory IPropertyStoreFactory;
00150 #endif
00151
00152
00153 #ifndef __IDelayedPropertyStoreFactory_FWD_DEFINED__
00154 #define __IDelayedPropertyStoreFactory_FWD_DEFINED__
00155 typedef interface IDelayedPropertyStoreFactory IDelayedPropertyStoreFactory;
00156 #endif
00157
00158
00159 #ifndef __IPersistSerializedPropStorage_FWD_DEFINED__
00160 #define __IPersistSerializedPropStorage_FWD_DEFINED__
00161 typedef interface IPersistSerializedPropStorage IPersistSerializedPropStorage;
00162 #endif
00163
00164
00165 #ifndef __IPropertySystemChangeNotify_FWD_DEFINED__
00166 #define __IPropertySystemChangeNotify_FWD_DEFINED__
00167 typedef interface IPropertySystemChangeNotify IPropertySystemChangeNotify;
00168 #endif
00169
00170
00171 #ifndef __ICreateObject_FWD_DEFINED__
00172 #define __ICreateObject_FWD_DEFINED__
00173 typedef interface ICreateObject ICreateObject;
00174 #endif
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
00185
00186 #endif
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
00197
00198 #endif
00199
00200
00201
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
00214
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
00239
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 __RPC__in LPCWSTR pszFilePath,
00252 DWORD grfMode) = 0;
00253
00254 };
00255
00256 #else
00257
00258 typedef struct IInitializeWithFileVtbl
00259 {
00260 BEGIN_INTERFACE
00261
00262 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
00263 IInitializeWithFile * This,
00264 __RPC__in REFIID riid,
00265
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 __RPC__in LPCWSTR pszFilePath,
00277 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
00306
00307
00308 #endif
00309
00310
00311
00312
00313 #endif
00314
00315
00316 #ifndef __IInitializeWithStream_INTERFACE_DEFINED__
00317 #define __IInitializeWithStream_INTERFACE_DEFINED__
00318
00319
00320
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 HRESULT STDMETHODCALLTYPE Initialize(
00332 IStream *pstream,
00333 DWORD grfMode) = 0;
00334
00335 };
00336
00337 #else
00338
00339 typedef struct IInitializeWithStreamVtbl
00340 {
00341 BEGIN_INTERFACE
00342
00343 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
00344 IInitializeWithStream * This,
00345 __RPC__in REFIID riid,
00346
00347 __RPC__deref_out void **ppvObject);
00348
00349 ULONG ( STDMETHODCALLTYPE *AddRef )(
00350 IInitializeWithStream * This);
00351
00352 ULONG ( STDMETHODCALLTYPE *Release )(
00353 IInitializeWithStream * This);
00354
00355 HRESULT ( STDMETHODCALLTYPE *Initialize )(
00356 IInitializeWithStream * This,
00357 IStream *pstream,
00358 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
00387
00388
00389 #endif
00390
00391
00392
00393 HRESULT STDMETHODCALLTYPE IInitializeWithStream_RemoteInitialize_Proxy(
00394 IInitializeWithStream * This,
00395 __RPC__in_opt IStream *pstream,
00396 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
00408
00409
00410 #ifndef __IPropertyStore_INTERFACE_DEFINED__
00411 #define __IPropertyStore_INTERFACE_DEFINED__
00412
00413
00414
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 __RPC__out DWORD *cProps) = 0;
00427
00428 virtual HRESULT STDMETHODCALLTYPE GetAt(
00429 DWORD iProp,
00430 __RPC__out PROPERTYKEY *pkey) = 0;
00431
00432 virtual HRESULT STDMETHODCALLTYPE GetValue(
00433 __RPC__in REFPROPERTYKEY key,
00434 __RPC__out PROPVARIANT *pv) = 0;
00435
00436 virtual HRESULT STDMETHODCALLTYPE SetValue(
00437 __RPC__in REFPROPERTYKEY key,
00438 __RPC__in REFPROPVARIANT propvar) = 0;
00439
00440 virtual HRESULT STDMETHODCALLTYPE Commit( void) = 0;
00441
00442 };
00443
00444 #else
00445
00446 typedef struct IPropertyStoreVtbl
00447 {
00448 BEGIN_INTERFACE
00449
00450 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
00451 IPropertyStore * This,
00452 __RPC__in REFIID riid,
00453
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 __RPC__out DWORD *cProps);
00465
00466 HRESULT ( STDMETHODCALLTYPE *GetAt )(
00467 IPropertyStore * This,
00468 DWORD iProp,
00469 __RPC__out PROPERTYKEY *pkey);
00470
00471 HRESULT ( STDMETHODCALLTYPE *GetValue )(
00472 IPropertyStore * This,
00473 __RPC__in REFPROPERTYKEY key,
00474 __RPC__out PROPVARIANT *pv);
00475
00476 HRESULT ( STDMETHODCALLTYPE *SetValue )(
00477 IPropertyStore * This,
00478 __RPC__in REFPROPERTYKEY key,
00479 __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
00523
00524
00525 #endif
00526
00527
00528
00529
00530 #endif
00531
00532
00533
00534
00535
00536 typedef __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
00547
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 __RPC__in LPCWSTR pszName,
00560 __RPC__out PROPVARIANT *ppropvar) = 0;
00561
00562 virtual HRESULT STDMETHODCALLTYPE SetNamedValue(
00563 __RPC__in LPCWSTR pszName,
00564 __RPC__in REFPROPVARIANT propvar) = 0;
00565
00566 virtual HRESULT STDMETHODCALLTYPE GetNameCount(
00567 __RPC__out DWORD *pdwCount) = 0;
00568
00569 virtual HRESULT STDMETHODCALLTYPE GetNameAt(
00570 DWORD iProp,
00571 __RPC__deref_out_opt BSTR *pbstrName) = 0;
00572
00573 };
00574
00575 #else
00576
00577 typedef struct INamedPropertyStoreVtbl
00578 {
00579 BEGIN_INTERFACE
00580
00581 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
00582 INamedPropertyStore * This,
00583 __RPC__in REFIID riid,
00584
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 __RPC__in LPCWSTR pszName,
00596 __RPC__out PROPVARIANT *ppropvar);
00597
00598 HRESULT ( STDMETHODCALLTYPE *SetNamedValue )(
00599 INamedPropertyStore * This,
00600 __RPC__in LPCWSTR pszName,
00601 __RPC__in REFPROPVARIANT propvar);
00602
00603 HRESULT ( STDMETHODCALLTYPE *GetNameCount )(
00604 INamedPropertyStore * This,
00605 __RPC__out DWORD *pdwCount);
00606
00607 HRESULT ( STDMETHODCALLTYPE *GetNameAt )(
00608 INamedPropertyStore * This,
00609 DWORD iProp,
00610 __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
00648
00649
00650 #endif
00651
00652
00653
00654
00655 #endif
00656
00657
00658
00659
00660
00661
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
00684
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 __RPC__in REFPROPERTYKEY key) = 0;
00697
00698 virtual HRESULT STDMETHODCALLTYPE GetPropertyKey(
00699 __RPC__out PROPERTYKEY *pkey) = 0;
00700
00701 };
00702
00703 #else
00704
00705 typedef struct IObjectWithPropertyKeyVtbl
00706 {
00707 BEGIN_INTERFACE
00708
00709 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
00710 IObjectWithPropertyKey * This,
00711 __RPC__in REFIID riid,
00712
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 __RPC__in REFPROPERTYKEY key);
00724
00725 HRESULT ( STDMETHODCALLTYPE *GetPropertyKey )(
00726 IObjectWithPropertyKey * This,
00727 __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
00759
00760
00761 #endif
00762
00763
00764
00765
00766 #endif
00767
00768
00769
00770
00771
00772 typedef
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
00788
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 __RPC__in REFPROPVARIANT propvarIn,
00801 __RPC__out PROPVARIANT *ppropvarOut) = 0;
00802
00803 };
00804
00805 #else
00806
00807 typedef struct IPropertyChangeVtbl
00808 {
00809 BEGIN_INTERFACE
00810
00811 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
00812 IPropertyChange * This,
00813 __RPC__in REFIID riid,
00814
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 __RPC__in REFPROPERTYKEY key);
00826
00827 HRESULT ( STDMETHODCALLTYPE *GetPropertyKey )(
00828 IPropertyChange * This,
00829 __RPC__out PROPERTYKEY *pkey);
00830
00831 HRESULT ( STDMETHODCALLTYPE *ApplyToPropVariant )(
00832 IPropertyChange * This,
00833 __RPC__in REFPROPVARIANT propvarIn,
00834 __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
00870
00871
00872 #endif
00873
00874
00875
00876
00877 #endif
00878
00879
00880 #ifndef __IPropertyChangeArray_INTERFACE_DEFINED__
00881 #define __IPropertyChangeArray_INTERFACE_DEFINED__
00882
00883
00884
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 __RPC__out UINT *pcOperations) = 0;
00897
00898 virtual HRESULT STDMETHODCALLTYPE GetAt(
00899 UINT iIndex,
00900 __RPC__in REFIID riid,
00901 __RPC__deref_out_opt void **ppv) = 0;
00902
00903 virtual HRESULT STDMETHODCALLTYPE InsertAt(
00904 UINT iIndex,
00905 __RPC__in_opt IPropertyChange *ppropChange) = 0;
00906
00907 virtual HRESULT STDMETHODCALLTYPE Append(
00908 __RPC__in_opt IPropertyChange *ppropChange) = 0;
00909
00910 virtual HRESULT STDMETHODCALLTYPE AppendOrReplace(
00911 __RPC__in_opt IPropertyChange *ppropChange) = 0;
00912
00913 virtual HRESULT STDMETHODCALLTYPE RemoveAt(
00914 UINT iIndex) = 0;
00915
00916 virtual HRESULT STDMETHODCALLTYPE IsKeyInArray(
00917 __RPC__in REFPROPERTYKEY key) = 0;
00918
00919 };
00920
00921 #else
00922
00923 typedef struct IPropertyChangeArrayVtbl
00924 {
00925 BEGIN_INTERFACE
00926
00927 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
00928 IPropertyChangeArray * This,
00929 __RPC__in REFIID riid,
00930
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 __RPC__out UINT *pcOperations);
00942
00943 HRESULT ( STDMETHODCALLTYPE *GetAt )(
00944 IPropertyChangeArray * This,
00945 UINT iIndex,
00946 __RPC__in REFIID riid,
00947 __RPC__deref_out_opt void **ppv);
00948
00949 HRESULT ( STDMETHODCALLTYPE *InsertAt )(
00950 IPropertyChangeArray * This,
00951 UINT iIndex,
00952 __RPC__in_opt IPropertyChange *ppropChange);
00953
00954 HRESULT ( STDMETHODCALLTYPE *Append )(
00955 IPropertyChangeArray * This,
00956 __RPC__in_opt IPropertyChange *ppropChange);
00957
00958 HRESULT ( STDMETHODCALLTYPE *AppendOrReplace )(
00959 IPropertyChangeArray * This,
00960 __RPC__in_opt IPropertyChange *ppropChange);
00961
00962 HRESULT ( STDMETHODCALLTYPE *RemoveAt )(
00963 IPropertyChangeArray * This,
00964 UINT iIndex);
00965
00966 HRESULT ( STDMETHODCALLTYPE *IsKeyInArray )(
00967 IPropertyChangeArray * This,
00968 __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
01015
01016
01017 #endif
01018
01019
01020
01021
01022 #endif
01023
01024
01025 #ifndef __IPropertyStoreCapabilities_INTERFACE_DEFINED__
01026 #define __IPropertyStoreCapabilities_INTERFACE_DEFINED__
01027
01028
01029
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 __RPC__in REFPROPERTYKEY key) = 0;
01042
01043 };
01044
01045 #else
01046
01047 typedef struct IPropertyStoreCapabilitiesVtbl
01048 {
01049 BEGIN_INTERFACE
01050
01051 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
01052 IPropertyStoreCapabilities * This,
01053 __RPC__in REFIID riid,
01054
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 __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
01094
01095
01096 #endif
01097
01098
01099
01100
01101 #endif
01102
01103
01104 #ifndef __IPropertyStoreCache_INTERFACE_DEFINED__
01105 #define __IPropertyStoreCache_INTERFACE_DEFINED__
01106
01107
01108
01109
01110 typedef
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 __RPC__in REFPROPERTYKEY key,
01129 __RPC__out PSC_STATE *pstate) = 0;
01130
01131 virtual HRESULT STDMETHODCALLTYPE GetValueAndState(
01132 __RPC__in REFPROPERTYKEY key,
01133 __RPC__out PROPVARIANT *ppropvar,
01134 __RPC__out PSC_STATE *pstate) = 0;
01135
01136 virtual HRESULT STDMETHODCALLTYPE SetState(
01137 __RPC__in REFPROPERTYKEY key,
01138 PSC_STATE state) = 0;
01139
01140 virtual HRESULT STDMETHODCALLTYPE SetValueAndState(
01141 __RPC__in REFPROPERTYKEY key,
01142 __RPC__in_opt const PROPVARIANT *ppropvar,
01143 PSC_STATE state) = 0;
01144
01145 };
01146
01147 #else
01148
01149 typedef struct IPropertyStoreCacheVtbl
01150 {
01151 BEGIN_INTERFACE
01152
01153 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
01154 IPropertyStoreCache * This,
01155 __RPC__in REFIID riid,
01156
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 __RPC__out DWORD *cProps);
01168
01169 HRESULT ( STDMETHODCALLTYPE *GetAt )(
01170 IPropertyStoreCache * This,
01171 DWORD iProp,
01172 __RPC__out PROPERTYKEY *pkey);
01173
01174 HRESULT ( STDMETHODCALLTYPE *GetValue )(
01175 IPropertyStoreCache * This,
01176 __RPC__in REFPROPERTYKEY key,
01177 __RPC__out PROPVARIANT *pv);
01178
01179 HRESULT ( STDMETHODCALLTYPE *SetValue )(
01180 IPropertyStoreCache * This,
01181 __RPC__in REFPROPERTYKEY key,
01182 __RPC__in REFPROPVARIANT propvar);
01183
01184 HRESULT ( STDMETHODCALLTYPE *Commit )(
01185 IPropertyStoreCache * This);
01186
01187 HRESULT ( STDMETHODCALLTYPE *GetState )(
01188 IPropertyStoreCache * This,
01189 __RPC__in REFPROPERTYKEY key,
01190 __RPC__out PSC_STATE *pstate);
01191
01192 HRESULT ( STDMETHODCALLTYPE *GetValueAndState )(
01193 IPropertyStoreCache * This,
01194 __RPC__in REFPROPERTYKEY key,
01195 __RPC__out PROPVARIANT *ppropvar,
01196 __RPC__out PSC_STATE *pstate);
01197
01198 HRESULT ( STDMETHODCALLTYPE *SetState )(
01199 IPropertyStoreCache * This,
01200 __RPC__in REFPROPERTYKEY key,
01201 PSC_STATE state);
01202
01203 HRESULT ( STDMETHODCALLTYPE *SetValueAndState )(
01204 IPropertyStoreCache * This,
01205 __RPC__in REFPROPERTYKEY key,
01206 __RPC__in_opt const PROPVARIANT *ppropvar,
01207 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
01261
01262
01263 #endif
01264
01265
01266
01267
01268 #endif
01269
01270
01271 #ifndef __IPropertyEnumType_INTERFACE_DEFINED__
01272 #define __IPropertyEnumType_INTERFACE_DEFINED__
01273
01274
01275
01276
01277
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 __RPC__out PROPENUMTYPE *penumtype) = 0;
01297
01298 virtual HRESULT STDMETHODCALLTYPE GetValue(
01299 __RPC__out PROPVARIANT *ppropvar) = 0;
01300
01301 virtual HRESULT STDMETHODCALLTYPE GetRangeMinValue(
01302 __RPC__out PROPVARIANT *ppropvarMin) = 0;
01303
01304 virtual HRESULT STDMETHODCALLTYPE GetRangeSetValue(
01305 __RPC__out PROPVARIANT *ppropvarSet) = 0;
01306
01307 virtual HRESULT STDMETHODCALLTYPE GetDisplayText(
01308 __RPC__deref_out_opt LPWSTR *ppszDisplay) = 0;
01309
01310 };
01311
01312 #else
01313
01314 typedef struct IPropertyEnumTypeVtbl
01315 {
01316 BEGIN_INTERFACE
01317
01318 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
01319 IPropertyEnumType * This,
01320 __RPC__in REFIID riid,
01321
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 __RPC__out PROPENUMTYPE *penumtype);
01333
01334 HRESULT ( STDMETHODCALLTYPE *GetValue )(
01335 IPropertyEnumType * This,
01336 __RPC__out PROPVARIANT *ppropvar);
01337
01338 HRESULT ( STDMETHODCALLTYPE *GetRangeMinValue )(
01339 IPropertyEnumType * This,
01340 __RPC__out PROPVARIANT *ppropvarMin);
01341
01342 HRESULT ( STDMETHODCALLTYPE *GetRangeSetValue )(
01343 IPropertyEnumType * This,
01344 __RPC__out PROPVARIANT *ppropvarSet);
01345
01346 HRESULT ( STDMETHODCALLTYPE *GetDisplayText )(
01347 IPropertyEnumType * This,
01348 __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
01389
01390
01391 #endif
01392
01393
01394
01395
01396 #endif
01397
01398
01399 #ifndef __IPropertyEnumTypeList_INTERFACE_DEFINED__
01400 #define __IPropertyEnumTypeList_INTERFACE_DEFINED__
01401
01402
01403
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 __RPC__out UINT *pctypes) = 0;
01416
01417 virtual HRESULT STDMETHODCALLTYPE GetAt(
01418 UINT itype,
01419 __RPC__in REFIID riid,
01420 __RPC__deref_out_opt void **ppv) = 0;
01421
01422 virtual HRESULT STDMETHODCALLTYPE GetConditionAt(
01423 UINT nIndex,
01424 __RPC__in REFIID riid,
01425 __RPC__deref_out_opt void **ppv) = 0;
01426
01427 virtual HRESULT STDMETHODCALLTYPE FindMatchingIndex(
01428 __RPC__in REFPROPVARIANT propvarCmp,
01429 __RPC__out UINT *pnIndex) = 0;
01430
01431 };
01432
01433 #else
01434
01435 typedef struct IPropertyEnumTypeListVtbl
01436 {
01437 BEGIN_INTERFACE
01438
01439 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
01440 IPropertyEnumTypeList * This,
01441 __RPC__in REFIID riid,
01442
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 __RPC__out UINT *pctypes);
01454
01455 HRESULT ( STDMETHODCALLTYPE *GetAt )(
01456 IPropertyEnumTypeList * This,
01457 UINT itype,
01458 __RPC__in REFIID riid,
01459 __RPC__deref_out_opt void **ppv);
01460
01461 HRESULT ( STDMETHODCALLTYPE *GetConditionAt )(
01462 IPropertyEnumTypeList * This,
01463 UINT nIndex,
01464 __RPC__in REFIID riid,
01465 __RPC__deref_out_opt void **ppv);
01466
01467 HRESULT ( STDMETHODCALLTYPE *FindMatchingIndex )(
01468 IPropertyEnumTypeList * This,
01469 __RPC__in REFPROPVARIANT propvarCmp,
01470 __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
01508
01509
01510 #endif
01511
01512
01513
01514
01515 #endif
01516
01517
01518 #ifndef __IPropertyDescription_INTERFACE_DEFINED__
01519 #define __IPropertyDescription_INTERFACE_DEFINED__
01520
01521
01522
01523
01524
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
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
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
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
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
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
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
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
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 __RPC__out PROPERTYKEY *pkey) = 0;
01663
01664 virtual HRESULT STDMETHODCALLTYPE GetCanonicalName(
01665 __RPC__deref_out_opt_string LPWSTR *ppszName) = 0;
01666
01667 virtual HRESULT STDMETHODCALLTYPE GetPropertyType(
01668 __RPC__out VARTYPE *pvartype) = 0;
01669
01670 virtual HRESULT STDMETHODCALLTYPE GetDisplayName(
01671 __RPC__deref_out_opt_string LPWSTR *ppszName) = 0;
01672
01673 virtual HRESULT STDMETHODCALLTYPE GetEditInvitation(
01674 __RPC__deref_out_opt_string LPWSTR *ppszInvite) = 0;
01675
01676 virtual HRESULT STDMETHODCALLTYPE GetTypeFlags(
01677 PROPDESC_TYPE_FLAGS mask,
01678 __RPC__out PROPDESC_TYPE_FLAGS *ppdtFlags) = 0;
01679
01680 virtual HRESULT STDMETHODCALLTYPE GetViewFlags(
01681 __RPC__out PROPDESC_VIEW_FLAGS *ppdvFlags) = 0;
01682
01683 virtual HRESULT STDMETHODCALLTYPE GetDefaultColumnWidth(
01684 __RPC__out UINT *pcxChars) = 0;
01685
01686 virtual HRESULT STDMETHODCALLTYPE GetDisplayType(
01687 __RPC__out PROPDESC_DISPLAYTYPE *pdisplaytype) = 0;
01688
01689 virtual HRESULT STDMETHODCALLTYPE GetColumnState(
01690 __RPC__out SHCOLSTATEF *pcsFlags) = 0;
01691
01692 virtual HRESULT STDMETHODCALLTYPE GetGroupingRange(
01693 __RPC__out PROPDESC_GROUPING_RANGE *pgr) = 0;
01694
01695 virtual HRESULT STDMETHODCALLTYPE GetRelativeDescriptionType(
01696 __RPC__out PROPDESC_RELATIVEDESCRIPTION_TYPE *prdt) = 0;
01697
01698 virtual HRESULT STDMETHODCALLTYPE GetRelativeDescription(
01699 __RPC__in REFPROPVARIANT propvar1,
01700 __RPC__in REFPROPVARIANT propvar2,
01701 __RPC__deref_out_opt_string LPWSTR *ppszDesc1,
01702 __RPC__deref_out_opt_string LPWSTR *ppszDesc2) = 0;
01703
01704 virtual HRESULT STDMETHODCALLTYPE GetSortDescription(
01705 __RPC__out PROPDESC_SORTDESCRIPTION *psd) = 0;
01706
01707 virtual HRESULT STDMETHODCALLTYPE GetSortDescriptionLabel(
01708 BOOL fDescending,
01709 __RPC__deref_out_opt_string LPWSTR *ppszDescription) = 0;
01710
01711 virtual HRESULT STDMETHODCALLTYPE GetAggregationType(
01712 __RPC__out PROPDESC_AGGREGATION_TYPE *paggtype) = 0;
01713
01714 virtual HRESULT STDMETHODCALLTYPE GetConditionType(
01715 __RPC__out PROPDESC_CONDITION_TYPE *pcontype,
01716 __RPC__out CONDITION_OPERATION *popDefault) = 0;
01717
01718 virtual HRESULT STDMETHODCALLTYPE GetEnumTypeList(
01719 __RPC__in REFIID riid,
01720 __RPC__deref_out_opt void **ppv) = 0;
01721
01722 virtual HRESULT STDMETHODCALLTYPE CoerceToCanonicalValue(
01723 PROPVARIANT *ppropvar) = 0;
01724
01725 virtual HRESULT STDMETHODCALLTYPE FormatForDisplay(
01726 __RPC__in REFPROPVARIANT propvar,
01727 PROPDESC_FORMAT_FLAGS pdfFlags,
01728 __RPC__deref_out_opt_string LPWSTR *ppszDisplay) = 0;
01729
01730 virtual HRESULT STDMETHODCALLTYPE IsValueCanonical(
01731 __RPC__in REFPROPVARIANT propvar) = 0;
01732
01733 };
01734
01735 #else
01736
01737 typedef struct IPropertyDescriptionVtbl
01738 {
01739 BEGIN_INTERFACE
01740
01741 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
01742 IPropertyDescription * This,
01743 __RPC__in REFIID riid,
01744
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 __RPC__out PROPERTYKEY *pkey);
01756
01757 HRESULT ( STDMETHODCALLTYPE *GetCanonicalName )(
01758 IPropertyDescription * This,
01759 __RPC__deref_out_opt_string LPWSTR *ppszName);
01760
01761 HRESULT ( STDMETHODCALLTYPE *GetPropertyType )(
01762 IPropertyDescription * This,
01763 __RPC__out VARTYPE *pvartype);
01764
01765 HRESULT ( STDMETHODCALLTYPE *GetDisplayName )(
01766 IPropertyDescription * This,
01767 __RPC__deref_out_opt_string LPWSTR *ppszName);
01768
01769 HRESULT ( STDMETHODCALLTYPE *GetEditInvitation )(
01770 IPropertyDescription * This,
01771 __RPC__deref_out_opt_string LPWSTR *ppszInvite);
01772
01773 HRESULT ( STDMETHODCALLTYPE *GetTypeFlags )(
01774 IPropertyDescription * This,
01775 PROPDESC_TYPE_FLAGS mask,
01776 __RPC__out PROPDESC_TYPE_FLAGS *ppdtFlags);
01777
01778 HRESULT ( STDMETHODCALLTYPE *GetViewFlags )(
01779 IPropertyDescription * This,
01780 __RPC__out PROPDESC_VIEW_FLAGS *ppdvFlags);
01781
01782 HRESULT ( STDMETHODCALLTYPE *GetDefaultColumnWidth )(
01783 IPropertyDescription * This,
01784 __RPC__out UINT *pcxChars);
01785
01786 HRESULT ( STDMETHODCALLTYPE *GetDisplayType )(
01787 IPropertyDescription * This,
01788 __RPC__out PROPDESC_DISPLAYTYPE *pdisplaytype);
01789
01790 HRESULT ( STDMETHODCALLTYPE *GetColumnState )(
01791 IPropertyDescription * This,
01792 __RPC__out SHCOLSTATEF *pcsFlags);
01793
01794 HRESULT ( STDMETHODCALLTYPE *GetGroupingRange )(
01795 IPropertyDescription * This,
01796 __RPC__out PROPDESC_GROUPING_RANGE *pgr);
01797
01798 HRESULT ( STDMETHODCALLTYPE *GetRelativeDescriptionType )(
01799 IPropertyDescription * This,
01800 __RPC__out PROPDESC_RELATIVEDESCRIPTION_TYPE *prdt);
01801
01802 HRESULT ( STDMETHODCALLTYPE *GetRelativeDescription )(
01803 IPropertyDescription * This,
01804 __RPC__in REFPROPVARIANT propvar1,
01805 __RPC__in REFPROPVARIANT propvar2,
01806 __RPC__deref_out_opt_string LPWSTR *ppszDesc1,
01807 __RPC__deref_out_opt_string LPWSTR *ppszDesc2);
01808
01809 HRESULT ( STDMETHODCALLTYPE *GetSortDescription )(
01810 IPropertyDescription * This,
01811 __RPC__out PROPDESC_SORTDESCRIPTION *psd);
01812
01813 HRESULT ( STDMETHODCALLTYPE *GetSortDescriptionLabel )(
01814 IPropertyDescription * This,
01815 BOOL fDescending,
01816 __RPC__deref_out_opt_string LPWSTR *ppszDescription);
01817
01818 HRESULT ( STDMETHODCALLTYPE *GetAggregationType )(
01819 IPropertyDescription * This,
01820 __RPC__out PROPDESC_AGGREGATION_TYPE *paggtype);
01821
01822 HRESULT ( STDMETHODCALLTYPE *GetConditionType )(
01823 IPropertyDescription * This,
01824 __RPC__out PROPDESC_CONDITION_TYPE *pcontype,
01825 __RPC__out CONDITION_OPERATION *popDefault);
01826
01827 HRESULT ( STDMETHODCALLTYPE *GetEnumTypeList )(
01828 IPropertyDescription * This,
01829 __RPC__in REFIID riid,
01830 __RPC__deref_out_opt void **ppv);
01831
01832 HRESULT ( STDMETHODCALLTYPE *CoerceToCanonicalValue )(
01833 IPropertyDescription * This,
01834 PROPVARIANT *ppropvar);
01835
01836 HRESULT ( STDMETHODCALLTYPE *FormatForDisplay )(
01837 IPropertyDescription * This,
01838 __RPC__in REFPROPVARIANT propvar,
01839 PROPDESC_FORMAT_FLAGS pdfFlags,
01840 __RPC__deref_out_opt_string LPWSTR *ppszDisplay);
01841
01842 HRESULT ( STDMETHODCALLTYPE *IsValueCanonical )(
01843 IPropertyDescription * This,
01844 __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
01933
01934
01935 #endif
01936
01937
01938
01939 HRESULT STDMETHODCALLTYPE IPropertyDescription_RemoteCoerceToCanonicalValue_Proxy(
01940 IPropertyDescription * This,
01941 __RPC__in REFPROPVARIANT propvar,
01942 __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
01954
01955
01956 #ifndef __IPropertyDescriptionAliasInfo_INTERFACE_DEFINED__
01957 #define __IPropertyDescriptionAliasInfo_INTERFACE_DEFINED__
01958
01959
01960
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 __RPC__in REFIID riid,
01973 __RPC__deref_out_opt void **ppv) = 0;
01974
01975 virtual HRESULT STDMETHODCALLTYPE GetAdditionalSortByAliases(
01976 __RPC__in REFIID riid,
01977 __RPC__deref_out_opt void **ppv) = 0;
01978
01979 };
01980
01981 #else
01982
01983 typedef struct IPropertyDescriptionAliasInfoVtbl
01984 {
01985 BEGIN_INTERFACE
01986
01987 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
01988 IPropertyDescriptionAliasInfo * This,
01989 __RPC__in REFIID riid,
01990
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 __RPC__out PROPERTYKEY *pkey);
02002
02003 HRESULT ( STDMETHODCALLTYPE *GetCanonicalName )(
02004 IPropertyDescriptionAliasInfo * This,
02005 __RPC__deref_out_opt_string LPWSTR *ppszName);
02006
02007 HRESULT ( STDMETHODCALLTYPE *GetPropertyType )(
02008 IPropertyDescriptionAliasInfo * This,
02009 __RPC__out VARTYPE *pvartype);
02010
02011 HRESULT ( STDMETHODCALLTYPE *GetDisplayName )(
02012 IPropertyDescriptionAliasInfo * This,
02013 __RPC__deref_out_opt_string LPWSTR *ppszName);
02014
02015 HRESULT ( STDMETHODCALLTYPE *GetEditInvitation )(
02016 IPropertyDescriptionAliasInfo * This,
02017 __RPC__deref_out_opt_string LPWSTR *ppszInvite);
02018
02019 HRESULT ( STDMETHODCALLTYPE *GetTypeFlags )(
02020 IPropertyDescriptionAliasInfo * This,
02021 PROPDESC_TYPE_FLAGS mask,
02022 __RPC__out PROPDESC_TYPE_FLAGS *ppdtFlags);
02023
02024 HRESULT ( STDMETHODCALLTYPE *GetViewFlags )(
02025 IPropertyDescriptionAliasInfo * This,
02026 __RPC__out PROPDESC_VIEW_FLAGS *ppdvFlags);
02027
02028 HRESULT ( STDMETHODCALLTYPE *GetDefaultColumnWidth )(
02029 IPropertyDescriptionAliasInfo * This,
02030 __RPC__out UINT *pcxChars);
02031
02032 HRESULT ( STDMETHODCALLTYPE *GetDisplayType )(
02033 IPropertyDescriptionAliasInfo * This,
02034 __RPC__out PROPDESC_DISPLAYTYPE *pdisplaytype);
02035
02036 HRESULT ( STDMETHODCALLTYPE *GetColumnState )(
02037 IPropertyDescriptionAliasInfo * This,
02038 __RPC__out SHCOLSTATEF *pcsFlags);
02039
02040 HRESULT ( STDMETHODCALLTYPE *GetGroupingRange )(
02041 IPropertyDescriptionAliasInfo * This,
02042 __RPC__out PROPDESC_GROUPING_RANGE *pgr);
02043
02044 HRESULT ( STDMETHODCALLTYPE *GetRelativeDescriptionType )(
02045 IPropertyDescriptionAliasInfo * This,
02046 __RPC__out PROPDESC_RELATIVEDESCRIPTION_TYPE *prdt);
02047
02048 HRESULT ( STDMETHODCALLTYPE *GetRelativeDescription )(
02049 IPropertyDescriptionAliasInfo * This,
02050 __RPC__in REFPROPVARIANT propvar1,
02051 __RPC__in REFPROPVARIANT propvar2,
02052 __RPC__deref_out_opt_string LPWSTR *ppszDesc1,
02053 __RPC__deref_out_opt_string LPWSTR *ppszDesc2);
02054
02055 HRESULT ( STDMETHODCALLTYPE *GetSortDescription )(
02056 IPropertyDescriptionAliasInfo * This,
02057 __RPC__out PROPDESC_SORTDESCRIPTION *psd);
02058
02059 HRESULT ( STDMETHODCALLTYPE *GetSortDescriptionLabel )(
02060 IPropertyDescriptionAliasInfo * This,
02061 BOOL fDescending,
02062 __RPC__deref_out_opt_string LPWSTR *ppszDescription);
02063
02064 HRESULT ( STDMETHODCALLTYPE *GetAggregationType )(
02065 IPropertyDescriptionAliasInfo * This,
02066 __RPC__out PROPDESC_AGGREGATION_TYPE *paggtype);
02067
02068 HRESULT ( STDMETHODCALLTYPE *GetConditionType )(
02069 IPropertyDescriptionAliasInfo * This,
02070 __RPC__out PROPDESC_CONDITION_TYPE *pcontype,
02071 __RPC__out CONDITION_OPERATION *popDefault);
02072
02073 HRESULT ( STDMETHODCALLTYPE *GetEnumTypeList )(
02074 IPropertyDescriptionAliasInfo * This,
02075 __RPC__in REFIID riid,
02076 __RPC__deref_out_opt void **ppv);
02077
02078 HRESULT ( STDMETHODCALLTYPE *CoerceToCanonicalValue )(
02079 IPropertyDescriptionAliasInfo * This,
02080 PROPVARIANT *ppropvar);
02081
02082 HRESULT ( STDMETHODCALLTYPE *FormatForDisplay )(
02083 IPropertyDescriptionAliasInfo * This,
02084 __RPC__in REFPROPVARIANT propvar,
02085 PROPDESC_FORMAT_FLAGS pdfFlags,
02086 __RPC__deref_out_opt_string LPWSTR *ppszDisplay);
02087
02088 HRESULT ( STDMETHODCALLTYPE *IsValueCanonical )(
02089 IPropertyDescriptionAliasInfo * This,
02090 __RPC__in REFPROPVARIANT propvar);
02091
02092 HRESULT ( STDMETHODCALLTYPE *GetSortByAlias )(
02093 IPropertyDescriptionAliasInfo * This,
02094 __RPC__in REFIID riid,
02095 __RPC__deref_out_opt void **ppv);
02096
02097 HRESULT ( STDMETHODCALLTYPE *GetAdditionalSortByAliases )(
02098 IPropertyDescriptionAliasInfo * This,
02099 __RPC__in REFIID riid,
02100 __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
02196
02197
02198 #endif
02199
02200
02201
02202
02203 #endif
02204
02205
02206 #ifndef __IPropertyDescriptionSearchInfo_INTERFACE_DEFINED__
02207 #define __IPropertyDescriptionSearchInfo_INTERFACE_DEFINED__
02208
02209
02210
02211
02212
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
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 __RPC__out PROPDESC_SEARCHINFO_FLAGS *ppdsiFlags) = 0;
02239
02240 virtual HRESULT STDMETHODCALLTYPE GetColumnIndexType(
02241 __RPC__out PROPDESC_COLUMNINDEX_TYPE *ppdciType) = 0;
02242
02243 virtual HRESULT STDMETHODCALLTYPE GetProjectionString(
02244 __RPC__deref_out_opt LPWSTR *ppszProjection) = 0;
02245
02246 virtual HRESULT STDMETHODCALLTYPE GetMaxSize(
02247 __RPC__out UINT *pcbMaxSize) = 0;
02248
02249 };
02250
02251 #else
02252
02253 typedef struct IPropertyDescriptionSearchInfoVtbl
02254 {
02255 BEGIN_INTERFACE
02256
02257 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
02258 IPropertyDescriptionSearchInfo * This,
02259 __RPC__in REFIID riid,
02260
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 __RPC__out PROPERTYKEY *pkey);
02272
02273 HRESULT ( STDMETHODCALLTYPE *GetCanonicalName )(
02274 IPropertyDescriptionSearchInfo * This,
02275 __RPC__deref_out_opt_string LPWSTR *ppszName);
02276
02277 HRESULT ( STDMETHODCALLTYPE *GetPropertyType )(
02278 IPropertyDescriptionSearchInfo * This,
02279 __RPC__out VARTYPE *pvartype);
02280
02281 HRESULT ( STDMETHODCALLTYPE *GetDisplayName )(
02282 IPropertyDescriptionSearchInfo * This,
02283 __RPC__deref_out_opt_string LPWSTR *ppszName);
02284
02285 HRESULT ( STDMETHODCALLTYPE *GetEditInvitation )(
02286 IPropertyDescriptionSearchInfo * This,
02287 __RPC__deref_out_opt_string LPWSTR *ppszInvite);
02288
02289 HRESULT ( STDMETHODCALLTYPE *GetTypeFlags )(
02290 IPropertyDescriptionSearchInfo * This,
02291 PROPDESC_TYPE_FLAGS mask,
02292 __RPC__out PROPDESC_TYPE_FLAGS *ppdtFlags);
02293
02294 HRESULT ( STDMETHODCALLTYPE *GetViewFlags )(
02295 IPropertyDescriptionSearchInfo * This,
02296 __RPC__out PROPDESC_VIEW_FLAGS *ppdvFlags);
02297
02298 HRESULT ( STDMETHODCALLTYPE *GetDefaultColumnWidth )(
02299 IPropertyDescriptionSearchInfo * This,
02300 __RPC__out UINT *pcxChars);
02301
02302 HRESULT ( STDMETHODCALLTYPE *GetDisplayType )(
02303 IPropertyDescriptionSearchInfo * This,
02304 __RPC__out PROPDESC_DISPLAYTYPE *pdisplaytype);
02305
02306 HRESULT ( STDMETHODCALLTYPE *GetColumnState )(
02307 IPropertyDescriptionSearchInfo * This,
02308 __RPC__out SHCOLSTATEF *pcsFlags);
02309
02310 HRESULT ( STDMETHODCALLTYPE *GetGroupingRange )(
02311 IPropertyDescriptionSearchInfo * This,
02312 __RPC__out PROPDESC_GROUPING_RANGE *pgr);
02313
02314 HRESULT ( STDMETHODCALLTYPE *GetRelativeDescriptionType )(
02315 IPropertyDescriptionSearchInfo * This,
02316 __RPC__out PROPDESC_RELATIVEDESCRIPTION_TYPE *prdt);
02317
02318 HRESULT ( STDMETHODCALLTYPE *GetRelativeDescription )(
02319 IPropertyDescriptionSearchInfo * This,
02320 __RPC__in REFPROPVARIANT propvar1,
02321 __RPC__in REFPROPVARIANT propvar2,
02322 __RPC__deref_out_opt_string LPWSTR *ppszDesc1,
02323 __RPC__deref_out_opt_string LPWSTR *ppszDesc2);
02324
02325 HRESULT ( STDMETHODCALLTYPE *GetSortDescription )(
02326 IPropertyDescriptionSearchInfo * This,
02327 __RPC__out PROPDESC_SORTDESCRIPTION *psd);
02328
02329 HRESULT ( STDMETHODCALLTYPE *GetSortDescriptionLabel )(
02330 IPropertyDescriptionSearchInfo * This,
02331 BOOL fDescending,
02332 __RPC__deref_out_opt_string LPWSTR *ppszDescription);
02333
02334 HRESULT ( STDMETHODCALLTYPE *GetAggregationType )(
02335 IPropertyDescriptionSearchInfo * This,
02336 __RPC__out PROPDESC_AGGREGATION_TYPE *paggtype);
02337
02338 HRESULT ( STDMETHODCALLTYPE *GetConditionType )(
02339 IPropertyDescriptionSearchInfo * This,
02340 __RPC__out PROPDESC_CONDITION_TYPE *pcontype,
02341 __RPC__out CONDITION_OPERATION *popDefault);
02342
02343 HRESULT ( STDMETHODCALLTYPE *GetEnumTypeList )(
02344 IPropertyDescriptionSearchInfo * This,
02345 __RPC__in REFIID riid,
02346 __RPC__deref_out_opt void **ppv);
02347
02348 HRESULT ( STDMETHODCALLTYPE *CoerceToCanonicalValue )(
02349 IPropertyDescriptionSearchInfo * This,
02350 PROPVARIANT *ppropvar);
02351
02352 HRESULT ( STDMETHODCALLTYPE *FormatForDisplay )(
02353 IPropertyDescriptionSearchInfo * This,
02354 __RPC__in REFPROPVARIANT propvar,
02355 PROPDESC_FORMAT_FLAGS pdfFlags,
02356 __RPC__deref_out_opt_string LPWSTR *ppszDisplay);
02357
02358 HRESULT ( STDMETHODCALLTYPE *IsValueCanonical )(
02359 IPropertyDescriptionSearchInfo * This,
02360 __RPC__in REFPROPVARIANT propvar);
02361
02362 HRESULT ( STDMETHODCALLTYPE *GetSearchInfoFlags )(
02363 IPropertyDescriptionSearchInfo * This,
02364 __RPC__out PROPDESC_SEARCHINFO_FLAGS *ppdsiFlags);
02365
02366 HRESULT ( STDMETHODCALLTYPE *GetColumnIndexType )(
02367 IPropertyDescriptionSearchInfo * This,
02368 __RPC__out PROPDESC_COLUMNINDEX_TYPE *ppdciType);
02369
02370 HRESULT ( STDMETHODCALLTYPE *GetProjectionString )(
02371 IPropertyDescriptionSearchInfo * This,
02372 __RPC__deref_out_opt LPWSTR *ppszProjection);
02373
02374 HRESULT ( STDMETHODCALLTYPE *GetMaxSize )(
02375 IPropertyDescriptionSearchInfo * This,
02376 __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
02478
02479
02480 #endif
02481
02482
02483
02484
02485 #endif
02486
02487
02488
02489
02490
02491
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
02512
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 __RPC__in REFPROPERTYKEY propkey,
02525 __RPC__in REFIID riid,
02526 __RPC__deref_out_opt void **ppv) = 0;
02527
02528 virtual HRESULT STDMETHODCALLTYPE GetPropertyDescriptionByName(
02529 __RPC__in LPCWSTR pszCanonicalName,
02530 __RPC__in REFIID riid,
02531 __RPC__deref_out_opt void **ppv) = 0;
02532
02533 virtual HRESULT STDMETHODCALLTYPE GetPropertyDescriptionListFromString(
02534 __RPC__in LPCWSTR pszPropList,
02535 __RPC__in REFIID riid,
02536 __RPC__deref_out_opt void **ppv) = 0;
02537
02538 virtual HRESULT STDMETHODCALLTYPE EnumeratePropertyDescriptions(
02539 PROPDESC_ENUMFILTER filterOn,
02540 __RPC__in REFIID riid,
02541 __RPC__deref_out_opt void **ppv) = 0;
02542
02543 virtual HRESULT STDMETHODCALLTYPE FormatForDisplay(
02544 __RPC__in REFPROPERTYKEY key,
02545 __RPC__in REFPROPVARIANT propvar,
02546 PROPDESC_FORMAT_FLAGS pdff,
02547 __RPC__out_ecount_full_string(cchText) LPWSTR pszText,
02548 DWORD cchText) = 0;
02549
02550 virtual HRESULT STDMETHODCALLTYPE FormatForDisplayAlloc(
02551 __RPC__in REFPROPERTYKEY key,
02552 __RPC__in REFPROPVARIANT propvar,
02553 PROPDESC_FORMAT_FLAGS pdff,
02554 __RPC__deref_out_opt_string LPWSTR *ppszDisplay) = 0;
02555
02556 virtual HRESULT STDMETHODCALLTYPE RegisterPropertySchema(
02557 __RPC__in LPCWSTR pszPath) = 0;
02558
02559 virtual HRESULT STDMETHODCALLTYPE UnregisterPropertySchema(
02560 __RPC__in LPCWSTR pszPath) = 0;
02561
02562 virtual HRESULT STDMETHODCALLTYPE RefreshPropertySchema( void) = 0;
02563
02564 };
02565
02566 #else
02567
02568 typedef struct IPropertySystemVtbl
02569 {
02570 BEGIN_INTERFACE
02571
02572 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
02573 IPropertySystem * This,
02574 __RPC__in REFIID riid,
02575
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 __RPC__in REFPROPERTYKEY propkey,
02587 __RPC__in REFIID riid,
02588 __RPC__deref_out_opt void **ppv);
02589
02590 HRESULT ( STDMETHODCALLTYPE *GetPropertyDescriptionByName )(
02591 IPropertySystem * This,
02592 __RPC__in LPCWSTR pszCanonicalName,
02593 __RPC__in REFIID riid,
02594 __RPC__deref_out_opt void **ppv);
02595
02596 HRESULT ( STDMETHODCALLTYPE *GetPropertyDescriptionListFromString )(
02597 IPropertySystem * This,
02598 __RPC__in LPCWSTR pszPropList,
02599 __RPC__in REFIID riid,
02600 __RPC__deref_out_opt void **ppv);
02601
02602 HRESULT ( STDMETHODCALLTYPE *EnumeratePropertyDescriptions )(
02603 IPropertySystem * This,
02604 PROPDESC_ENUMFILTER filterOn,
02605 __RPC__in REFIID riid,
02606 __RPC__deref_out_opt void **ppv);
02607
02608 HRESULT ( STDMETHODCALLTYPE *FormatForDisplay )(
02609 IPropertySystem * This,
02610 __RPC__in REFPROPERTYKEY key,
02611 __RPC__in REFPROPVARIANT propvar,
02612 PROPDESC_FORMAT_FLAGS pdff,
02613 __RPC__out_ecount_full_string(cchText) LPWSTR pszText,
02614 DWORD cchText);
02615
02616 HRESULT ( STDMETHODCALLTYPE *FormatForDisplayAlloc )(
02617 IPropertySystem * This,
02618 __RPC__in REFPROPERTYKEY key,
02619 __RPC__in REFPROPVARIANT propvar,
02620 PROPDESC_FORMAT_FLAGS pdff,
02621 __RPC__deref_out_opt_string LPWSTR *ppszDisplay);
02622
02623 HRESULT ( STDMETHODCALLTYPE *RegisterPropertySchema )(
02624 IPropertySystem * This,
02625 __RPC__in LPCWSTR pszPath);
02626
02627 HRESULT ( STDMETHODCALLTYPE *UnregisterPropertySchema )(
02628 IPropertySystem * This,
02629 __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
02685
02686
02687 #endif
02688
02689
02690
02691
02692 #endif
02693
02694
02695 #ifndef __IPropertyDescriptionList_INTERFACE_DEFINED__
02696 #define __IPropertyDescriptionList_INTERFACE_DEFINED__
02697
02698
02699
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 __RPC__out UINT *pcElem) = 0;
02712
02713 virtual HRESULT STDMETHODCALLTYPE GetAt(
02714 UINT iElem,
02715 __RPC__in REFIID riid,
02716 __RPC__deref_out_opt void **ppv) = 0;
02717
02718 };
02719
02720 #else
02721
02722 typedef struct IPropertyDescriptionListVtbl
02723 {
02724 BEGIN_INTERFACE
02725
02726 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
02727 IPropertyDescriptionList * This,
02728 __RPC__in REFIID riid,
02729
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 __RPC__out UINT *pcElem);
02741
02742 HRESULT ( STDMETHODCALLTYPE *GetAt )(
02743 IPropertyDescriptionList * This,
02744 UINT iElem,
02745 __RPC__in REFIID riid,
02746 __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
02778
02779
02780 #endif
02781
02782
02783
02784
02785 #endif
02786
02787
02788 #ifndef __IPropertyStoreFactory_INTERFACE_DEFINED__
02789 #define __IPropertyStoreFactory_INTERFACE_DEFINED__
02790
02791
02792
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 GETPROPERTYSTOREFLAGS flags,
02805 __RPC__in_opt IUnknown *pUnkFactory,
02806 __RPC__in REFIID riid,
02807 __RPC__deref_out_opt void **ppv) = 0;
02808
02809 virtual HRESULT STDMETHODCALLTYPE GetPropertyStoreForKeys(
02810 __RPC__in_opt const PROPERTYKEY *rgKeys,
02811 UINT cKeys,
02812 GETPROPERTYSTOREFLAGS flags,
02813 __RPC__in REFIID riid,
02814 __RPC__deref_out_opt void **ppv) = 0;
02815
02816 };
02817
02818 #else
02819
02820 typedef struct IPropertyStoreFactoryVtbl
02821 {
02822 BEGIN_INTERFACE
02823
02824 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
02825 IPropertyStoreFactory * This,
02826 __RPC__in REFIID riid,
02827
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 GETPROPERTYSTOREFLAGS flags,
02839 __RPC__in_opt IUnknown *pUnkFactory,
02840 __RPC__in REFIID riid,
02841 __RPC__deref_out_opt void **ppv);
02842
02843 HRESULT ( STDMETHODCALLTYPE *GetPropertyStoreForKeys )(
02844 IPropertyStoreFactory * This,
02845 __RPC__in_opt const PROPERTYKEY *rgKeys,
02846 UINT cKeys,
02847 GETPROPERTYSTOREFLAGS flags,
02848 __RPC__in REFIID riid,
02849 __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
02881
02882
02883 #endif
02884
02885
02886
02887
02888 #endif
02889
02890
02891 #ifndef __IDelayedPropertyStoreFactory_INTERFACE_DEFINED__
02892 #define __IDelayedPropertyStoreFactory_INTERFACE_DEFINED__
02893
02894
02895
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 GETPROPERTYSTOREFLAGS flags,
02908 DWORD dwStoreId,
02909 __RPC__in REFIID riid,
02910 __RPC__deref_out_opt void **ppv) = 0;
02911
02912 };
02913
02914 #else
02915
02916 typedef struct IDelayedPropertyStoreFactoryVtbl
02917 {
02918 BEGIN_INTERFACE
02919
02920 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
02921 IDelayedPropertyStoreFactory * This,
02922 __RPC__in REFIID riid,
02923
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 GETPROPERTYSTOREFLAGS flags,
02935 __RPC__in_opt IUnknown *pUnkFactory,
02936 __RPC__in REFIID riid,
02937 __RPC__deref_out_opt void **ppv);
02938
02939 HRESULT ( STDMETHODCALLTYPE *GetPropertyStoreForKeys )(
02940 IDelayedPropertyStoreFactory * This,
02941 __RPC__in_opt const PROPERTYKEY *rgKeys,
02942 UINT cKeys,
02943 GETPROPERTYSTOREFLAGS flags,
02944 __RPC__in REFIID riid,
02945 __RPC__deref_out_opt void **ppv);
02946
02947 HRESULT ( STDMETHODCALLTYPE *GetDelayedPropertyStore )(
02948 IDelayedPropertyStoreFactory * This,
02949 GETPROPERTYSTOREFLAGS flags,
02950 DWORD dwStoreId,
02951 __RPC__in REFIID riid,
02952 __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
02988
02989
02990 #endif
02991
02992
02993
02994
02995 #endif
02996
02997
02998
02999
03000
03001
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
03022
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 PERSIST_SPROPSTORE_FLAGS flags) = 0;
03035
03036 virtual HRESULT STDMETHODCALLTYPE SetPropertyStorage(
03037
03038 __in_bcount(cb) PCUSERIALIZEDPROPSTORAGE psps,
03039
03040 __in DWORD cb) = 0;
03041
03042 virtual HRESULT STDMETHODCALLTYPE GetPropertyStorage(
03043
03044 __deref_out_bcount(*pcb) SERIALIZEDPROPSTORAGE **ppsps,
03045
03046 __out DWORD *pcb) = 0;
03047
03048 };
03049
03050 #else
03051
03052 typedef struct IPersistSerializedPropStorageVtbl
03053 {
03054 BEGIN_INTERFACE
03055
03056 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
03057 IPersistSerializedPropStorage * This,
03058 REFIID riid,
03059
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 PERSIST_SPROPSTORE_FLAGS flags);
03071
03072 HRESULT ( STDMETHODCALLTYPE *SetPropertyStorage )(
03073 IPersistSerializedPropStorage * This,
03074
03075 __in_bcount(cb) PCUSERIALIZEDPROPSTORAGE psps,
03076
03077 __in DWORD cb);
03078
03079 HRESULT ( STDMETHODCALLTYPE *GetPropertyStorage )(
03080 IPersistSerializedPropStorage * This,
03081
03082 __deref_out_bcount(*pcb) SERIALIZEDPROPSTORAGE **ppsps,
03083
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
03119
03120
03121 #endif
03122
03123
03124
03125
03126 #endif
03127
03128
03129 #ifndef __IPropertySystemChangeNotify_INTERFACE_DEFINED__
03130 #define __IPropertySystemChangeNotify_INTERFACE_DEFINED__
03131
03132
03133
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
03149
03150 typedef struct IPropertySystemChangeNotifyVtbl
03151 {
03152 BEGIN_INTERFACE
03153
03154 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
03155 IPropertySystemChangeNotify * This,
03156 __RPC__in REFIID riid,
03157
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
03196
03197
03198 #endif
03199
03200
03201
03202
03203 #endif
03204
03205
03206 #ifndef __ICreateObject_INTERFACE_DEFINED__
03207 #define __ICreateObject_INTERFACE_DEFINED__
03208
03209
03210
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 __RPC__in REFCLSID clsid,
03223 __RPC__in_opt IUnknown *pUnkOuter,
03224 __RPC__in REFIID riid,
03225 __RPC__deref_out_opt void **ppv) = 0;
03226
03227 };
03228
03229 #else
03230
03231 typedef struct ICreateObjectVtbl
03232 {
03233 BEGIN_INTERFACE
03234
03235 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
03236 ICreateObject * This,
03237 __RPC__in REFIID riid,
03238
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 __RPC__in REFCLSID clsid,
03250 __RPC__in_opt IUnknown *pUnkOuter,
03251 __RPC__in REFIID riid,
03252 __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
03281
03282
03283 #endif
03284
03285
03286
03287
03288 #endif
03289
03290
03291
03292
03293
03294
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
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
03331
03332 PSSTDAPI PSCreateMemoryPropertyStore(
03333 __in REFIID riid,
03334 __deref_out void **ppv);
03335
03336
03337
03338
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
03349
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
03358
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
03369
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
03379
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
03392 PSSTDAPI PSLookupPropertyHandlerCLSID(
03393 __in PCWSTR pszFilePath,
03394 __out CLSID *pclsid);
03395
03396
03397
03398 PSSTDAPI PSGetItemPropertyHandler(
03399 __in IUnknown *punkItem,
03400 __in BOOL fReadWrite,
03401 __in REFIID riid,
03402 __deref_out void **ppv);
03403
03404
03405
03406
03407
03408
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
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
03430 PSSTDAPI PSRegisterPropertySchema(
03431 __in PCWSTR pszPath);
03432
03433 PSSTDAPI PSUnregisterPropertySchema(
03434 __in PCWSTR pszPath);
03435
03436 PSSTDAPI PSRefreshPropertySchema();
03437
03438
03439 PSSTDAPI PSEnumeratePropertyDescriptions(
03440 __in PROPDESC_ENUMFILTER filterOn,
03441 __in REFIID riid,
03442 __deref_out void **ppv);
03443
03444
03445
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
03456 PSSTDAPI PSCoerceToCanonicalValue(
03457 __in REFPROPERTYKEY key,
03458 __inout PROPVARIANT *ppropvar);
03459
03460
03461
03462
03463 PSSTDAPI PSGetPropertyDescriptionListFromString(
03464 __in LPCWSTR pszPropList,
03465 __in REFIID riid,
03466 __deref_out void **ppv);
03467
03468
03469
03470
03471 PSSTDAPI PSCreatePropertyStoreFromPropertySetStorage(
03472 __in IPropertySetStorage *ppss,
03473 DWORD grfMode,
03474 REFIID riid,
03475 __deref_out void **ppv);
03476
03477
03478
03479
03480
03481 PSSTDAPI PSCreatePropertyStoreFromObject(
03482 __in IUnknown *punk,
03483 __in DWORD grfMode,
03484 __in REFIID riid,
03485 __deref_out void **ppv);
03486
03487
03488
03489
03490 PSSTDAPI PSCreateAdapterFromPropertyStore(
03491 __in IPropertyStore *pps,
03492 __in REFIID riid,
03493 __deref_out void **ppv);
03494
03495
03496
03497
03498 PSSTDAPI PSGetPropertySystem(
03499 __in REFIID riid,
03500 __deref_out void **ppv);
03501
03502
03503
03504 PSSTDAPI PSGetPropertyFromPropertyStorage(
03505 __in_bcount(cb) PCUSERIALIZEDPROPSTORAGE psps,
03506 __in DWORD cb,
03507 __in REFPROPERTYKEY rpkey,
03508 __out PROPVARIANT *ppropvar);
03509
03510
03511
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
03529
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
03550
03551
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 HRESULT STDMETHODCALLTYPE IInitializeWithStream_Initialize_Proxy(
03574 IInitializeWithStream * This,
03575 IStream *pstream,
03576 DWORD grfMode);
03577
03578
03579 HRESULT STDMETHODCALLTYPE IInitializeWithStream_Initialize_Stub(
03580 IInitializeWithStream * This,
03581 __RPC__in_opt IStream *pstream,
03582 DWORD grfMode);
03583
03584 HRESULT STDMETHODCALLTYPE IPropertyDescription_CoerceToCanonicalValue_Proxy(
03585 IPropertyDescription * This,
03586 PROPVARIANT *ppropvar);
03587
03588
03589 HRESULT STDMETHODCALLTYPE IPropertyDescription_CoerceToCanonicalValue_Stub(
03590 IPropertyDescription * This,
03591 __RPC__in REFPROPVARIANT propvar,
03592 __RPC__out PROPVARIANT *ppropvar);
03593
03594
03595
03596
03597
03598 #ifdef __cplusplus
03599 }
03600 #endif
03601
03602 #endif
03603
03604
03605