To check out this repository please hg clone the following URL, or open the URL using EasyMercurial or your preferred Mercurial client.

The primary repository for this project is hosted at https://github.com/sonic-visualiser/sv-dependency-builds .
This repository is a read-only copy which is updated automatically every hour.

Statistics Download as Zip
| Branch: | Tag: | Revision:

root / src / portaudio_20161030_catalina_patch / src / hostapi / wasapi / mingw-include / propsys.h @ 164:9fa11135915a

History | View | Annotate | Download (114 KB)

1

    
2

    
3
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
4

    
5

    
6
 /* File created by MIDL compiler version 7.00.0499 */
7
/* Compiler settings for propsys.idl:
8
    Oicf, W1, Zp8, env=Win32 (32b run)
9
    protocol : dce , ms_ext, c_ext, robust
10
    error checks: allocation ref bounds_check enum stub_data 
11
    VC __declspec() decoration level: 
12
         __declspec(uuid()), __declspec(selectany), __declspec(novtable)
13
         DECLSPEC_UUID(), MIDL_INTERFACE()
14
*/
15
//@@MIDL_FILE_HEADING(  )
16

    
17
#pragma warning( disable: 4049 )  /* more than 64k source lines */
18

    
19

    
20
/* verify that the <rpcndr.h> version is high enough to compile this file*/
21
#ifndef __REQUIRED_RPCNDR_H_VERSION__
22
#define __REQUIRED_RPCNDR_H_VERSION__ 475
23
#endif
24

    
25
/* verify that the <rpcsal.h> version is high enough to compile this file*/
26
#ifndef __REQUIRED_RPCSAL_H_VERSION__
27
#define __REQUIRED_RPCSAL_H_VERSION__ 100
28
#endif
29

    
30
#include "rpc.h"
31
#include "rpcndr.h"
32

    
33
#ifndef __RPCNDR_H_VERSION__
34
#error this stub requires an updated version of <rpcndr.h>
35
#endif // __RPCNDR_H_VERSION__
36

    
37
#ifndef COM_NO_WINDOWS_H
38
#include "windows.h"
39
#include "ole2.h"
40
#endif /*COM_NO_WINDOWS_H*/
41

    
42
#ifndef __propsys_h__
43
#define __propsys_h__
44

    
45
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
46
#pragma once
47
#endif
48

    
49
/* Forward Declarations */ 
50

    
51
#ifndef __IInitializeWithFile_FWD_DEFINED__
52
#define __IInitializeWithFile_FWD_DEFINED__
53
typedef interface IInitializeWithFile IInitializeWithFile;
54
#endif         /* __IInitializeWithFile_FWD_DEFINED__ */
55

    
56

    
57
#ifndef __IInitializeWithStream_FWD_DEFINED__
58
#define __IInitializeWithStream_FWD_DEFINED__
59
typedef interface IInitializeWithStream IInitializeWithStream;
60
#endif         /* __IInitializeWithStream_FWD_DEFINED__ */
61

    
62

    
63
#ifndef __IPropertyStore_FWD_DEFINED__
64
#define __IPropertyStore_FWD_DEFINED__
65
typedef interface IPropertyStore IPropertyStore;
66
#endif         /* __IPropertyStore_FWD_DEFINED__ */
67

    
68

    
69
#ifndef __INamedPropertyStore_FWD_DEFINED__
70
#define __INamedPropertyStore_FWD_DEFINED__
71
typedef interface INamedPropertyStore INamedPropertyStore;
72
#endif         /* __INamedPropertyStore_FWD_DEFINED__ */
73

    
74

    
75
#ifndef __IObjectWithPropertyKey_FWD_DEFINED__
76
#define __IObjectWithPropertyKey_FWD_DEFINED__
77
typedef interface IObjectWithPropertyKey IObjectWithPropertyKey;
78
#endif         /* __IObjectWithPropertyKey_FWD_DEFINED__ */
79

    
80

    
81
#ifndef __IPropertyChange_FWD_DEFINED__
82
#define __IPropertyChange_FWD_DEFINED__
83
typedef interface IPropertyChange IPropertyChange;
84
#endif         /* __IPropertyChange_FWD_DEFINED__ */
85

    
86

    
87
#ifndef __IPropertyChangeArray_FWD_DEFINED__
88
#define __IPropertyChangeArray_FWD_DEFINED__
89
typedef interface IPropertyChangeArray IPropertyChangeArray;
90
#endif         /* __IPropertyChangeArray_FWD_DEFINED__ */
91

    
92

    
93
#ifndef __IPropertyStoreCapabilities_FWD_DEFINED__
94
#define __IPropertyStoreCapabilities_FWD_DEFINED__
95
typedef interface IPropertyStoreCapabilities IPropertyStoreCapabilities;
96
#endif         /* __IPropertyStoreCapabilities_FWD_DEFINED__ */
97

    
98

    
99
#ifndef __IPropertyStoreCache_FWD_DEFINED__
100
#define __IPropertyStoreCache_FWD_DEFINED__
101
typedef interface IPropertyStoreCache IPropertyStoreCache;
102
#endif         /* __IPropertyStoreCache_FWD_DEFINED__ */
103

    
104

    
105
#ifndef __IPropertyEnumType_FWD_DEFINED__
106
#define __IPropertyEnumType_FWD_DEFINED__
107
typedef interface IPropertyEnumType IPropertyEnumType;
108
#endif         /* __IPropertyEnumType_FWD_DEFINED__ */
109

    
110

    
111
#ifndef __IPropertyEnumTypeList_FWD_DEFINED__
112
#define __IPropertyEnumTypeList_FWD_DEFINED__
113
typedef interface IPropertyEnumTypeList IPropertyEnumTypeList;
114
#endif         /* __IPropertyEnumTypeList_FWD_DEFINED__ */
115

    
116

    
117
#ifndef __IPropertyDescription_FWD_DEFINED__
118
#define __IPropertyDescription_FWD_DEFINED__
119
typedef interface IPropertyDescription IPropertyDescription;
120
#endif         /* __IPropertyDescription_FWD_DEFINED__ */
121

    
122

    
123
#ifndef __IPropertyDescriptionAliasInfo_FWD_DEFINED__
124
#define __IPropertyDescriptionAliasInfo_FWD_DEFINED__
125
typedef interface IPropertyDescriptionAliasInfo IPropertyDescriptionAliasInfo;
126
#endif         /* __IPropertyDescriptionAliasInfo_FWD_DEFINED__ */
127

    
128

    
129
#ifndef __IPropertyDescriptionSearchInfo_FWD_DEFINED__
130
#define __IPropertyDescriptionSearchInfo_FWD_DEFINED__
131
typedef interface IPropertyDescriptionSearchInfo IPropertyDescriptionSearchInfo;
132
#endif         /* __IPropertyDescriptionSearchInfo_FWD_DEFINED__ */
133

    
134

    
135
#ifndef __IPropertySystem_FWD_DEFINED__
136
#define __IPropertySystem_FWD_DEFINED__
137
typedef interface IPropertySystem IPropertySystem;
138
#endif         /* __IPropertySystem_FWD_DEFINED__ */
139

    
140

    
141
#ifndef __IPropertyDescriptionList_FWD_DEFINED__
142
#define __IPropertyDescriptionList_FWD_DEFINED__
143
typedef interface IPropertyDescriptionList IPropertyDescriptionList;
144
#endif         /* __IPropertyDescriptionList_FWD_DEFINED__ */
145

    
146

    
147
#ifndef __IPropertyStoreFactory_FWD_DEFINED__
148
#define __IPropertyStoreFactory_FWD_DEFINED__
149
typedef interface IPropertyStoreFactory IPropertyStoreFactory;
150
#endif         /* __IPropertyStoreFactory_FWD_DEFINED__ */
151

    
152

    
153
#ifndef __IDelayedPropertyStoreFactory_FWD_DEFINED__
154
#define __IDelayedPropertyStoreFactory_FWD_DEFINED__
155
typedef interface IDelayedPropertyStoreFactory IDelayedPropertyStoreFactory;
156
#endif         /* __IDelayedPropertyStoreFactory_FWD_DEFINED__ */
157

    
158

    
159
#ifndef __IPersistSerializedPropStorage_FWD_DEFINED__
160
#define __IPersistSerializedPropStorage_FWD_DEFINED__
161
typedef interface IPersistSerializedPropStorage IPersistSerializedPropStorage;
162
#endif         /* __IPersistSerializedPropStorage_FWD_DEFINED__ */
163

    
164

    
165
#ifndef __IPropertySystemChangeNotify_FWD_DEFINED__
166
#define __IPropertySystemChangeNotify_FWD_DEFINED__
167
typedef interface IPropertySystemChangeNotify IPropertySystemChangeNotify;
168
#endif         /* __IPropertySystemChangeNotify_FWD_DEFINED__ */
169

    
170

    
171
#ifndef __ICreateObject_FWD_DEFINED__
172
#define __ICreateObject_FWD_DEFINED__
173
typedef interface ICreateObject ICreateObject;
174
#endif         /* __ICreateObject_FWD_DEFINED__ */
175

    
176

    
177
#ifndef __InMemoryPropertyStore_FWD_DEFINED__
178
#define __InMemoryPropertyStore_FWD_DEFINED__
179

    
180
#ifdef __cplusplus
181
typedef class InMemoryPropertyStore InMemoryPropertyStore;
182
#else
183
typedef struct InMemoryPropertyStore InMemoryPropertyStore;
184
#endif /* __cplusplus */
185

    
186
#endif         /* __InMemoryPropertyStore_FWD_DEFINED__ */
187

    
188

    
189
#ifndef __PropertySystem_FWD_DEFINED__
190
#define __PropertySystem_FWD_DEFINED__
191

    
192
#ifdef __cplusplus
193
typedef class PropertySystem PropertySystem;
194
#else
195
typedef struct PropertySystem PropertySystem;
196
#endif /* __cplusplus */
197

    
198
#endif         /* __PropertySystem_FWD_DEFINED__ */
199

    
200

    
201
/* header files for imported files */
202
#include "objidl.h"
203
#include "oleidl.h"
204
#include "ocidl.h"
205
#include "shtypes.h"
206
#include "structuredquery.h"
207

    
208
#ifdef __cplusplus
209
extern "C"{
210
#endif 
211

    
212

    
213
/* interface __MIDL_itf_propsys_0000_0000 */
214
/* [local] */ 
215

    
216
#ifndef PSSTDAPI
217
#if defined(_PROPSYS_)
218
#define PSSTDAPI          STDAPI
219
#define PSSTDAPI_(type)   STDAPI_(type)
220
#else
221
#define PSSTDAPI          EXTERN_C DECLSPEC_IMPORT HRESULT STDAPICALLTYPE
222
#define PSSTDAPI_(type)   EXTERN_C DECLSPEC_IMPORT type STDAPICALLTYPE
223
#endif
224
#endif // PSSTDAPI
225
#if 0
226
typedef PROPERTYKEY *REFPROPERTYKEY;
227

228
#endif // 0
229
#include <propkeydef.h>
230

    
231

    
232
extern RPC_IF_HANDLE __MIDL_itf_propsys_0000_0000_v0_0_c_ifspec;
233
extern RPC_IF_HANDLE __MIDL_itf_propsys_0000_0000_v0_0_s_ifspec;
234

    
235
#ifndef __IInitializeWithFile_INTERFACE_DEFINED__
236
#define __IInitializeWithFile_INTERFACE_DEFINED__
237

    
238
/* interface IInitializeWithFile */
239
/* [unique][object][uuid] */ 
240

    
241

    
242
EXTERN_C const IID IID_IInitializeWithFile;
243

    
244
#if defined(__cplusplus) && !defined(CINTERFACE)
245
    
246
    MIDL_INTERFACE("b7d14566-0509-4cce-a71f-0a554233bd9b")
247
    IInitializeWithFile : public IUnknown
248
    {
249
    public:
250
        virtual HRESULT STDMETHODCALLTYPE Initialize( 
251
            /* [string][in] */ __RPC__in LPCWSTR pszFilePath,
252
            /* [in] */ DWORD grfMode) = 0;
253
        
254
    };
255
    
256
#else         /* C style interface */
257

    
258
    typedef struct IInitializeWithFileVtbl
259
    {
260
        BEGIN_INTERFACE
261
        
262
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
263
            IInitializeWithFile * This,
264
            /* [in] */ __RPC__in REFIID riid,
265
            /* [iid_is][out] */ 
266
            __RPC__deref_out  void **ppvObject);
267
        
268
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
269
            IInitializeWithFile * This);
270
        
271
        ULONG ( STDMETHODCALLTYPE *Release )( 
272
            IInitializeWithFile * This);
273
        
274
        HRESULT ( STDMETHODCALLTYPE *Initialize )( 
275
            IInitializeWithFile * This,
276
            /* [string][in] */ __RPC__in LPCWSTR pszFilePath,
277
            /* [in] */ DWORD grfMode);
278
        
279
        END_INTERFACE
280
    } IInitializeWithFileVtbl;
281

    
282
    interface IInitializeWithFile
283
    {
284
        CONST_VTBL struct IInitializeWithFileVtbl *lpVtbl;
285
    };
286

    
287
    
288

    
289
#ifdef COBJMACROS
290

    
291

    
292
#define IInitializeWithFile_QueryInterface(This,riid,ppvObject)        \
293
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
294

    
295
#define IInitializeWithFile_AddRef(This)        \
296
    ( (This)->lpVtbl -> AddRef(This) ) 
297

    
298
#define IInitializeWithFile_Release(This)        \
299
    ( (This)->lpVtbl -> Release(This) ) 
300

    
301

    
302
#define IInitializeWithFile_Initialize(This,pszFilePath,grfMode)        \
303
    ( (This)->lpVtbl -> Initialize(This,pszFilePath,grfMode) ) 
304

    
305
#endif /* COBJMACROS */
306

    
307

    
308
#endif         /* C style interface */
309

    
310

    
311

    
312

    
313
#endif         /* __IInitializeWithFile_INTERFACE_DEFINED__ */
314

    
315

    
316
#ifndef __IInitializeWithStream_INTERFACE_DEFINED__
317
#define __IInitializeWithStream_INTERFACE_DEFINED__
318

    
319
/* interface IInitializeWithStream */
320
/* [unique][object][uuid] */ 
321

    
322

    
323
EXTERN_C const IID IID_IInitializeWithStream;
324

    
325
#if defined(__cplusplus) && !defined(CINTERFACE)
326
    
327
    MIDL_INTERFACE("b824b49d-22ac-4161-ac8a-9916e8fa3f7f")
328
    IInitializeWithStream : public IUnknown
329
    {
330
    public:
331
        virtual /* [local] */ HRESULT STDMETHODCALLTYPE Initialize( 
332
            /* [in] */ IStream *pstream,
333
            /* [in] */ DWORD grfMode) = 0;
334
        
335
    };
336
    
337
#else         /* C style interface */
338

    
339
    typedef struct IInitializeWithStreamVtbl
340
    {
341
        BEGIN_INTERFACE
342
        
343
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
344
            IInitializeWithStream * This,
345
            /* [in] */ __RPC__in REFIID riid,
346
            /* [iid_is][out] */ 
347
            __RPC__deref_out  void **ppvObject);
348
        
349
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
350
            IInitializeWithStream * This);
351
        
352
        ULONG ( STDMETHODCALLTYPE *Release )( 
353
            IInitializeWithStream * This);
354
        
355
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Initialize )( 
356
            IInitializeWithStream * This,
357
            /* [in] */ IStream *pstream,
358
            /* [in] */ DWORD grfMode);
359
        
360
        END_INTERFACE
361
    } IInitializeWithStreamVtbl;
362

    
363
    interface IInitializeWithStream
364
    {
365
        CONST_VTBL struct IInitializeWithStreamVtbl *lpVtbl;
366
    };
367

    
368
    
369

    
370
#ifdef COBJMACROS
371

    
372

    
373
#define IInitializeWithStream_QueryInterface(This,riid,ppvObject)        \
374
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
375

    
376
#define IInitializeWithStream_AddRef(This)        \
377
    ( (This)->lpVtbl -> AddRef(This) ) 
378

    
379
#define IInitializeWithStream_Release(This)        \
380
    ( (This)->lpVtbl -> Release(This) ) 
381

    
382

    
383
#define IInitializeWithStream_Initialize(This,pstream,grfMode)        \
384
    ( (This)->lpVtbl -> Initialize(This,pstream,grfMode) ) 
385

    
386
#endif /* COBJMACROS */
387

    
388

    
389
#endif         /* C style interface */
390

    
391

    
392

    
393
/* [call_as] */ HRESULT STDMETHODCALLTYPE IInitializeWithStream_RemoteInitialize_Proxy( 
394
    IInitializeWithStream * This,
395
    /* [in] */ __RPC__in_opt IStream *pstream,
396
    /* [in] */ DWORD grfMode);
397

    
398

    
399
void __RPC_STUB IInitializeWithStream_RemoteInitialize_Stub(
400
    IRpcStubBuffer *This,
401
    IRpcChannelBuffer *_pRpcChannelBuffer,
402
    PRPC_MESSAGE _pRpcMessage,
403
    DWORD *_pdwStubPhase);
404

    
405

    
406

    
407
#endif         /* __IInitializeWithStream_INTERFACE_DEFINED__ */
408

    
409

    
410
#ifndef __IPropertyStore_INTERFACE_DEFINED__
411
#define __IPropertyStore_INTERFACE_DEFINED__
412

    
413
/* interface IPropertyStore */
414
/* [unique][object][helpstring][uuid] */ 
415

    
416

    
417
EXTERN_C const IID IID_IPropertyStore;
418

    
419
#if defined(__cplusplus) && !defined(CINTERFACE)
420
    
421
    MIDL_INTERFACE("886d8eeb-8cf2-4446-8d02-cdba1dbdcf99")
422
    IPropertyStore : public IUnknown
423
    {
424
    public:
425
        virtual HRESULT STDMETHODCALLTYPE GetCount( 
426
            /* [out] */ __RPC__out DWORD *cProps) = 0;
427
        
428
        virtual HRESULT STDMETHODCALLTYPE GetAt( 
429
            /* [in] */ DWORD iProp,
430
            /* [out] */ __RPC__out PROPERTYKEY *pkey) = 0;
431
        
432
        virtual HRESULT STDMETHODCALLTYPE GetValue( 
433
            /* [in] */ __RPC__in REFPROPERTYKEY key,
434
            /* [out] */ __RPC__out PROPVARIANT *pv) = 0;
435
        
436
        virtual HRESULT STDMETHODCALLTYPE SetValue( 
437
            /* [in] */ __RPC__in REFPROPERTYKEY key,
438
            /* [in] */ __RPC__in REFPROPVARIANT propvar) = 0;
439
        
440
        virtual HRESULT STDMETHODCALLTYPE Commit( void) = 0;
441
        
442
    };
443
    
444
#else         /* C style interface */
445

    
446
    typedef struct IPropertyStoreVtbl
447
    {
448
        BEGIN_INTERFACE
449
        
450
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
451
            IPropertyStore * This,
452
            /* [in] */ __RPC__in REFIID riid,
453
            /* [iid_is][out] */ 
454
            __RPC__deref_out  void **ppvObject);
455
        
456
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
457
            IPropertyStore * This);
458
        
459
        ULONG ( STDMETHODCALLTYPE *Release )( 
460
            IPropertyStore * This);
461
        
462
        HRESULT ( STDMETHODCALLTYPE *GetCount )( 
463
            IPropertyStore * This,
464
            /* [out] */ __RPC__out DWORD *cProps);
465
        
466
        HRESULT ( STDMETHODCALLTYPE *GetAt )( 
467
            IPropertyStore * This,
468
            /* [in] */ DWORD iProp,
469
            /* [out] */ __RPC__out PROPERTYKEY *pkey);
470
        
471
        HRESULT ( STDMETHODCALLTYPE *GetValue )( 
472
            IPropertyStore * This,
473
            /* [in] */ __RPC__in REFPROPERTYKEY key,
474
            /* [out] */ __RPC__out PROPVARIANT *pv);
475
        
476
        HRESULT ( STDMETHODCALLTYPE *SetValue )( 
477
            IPropertyStore * This,
478
            /* [in] */ __RPC__in REFPROPERTYKEY key,
479
            /* [in] */ __RPC__in REFPROPVARIANT propvar);
480
        
481
        HRESULT ( STDMETHODCALLTYPE *Commit )( 
482
            IPropertyStore * This);
483
        
484
        END_INTERFACE
485
    } IPropertyStoreVtbl;
486

    
487
    interface IPropertyStore
488
    {
489
        CONST_VTBL struct IPropertyStoreVtbl *lpVtbl;
490
    };
491

    
492
    
493

    
494
#ifdef COBJMACROS
495

    
496

    
497
#define IPropertyStore_QueryInterface(This,riid,ppvObject)        \
498
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
499

    
500
#define IPropertyStore_AddRef(This)        \
501
    ( (This)->lpVtbl -> AddRef(This) ) 
502

    
503
#define IPropertyStore_Release(This)        \
504
    ( (This)->lpVtbl -> Release(This) ) 
505

    
506

    
507
#define IPropertyStore_GetCount(This,cProps)        \
508
    ( (This)->lpVtbl -> GetCount(This,cProps) ) 
509

    
510
#define IPropertyStore_GetAt(This,iProp,pkey)        \
511
    ( (This)->lpVtbl -> GetAt(This,iProp,pkey) ) 
512

    
513
#define IPropertyStore_GetValue(This,key,pv)        \
514
    ( (This)->lpVtbl -> GetValue(This,key,pv) ) 
515

    
516
#define IPropertyStore_SetValue(This,key,propvar)        \
517
    ( (This)->lpVtbl -> SetValue(This,key,propvar) ) 
518

    
519
#define IPropertyStore_Commit(This)        \
520
    ( (This)->lpVtbl -> Commit(This) ) 
521

    
522
#endif /* COBJMACROS */
523

    
524

    
525
#endif         /* C style interface */
526

    
527

    
528

    
529

    
530
#endif         /* __IPropertyStore_INTERFACE_DEFINED__ */
531

    
532

    
533
/* interface __MIDL_itf_propsys_0000_0003 */
534
/* [local] */ 
535

    
536
typedef /* [unique] */  __RPC_unique_pointer IPropertyStore *LPPROPERTYSTORE;
537

    
538

    
539

    
540
extern RPC_IF_HANDLE __MIDL_itf_propsys_0000_0003_v0_0_c_ifspec;
541
extern RPC_IF_HANDLE __MIDL_itf_propsys_0000_0003_v0_0_s_ifspec;
542

    
543
#ifndef __INamedPropertyStore_INTERFACE_DEFINED__
544
#define __INamedPropertyStore_INTERFACE_DEFINED__
545

    
546
/* interface INamedPropertyStore */
547
/* [unique][object][uuid] */ 
548

    
549

    
550
EXTERN_C const IID IID_INamedPropertyStore;
551

    
552
#if defined(__cplusplus) && !defined(CINTERFACE)
553
    
554
    MIDL_INTERFACE("71604b0f-97b0-4764-8577-2f13e98a1422")
555
    INamedPropertyStore : public IUnknown
556
    {
557
    public:
558
        virtual HRESULT STDMETHODCALLTYPE GetNamedValue( 
559
            /* [string][in] */ __RPC__in LPCWSTR pszName,
560
            /* [out] */ __RPC__out PROPVARIANT *ppropvar) = 0;
561
        
562
        virtual HRESULT STDMETHODCALLTYPE SetNamedValue( 
563
            /* [string][in] */ __RPC__in LPCWSTR pszName,
564
            /* [in] */ __RPC__in REFPROPVARIANT propvar) = 0;
565
        
566
        virtual HRESULT STDMETHODCALLTYPE GetNameCount( 
567
            /* [out] */ __RPC__out DWORD *pdwCount) = 0;
568
        
569
        virtual HRESULT STDMETHODCALLTYPE GetNameAt( 
570
            /* [in] */ DWORD iProp,
571
            /* [out] */ __RPC__deref_out_opt BSTR *pbstrName) = 0;
572
        
573
    };
574
    
575
#else         /* C style interface */
576

    
577
    typedef struct INamedPropertyStoreVtbl
578
    {
579
        BEGIN_INTERFACE
580
        
581
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
582
            INamedPropertyStore * This,
583
            /* [in] */ __RPC__in REFIID riid,
584
            /* [iid_is][out] */ 
585
            __RPC__deref_out  void **ppvObject);
586
        
587
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
588
            INamedPropertyStore * This);
589
        
590
        ULONG ( STDMETHODCALLTYPE *Release )( 
591
            INamedPropertyStore * This);
592
        
593
        HRESULT ( STDMETHODCALLTYPE *GetNamedValue )( 
594
            INamedPropertyStore * This,
595
            /* [string][in] */ __RPC__in LPCWSTR pszName,
596
            /* [out] */ __RPC__out PROPVARIANT *ppropvar);
597
        
598
        HRESULT ( STDMETHODCALLTYPE *SetNamedValue )( 
599
            INamedPropertyStore * This,
600
            /* [string][in] */ __RPC__in LPCWSTR pszName,
601
            /* [in] */ __RPC__in REFPROPVARIANT propvar);
602
        
603
        HRESULT ( STDMETHODCALLTYPE *GetNameCount )( 
604
            INamedPropertyStore * This,
605
            /* [out] */ __RPC__out DWORD *pdwCount);
606
        
607
        HRESULT ( STDMETHODCALLTYPE *GetNameAt )( 
608
            INamedPropertyStore * This,
609
            /* [in] */ DWORD iProp,
610
            /* [out] */ __RPC__deref_out_opt BSTR *pbstrName);
611
        
612
        END_INTERFACE
613
    } INamedPropertyStoreVtbl;
614

    
615
    interface INamedPropertyStore
616
    {
617
        CONST_VTBL struct INamedPropertyStoreVtbl *lpVtbl;
618
    };
619

    
620
    
621

    
622
#ifdef COBJMACROS
623

    
624

    
625
#define INamedPropertyStore_QueryInterface(This,riid,ppvObject)        \
626
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
627

    
628
#define INamedPropertyStore_AddRef(This)        \
629
    ( (This)->lpVtbl -> AddRef(This) ) 
630

    
631
#define INamedPropertyStore_Release(This)        \
632
    ( (This)->lpVtbl -> Release(This) ) 
633

    
634

    
635
#define INamedPropertyStore_GetNamedValue(This,pszName,ppropvar)        \
636
    ( (This)->lpVtbl -> GetNamedValue(This,pszName,ppropvar) ) 
637

    
638
#define INamedPropertyStore_SetNamedValue(This,pszName,propvar)        \
639
    ( (This)->lpVtbl -> SetNamedValue(This,pszName,propvar) ) 
640

    
641
#define INamedPropertyStore_GetNameCount(This,pdwCount)        \
642
    ( (This)->lpVtbl -> GetNameCount(This,pdwCount) ) 
643

    
644
#define INamedPropertyStore_GetNameAt(This,iProp,pbstrName)        \
645
    ( (This)->lpVtbl -> GetNameAt(This,iProp,pbstrName) ) 
646

    
647
#endif /* COBJMACROS */
648

    
649

    
650
#endif         /* C style interface */
651

    
652

    
653

    
654

    
655
#endif         /* __INamedPropertyStore_INTERFACE_DEFINED__ */
656

    
657

    
658
/* interface __MIDL_itf_propsys_0000_0004 */
659
/* [local] */ 
660

    
661
/* [v1_enum] */ 
662
enum tagGETPROPERTYSTOREFLAGS
663
    {        GPS_DEFAULT        = 0,
664
        GPS_HANDLERPROPERTIESONLY        = 0x1,
665
        GPS_READWRITE        = 0x2,
666
        GPS_TEMPORARY        = 0x4,
667
        GPS_FASTPROPERTIESONLY        = 0x8,
668
        GPS_OPENSLOWITEM        = 0x10,
669
        GPS_DELAYCREATION        = 0x20,
670
        GPS_BESTEFFORT        = 0x40,
671
        GPS_MASK_VALID        = 0x7f
672
    } ;
673
typedef int GETPROPERTYSTOREFLAGS;
674

    
675

    
676

    
677
extern RPC_IF_HANDLE __MIDL_itf_propsys_0000_0004_v0_0_c_ifspec;
678
extern RPC_IF_HANDLE __MIDL_itf_propsys_0000_0004_v0_0_s_ifspec;
679

    
680
#ifndef __IObjectWithPropertyKey_INTERFACE_DEFINED__
681
#define __IObjectWithPropertyKey_INTERFACE_DEFINED__
682

    
683
/* interface IObjectWithPropertyKey */
684
/* [uuid][object] */ 
685

    
686

    
687
EXTERN_C const IID IID_IObjectWithPropertyKey;
688

    
689
#if defined(__cplusplus) && !defined(CINTERFACE)
690
    
691
    MIDL_INTERFACE("fc0ca0a7-c316-4fd2-9031-3e628e6d4f23")
692
    IObjectWithPropertyKey : public IUnknown
693
    {
694
    public:
695
        virtual HRESULT STDMETHODCALLTYPE SetPropertyKey( 
696
            /* [in] */ __RPC__in REFPROPERTYKEY key) = 0;
697
        
698
        virtual HRESULT STDMETHODCALLTYPE GetPropertyKey( 
699
            /* [out] */ __RPC__out PROPERTYKEY *pkey) = 0;
700
        
701
    };
702
    
703
#else         /* C style interface */
704

    
705
    typedef struct IObjectWithPropertyKeyVtbl
706
    {
707
        BEGIN_INTERFACE
708
        
709
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
710
            IObjectWithPropertyKey * This,
711
            /* [in] */ __RPC__in REFIID riid,
712
            /* [iid_is][out] */ 
713
            __RPC__deref_out  void **ppvObject);
714
        
715
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
716
            IObjectWithPropertyKey * This);
717
        
718
        ULONG ( STDMETHODCALLTYPE *Release )( 
719
            IObjectWithPropertyKey * This);
720
        
721
        HRESULT ( STDMETHODCALLTYPE *SetPropertyKey )( 
722
            IObjectWithPropertyKey * This,
723
            /* [in] */ __RPC__in REFPROPERTYKEY key);
724
        
725
        HRESULT ( STDMETHODCALLTYPE *GetPropertyKey )( 
726
            IObjectWithPropertyKey * This,
727
            /* [out] */ __RPC__out PROPERTYKEY *pkey);
728
        
729
        END_INTERFACE
730
    } IObjectWithPropertyKeyVtbl;
731

    
732
    interface IObjectWithPropertyKey
733
    {
734
        CONST_VTBL struct IObjectWithPropertyKeyVtbl *lpVtbl;
735
    };
736

    
737
    
738

    
739
#ifdef COBJMACROS
740

    
741

    
742
#define IObjectWithPropertyKey_QueryInterface(This,riid,ppvObject)        \
743
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
744

    
745
#define IObjectWithPropertyKey_AddRef(This)        \
746
    ( (This)->lpVtbl -> AddRef(This) ) 
747

    
748
#define IObjectWithPropertyKey_Release(This)        \
749
    ( (This)->lpVtbl -> Release(This) ) 
750

    
751

    
752
#define IObjectWithPropertyKey_SetPropertyKey(This,key)        \
753
    ( (This)->lpVtbl -> SetPropertyKey(This,key) ) 
754

    
755
#define IObjectWithPropertyKey_GetPropertyKey(This,pkey)        \
756
    ( (This)->lpVtbl -> GetPropertyKey(This,pkey) ) 
757

    
758
#endif /* COBJMACROS */
759

    
760

    
761
#endif         /* C style interface */
762

    
763

    
764

    
765

    
766
#endif         /* __IObjectWithPropertyKey_INTERFACE_DEFINED__ */
767

    
768

    
769
/* interface __MIDL_itf_propsys_0000_0005 */
770
/* [local] */ 
771

    
772
typedef /* [v1_enum] */ 
773
enum tagPKA_FLAGS
774
    {        PKA_SET        = 0,
775
        PKA_APPEND        = ( PKA_SET + 1 ) ,
776
        PKA_DELETE        = ( PKA_APPEND + 1 ) 
777
    }         PKA_FLAGS;
778

    
779

    
780

    
781
extern RPC_IF_HANDLE __MIDL_itf_propsys_0000_0005_v0_0_c_ifspec;
782
extern RPC_IF_HANDLE __MIDL_itf_propsys_0000_0005_v0_0_s_ifspec;
783

    
784
#ifndef __IPropertyChange_INTERFACE_DEFINED__
785
#define __IPropertyChange_INTERFACE_DEFINED__
786

    
787
/* interface IPropertyChange */
788
/* [unique][object][uuid] */ 
789

    
790

    
791
EXTERN_C const IID IID_IPropertyChange;
792

    
793
#if defined(__cplusplus) && !defined(CINTERFACE)
794
    
795
    MIDL_INTERFACE("f917bc8a-1bba-4478-a245-1bde03eb9431")
796
    IPropertyChange : public IObjectWithPropertyKey
797
    {
798
    public:
799
        virtual HRESULT STDMETHODCALLTYPE ApplyToPropVariant( 
800
            /* [in] */ __RPC__in REFPROPVARIANT propvarIn,
801
            /* [out] */ __RPC__out PROPVARIANT *ppropvarOut) = 0;
802
        
803
    };
804
    
805
#else         /* C style interface */
806

    
807
    typedef struct IPropertyChangeVtbl
808
    {
809
        BEGIN_INTERFACE
810
        
811
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
812
            IPropertyChange * This,
813
            /* [in] */ __RPC__in REFIID riid,
814
            /* [iid_is][out] */ 
815
            __RPC__deref_out  void **ppvObject);
816
        
817
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
818
            IPropertyChange * This);
819
        
820
        ULONG ( STDMETHODCALLTYPE *Release )( 
821
            IPropertyChange * This);
822
        
823
        HRESULT ( STDMETHODCALLTYPE *SetPropertyKey )( 
824
            IPropertyChange * This,
825
            /* [in] */ __RPC__in REFPROPERTYKEY key);
826
        
827
        HRESULT ( STDMETHODCALLTYPE *GetPropertyKey )( 
828
            IPropertyChange * This,
829
            /* [out] */ __RPC__out PROPERTYKEY *pkey);
830
        
831
        HRESULT ( STDMETHODCALLTYPE *ApplyToPropVariant )( 
832
            IPropertyChange * This,
833
            /* [in] */ __RPC__in REFPROPVARIANT propvarIn,
834
            /* [out] */ __RPC__out PROPVARIANT *ppropvarOut);
835
        
836
        END_INTERFACE
837
    } IPropertyChangeVtbl;
838

    
839
    interface IPropertyChange
840
    {
841
        CONST_VTBL struct IPropertyChangeVtbl *lpVtbl;
842
    };
843

    
844
    
845

    
846
#ifdef COBJMACROS
847

    
848

    
849
#define IPropertyChange_QueryInterface(This,riid,ppvObject)        \
850
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
851

    
852
#define IPropertyChange_AddRef(This)        \
853
    ( (This)->lpVtbl -> AddRef(This) ) 
854

    
855
#define IPropertyChange_Release(This)        \
856
    ( (This)->lpVtbl -> Release(This) ) 
857

    
858

    
859
#define IPropertyChange_SetPropertyKey(This,key)        \
860
    ( (This)->lpVtbl -> SetPropertyKey(This,key) ) 
861

    
862
#define IPropertyChange_GetPropertyKey(This,pkey)        \
863
    ( (This)->lpVtbl -> GetPropertyKey(This,pkey) ) 
864

    
865

    
866
#define IPropertyChange_ApplyToPropVariant(This,propvarIn,ppropvarOut)        \
867
    ( (This)->lpVtbl -> ApplyToPropVariant(This,propvarIn,ppropvarOut) ) 
868

    
869
#endif /* COBJMACROS */
870

    
871

    
872
#endif         /* C style interface */
873

    
874

    
875

    
876

    
877
#endif         /* __IPropertyChange_INTERFACE_DEFINED__ */
878

    
879

    
880
#ifndef __IPropertyChangeArray_INTERFACE_DEFINED__
881
#define __IPropertyChangeArray_INTERFACE_DEFINED__
882

    
883
/* interface IPropertyChangeArray */
884
/* [unique][object][uuid] */ 
885

    
886

    
887
EXTERN_C const IID IID_IPropertyChangeArray;
888

    
889
#if defined(__cplusplus) && !defined(CINTERFACE)
890
    
891
    MIDL_INTERFACE("380f5cad-1b5e-42f2-805d-637fd392d31e")
892
    IPropertyChangeArray : public IUnknown
893
    {
894
    public:
895
        virtual HRESULT STDMETHODCALLTYPE GetCount( 
896
            /* [out] */ __RPC__out UINT *pcOperations) = 0;
897
        
898
        virtual HRESULT STDMETHODCALLTYPE GetAt( 
899
            /* [in] */ UINT iIndex,
900
            /* [in] */ __RPC__in REFIID riid,
901
            /* [iid_is][out] */ __RPC__deref_out_opt void **ppv) = 0;
902
        
903
        virtual HRESULT STDMETHODCALLTYPE InsertAt( 
904
            /* [in] */ UINT iIndex,
905
            /* [in] */ __RPC__in_opt IPropertyChange *ppropChange) = 0;
906
        
907
        virtual HRESULT STDMETHODCALLTYPE Append( 
908
            /* [in] */ __RPC__in_opt IPropertyChange *ppropChange) = 0;
909
        
910
        virtual HRESULT STDMETHODCALLTYPE AppendOrReplace( 
911
            /* [in] */ __RPC__in_opt IPropertyChange *ppropChange) = 0;
912
        
913
        virtual HRESULT STDMETHODCALLTYPE RemoveAt( 
914
            /* [in] */ UINT iIndex) = 0;
915
        
916
        virtual HRESULT STDMETHODCALLTYPE IsKeyInArray( 
917
            /* [in] */ __RPC__in REFPROPERTYKEY key) = 0;
918
        
919
    };
920
    
921
#else         /* C style interface */
922

    
923
    typedef struct IPropertyChangeArrayVtbl
924
    {
925
        BEGIN_INTERFACE
926
        
927
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
928
            IPropertyChangeArray * This,
929
            /* [in] */ __RPC__in REFIID riid,
930
            /* [iid_is][out] */ 
931
            __RPC__deref_out  void **ppvObject);
932
        
933
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
934
            IPropertyChangeArray * This);
935
        
936
        ULONG ( STDMETHODCALLTYPE *Release )( 
937
            IPropertyChangeArray * This);
938
        
939
        HRESULT ( STDMETHODCALLTYPE *GetCount )( 
940
            IPropertyChangeArray * This,
941
            /* [out] */ __RPC__out UINT *pcOperations);
942
        
943
        HRESULT ( STDMETHODCALLTYPE *GetAt )( 
944
            IPropertyChangeArray * This,
945
            /* [in] */ UINT iIndex,
946
            /* [in] */ __RPC__in REFIID riid,
947
            /* [iid_is][out] */ __RPC__deref_out_opt void **ppv);
948
        
949
        HRESULT ( STDMETHODCALLTYPE *InsertAt )( 
950
            IPropertyChangeArray * This,
951
            /* [in] */ UINT iIndex,
952
            /* [in] */ __RPC__in_opt IPropertyChange *ppropChange);
953
        
954
        HRESULT ( STDMETHODCALLTYPE *Append )( 
955
            IPropertyChangeArray * This,
956
            /* [in] */ __RPC__in_opt IPropertyChange *ppropChange);
957
        
958
        HRESULT ( STDMETHODCALLTYPE *AppendOrReplace )( 
959
            IPropertyChangeArray * This,
960
            /* [in] */ __RPC__in_opt IPropertyChange *ppropChange);
961
        
962
        HRESULT ( STDMETHODCALLTYPE *RemoveAt )( 
963
            IPropertyChangeArray * This,
964
            /* [in] */ UINT iIndex);
965
        
966
        HRESULT ( STDMETHODCALLTYPE *IsKeyInArray )( 
967
            IPropertyChangeArray * This,
968
            /* [in] */ __RPC__in REFPROPERTYKEY key);
969
        
970
        END_INTERFACE
971
    } IPropertyChangeArrayVtbl;
972

    
973
    interface IPropertyChangeArray
974
    {
975
        CONST_VTBL struct IPropertyChangeArrayVtbl *lpVtbl;
976
    };
977

    
978
    
979

    
980
#ifdef COBJMACROS
981

    
982

    
983
#define IPropertyChangeArray_QueryInterface(This,riid,ppvObject)        \
984
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
985

    
986
#define IPropertyChangeArray_AddRef(This)        \
987
    ( (This)->lpVtbl -> AddRef(This) ) 
988

    
989
#define IPropertyChangeArray_Release(This)        \
990
    ( (This)->lpVtbl -> Release(This) ) 
991

    
992

    
993
#define IPropertyChangeArray_GetCount(This,pcOperations)        \
994
    ( (This)->lpVtbl -> GetCount(This,pcOperations) ) 
995

    
996
#define IPropertyChangeArray_GetAt(This,iIndex,riid,ppv)        \
997
    ( (This)->lpVtbl -> GetAt(This,iIndex,riid,ppv) ) 
998

    
999
#define IPropertyChangeArray_InsertAt(This,iIndex,ppropChange)        \
1000
    ( (This)->lpVtbl -> InsertAt(This,iIndex,ppropChange) ) 
1001

    
1002
#define IPropertyChangeArray_Append(This,ppropChange)        \
1003
    ( (This)->lpVtbl -> Append(This,ppropChange) ) 
1004

    
1005
#define IPropertyChangeArray_AppendOrReplace(This,ppropChange)        \
1006
    ( (This)->lpVtbl -> AppendOrReplace(This,ppropChange) ) 
1007

    
1008
#define IPropertyChangeArray_RemoveAt(This,iIndex)        \
1009
    ( (This)->lpVtbl -> RemoveAt(This,iIndex) ) 
1010

    
1011
#define IPropertyChangeArray_IsKeyInArray(This,key)        \
1012
    ( (This)->lpVtbl -> IsKeyInArray(This,key) ) 
1013

    
1014
#endif /* COBJMACROS */
1015

    
1016

    
1017
#endif         /* C style interface */
1018

    
1019

    
1020

    
1021

    
1022
#endif         /* __IPropertyChangeArray_INTERFACE_DEFINED__ */
1023

    
1024

    
1025
#ifndef __IPropertyStoreCapabilities_INTERFACE_DEFINED__
1026
#define __IPropertyStoreCapabilities_INTERFACE_DEFINED__
1027

    
1028
/* interface IPropertyStoreCapabilities */
1029
/* [unique][object][uuid] */ 
1030

    
1031

    
1032
EXTERN_C const IID IID_IPropertyStoreCapabilities;
1033

    
1034
#if defined(__cplusplus) && !defined(CINTERFACE)
1035
    
1036
    MIDL_INTERFACE("c8e2d566-186e-4d49-bf41-6909ead56acc")
1037
    IPropertyStoreCapabilities : public IUnknown
1038
    {
1039
    public:
1040
        virtual HRESULT STDMETHODCALLTYPE IsPropertyWritable( 
1041
            /* [in] */ __RPC__in REFPROPERTYKEY key) = 0;
1042
        
1043
    };
1044
    
1045
#else         /* C style interface */
1046

    
1047
    typedef struct IPropertyStoreCapabilitiesVtbl
1048
    {
1049
        BEGIN_INTERFACE
1050
        
1051
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
1052
            IPropertyStoreCapabilities * This,
1053
            /* [in] */ __RPC__in REFIID riid,
1054
            /* [iid_is][out] */ 
1055
            __RPC__deref_out  void **ppvObject);
1056
        
1057
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
1058
            IPropertyStoreCapabilities * This);
1059
        
1060
        ULONG ( STDMETHODCALLTYPE *Release )( 
1061
            IPropertyStoreCapabilities * This);
1062
        
1063
        HRESULT ( STDMETHODCALLTYPE *IsPropertyWritable )( 
1064
            IPropertyStoreCapabilities * This,
1065
            /* [in] */ __RPC__in REFPROPERTYKEY key);
1066
        
1067
        END_INTERFACE
1068
    } IPropertyStoreCapabilitiesVtbl;
1069

    
1070
    interface IPropertyStoreCapabilities
1071
    {
1072
        CONST_VTBL struct IPropertyStoreCapabilitiesVtbl *lpVtbl;
1073
    };
1074

    
1075
    
1076

    
1077
#ifdef COBJMACROS
1078

    
1079

    
1080
#define IPropertyStoreCapabilities_QueryInterface(This,riid,ppvObject)        \
1081
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
1082

    
1083
#define IPropertyStoreCapabilities_AddRef(This)        \
1084
    ( (This)->lpVtbl -> AddRef(This) ) 
1085

    
1086
#define IPropertyStoreCapabilities_Release(This)        \
1087
    ( (This)->lpVtbl -> Release(This) ) 
1088

    
1089

    
1090
#define IPropertyStoreCapabilities_IsPropertyWritable(This,key)        \
1091
    ( (This)->lpVtbl -> IsPropertyWritable(This,key) ) 
1092

    
1093
#endif /* COBJMACROS */
1094

    
1095

    
1096
#endif         /* C style interface */
1097

    
1098

    
1099

    
1100

    
1101
#endif         /* __IPropertyStoreCapabilities_INTERFACE_DEFINED__ */
1102

    
1103

    
1104
#ifndef __IPropertyStoreCache_INTERFACE_DEFINED__
1105
#define __IPropertyStoreCache_INTERFACE_DEFINED__
1106

    
1107
/* interface IPropertyStoreCache */
1108
/* [unique][object][uuid] */ 
1109

    
1110
typedef /* [v1_enum] */ 
1111
enum _PSC_STATE
1112
    {        PSC_NORMAL        = 0,
1113
        PSC_NOTINSOURCE        = 1,
1114
        PSC_DIRTY        = 2,
1115
        PSC_READONLY        = 3
1116
    }         PSC_STATE;
1117

    
1118

    
1119
EXTERN_C const IID IID_IPropertyStoreCache;
1120

    
1121
#if defined(__cplusplus) && !defined(CINTERFACE)
1122
    
1123
    MIDL_INTERFACE("3017056d-9a91-4e90-937d-746c72abbf4f")
1124
    IPropertyStoreCache : public IPropertyStore
1125
    {
1126
    public:
1127
        virtual HRESULT STDMETHODCALLTYPE GetState( 
1128
            /* [in] */ __RPC__in REFPROPERTYKEY key,
1129
            /* [out] */ __RPC__out PSC_STATE *pstate) = 0;
1130
        
1131
        virtual HRESULT STDMETHODCALLTYPE GetValueAndState( 
1132
            /* [in] */ __RPC__in REFPROPERTYKEY key,
1133
            /* [out] */ __RPC__out PROPVARIANT *ppropvar,
1134
            /* [out] */ __RPC__out PSC_STATE *pstate) = 0;
1135
        
1136
        virtual HRESULT STDMETHODCALLTYPE SetState( 
1137
            /* [in] */ __RPC__in REFPROPERTYKEY key,
1138
            /* [in] */ PSC_STATE state) = 0;
1139
        
1140
        virtual HRESULT STDMETHODCALLTYPE SetValueAndState( 
1141
            /* [in] */ __RPC__in REFPROPERTYKEY key,
1142
            /* [unique][in] */ __RPC__in_opt const PROPVARIANT *ppropvar,
1143
            /* [in] */ PSC_STATE state) = 0;
1144
        
1145
    };
1146
    
1147
#else         /* C style interface */
1148

    
1149
    typedef struct IPropertyStoreCacheVtbl
1150
    {
1151
        BEGIN_INTERFACE
1152
        
1153
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
1154
            IPropertyStoreCache * This,
1155
            /* [in] */ __RPC__in REFIID riid,
1156
            /* [iid_is][out] */ 
1157
            __RPC__deref_out  void **ppvObject);
1158
        
1159
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
1160
            IPropertyStoreCache * This);
1161
        
1162
        ULONG ( STDMETHODCALLTYPE *Release )( 
1163
            IPropertyStoreCache * This);
1164
        
1165
        HRESULT ( STDMETHODCALLTYPE *GetCount )( 
1166
            IPropertyStoreCache * This,
1167
            /* [out] */ __RPC__out DWORD *cProps);
1168
        
1169
        HRESULT ( STDMETHODCALLTYPE *GetAt )( 
1170
            IPropertyStoreCache * This,
1171
            /* [in] */ DWORD iProp,
1172
            /* [out] */ __RPC__out PROPERTYKEY *pkey);
1173
        
1174
        HRESULT ( STDMETHODCALLTYPE *GetValue )( 
1175
            IPropertyStoreCache * This,
1176
            /* [in] */ __RPC__in REFPROPERTYKEY key,
1177
            /* [out] */ __RPC__out PROPVARIANT *pv);
1178
        
1179
        HRESULT ( STDMETHODCALLTYPE *SetValue )( 
1180
            IPropertyStoreCache * This,
1181
            /* [in] */ __RPC__in REFPROPERTYKEY key,
1182
            /* [in] */ __RPC__in REFPROPVARIANT propvar);
1183
        
1184
        HRESULT ( STDMETHODCALLTYPE *Commit )( 
1185
            IPropertyStoreCache * This);
1186
        
1187
        HRESULT ( STDMETHODCALLTYPE *GetState )( 
1188
            IPropertyStoreCache * This,
1189
            /* [in] */ __RPC__in REFPROPERTYKEY key,
1190
            /* [out] */ __RPC__out PSC_STATE *pstate);
1191
        
1192
        HRESULT ( STDMETHODCALLTYPE *GetValueAndState )( 
1193
            IPropertyStoreCache * This,
1194
            /* [in] */ __RPC__in REFPROPERTYKEY key,
1195
            /* [out] */ __RPC__out PROPVARIANT *ppropvar,
1196
            /* [out] */ __RPC__out PSC_STATE *pstate);
1197
        
1198
        HRESULT ( STDMETHODCALLTYPE *SetState )( 
1199
            IPropertyStoreCache * This,
1200
            /* [in] */ __RPC__in REFPROPERTYKEY key,
1201
            /* [in] */ PSC_STATE state);
1202
        
1203
        HRESULT ( STDMETHODCALLTYPE *SetValueAndState )( 
1204
            IPropertyStoreCache * This,
1205
            /* [in] */ __RPC__in REFPROPERTYKEY key,
1206
            /* [unique][in] */ __RPC__in_opt const PROPVARIANT *ppropvar,
1207
            /* [in] */ PSC_STATE state);
1208
        
1209
        END_INTERFACE
1210
    } IPropertyStoreCacheVtbl;
1211

    
1212
    interface IPropertyStoreCache
1213
    {
1214
        CONST_VTBL struct IPropertyStoreCacheVtbl *lpVtbl;
1215
    };
1216

    
1217
    
1218

    
1219
#ifdef COBJMACROS
1220

    
1221

    
1222
#define IPropertyStoreCache_QueryInterface(This,riid,ppvObject)        \
1223
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
1224

    
1225
#define IPropertyStoreCache_AddRef(This)        \
1226
    ( (This)->lpVtbl -> AddRef(This) ) 
1227

    
1228
#define IPropertyStoreCache_Release(This)        \
1229
    ( (This)->lpVtbl -> Release(This) ) 
1230

    
1231

    
1232
#define IPropertyStoreCache_GetCount(This,cProps)        \
1233
    ( (This)->lpVtbl -> GetCount(This,cProps) ) 
1234

    
1235
#define IPropertyStoreCache_GetAt(This,iProp,pkey)        \
1236
    ( (This)->lpVtbl -> GetAt(This,iProp,pkey) ) 
1237

    
1238
#define IPropertyStoreCache_GetValue(This,key,pv)        \
1239
    ( (This)->lpVtbl -> GetValue(This,key,pv) ) 
1240

    
1241
#define IPropertyStoreCache_SetValue(This,key,propvar)        \
1242
    ( (This)->lpVtbl -> SetValue(This,key,propvar) ) 
1243

    
1244
#define IPropertyStoreCache_Commit(This)        \
1245
    ( (This)->lpVtbl -> Commit(This) ) 
1246

    
1247

    
1248
#define IPropertyStoreCache_GetState(This,key,pstate)        \
1249
    ( (This)->lpVtbl -> GetState(This,key,pstate) ) 
1250

    
1251
#define IPropertyStoreCache_GetValueAndState(This,key,ppropvar,pstate)        \
1252
    ( (This)->lpVtbl -> GetValueAndState(This,key,ppropvar,pstate) ) 
1253

    
1254
#define IPropertyStoreCache_SetState(This,key,state)        \
1255
    ( (This)->lpVtbl -> SetState(This,key,state) ) 
1256

    
1257
#define IPropertyStoreCache_SetValueAndState(This,key,ppropvar,state)        \
1258
    ( (This)->lpVtbl -> SetValueAndState(This,key,ppropvar,state) ) 
1259

    
1260
#endif /* COBJMACROS */
1261

    
1262

    
1263
#endif         /* C style interface */
1264

    
1265

    
1266

    
1267

    
1268
#endif         /* __IPropertyStoreCache_INTERFACE_DEFINED__ */
1269

    
1270

    
1271
#ifndef __IPropertyEnumType_INTERFACE_DEFINED__
1272
#define __IPropertyEnumType_INTERFACE_DEFINED__
1273

    
1274
/* interface IPropertyEnumType */
1275
/* [unique][object][uuid] */ 
1276

    
1277
/* [v1_enum] */ 
1278
enum tagPROPENUMTYPE
1279
    {        PET_DISCRETEVALUE        = 0,
1280
        PET_RANGEDVALUE        = 1,
1281
        PET_DEFAULTVALUE        = 2,
1282
        PET_ENDRANGE        = 3
1283
    } ;
1284
typedef enum tagPROPENUMTYPE PROPENUMTYPE;
1285

    
1286

    
1287
EXTERN_C const IID IID_IPropertyEnumType;
1288

    
1289
#if defined(__cplusplus) && !defined(CINTERFACE)
1290
    
1291
    MIDL_INTERFACE("11e1fbf9-2d56-4a6b-8db3-7cd193a471f2")
1292
    IPropertyEnumType : public IUnknown
1293
    {
1294
    public:
1295
        virtual HRESULT STDMETHODCALLTYPE GetEnumType( 
1296
            /* [out] */ __RPC__out PROPENUMTYPE *penumtype) = 0;
1297
        
1298
        virtual HRESULT STDMETHODCALLTYPE GetValue( 
1299
            /* [out] */ __RPC__out PROPVARIANT *ppropvar) = 0;
1300
        
1301
        virtual HRESULT STDMETHODCALLTYPE GetRangeMinValue( 
1302
            /* [out] */ __RPC__out PROPVARIANT *ppropvarMin) = 0;
1303
        
1304
        virtual HRESULT STDMETHODCALLTYPE GetRangeSetValue( 
1305
            /* [out] */ __RPC__out PROPVARIANT *ppropvarSet) = 0;
1306
        
1307
        virtual HRESULT STDMETHODCALLTYPE GetDisplayText( 
1308
            /* [out] */ __RPC__deref_out_opt LPWSTR *ppszDisplay) = 0;
1309
        
1310
    };
1311
    
1312
#else         /* C style interface */
1313

    
1314
    typedef struct IPropertyEnumTypeVtbl
1315
    {
1316
        BEGIN_INTERFACE
1317
        
1318
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
1319
            IPropertyEnumType * This,
1320
            /* [in] */ __RPC__in REFIID riid,
1321
            /* [iid_is][out] */ 
1322
            __RPC__deref_out  void **ppvObject);
1323
        
1324
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
1325
            IPropertyEnumType * This);
1326
        
1327
        ULONG ( STDMETHODCALLTYPE *Release )( 
1328
            IPropertyEnumType * This);
1329
        
1330
        HRESULT ( STDMETHODCALLTYPE *GetEnumType )( 
1331
            IPropertyEnumType * This,
1332
            /* [out] */ __RPC__out PROPENUMTYPE *penumtype);
1333
        
1334
        HRESULT ( STDMETHODCALLTYPE *GetValue )( 
1335
            IPropertyEnumType * This,
1336
            /* [out] */ __RPC__out PROPVARIANT *ppropvar);
1337
        
1338
        HRESULT ( STDMETHODCALLTYPE *GetRangeMinValue )( 
1339
            IPropertyEnumType * This,
1340
            /* [out] */ __RPC__out PROPVARIANT *ppropvarMin);
1341
        
1342
        HRESULT ( STDMETHODCALLTYPE *GetRangeSetValue )( 
1343
            IPropertyEnumType * This,
1344
            /* [out] */ __RPC__out PROPVARIANT *ppropvarSet);
1345
        
1346
        HRESULT ( STDMETHODCALLTYPE *GetDisplayText )( 
1347
            IPropertyEnumType * This,
1348
            /* [out] */ __RPC__deref_out_opt LPWSTR *ppszDisplay);
1349
        
1350
        END_INTERFACE
1351
    } IPropertyEnumTypeVtbl;
1352

    
1353
    interface IPropertyEnumType
1354
    {
1355
        CONST_VTBL struct IPropertyEnumTypeVtbl *lpVtbl;
1356
    };
1357

    
1358
    
1359

    
1360
#ifdef COBJMACROS
1361

    
1362

    
1363
#define IPropertyEnumType_QueryInterface(This,riid,ppvObject)        \
1364
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
1365

    
1366
#define IPropertyEnumType_AddRef(This)        \
1367
    ( (This)->lpVtbl -> AddRef(This) ) 
1368

    
1369
#define IPropertyEnumType_Release(This)        \
1370
    ( (This)->lpVtbl -> Release(This) ) 
1371

    
1372

    
1373
#define IPropertyEnumType_GetEnumType(This,penumtype)        \
1374
    ( (This)->lpVtbl -> GetEnumType(This,penumtype) ) 
1375

    
1376
#define IPropertyEnumType_GetValue(This,ppropvar)        \
1377
    ( (This)->lpVtbl -> GetValue(This,ppropvar) ) 
1378

    
1379
#define IPropertyEnumType_GetRangeMinValue(This,ppropvarMin)        \
1380
    ( (This)->lpVtbl -> GetRangeMinValue(This,ppropvarMin) ) 
1381

    
1382
#define IPropertyEnumType_GetRangeSetValue(This,ppropvarSet)        \
1383
    ( (This)->lpVtbl -> GetRangeSetValue(This,ppropvarSet) ) 
1384

    
1385
#define IPropertyEnumType_GetDisplayText(This,ppszDisplay)        \
1386
    ( (This)->lpVtbl -> GetDisplayText(This,ppszDisplay) ) 
1387

    
1388
#endif /* COBJMACROS */
1389

    
1390

    
1391
#endif         /* C style interface */
1392

    
1393

    
1394

    
1395

    
1396
#endif         /* __IPropertyEnumType_INTERFACE_DEFINED__ */
1397

    
1398

    
1399
#ifndef __IPropertyEnumTypeList_INTERFACE_DEFINED__
1400
#define __IPropertyEnumTypeList_INTERFACE_DEFINED__
1401

    
1402
/* interface IPropertyEnumTypeList */
1403
/* [unique][object][uuid] */ 
1404

    
1405

    
1406
EXTERN_C const IID IID_IPropertyEnumTypeList;
1407

    
1408
#if defined(__cplusplus) && !defined(CINTERFACE)
1409
    
1410
    MIDL_INTERFACE("a99400f4-3d84-4557-94ba-1242fb2cc9a6")
1411
    IPropertyEnumTypeList : public IUnknown
1412
    {
1413
    public:
1414
        virtual HRESULT STDMETHODCALLTYPE GetCount( 
1415
            /* [out] */ __RPC__out UINT *pctypes) = 0;
1416
        
1417
        virtual HRESULT STDMETHODCALLTYPE GetAt( 
1418
            /* [in] */ UINT itype,
1419
            /* [in] */ __RPC__in REFIID riid,
1420
            /* [iid_is][out] */ __RPC__deref_out_opt void **ppv) = 0;
1421
        
1422
        virtual HRESULT STDMETHODCALLTYPE GetConditionAt( 
1423
            /* [in] */ UINT nIndex,
1424
            /* [in] */ __RPC__in REFIID riid,
1425
            /* [iid_is][out] */ __RPC__deref_out_opt void **ppv) = 0;
1426
        
1427
        virtual HRESULT STDMETHODCALLTYPE FindMatchingIndex( 
1428
            /* [in] */ __RPC__in REFPROPVARIANT propvarCmp,
1429
            /* [out] */ __RPC__out UINT *pnIndex) = 0;
1430
        
1431
    };
1432
    
1433
#else         /* C style interface */
1434

    
1435
    typedef struct IPropertyEnumTypeListVtbl
1436
    {
1437
        BEGIN_INTERFACE
1438
        
1439
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
1440
            IPropertyEnumTypeList * This,
1441
            /* [in] */ __RPC__in REFIID riid,
1442
            /* [iid_is][out] */ 
1443
            __RPC__deref_out  void **ppvObject);
1444
        
1445
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
1446
            IPropertyEnumTypeList * This);
1447
        
1448
        ULONG ( STDMETHODCALLTYPE *Release )( 
1449
            IPropertyEnumTypeList * This);
1450
        
1451
        HRESULT ( STDMETHODCALLTYPE *GetCount )( 
1452
            IPropertyEnumTypeList * This,
1453
            /* [out] */ __RPC__out UINT *pctypes);
1454
        
1455
        HRESULT ( STDMETHODCALLTYPE *GetAt )( 
1456
            IPropertyEnumTypeList * This,
1457
            /* [in] */ UINT itype,
1458
            /* [in] */ __RPC__in REFIID riid,
1459
            /* [iid_is][out] */ __RPC__deref_out_opt void **ppv);
1460
        
1461
        HRESULT ( STDMETHODCALLTYPE *GetConditionAt )( 
1462
            IPropertyEnumTypeList * This,
1463
            /* [in] */ UINT nIndex,
1464
            /* [in] */ __RPC__in REFIID riid,
1465
            /* [iid_is][out] */ __RPC__deref_out_opt void **ppv);
1466
        
1467
        HRESULT ( STDMETHODCALLTYPE *FindMatchingIndex )( 
1468
            IPropertyEnumTypeList * This,
1469
            /* [in] */ __RPC__in REFPROPVARIANT propvarCmp,
1470
            /* [out] */ __RPC__out UINT *pnIndex);
1471
        
1472
        END_INTERFACE
1473
    } IPropertyEnumTypeListVtbl;
1474

    
1475
    interface IPropertyEnumTypeList
1476
    {
1477
        CONST_VTBL struct IPropertyEnumTypeListVtbl *lpVtbl;
1478
    };
1479

    
1480
    
1481

    
1482
#ifdef COBJMACROS
1483

    
1484

    
1485
#define IPropertyEnumTypeList_QueryInterface(This,riid,ppvObject)        \
1486
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
1487

    
1488
#define IPropertyEnumTypeList_AddRef(This)        \
1489
    ( (This)->lpVtbl -> AddRef(This) ) 
1490

    
1491
#define IPropertyEnumTypeList_Release(This)        \
1492
    ( (This)->lpVtbl -> Release(This) ) 
1493

    
1494

    
1495
#define IPropertyEnumTypeList_GetCount(This,pctypes)        \
1496
    ( (This)->lpVtbl -> GetCount(This,pctypes) ) 
1497

    
1498
#define IPropertyEnumTypeList_GetAt(This,itype,riid,ppv)        \
1499
    ( (This)->lpVtbl -> GetAt(This,itype,riid,ppv) ) 
1500

    
1501
#define IPropertyEnumTypeList_GetConditionAt(This,nIndex,riid,ppv)        \
1502
    ( (This)->lpVtbl -> GetConditionAt(This,nIndex,riid,ppv) ) 
1503

    
1504
#define IPropertyEnumTypeList_FindMatchingIndex(This,propvarCmp,pnIndex)        \
1505
    ( (This)->lpVtbl -> FindMatchingIndex(This,propvarCmp,pnIndex) ) 
1506

    
1507
#endif /* COBJMACROS */
1508

    
1509

    
1510
#endif         /* C style interface */
1511

    
1512

    
1513

    
1514

    
1515
#endif         /* __IPropertyEnumTypeList_INTERFACE_DEFINED__ */
1516

    
1517

    
1518
#ifndef __IPropertyDescription_INTERFACE_DEFINED__
1519
#define __IPropertyDescription_INTERFACE_DEFINED__
1520

    
1521
/* interface IPropertyDescription */
1522
/* [unique][object][uuid] */ 
1523

    
1524
/* [v1_enum] */ 
1525
enum tagPROPDESC_TYPE_FLAGS
1526
    {        PDTF_DEFAULT        = 0,
1527
        PDTF_MULTIPLEVALUES        = 0x1,
1528
        PDTF_ISINNATE        = 0x2,
1529
        PDTF_ISGROUP        = 0x4,
1530
        PDTF_CANGROUPBY        = 0x8,
1531
        PDTF_CANSTACKBY        = 0x10,
1532
        PDTF_ISTREEPROPERTY        = 0x20,
1533
        PDTF_INCLUDEINFULLTEXTQUERY        = 0x40,
1534
        PDTF_ISVIEWABLE        = 0x80,
1535
        PDTF_ISQUERYABLE        = 0x100,
1536
        PDTF_ISSYSTEMPROPERTY        = 0x80000000,
1537
        PDTF_MASK_ALL        = 0x800001ff
1538
    } ;
1539
typedef int PROPDESC_TYPE_FLAGS;
1540

    
1541
/* [v1_enum] */ 
1542
enum tagPROPDESC_VIEW_FLAGS
1543
    {        PDVF_DEFAULT        = 0,
1544
        PDVF_CENTERALIGN        = 0x1,
1545
        PDVF_RIGHTALIGN        = 0x2,
1546
        PDVF_BEGINNEWGROUP        = 0x4,
1547
        PDVF_FILLAREA        = 0x8,
1548
        PDVF_SORTDESCENDING        = 0x10,
1549
        PDVF_SHOWONLYIFPRESENT        = 0x20,
1550
        PDVF_SHOWBYDEFAULT        = 0x40,
1551
        PDVF_SHOWINPRIMARYLIST        = 0x80,
1552
        PDVF_SHOWINSECONDARYLIST        = 0x100,
1553
        PDVF_HIDELABEL        = 0x200,
1554
        PDVF_HIDDEN        = 0x800,
1555
        PDVF_CANWRAP        = 0x1000,
1556
        PDVF_MASK_ALL        = 0x1bff
1557
    } ;
1558
typedef int PROPDESC_VIEW_FLAGS;
1559

    
1560
/* [v1_enum] */ 
1561
enum tagPROPDESC_DISPLAYTYPE
1562
    {        PDDT_STRING        = 0,
1563
        PDDT_NUMBER        = 1,
1564
        PDDT_BOOLEAN        = 2,
1565
        PDDT_DATETIME        = 3,
1566
        PDDT_ENUMERATED        = 4
1567
    } ;
1568
typedef enum tagPROPDESC_DISPLAYTYPE PROPDESC_DISPLAYTYPE;
1569

    
1570
/* [v1_enum] */ 
1571
enum tagPROPDESC_GROUPING_RANGE
1572
    {        PDGR_DISCRETE        = 0,
1573
        PDGR_ALPHANUMERIC        = 1,
1574
        PDGR_SIZE        = 2,
1575
        PDGR_DYNAMIC        = 3,
1576
        PDGR_DATE        = 4,
1577
        PDGR_PERCENT        = 5,
1578
        PDGR_ENUMERATED        = 6
1579
    } ;
1580
typedef enum tagPROPDESC_GROUPING_RANGE PROPDESC_GROUPING_RANGE;
1581

    
1582
/* [v1_enum] */ 
1583
enum tagPROPDESC_FORMAT_FLAGS
1584
    {        PDFF_DEFAULT        = 0,
1585
        PDFF_PREFIXNAME        = 0x1,
1586
        PDFF_FILENAME        = 0x2,
1587
        PDFF_ALWAYSKB        = 0x4,
1588
        PDFF_RESERVED_RIGHTTOLEFT        = 0x8,
1589
        PDFF_SHORTTIME        = 0x10,
1590
        PDFF_LONGTIME        = 0x20,
1591
        PDFF_HIDETIME        = 0x40,
1592
        PDFF_SHORTDATE        = 0x80,
1593
        PDFF_LONGDATE        = 0x100,
1594
        PDFF_HIDEDATE        = 0x200,
1595
        PDFF_RELATIVEDATE        = 0x400,
1596
        PDFF_USEEDITINVITATION        = 0x800,
1597
        PDFF_READONLY        = 0x1000,
1598
        PDFF_NOAUTOREADINGORDER        = 0x2000
1599
    } ;
1600
typedef int PROPDESC_FORMAT_FLAGS;
1601

    
1602
/* [v1_enum] */ 
1603
enum tagPROPDESC_SORTDESCRIPTION
1604
    {        PDSD_GENERAL        = 0,
1605
        PDSD_A_Z        = 1,
1606
        PDSD_LOWEST_HIGHEST        = 2,
1607
        PDSD_SMALLEST_BIGGEST        = 3,
1608
        PDSD_OLDEST_NEWEST        = 4
1609
    } ;
1610
typedef enum tagPROPDESC_SORTDESCRIPTION PROPDESC_SORTDESCRIPTION;
1611

    
1612
/* [v1_enum] */ 
1613
enum tagPROPDESC_RELATIVEDESCRIPTION_TYPE
1614
    {        PDRDT_GENERAL        = 0,
1615
        PDRDT_DATE        = 1,
1616
        PDRDT_SIZE        = 2,
1617
        PDRDT_COUNT        = 3,
1618
        PDRDT_REVISION        = 4,
1619
        PDRDT_LENGTH        = 5,
1620
        PDRDT_DURATION        = 6,
1621
        PDRDT_SPEED        = 7,
1622
        PDRDT_RATE        = 8,
1623
        PDRDT_RATING        = 9,
1624
        PDRDT_PRIORITY        = 10
1625
    } ;
1626
typedef enum tagPROPDESC_RELATIVEDESCRIPTION_TYPE PROPDESC_RELATIVEDESCRIPTION_TYPE;
1627

    
1628
/* [v1_enum] */ 
1629
enum tagPROPDESC_AGGREGATION_TYPE
1630
    {        PDAT_DEFAULT        = 0,
1631
        PDAT_FIRST        = 1,
1632
        PDAT_SUM        = 2,
1633
        PDAT_AVERAGE        = 3,
1634
        PDAT_DATERANGE        = 4,
1635
        PDAT_UNION        = 5,
1636
        PDAT_MAX        = 6,
1637
        PDAT_MIN        = 7
1638
    } ;
1639
typedef enum tagPROPDESC_AGGREGATION_TYPE PROPDESC_AGGREGATION_TYPE;
1640

    
1641
/* [v1_enum] */ 
1642
enum tagPROPDESC_CONDITION_TYPE
1643
    {        PDCOT_NONE        = 0,
1644
        PDCOT_STRING        = 1,
1645
        PDCOT_SIZE        = 2,
1646
        PDCOT_DATETIME        = 3,
1647
        PDCOT_BOOLEAN        = 4,
1648
        PDCOT_NUMBER        = 5
1649
    } ;
1650
typedef enum tagPROPDESC_CONDITION_TYPE PROPDESC_CONDITION_TYPE;
1651

    
1652

    
1653
EXTERN_C const IID IID_IPropertyDescription;
1654

    
1655
#if defined(__cplusplus) && !defined(CINTERFACE)
1656
    
1657
    MIDL_INTERFACE("6f79d558-3e96-4549-a1d1-7d75d2288814")
1658
    IPropertyDescription : public IUnknown
1659
    {
1660
    public:
1661
        virtual HRESULT STDMETHODCALLTYPE GetPropertyKey( 
1662
            /* [out] */ __RPC__out PROPERTYKEY *pkey) = 0;
1663
        
1664
        virtual HRESULT STDMETHODCALLTYPE GetCanonicalName( 
1665
            /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszName) = 0;
1666
        
1667
        virtual HRESULT STDMETHODCALLTYPE GetPropertyType( 
1668
            /* [out] */ __RPC__out VARTYPE *pvartype) = 0;
1669
        
1670
        virtual HRESULT STDMETHODCALLTYPE GetDisplayName( 
1671
            /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszName) = 0;
1672
        
1673
        virtual HRESULT STDMETHODCALLTYPE GetEditInvitation( 
1674
            /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszInvite) = 0;
1675
        
1676
        virtual HRESULT STDMETHODCALLTYPE GetTypeFlags( 
1677
            /* [in] */ PROPDESC_TYPE_FLAGS mask,
1678
            /* [out] */ __RPC__out PROPDESC_TYPE_FLAGS *ppdtFlags) = 0;
1679
        
1680
        virtual HRESULT STDMETHODCALLTYPE GetViewFlags( 
1681
            /* [out] */ __RPC__out PROPDESC_VIEW_FLAGS *ppdvFlags) = 0;
1682
        
1683
        virtual HRESULT STDMETHODCALLTYPE GetDefaultColumnWidth( 
1684
            /* [out] */ __RPC__out UINT *pcxChars) = 0;
1685
        
1686
        virtual HRESULT STDMETHODCALLTYPE GetDisplayType( 
1687
            /* [out] */ __RPC__out PROPDESC_DISPLAYTYPE *pdisplaytype) = 0;
1688
        
1689
        virtual HRESULT STDMETHODCALLTYPE GetColumnState( 
1690
            /* [out] */ __RPC__out SHCOLSTATEF *pcsFlags) = 0;
1691
        
1692
        virtual HRESULT STDMETHODCALLTYPE GetGroupingRange( 
1693
            /* [out] */ __RPC__out PROPDESC_GROUPING_RANGE *pgr) = 0;
1694
        
1695
        virtual HRESULT STDMETHODCALLTYPE GetRelativeDescriptionType( 
1696
            /* [out] */ __RPC__out PROPDESC_RELATIVEDESCRIPTION_TYPE *prdt) = 0;
1697
        
1698
        virtual HRESULT STDMETHODCALLTYPE GetRelativeDescription( 
1699
            /* [in] */ __RPC__in REFPROPVARIANT propvar1,
1700
            /* [in] */ __RPC__in REFPROPVARIANT propvar2,
1701
            /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszDesc1,
1702
            /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszDesc2) = 0;
1703
        
1704
        virtual HRESULT STDMETHODCALLTYPE GetSortDescription( 
1705
            /* [out] */ __RPC__out PROPDESC_SORTDESCRIPTION *psd) = 0;
1706
        
1707
        virtual HRESULT STDMETHODCALLTYPE GetSortDescriptionLabel( 
1708
            /* [in] */ BOOL fDescending,
1709
            /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszDescription) = 0;
1710
        
1711
        virtual HRESULT STDMETHODCALLTYPE GetAggregationType( 
1712
            /* [out] */ __RPC__out PROPDESC_AGGREGATION_TYPE *paggtype) = 0;
1713
        
1714
        virtual HRESULT STDMETHODCALLTYPE GetConditionType( 
1715
            /* [out] */ __RPC__out PROPDESC_CONDITION_TYPE *pcontype,
1716
            /* [out] */ __RPC__out CONDITION_OPERATION *popDefault) = 0;
1717
        
1718
        virtual HRESULT STDMETHODCALLTYPE GetEnumTypeList( 
1719
            /* [in] */ __RPC__in REFIID riid,
1720
            /* [iid_is][out] */ __RPC__deref_out_opt void **ppv) = 0;
1721
        
1722
        virtual /* [local] */ HRESULT STDMETHODCALLTYPE CoerceToCanonicalValue( 
1723
            /* [out][in] */ PROPVARIANT *ppropvar) = 0;
1724
        
1725
        virtual HRESULT STDMETHODCALLTYPE FormatForDisplay( 
1726
            /* [in] */ __RPC__in REFPROPVARIANT propvar,
1727
            /* [in] */ PROPDESC_FORMAT_FLAGS pdfFlags,
1728
            /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszDisplay) = 0;
1729
        
1730
        virtual HRESULT STDMETHODCALLTYPE IsValueCanonical( 
1731
            /* [in] */ __RPC__in REFPROPVARIANT propvar) = 0;
1732
        
1733
    };
1734
    
1735
#else         /* C style interface */
1736

    
1737
    typedef struct IPropertyDescriptionVtbl
1738
    {
1739
        BEGIN_INTERFACE
1740
        
1741
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
1742
            IPropertyDescription * This,
1743
            /* [in] */ __RPC__in REFIID riid,
1744
            /* [iid_is][out] */ 
1745
            __RPC__deref_out  void **ppvObject);
1746
        
1747
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
1748
            IPropertyDescription * This);
1749
        
1750
        ULONG ( STDMETHODCALLTYPE *Release )( 
1751
            IPropertyDescription * This);
1752
        
1753
        HRESULT ( STDMETHODCALLTYPE *GetPropertyKey )( 
1754
            IPropertyDescription * This,
1755
            /* [out] */ __RPC__out PROPERTYKEY *pkey);
1756
        
1757
        HRESULT ( STDMETHODCALLTYPE *GetCanonicalName )( 
1758
            IPropertyDescription * This,
1759
            /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszName);
1760
        
1761
        HRESULT ( STDMETHODCALLTYPE *GetPropertyType )( 
1762
            IPropertyDescription * This,
1763
            /* [out] */ __RPC__out VARTYPE *pvartype);
1764
        
1765
        HRESULT ( STDMETHODCALLTYPE *GetDisplayName )( 
1766
            IPropertyDescription * This,
1767
            /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszName);
1768
        
1769
        HRESULT ( STDMETHODCALLTYPE *GetEditInvitation )( 
1770
            IPropertyDescription * This,
1771
            /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszInvite);
1772
        
1773
        HRESULT ( STDMETHODCALLTYPE *GetTypeFlags )( 
1774
            IPropertyDescription * This,
1775
            /* [in] */ PROPDESC_TYPE_FLAGS mask,
1776
            /* [out] */ __RPC__out PROPDESC_TYPE_FLAGS *ppdtFlags);
1777
        
1778
        HRESULT ( STDMETHODCALLTYPE *GetViewFlags )( 
1779
            IPropertyDescription * This,
1780
            /* [out] */ __RPC__out PROPDESC_VIEW_FLAGS *ppdvFlags);
1781
        
1782
        HRESULT ( STDMETHODCALLTYPE *GetDefaultColumnWidth )( 
1783
            IPropertyDescription * This,
1784
            /* [out] */ __RPC__out UINT *pcxChars);
1785
        
1786
        HRESULT ( STDMETHODCALLTYPE *GetDisplayType )( 
1787
            IPropertyDescription * This,
1788
            /* [out] */ __RPC__out PROPDESC_DISPLAYTYPE *pdisplaytype);
1789
        
1790
        HRESULT ( STDMETHODCALLTYPE *GetColumnState )( 
1791
            IPropertyDescription * This,
1792
            /* [out] */ __RPC__out SHCOLSTATEF *pcsFlags);
1793
        
1794
        HRESULT ( STDMETHODCALLTYPE *GetGroupingRange )( 
1795
            IPropertyDescription * This,
1796
            /* [out] */ __RPC__out PROPDESC_GROUPING_RANGE *pgr);
1797
        
1798
        HRESULT ( STDMETHODCALLTYPE *GetRelativeDescriptionType )( 
1799
            IPropertyDescription * This,
1800
            /* [out] */ __RPC__out PROPDESC_RELATIVEDESCRIPTION_TYPE *prdt);
1801
        
1802
        HRESULT ( STDMETHODCALLTYPE *GetRelativeDescription )( 
1803
            IPropertyDescription * This,
1804
            /* [in] */ __RPC__in REFPROPVARIANT propvar1,
1805
            /* [in] */ __RPC__in REFPROPVARIANT propvar2,
1806
            /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszDesc1,
1807
            /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszDesc2);
1808
        
1809
        HRESULT ( STDMETHODCALLTYPE *GetSortDescription )( 
1810
            IPropertyDescription * This,
1811
            /* [out] */ __RPC__out PROPDESC_SORTDESCRIPTION *psd);
1812
        
1813
        HRESULT ( STDMETHODCALLTYPE *GetSortDescriptionLabel )( 
1814
            IPropertyDescription * This,
1815
            /* [in] */ BOOL fDescending,
1816
            /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszDescription);
1817
        
1818
        HRESULT ( STDMETHODCALLTYPE *GetAggregationType )( 
1819
            IPropertyDescription * This,
1820
            /* [out] */ __RPC__out PROPDESC_AGGREGATION_TYPE *paggtype);
1821
        
1822
        HRESULT ( STDMETHODCALLTYPE *GetConditionType )( 
1823
            IPropertyDescription * This,
1824
            /* [out] */ __RPC__out PROPDESC_CONDITION_TYPE *pcontype,
1825
            /* [out] */ __RPC__out CONDITION_OPERATION *popDefault);
1826
        
1827
        HRESULT ( STDMETHODCALLTYPE *GetEnumTypeList )( 
1828
            IPropertyDescription * This,
1829
            /* [in] */ __RPC__in REFIID riid,
1830
            /* [iid_is][out] */ __RPC__deref_out_opt void **ppv);
1831
        
1832
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *CoerceToCanonicalValue )( 
1833
            IPropertyDescription * This,
1834
            /* [out][in] */ PROPVARIANT *ppropvar);
1835
        
1836
        HRESULT ( STDMETHODCALLTYPE *FormatForDisplay )( 
1837
            IPropertyDescription * This,
1838
            /* [in] */ __RPC__in REFPROPVARIANT propvar,
1839
            /* [in] */ PROPDESC_FORMAT_FLAGS pdfFlags,
1840
            /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszDisplay);
1841
        
1842
        HRESULT ( STDMETHODCALLTYPE *IsValueCanonical )( 
1843
            IPropertyDescription * This,
1844
            /* [in] */ __RPC__in REFPROPVARIANT propvar);
1845
        
1846
        END_INTERFACE
1847
    } IPropertyDescriptionVtbl;
1848

    
1849
    interface IPropertyDescription
1850
    {
1851
        CONST_VTBL struct IPropertyDescriptionVtbl *lpVtbl;
1852
    };
1853

    
1854
    
1855

    
1856
#ifdef COBJMACROS
1857

    
1858

    
1859
#define IPropertyDescription_QueryInterface(This,riid,ppvObject)        \
1860
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
1861

    
1862
#define IPropertyDescription_AddRef(This)        \
1863
    ( (This)->lpVtbl -> AddRef(This) ) 
1864

    
1865
#define IPropertyDescription_Release(This)        \
1866
    ( (This)->lpVtbl -> Release(This) ) 
1867

    
1868

    
1869
#define IPropertyDescription_GetPropertyKey(This,pkey)        \
1870
    ( (This)->lpVtbl -> GetPropertyKey(This,pkey) ) 
1871

    
1872
#define IPropertyDescription_GetCanonicalName(This,ppszName)        \
1873
    ( (This)->lpVtbl -> GetCanonicalName(This,ppszName) ) 
1874

    
1875
#define IPropertyDescription_GetPropertyType(This,pvartype)        \
1876
    ( (This)->lpVtbl -> GetPropertyType(This,pvartype) ) 
1877

    
1878
#define IPropertyDescription_GetDisplayName(This,ppszName)        \
1879
    ( (This)->lpVtbl -> GetDisplayName(This,ppszName) ) 
1880

    
1881
#define IPropertyDescription_GetEditInvitation(This,ppszInvite)        \
1882
    ( (This)->lpVtbl -> GetEditInvitation(This,ppszInvite) ) 
1883

    
1884
#define IPropertyDescription_GetTypeFlags(This,mask,ppdtFlags)        \
1885
    ( (This)->lpVtbl -> GetTypeFlags(This,mask,ppdtFlags) ) 
1886

    
1887
#define IPropertyDescription_GetViewFlags(This,ppdvFlags)        \
1888
    ( (This)->lpVtbl -> GetViewFlags(This,ppdvFlags) ) 
1889

    
1890
#define IPropertyDescription_GetDefaultColumnWidth(This,pcxChars)        \
1891
    ( (This)->lpVtbl -> GetDefaultColumnWidth(This,pcxChars) ) 
1892

    
1893
#define IPropertyDescription_GetDisplayType(This,pdisplaytype)        \
1894
    ( (This)->lpVtbl -> GetDisplayType(This,pdisplaytype) ) 
1895

    
1896
#define IPropertyDescription_GetColumnState(This,pcsFlags)        \
1897
    ( (This)->lpVtbl -> GetColumnState(This,pcsFlags) ) 
1898

    
1899
#define IPropertyDescription_GetGroupingRange(This,pgr)        \
1900
    ( (This)->lpVtbl -> GetGroupingRange(This,pgr) ) 
1901

    
1902
#define IPropertyDescription_GetRelativeDescriptionType(This,prdt)        \
1903
    ( (This)->lpVtbl -> GetRelativeDescriptionType(This,prdt) ) 
1904

    
1905
#define IPropertyDescription_GetRelativeDescription(This,propvar1,propvar2,ppszDesc1,ppszDesc2)        \
1906
    ( (This)->lpVtbl -> GetRelativeDescription(This,propvar1,propvar2,ppszDesc1,ppszDesc2) ) 
1907

    
1908
#define IPropertyDescription_GetSortDescription(This,psd)        \
1909
    ( (This)->lpVtbl -> GetSortDescription(This,psd) ) 
1910

    
1911
#define IPropertyDescription_GetSortDescriptionLabel(This,fDescending,ppszDescription)        \
1912
    ( (This)->lpVtbl -> GetSortDescriptionLabel(This,fDescending,ppszDescription) ) 
1913

    
1914
#define IPropertyDescription_GetAggregationType(This,paggtype)        \
1915
    ( (This)->lpVtbl -> GetAggregationType(This,paggtype) ) 
1916

    
1917
#define IPropertyDescription_GetConditionType(This,pcontype,popDefault)        \
1918
    ( (This)->lpVtbl -> GetConditionType(This,pcontype,popDefault) ) 
1919

    
1920
#define IPropertyDescription_GetEnumTypeList(This,riid,ppv)        \
1921
    ( (This)->lpVtbl -> GetEnumTypeList(This,riid,ppv) ) 
1922

    
1923
#define IPropertyDescription_CoerceToCanonicalValue(This,ppropvar)        \
1924
    ( (This)->lpVtbl -> CoerceToCanonicalValue(This,ppropvar) ) 
1925

    
1926
#define IPropertyDescription_FormatForDisplay(This,propvar,pdfFlags,ppszDisplay)        \
1927
    ( (This)->lpVtbl -> FormatForDisplay(This,propvar,pdfFlags,ppszDisplay) ) 
1928

    
1929
#define IPropertyDescription_IsValueCanonical(This,propvar)        \
1930
    ( (This)->lpVtbl -> IsValueCanonical(This,propvar) ) 
1931

    
1932
#endif /* COBJMACROS */
1933

    
1934

    
1935
#endif         /* C style interface */
1936

    
1937

    
1938

    
1939
/* [call_as] */ HRESULT STDMETHODCALLTYPE IPropertyDescription_RemoteCoerceToCanonicalValue_Proxy( 
1940
    IPropertyDescription * This,
1941
    /* [in] */ __RPC__in REFPROPVARIANT propvar,
1942
    /* [out] */ __RPC__out PROPVARIANT *ppropvar);
1943

    
1944

    
1945
void __RPC_STUB IPropertyDescription_RemoteCoerceToCanonicalValue_Stub(
1946
    IRpcStubBuffer *This,
1947
    IRpcChannelBuffer *_pRpcChannelBuffer,
1948
    PRPC_MESSAGE _pRpcMessage,
1949
    DWORD *_pdwStubPhase);
1950

    
1951

    
1952

    
1953
#endif         /* __IPropertyDescription_INTERFACE_DEFINED__ */
1954

    
1955

    
1956
#ifndef __IPropertyDescriptionAliasInfo_INTERFACE_DEFINED__
1957
#define __IPropertyDescriptionAliasInfo_INTERFACE_DEFINED__
1958

    
1959
/* interface IPropertyDescriptionAliasInfo */
1960
/* [unique][object][uuid] */ 
1961

    
1962

    
1963
EXTERN_C const IID IID_IPropertyDescriptionAliasInfo;
1964

    
1965
#if defined(__cplusplus) && !defined(CINTERFACE)
1966
    
1967
    MIDL_INTERFACE("f67104fc-2af9-46fd-b32d-243c1404f3d1")
1968
    IPropertyDescriptionAliasInfo : public IPropertyDescription
1969
    {
1970
    public:
1971
        virtual HRESULT STDMETHODCALLTYPE GetSortByAlias( 
1972
            /* [in] */ __RPC__in REFIID riid,
1973
            /* [iid_is][out] */ __RPC__deref_out_opt void **ppv) = 0;
1974
        
1975
        virtual HRESULT STDMETHODCALLTYPE GetAdditionalSortByAliases( 
1976
            /* [in] */ __RPC__in REFIID riid,
1977
            /* [iid_is][out] */ __RPC__deref_out_opt void **ppv) = 0;
1978
        
1979
    };
1980
    
1981
#else         /* C style interface */
1982

    
1983
    typedef struct IPropertyDescriptionAliasInfoVtbl
1984
    {
1985
        BEGIN_INTERFACE
1986
        
1987
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
1988
            IPropertyDescriptionAliasInfo * This,
1989
            /* [in] */ __RPC__in REFIID riid,
1990
            /* [iid_is][out] */ 
1991
            __RPC__deref_out  void **ppvObject);
1992
        
1993
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
1994
            IPropertyDescriptionAliasInfo * This);
1995
        
1996
        ULONG ( STDMETHODCALLTYPE *Release )( 
1997
            IPropertyDescriptionAliasInfo * This);
1998
        
1999
        HRESULT ( STDMETHODCALLTYPE *GetPropertyKey )( 
2000
            IPropertyDescriptionAliasInfo * This,
2001
            /* [out] */ __RPC__out PROPERTYKEY *pkey);
2002
        
2003
        HRESULT ( STDMETHODCALLTYPE *GetCanonicalName )( 
2004
            IPropertyDescriptionAliasInfo * This,
2005
            /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszName);
2006
        
2007
        HRESULT ( STDMETHODCALLTYPE *GetPropertyType )( 
2008
            IPropertyDescriptionAliasInfo * This,
2009
            /* [out] */ __RPC__out VARTYPE *pvartype);
2010
        
2011
        HRESULT ( STDMETHODCALLTYPE *GetDisplayName )( 
2012
            IPropertyDescriptionAliasInfo * This,
2013
            /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszName);
2014
        
2015
        HRESULT ( STDMETHODCALLTYPE *GetEditInvitation )( 
2016
            IPropertyDescriptionAliasInfo * This,
2017
            /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszInvite);
2018
        
2019
        HRESULT ( STDMETHODCALLTYPE *GetTypeFlags )( 
2020
            IPropertyDescriptionAliasInfo * This,
2021
            /* [in] */ PROPDESC_TYPE_FLAGS mask,
2022
            /* [out] */ __RPC__out PROPDESC_TYPE_FLAGS *ppdtFlags);
2023
        
2024
        HRESULT ( STDMETHODCALLTYPE *GetViewFlags )( 
2025
            IPropertyDescriptionAliasInfo * This,
2026
            /* [out] */ __RPC__out PROPDESC_VIEW_FLAGS *ppdvFlags);
2027
        
2028
        HRESULT ( STDMETHODCALLTYPE *GetDefaultColumnWidth )( 
2029
            IPropertyDescriptionAliasInfo * This,
2030
            /* [out] */ __RPC__out UINT *pcxChars);
2031
        
2032
        HRESULT ( STDMETHODCALLTYPE *GetDisplayType )( 
2033
            IPropertyDescriptionAliasInfo * This,
2034
            /* [out] */ __RPC__out PROPDESC_DISPLAYTYPE *pdisplaytype);
2035
        
2036
        HRESULT ( STDMETHODCALLTYPE *GetColumnState )( 
2037
            IPropertyDescriptionAliasInfo * This,
2038
            /* [out] */ __RPC__out SHCOLSTATEF *pcsFlags);
2039
        
2040
        HRESULT ( STDMETHODCALLTYPE *GetGroupingRange )( 
2041
            IPropertyDescriptionAliasInfo * This,
2042
            /* [out] */ __RPC__out PROPDESC_GROUPING_RANGE *pgr);
2043
        
2044
        HRESULT ( STDMETHODCALLTYPE *GetRelativeDescriptionType )( 
2045
            IPropertyDescriptionAliasInfo * This,
2046
            /* [out] */ __RPC__out PROPDESC_RELATIVEDESCRIPTION_TYPE *prdt);
2047
        
2048
        HRESULT ( STDMETHODCALLTYPE *GetRelativeDescription )( 
2049
            IPropertyDescriptionAliasInfo * This,
2050
            /* [in] */ __RPC__in REFPROPVARIANT propvar1,
2051
            /* [in] */ __RPC__in REFPROPVARIANT propvar2,
2052
            /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszDesc1,
2053
            /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszDesc2);
2054
        
2055
        HRESULT ( STDMETHODCALLTYPE *GetSortDescription )( 
2056
            IPropertyDescriptionAliasInfo * This,
2057
            /* [out] */ __RPC__out PROPDESC_SORTDESCRIPTION *psd);
2058
        
2059
        HRESULT ( STDMETHODCALLTYPE *GetSortDescriptionLabel )( 
2060
            IPropertyDescriptionAliasInfo * This,
2061
            /* [in] */ BOOL fDescending,
2062
            /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszDescription);
2063
        
2064
        HRESULT ( STDMETHODCALLTYPE *GetAggregationType )( 
2065
            IPropertyDescriptionAliasInfo * This,
2066
            /* [out] */ __RPC__out PROPDESC_AGGREGATION_TYPE *paggtype);
2067
        
2068
        HRESULT ( STDMETHODCALLTYPE *GetConditionType )( 
2069
            IPropertyDescriptionAliasInfo * This,
2070
            /* [out] */ __RPC__out PROPDESC_CONDITION_TYPE *pcontype,
2071
            /* [out] */ __RPC__out CONDITION_OPERATION *popDefault);
2072
        
2073
        HRESULT ( STDMETHODCALLTYPE *GetEnumTypeList )( 
2074
            IPropertyDescriptionAliasInfo * This,
2075
            /* [in] */ __RPC__in REFIID riid,
2076
            /* [iid_is][out] */ __RPC__deref_out_opt void **ppv);
2077
        
2078
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *CoerceToCanonicalValue )( 
2079
            IPropertyDescriptionAliasInfo * This,
2080
            /* [out][in] */ PROPVARIANT *ppropvar);
2081
        
2082
        HRESULT ( STDMETHODCALLTYPE *FormatForDisplay )( 
2083
            IPropertyDescriptionAliasInfo * This,
2084
            /* [in] */ __RPC__in REFPROPVARIANT propvar,
2085
            /* [in] */ PROPDESC_FORMAT_FLAGS pdfFlags,
2086
            /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszDisplay);
2087
        
2088
        HRESULT ( STDMETHODCALLTYPE *IsValueCanonical )( 
2089
            IPropertyDescriptionAliasInfo * This,
2090
            /* [in] */ __RPC__in REFPROPVARIANT propvar);
2091
        
2092
        HRESULT ( STDMETHODCALLTYPE *GetSortByAlias )( 
2093
            IPropertyDescriptionAliasInfo * This,
2094
            /* [in] */ __RPC__in REFIID riid,
2095
            /* [iid_is][out] */ __RPC__deref_out_opt void **ppv);
2096
        
2097
        HRESULT ( STDMETHODCALLTYPE *GetAdditionalSortByAliases )( 
2098
            IPropertyDescriptionAliasInfo * This,
2099
            /* [in] */ __RPC__in REFIID riid,
2100
            /* [iid_is][out] */ __RPC__deref_out_opt void **ppv);
2101
        
2102
        END_INTERFACE
2103
    } IPropertyDescriptionAliasInfoVtbl;
2104

    
2105
    interface IPropertyDescriptionAliasInfo
2106
    {
2107
        CONST_VTBL struct IPropertyDescriptionAliasInfoVtbl *lpVtbl;
2108
    };
2109

    
2110
    
2111

    
2112
#ifdef COBJMACROS
2113

    
2114

    
2115
#define IPropertyDescriptionAliasInfo_QueryInterface(This,riid,ppvObject)        \
2116
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
2117

    
2118
#define IPropertyDescriptionAliasInfo_AddRef(This)        \
2119
    ( (This)->lpVtbl -> AddRef(This) ) 
2120

    
2121
#define IPropertyDescriptionAliasInfo_Release(This)        \
2122
    ( (This)->lpVtbl -> Release(This) ) 
2123

    
2124

    
2125
#define IPropertyDescriptionAliasInfo_GetPropertyKey(This,pkey)        \
2126
    ( (This)->lpVtbl -> GetPropertyKey(This,pkey) ) 
2127

    
2128
#define IPropertyDescriptionAliasInfo_GetCanonicalName(This,ppszName)        \
2129
    ( (This)->lpVtbl -> GetCanonicalName(This,ppszName) ) 
2130

    
2131
#define IPropertyDescriptionAliasInfo_GetPropertyType(This,pvartype)        \
2132
    ( (This)->lpVtbl -> GetPropertyType(This,pvartype) ) 
2133

    
2134
#define IPropertyDescriptionAliasInfo_GetDisplayName(This,ppszName)        \
2135
    ( (This)->lpVtbl -> GetDisplayName(This,ppszName) ) 
2136

    
2137
#define IPropertyDescriptionAliasInfo_GetEditInvitation(This,ppszInvite)        \
2138
    ( (This)->lpVtbl -> GetEditInvitation(This,ppszInvite) ) 
2139

    
2140
#define IPropertyDescriptionAliasInfo_GetTypeFlags(This,mask,ppdtFlags)        \
2141
    ( (This)->lpVtbl -> GetTypeFlags(This,mask,ppdtFlags) ) 
2142

    
2143
#define IPropertyDescriptionAliasInfo_GetViewFlags(This,ppdvFlags)        \
2144
    ( (This)->lpVtbl -> GetViewFlags(This,ppdvFlags) ) 
2145

    
2146
#define IPropertyDescriptionAliasInfo_GetDefaultColumnWidth(This,pcxChars)        \
2147
    ( (This)->lpVtbl -> GetDefaultColumnWidth(This,pcxChars) ) 
2148

    
2149
#define IPropertyDescriptionAliasInfo_GetDisplayType(This,pdisplaytype)        \
2150
    ( (This)->lpVtbl -> GetDisplayType(This,pdisplaytype) ) 
2151

    
2152
#define IPropertyDescriptionAliasInfo_GetColumnState(This,pcsFlags)        \
2153
    ( (This)->lpVtbl -> GetColumnState(This,pcsFlags) ) 
2154

    
2155
#define IPropertyDescriptionAliasInfo_GetGroupingRange(This,pgr)        \
2156
    ( (This)->lpVtbl -> GetGroupingRange(This,pgr) ) 
2157

    
2158
#define IPropertyDescriptionAliasInfo_GetRelativeDescriptionType(This,prdt)        \
2159
    ( (This)->lpVtbl -> GetRelativeDescriptionType(This,prdt) ) 
2160

    
2161
#define IPropertyDescriptionAliasInfo_GetRelativeDescription(This,propvar1,propvar2,ppszDesc1,ppszDesc2)        \
2162
    ( (This)->lpVtbl -> GetRelativeDescription(This,propvar1,propvar2,ppszDesc1,ppszDesc2) ) 
2163

    
2164
#define IPropertyDescriptionAliasInfo_GetSortDescription(This,psd)        \
2165
    ( (This)->lpVtbl -> GetSortDescription(This,psd) ) 
2166

    
2167
#define IPropertyDescriptionAliasInfo_GetSortDescriptionLabel(This,fDescending,ppszDescription)        \
2168
    ( (This)->lpVtbl -> GetSortDescriptionLabel(This,fDescending,ppszDescription) ) 
2169

    
2170
#define IPropertyDescriptionAliasInfo_GetAggregationType(This,paggtype)        \
2171
    ( (This)->lpVtbl -> GetAggregationType(This,paggtype) ) 
2172

    
2173
#define IPropertyDescriptionAliasInfo_GetConditionType(This,pcontype,popDefault)        \
2174
    ( (This)->lpVtbl -> GetConditionType(This,pcontype,popDefault) ) 
2175

    
2176
#define IPropertyDescriptionAliasInfo_GetEnumTypeList(This,riid,ppv)        \
2177
    ( (This)->lpVtbl -> GetEnumTypeList(This,riid,ppv) ) 
2178

    
2179
#define IPropertyDescriptionAliasInfo_CoerceToCanonicalValue(This,ppropvar)        \
2180
    ( (This)->lpVtbl -> CoerceToCanonicalValue(This,ppropvar) ) 
2181

    
2182
#define IPropertyDescriptionAliasInfo_FormatForDisplay(This,propvar,pdfFlags,ppszDisplay)        \
2183
    ( (This)->lpVtbl -> FormatForDisplay(This,propvar,pdfFlags,ppszDisplay) ) 
2184

    
2185
#define IPropertyDescriptionAliasInfo_IsValueCanonical(This,propvar)        \
2186
    ( (This)->lpVtbl -> IsValueCanonical(This,propvar) ) 
2187

    
2188

    
2189
#define IPropertyDescriptionAliasInfo_GetSortByAlias(This,riid,ppv)        \
2190
    ( (This)->lpVtbl -> GetSortByAlias(This,riid,ppv) ) 
2191

    
2192
#define IPropertyDescriptionAliasInfo_GetAdditionalSortByAliases(This,riid,ppv)        \
2193
    ( (This)->lpVtbl -> GetAdditionalSortByAliases(This,riid,ppv) ) 
2194

    
2195
#endif /* COBJMACROS */
2196

    
2197

    
2198
#endif         /* C style interface */
2199

    
2200

    
2201

    
2202

    
2203
#endif         /* __IPropertyDescriptionAliasInfo_INTERFACE_DEFINED__ */
2204

    
2205

    
2206
#ifndef __IPropertyDescriptionSearchInfo_INTERFACE_DEFINED__
2207
#define __IPropertyDescriptionSearchInfo_INTERFACE_DEFINED__
2208

    
2209
/* interface IPropertyDescriptionSearchInfo */
2210
/* [unique][object][uuid] */ 
2211

    
2212
/* [v1_enum] */ 
2213
enum tagPROPDESC_SEARCHINFO_FLAGS
2214
    {        PDSIF_DEFAULT        = 0,
2215
        PDSIF_ININVERTEDINDEX        = 0x1,
2216
        PDSIF_ISCOLUMN        = 0x2,
2217
        PDSIF_ISCOLUMNSPARSE        = 0x4
2218
    } ;
2219
typedef int PROPDESC_SEARCHINFO_FLAGS;
2220

    
2221
typedef /* [v1_enum] */ 
2222
enum tagPROPDESC_COLUMNINDEX_TYPE
2223
    {        PDCIT_NONE        = 0,
2224
        PDCIT_ONDISK        = 1,
2225
        PDCIT_INMEMORY        = 2
2226
    }         PROPDESC_COLUMNINDEX_TYPE;
2227

    
2228

    
2229
EXTERN_C const IID IID_IPropertyDescriptionSearchInfo;
2230

    
2231
#if defined(__cplusplus) && !defined(CINTERFACE)
2232
    
2233
    MIDL_INTERFACE("078f91bd-29a2-440f-924e-46a291524520")
2234
    IPropertyDescriptionSearchInfo : public IPropertyDescription
2235
    {
2236
    public:
2237
        virtual HRESULT STDMETHODCALLTYPE GetSearchInfoFlags( 
2238
            /* [out] */ __RPC__out PROPDESC_SEARCHINFO_FLAGS *ppdsiFlags) = 0;
2239
        
2240
        virtual HRESULT STDMETHODCALLTYPE GetColumnIndexType( 
2241
            /* [out] */ __RPC__out PROPDESC_COLUMNINDEX_TYPE *ppdciType) = 0;
2242
        
2243
        virtual HRESULT STDMETHODCALLTYPE GetProjectionString( 
2244
            /* [out] */ __RPC__deref_out_opt LPWSTR *ppszProjection) = 0;
2245
        
2246
        virtual HRESULT STDMETHODCALLTYPE GetMaxSize( 
2247
            /* [out] */ __RPC__out UINT *pcbMaxSize) = 0;
2248
        
2249
    };
2250
    
2251
#else         /* C style interface */
2252

    
2253
    typedef struct IPropertyDescriptionSearchInfoVtbl
2254
    {
2255
        BEGIN_INTERFACE
2256
        
2257
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
2258
            IPropertyDescriptionSearchInfo * This,
2259
            /* [in] */ __RPC__in REFIID riid,
2260
            /* [iid_is][out] */ 
2261
            __RPC__deref_out  void **ppvObject);
2262
        
2263
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
2264
            IPropertyDescriptionSearchInfo * This);
2265
        
2266
        ULONG ( STDMETHODCALLTYPE *Release )( 
2267
            IPropertyDescriptionSearchInfo * This);
2268
        
2269
        HRESULT ( STDMETHODCALLTYPE *GetPropertyKey )( 
2270
            IPropertyDescriptionSearchInfo * This,
2271
            /* [out] */ __RPC__out PROPERTYKEY *pkey);
2272
        
2273
        HRESULT ( STDMETHODCALLTYPE *GetCanonicalName )( 
2274
            IPropertyDescriptionSearchInfo * This,
2275
            /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszName);
2276
        
2277
        HRESULT ( STDMETHODCALLTYPE *GetPropertyType )( 
2278
            IPropertyDescriptionSearchInfo * This,
2279
            /* [out] */ __RPC__out VARTYPE *pvartype);
2280
        
2281
        HRESULT ( STDMETHODCALLTYPE *GetDisplayName )( 
2282
            IPropertyDescriptionSearchInfo * This,
2283
            /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszName);
2284
        
2285
        HRESULT ( STDMETHODCALLTYPE *GetEditInvitation )( 
2286
            IPropertyDescriptionSearchInfo * This,
2287
            /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszInvite);
2288
        
2289
        HRESULT ( STDMETHODCALLTYPE *GetTypeFlags )( 
2290
            IPropertyDescriptionSearchInfo * This,
2291
            /* [in] */ PROPDESC_TYPE_FLAGS mask,
2292
            /* [out] */ __RPC__out PROPDESC_TYPE_FLAGS *ppdtFlags);
2293
        
2294
        HRESULT ( STDMETHODCALLTYPE *GetViewFlags )( 
2295
            IPropertyDescriptionSearchInfo * This,
2296
            /* [out] */ __RPC__out PROPDESC_VIEW_FLAGS *ppdvFlags);
2297
        
2298
        HRESULT ( STDMETHODCALLTYPE *GetDefaultColumnWidth )( 
2299
            IPropertyDescriptionSearchInfo * This,
2300
            /* [out] */ __RPC__out UINT *pcxChars);
2301
        
2302
        HRESULT ( STDMETHODCALLTYPE *GetDisplayType )( 
2303
            IPropertyDescriptionSearchInfo * This,
2304
            /* [out] */ __RPC__out PROPDESC_DISPLAYTYPE *pdisplaytype);
2305
        
2306
        HRESULT ( STDMETHODCALLTYPE *GetColumnState )( 
2307
            IPropertyDescriptionSearchInfo * This,
2308
            /* [out] */ __RPC__out SHCOLSTATEF *pcsFlags);
2309
        
2310
        HRESULT ( STDMETHODCALLTYPE *GetGroupingRange )( 
2311
            IPropertyDescriptionSearchInfo * This,
2312
            /* [out] */ __RPC__out PROPDESC_GROUPING_RANGE *pgr);
2313
        
2314
        HRESULT ( STDMETHODCALLTYPE *GetRelativeDescriptionType )( 
2315
            IPropertyDescriptionSearchInfo * This,
2316
            /* [out] */ __RPC__out PROPDESC_RELATIVEDESCRIPTION_TYPE *prdt);
2317
        
2318
        HRESULT ( STDMETHODCALLTYPE *GetRelativeDescription )( 
2319
            IPropertyDescriptionSearchInfo * This,
2320
            /* [in] */ __RPC__in REFPROPVARIANT propvar1,
2321
            /* [in] */ __RPC__in REFPROPVARIANT propvar2,
2322
            /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszDesc1,
2323
            /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszDesc2);
2324
        
2325
        HRESULT ( STDMETHODCALLTYPE *GetSortDescription )( 
2326
            IPropertyDescriptionSearchInfo * This,
2327
            /* [out] */ __RPC__out PROPDESC_SORTDESCRIPTION *psd);
2328
        
2329
        HRESULT ( STDMETHODCALLTYPE *GetSortDescriptionLabel )( 
2330
            IPropertyDescriptionSearchInfo * This,
2331
            /* [in] */ BOOL fDescending,
2332
            /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszDescription);
2333
        
2334
        HRESULT ( STDMETHODCALLTYPE *GetAggregationType )( 
2335
            IPropertyDescriptionSearchInfo * This,
2336
            /* [out] */ __RPC__out PROPDESC_AGGREGATION_TYPE *paggtype);
2337
        
2338
        HRESULT ( STDMETHODCALLTYPE *GetConditionType )( 
2339
            IPropertyDescriptionSearchInfo * This,
2340
            /* [out] */ __RPC__out PROPDESC_CONDITION_TYPE *pcontype,
2341
            /* [out] */ __RPC__out CONDITION_OPERATION *popDefault);
2342
        
2343
        HRESULT ( STDMETHODCALLTYPE *GetEnumTypeList )( 
2344
            IPropertyDescriptionSearchInfo * This,
2345
            /* [in] */ __RPC__in REFIID riid,
2346
            /* [iid_is][out] */ __RPC__deref_out_opt void **ppv);
2347
        
2348
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *CoerceToCanonicalValue )( 
2349
            IPropertyDescriptionSearchInfo * This,
2350
            /* [out][in] */ PROPVARIANT *ppropvar);
2351
        
2352
        HRESULT ( STDMETHODCALLTYPE *FormatForDisplay )( 
2353
            IPropertyDescriptionSearchInfo * This,
2354
            /* [in] */ __RPC__in REFPROPVARIANT propvar,
2355
            /* [in] */ PROPDESC_FORMAT_FLAGS pdfFlags,
2356
            /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszDisplay);
2357
        
2358
        HRESULT ( STDMETHODCALLTYPE *IsValueCanonical )( 
2359
            IPropertyDescriptionSearchInfo * This,
2360
            /* [in] */ __RPC__in REFPROPVARIANT propvar);
2361
        
2362
        HRESULT ( STDMETHODCALLTYPE *GetSearchInfoFlags )( 
2363
            IPropertyDescriptionSearchInfo * This,
2364
            /* [out] */ __RPC__out PROPDESC_SEARCHINFO_FLAGS *ppdsiFlags);
2365
        
2366
        HRESULT ( STDMETHODCALLTYPE *GetColumnIndexType )( 
2367
            IPropertyDescriptionSearchInfo * This,
2368
            /* [out] */ __RPC__out PROPDESC_COLUMNINDEX_TYPE *ppdciType);
2369
        
2370
        HRESULT ( STDMETHODCALLTYPE *GetProjectionString )( 
2371
            IPropertyDescriptionSearchInfo * This,
2372
            /* [out] */ __RPC__deref_out_opt LPWSTR *ppszProjection);
2373
        
2374
        HRESULT ( STDMETHODCALLTYPE *GetMaxSize )( 
2375
            IPropertyDescriptionSearchInfo * This,
2376
            /* [out] */ __RPC__out UINT *pcbMaxSize);
2377
        
2378
        END_INTERFACE
2379
    } IPropertyDescriptionSearchInfoVtbl;
2380

    
2381
    interface IPropertyDescriptionSearchInfo
2382
    {
2383
        CONST_VTBL struct IPropertyDescriptionSearchInfoVtbl *lpVtbl;
2384
    };
2385

    
2386
    
2387

    
2388
#ifdef COBJMACROS
2389

    
2390

    
2391
#define IPropertyDescriptionSearchInfo_QueryInterface(This,riid,ppvObject)        \
2392
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
2393

    
2394
#define IPropertyDescriptionSearchInfo_AddRef(This)        \
2395
    ( (This)->lpVtbl -> AddRef(This) ) 
2396

    
2397
#define IPropertyDescriptionSearchInfo_Release(This)        \
2398
    ( (This)->lpVtbl -> Release(This) ) 
2399

    
2400

    
2401
#define IPropertyDescriptionSearchInfo_GetPropertyKey(This,pkey)        \
2402
    ( (This)->lpVtbl -> GetPropertyKey(This,pkey) ) 
2403

    
2404
#define IPropertyDescriptionSearchInfo_GetCanonicalName(This,ppszName)        \
2405
    ( (This)->lpVtbl -> GetCanonicalName(This,ppszName) ) 
2406

    
2407
#define IPropertyDescriptionSearchInfo_GetPropertyType(This,pvartype)        \
2408
    ( (This)->lpVtbl -> GetPropertyType(This,pvartype) ) 
2409

    
2410
#define IPropertyDescriptionSearchInfo_GetDisplayName(This,ppszName)        \
2411
    ( (This)->lpVtbl -> GetDisplayName(This,ppszName) ) 
2412

    
2413
#define IPropertyDescriptionSearchInfo_GetEditInvitation(This,ppszInvite)        \
2414
    ( (This)->lpVtbl -> GetEditInvitation(This,ppszInvite) ) 
2415

    
2416
#define IPropertyDescriptionSearchInfo_GetTypeFlags(This,mask,ppdtFlags)        \
2417
    ( (This)->lpVtbl -> GetTypeFlags(This,mask,ppdtFlags) ) 
2418

    
2419
#define IPropertyDescriptionSearchInfo_GetViewFlags(This,ppdvFlags)        \
2420
    ( (This)->lpVtbl -> GetViewFlags(This,ppdvFlags) ) 
2421

    
2422
#define IPropertyDescriptionSearchInfo_GetDefaultColumnWidth(This,pcxChars)        \
2423
    ( (This)->lpVtbl -> GetDefaultColumnWidth(This,pcxChars) ) 
2424

    
2425
#define IPropertyDescriptionSearchInfo_GetDisplayType(This,pdisplaytype)        \
2426
    ( (This)->lpVtbl -> GetDisplayType(This,pdisplaytype) ) 
2427

    
2428
#define IPropertyDescriptionSearchInfo_GetColumnState(This,pcsFlags)        \
2429
    ( (This)->lpVtbl -> GetColumnState(This,pcsFlags) ) 
2430

    
2431
#define IPropertyDescriptionSearchInfo_GetGroupingRange(This,pgr)        \
2432
    ( (This)->lpVtbl -> GetGroupingRange(This,pgr) ) 
2433

    
2434
#define IPropertyDescriptionSearchInfo_GetRelativeDescriptionType(This,prdt)        \
2435
    ( (This)->lpVtbl -> GetRelativeDescriptionType(This,prdt) ) 
2436

    
2437
#define IPropertyDescriptionSearchInfo_GetRelativeDescription(This,propvar1,propvar2,ppszDesc1,ppszDesc2)        \
2438
    ( (This)->lpVtbl -> GetRelativeDescription(This,propvar1,propvar2,ppszDesc1,ppszDesc2) ) 
2439

    
2440
#define IPropertyDescriptionSearchInfo_GetSortDescription(This,psd)        \
2441
    ( (This)->lpVtbl -> GetSortDescription(This,psd) ) 
2442

    
2443
#define IPropertyDescriptionSearchInfo_GetSortDescriptionLabel(This,fDescending,ppszDescription)        \
2444
    ( (This)->lpVtbl -> GetSortDescriptionLabel(This,fDescending,ppszDescription) ) 
2445

    
2446
#define IPropertyDescriptionSearchInfo_GetAggregationType(This,paggtype)        \
2447
    ( (This)->lpVtbl -> GetAggregationType(This,paggtype) ) 
2448

    
2449
#define IPropertyDescriptionSearchInfo_GetConditionType(This,pcontype,popDefault)        \
2450
    ( (This)->lpVtbl -> GetConditionType(This,pcontype,popDefault) ) 
2451

    
2452
#define IPropertyDescriptionSearchInfo_GetEnumTypeList(This,riid,ppv)        \
2453
    ( (This)->lpVtbl -> GetEnumTypeList(This,riid,ppv) ) 
2454

    
2455
#define IPropertyDescriptionSearchInfo_CoerceToCanonicalValue(This,ppropvar)        \
2456
    ( (This)->lpVtbl -> CoerceToCanonicalValue(This,ppropvar) ) 
2457

    
2458
#define IPropertyDescriptionSearchInfo_FormatForDisplay(This,propvar,pdfFlags,ppszDisplay)        \
2459
    ( (This)->lpVtbl -> FormatForDisplay(This,propvar,pdfFlags,ppszDisplay) ) 
2460

    
2461
#define IPropertyDescriptionSearchInfo_IsValueCanonical(This,propvar)        \
2462
    ( (This)->lpVtbl -> IsValueCanonical(This,propvar) ) 
2463

    
2464

    
2465
#define IPropertyDescriptionSearchInfo_GetSearchInfoFlags(This,ppdsiFlags)        \
2466
    ( (This)->lpVtbl -> GetSearchInfoFlags(This,ppdsiFlags) ) 
2467

    
2468
#define IPropertyDescriptionSearchInfo_GetColumnIndexType(This,ppdciType)        \
2469
    ( (This)->lpVtbl -> GetColumnIndexType(This,ppdciType) ) 
2470

    
2471
#define IPropertyDescriptionSearchInfo_GetProjectionString(This,ppszProjection)        \
2472
    ( (This)->lpVtbl -> GetProjectionString(This,ppszProjection) ) 
2473

    
2474
#define IPropertyDescriptionSearchInfo_GetMaxSize(This,pcbMaxSize)        \
2475
    ( (This)->lpVtbl -> GetMaxSize(This,pcbMaxSize) ) 
2476

    
2477
#endif /* COBJMACROS */
2478

    
2479

    
2480
#endif         /* C style interface */
2481

    
2482

    
2483

    
2484

    
2485
#endif         /* __IPropertyDescriptionSearchInfo_INTERFACE_DEFINED__ */
2486

    
2487

    
2488
/* interface __MIDL_itf_propsys_0000_0014 */
2489
/* [local] */ 
2490

    
2491
/* [v1_enum] */ 
2492
enum tagPROPDESC_ENUMFILTER
2493
    {        PDEF_ALL        = 0,
2494
        PDEF_SYSTEM        = 1,
2495
        PDEF_NONSYSTEM        = 2,
2496
        PDEF_VIEWABLE        = 3,
2497
        PDEF_QUERYABLE        = 4,
2498
        PDEF_INFULLTEXTQUERY        = 5,
2499
        PDEF_COLUMN        = 6
2500
    } ;
2501
typedef enum tagPROPDESC_ENUMFILTER PROPDESC_ENUMFILTER;
2502

    
2503

    
2504

    
2505
extern RPC_IF_HANDLE __MIDL_itf_propsys_0000_0014_v0_0_c_ifspec;
2506
extern RPC_IF_HANDLE __MIDL_itf_propsys_0000_0014_v0_0_s_ifspec;
2507

    
2508
#ifndef __IPropertySystem_INTERFACE_DEFINED__
2509
#define __IPropertySystem_INTERFACE_DEFINED__
2510

    
2511
/* interface IPropertySystem */
2512
/* [unique][object][uuid] */ 
2513

    
2514

    
2515
EXTERN_C const IID IID_IPropertySystem;
2516

    
2517
#if defined(__cplusplus) && !defined(CINTERFACE)
2518
    
2519
    MIDL_INTERFACE("ca724e8a-c3e6-442b-88a4-6fb0db8035a3")
2520
    IPropertySystem : public IUnknown
2521
    {
2522
    public:
2523
        virtual HRESULT STDMETHODCALLTYPE GetPropertyDescription( 
2524
            /* [in] */ __RPC__in REFPROPERTYKEY propkey,
2525
            /* [in] */ __RPC__in REFIID riid,
2526
            /* [iid_is][out] */ __RPC__deref_out_opt void **ppv) = 0;
2527
        
2528
        virtual HRESULT STDMETHODCALLTYPE GetPropertyDescriptionByName( 
2529
            /* [string][in] */ __RPC__in LPCWSTR pszCanonicalName,
2530
            /* [in] */ __RPC__in REFIID riid,
2531
            /* [iid_is][out] */ __RPC__deref_out_opt void **ppv) = 0;
2532
        
2533
        virtual HRESULT STDMETHODCALLTYPE GetPropertyDescriptionListFromString( 
2534
            /* [string][in] */ __RPC__in LPCWSTR pszPropList,
2535
            /* [in] */ __RPC__in REFIID riid,
2536
            /* [iid_is][out] */ __RPC__deref_out_opt void **ppv) = 0;
2537
        
2538
        virtual HRESULT STDMETHODCALLTYPE EnumeratePropertyDescriptions( 
2539
            /* [in] */ PROPDESC_ENUMFILTER filterOn,
2540
            /* [in] */ __RPC__in REFIID riid,
2541
            /* [iid_is][out] */ __RPC__deref_out_opt void **ppv) = 0;
2542
        
2543
        virtual HRESULT STDMETHODCALLTYPE FormatForDisplay( 
2544
            /* [in] */ __RPC__in REFPROPERTYKEY key,
2545
            /* [in] */ __RPC__in REFPROPVARIANT propvar,
2546
            /* [in] */ PROPDESC_FORMAT_FLAGS pdff,
2547
            /* [size_is][string][out] */ __RPC__out_ecount_full_string(cchText) LPWSTR pszText,
2548
            /* [in] */ DWORD cchText) = 0;
2549
        
2550
        virtual HRESULT STDMETHODCALLTYPE FormatForDisplayAlloc( 
2551
            /* [in] */ __RPC__in REFPROPERTYKEY key,
2552
            /* [in] */ __RPC__in REFPROPVARIANT propvar,
2553
            /* [in] */ PROPDESC_FORMAT_FLAGS pdff,
2554
            /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszDisplay) = 0;
2555
        
2556
        virtual HRESULT STDMETHODCALLTYPE RegisterPropertySchema( 
2557
            /* [string][in] */ __RPC__in LPCWSTR pszPath) = 0;
2558
        
2559
        virtual HRESULT STDMETHODCALLTYPE UnregisterPropertySchema( 
2560
            /* [string][in] */ __RPC__in LPCWSTR pszPath) = 0;
2561
        
2562
        virtual HRESULT STDMETHODCALLTYPE RefreshPropertySchema( void) = 0;
2563
        
2564
    };
2565
    
2566
#else         /* C style interface */
2567

    
2568
    typedef struct IPropertySystemVtbl
2569
    {
2570
        BEGIN_INTERFACE
2571
        
2572
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
2573
            IPropertySystem * This,
2574
            /* [in] */ __RPC__in REFIID riid,
2575
            /* [iid_is][out] */ 
2576
            __RPC__deref_out  void **ppvObject);
2577
        
2578
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
2579
            IPropertySystem * This);
2580
        
2581
        ULONG ( STDMETHODCALLTYPE *Release )( 
2582
            IPropertySystem * This);
2583
        
2584
        HRESULT ( STDMETHODCALLTYPE *GetPropertyDescription )( 
2585
            IPropertySystem * This,
2586
            /* [in] */ __RPC__in REFPROPERTYKEY propkey,
2587
            /* [in] */ __RPC__in REFIID riid,
2588
            /* [iid_is][out] */ __RPC__deref_out_opt void **ppv);
2589
        
2590
        HRESULT ( STDMETHODCALLTYPE *GetPropertyDescriptionByName )( 
2591
            IPropertySystem * This,
2592
            /* [string][in] */ __RPC__in LPCWSTR pszCanonicalName,
2593
            /* [in] */ __RPC__in REFIID riid,
2594
            /* [iid_is][out] */ __RPC__deref_out_opt void **ppv);
2595
        
2596
        HRESULT ( STDMETHODCALLTYPE *GetPropertyDescriptionListFromString )( 
2597
            IPropertySystem * This,
2598
            /* [string][in] */ __RPC__in LPCWSTR pszPropList,
2599
            /* [in] */ __RPC__in REFIID riid,
2600
            /* [iid_is][out] */ __RPC__deref_out_opt void **ppv);
2601
        
2602
        HRESULT ( STDMETHODCALLTYPE *EnumeratePropertyDescriptions )( 
2603
            IPropertySystem * This,
2604
            /* [in] */ PROPDESC_ENUMFILTER filterOn,
2605
            /* [in] */ __RPC__in REFIID riid,
2606
            /* [iid_is][out] */ __RPC__deref_out_opt void **ppv);
2607
        
2608
        HRESULT ( STDMETHODCALLTYPE *FormatForDisplay )( 
2609
            IPropertySystem * This,
2610
            /* [in] */ __RPC__in REFPROPERTYKEY key,
2611
            /* [in] */ __RPC__in REFPROPVARIANT propvar,
2612
            /* [in] */ PROPDESC_FORMAT_FLAGS pdff,
2613
            /* [size_is][string][out] */ __RPC__out_ecount_full_string(cchText) LPWSTR pszText,
2614
            /* [in] */ DWORD cchText);
2615
        
2616
        HRESULT ( STDMETHODCALLTYPE *FormatForDisplayAlloc )( 
2617
            IPropertySystem * This,
2618
            /* [in] */ __RPC__in REFPROPERTYKEY key,
2619
            /* [in] */ __RPC__in REFPROPVARIANT propvar,
2620
            /* [in] */ PROPDESC_FORMAT_FLAGS pdff,
2621
            /* [string][out] */ __RPC__deref_out_opt_string LPWSTR *ppszDisplay);
2622
        
2623
        HRESULT ( STDMETHODCALLTYPE *RegisterPropertySchema )( 
2624
            IPropertySystem * This,
2625
            /* [string][in] */ __RPC__in LPCWSTR pszPath);
2626
        
2627
        HRESULT ( STDMETHODCALLTYPE *UnregisterPropertySchema )( 
2628
            IPropertySystem * This,
2629
            /* [string][in] */ __RPC__in LPCWSTR pszPath);
2630
        
2631
        HRESULT ( STDMETHODCALLTYPE *RefreshPropertySchema )( 
2632
            IPropertySystem * This);
2633
        
2634
        END_INTERFACE
2635
    } IPropertySystemVtbl;
2636

    
2637
    interface IPropertySystem
2638
    {
2639
        CONST_VTBL struct IPropertySystemVtbl *lpVtbl;
2640
    };
2641

    
2642
    
2643

    
2644
#ifdef COBJMACROS
2645

    
2646

    
2647
#define IPropertySystem_QueryInterface(This,riid,ppvObject)        \
2648
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
2649

    
2650
#define IPropertySystem_AddRef(This)        \
2651
    ( (This)->lpVtbl -> AddRef(This) ) 
2652

    
2653
#define IPropertySystem_Release(This)        \
2654
    ( (This)->lpVtbl -> Release(This) ) 
2655

    
2656

    
2657
#define IPropertySystem_GetPropertyDescription(This,propkey,riid,ppv)        \
2658
    ( (This)->lpVtbl -> GetPropertyDescription(This,propkey,riid,ppv) ) 
2659

    
2660
#define IPropertySystem_GetPropertyDescriptionByName(This,pszCanonicalName,riid,ppv)        \
2661
    ( (This)->lpVtbl -> GetPropertyDescriptionByName(This,pszCanonicalName,riid,ppv) ) 
2662

    
2663
#define IPropertySystem_GetPropertyDescriptionListFromString(This,pszPropList,riid,ppv)        \
2664
    ( (This)->lpVtbl -> GetPropertyDescriptionListFromString(This,pszPropList,riid,ppv) ) 
2665

    
2666
#define IPropertySystem_EnumeratePropertyDescriptions(This,filterOn,riid,ppv)        \
2667
    ( (This)->lpVtbl -> EnumeratePropertyDescriptions(This,filterOn,riid,ppv) ) 
2668

    
2669
#define IPropertySystem_FormatForDisplay(This,key,propvar,pdff,pszText,cchText)        \
2670
    ( (This)->lpVtbl -> FormatForDisplay(This,key,propvar,pdff,pszText,cchText) ) 
2671

    
2672
#define IPropertySystem_FormatForDisplayAlloc(This,key,propvar,pdff,ppszDisplay)        \
2673
    ( (This)->lpVtbl -> FormatForDisplayAlloc(This,key,propvar,pdff,ppszDisplay) ) 
2674

    
2675
#define IPropertySystem_RegisterPropertySchema(This,pszPath)        \
2676
    ( (This)->lpVtbl -> RegisterPropertySchema(This,pszPath) ) 
2677

    
2678
#define IPropertySystem_UnregisterPropertySchema(This,pszPath)        \
2679
    ( (This)->lpVtbl -> UnregisterPropertySchema(This,pszPath) ) 
2680

    
2681
#define IPropertySystem_RefreshPropertySchema(This)        \
2682
    ( (This)->lpVtbl -> RefreshPropertySchema(This) ) 
2683

    
2684
#endif /* COBJMACROS */
2685

    
2686

    
2687
#endif         /* C style interface */
2688

    
2689

    
2690

    
2691

    
2692
#endif         /* __IPropertySystem_INTERFACE_DEFINED__ */
2693

    
2694

    
2695
#ifndef __IPropertyDescriptionList_INTERFACE_DEFINED__
2696
#define __IPropertyDescriptionList_INTERFACE_DEFINED__
2697

    
2698
/* interface IPropertyDescriptionList */
2699
/* [unique][object][uuid] */ 
2700

    
2701

    
2702
EXTERN_C const IID IID_IPropertyDescriptionList;
2703

    
2704
#if defined(__cplusplus) && !defined(CINTERFACE)
2705
    
2706
    MIDL_INTERFACE("1f9fc1d0-c39b-4b26-817f-011967d3440e")
2707
    IPropertyDescriptionList : public IUnknown
2708
    {
2709
    public:
2710
        virtual HRESULT STDMETHODCALLTYPE GetCount( 
2711
            /* [out] */ __RPC__out UINT *pcElem) = 0;
2712
        
2713
        virtual HRESULT STDMETHODCALLTYPE GetAt( 
2714
            /* [in] */ UINT iElem,
2715
            /* [in] */ __RPC__in REFIID riid,
2716
            /* [iid_is][out] */ __RPC__deref_out_opt void **ppv) = 0;
2717
        
2718
    };
2719
    
2720
#else         /* C style interface */
2721

    
2722
    typedef struct IPropertyDescriptionListVtbl
2723
    {
2724
        BEGIN_INTERFACE
2725
        
2726
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
2727
            IPropertyDescriptionList * This,
2728
            /* [in] */ __RPC__in REFIID riid,
2729
            /* [iid_is][out] */ 
2730
            __RPC__deref_out  void **ppvObject);
2731
        
2732
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
2733
            IPropertyDescriptionList * This);
2734
        
2735
        ULONG ( STDMETHODCALLTYPE *Release )( 
2736
            IPropertyDescriptionList * This);
2737
        
2738
        HRESULT ( STDMETHODCALLTYPE *GetCount )( 
2739
            IPropertyDescriptionList * This,
2740
            /* [out] */ __RPC__out UINT *pcElem);
2741
        
2742
        HRESULT ( STDMETHODCALLTYPE *GetAt )( 
2743
            IPropertyDescriptionList * This,
2744
            /* [in] */ UINT iElem,
2745
            /* [in] */ __RPC__in REFIID riid,
2746
            /* [iid_is][out] */ __RPC__deref_out_opt void **ppv);
2747
        
2748
        END_INTERFACE
2749
    } IPropertyDescriptionListVtbl;
2750

    
2751
    interface IPropertyDescriptionList
2752
    {
2753
        CONST_VTBL struct IPropertyDescriptionListVtbl *lpVtbl;
2754
    };
2755

    
2756
    
2757

    
2758
#ifdef COBJMACROS
2759

    
2760

    
2761
#define IPropertyDescriptionList_QueryInterface(This,riid,ppvObject)        \
2762
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
2763

    
2764
#define IPropertyDescriptionList_AddRef(This)        \
2765
    ( (This)->lpVtbl -> AddRef(This) ) 
2766

    
2767
#define IPropertyDescriptionList_Release(This)        \
2768
    ( (This)->lpVtbl -> Release(This) ) 
2769

    
2770

    
2771
#define IPropertyDescriptionList_GetCount(This,pcElem)        \
2772
    ( (This)->lpVtbl -> GetCount(This,pcElem) ) 
2773

    
2774
#define IPropertyDescriptionList_GetAt(This,iElem,riid,ppv)        \
2775
    ( (This)->lpVtbl -> GetAt(This,iElem,riid,ppv) ) 
2776

    
2777
#endif /* COBJMACROS */
2778

    
2779

    
2780
#endif         /* C style interface */
2781

    
2782

    
2783

    
2784

    
2785
#endif         /* __IPropertyDescriptionList_INTERFACE_DEFINED__ */
2786

    
2787

    
2788
#ifndef __IPropertyStoreFactory_INTERFACE_DEFINED__
2789
#define __IPropertyStoreFactory_INTERFACE_DEFINED__
2790

    
2791
/* interface IPropertyStoreFactory */
2792
/* [unique][object][uuid] */ 
2793

    
2794

    
2795
EXTERN_C const IID IID_IPropertyStoreFactory;
2796

    
2797
#if defined(__cplusplus) && !defined(CINTERFACE)
2798
    
2799
    MIDL_INTERFACE("bc110b6d-57e8-4148-a9c6-91015ab2f3a5")
2800
    IPropertyStoreFactory : public IUnknown
2801
    {
2802
    public:
2803
        virtual HRESULT STDMETHODCALLTYPE GetPropertyStore( 
2804
            /* [in] */ GETPROPERTYSTOREFLAGS flags,
2805
            /* [unique][in] */ __RPC__in_opt IUnknown *pUnkFactory,
2806
            /* [in] */ __RPC__in REFIID riid,
2807
            /* [iid_is][out] */ __RPC__deref_out_opt void **ppv) = 0;
2808
        
2809
        virtual HRESULT STDMETHODCALLTYPE GetPropertyStoreForKeys( 
2810
            /* [unique][in] */ __RPC__in_opt const PROPERTYKEY *rgKeys,
2811
            /* [in] */ UINT cKeys,
2812
            /* [in] */ GETPROPERTYSTOREFLAGS flags,
2813
            /* [in] */ __RPC__in REFIID riid,
2814
            /* [iid_is][out] */ __RPC__deref_out_opt void **ppv) = 0;
2815
        
2816
    };
2817
    
2818
#else         /* C style interface */
2819

    
2820
    typedef struct IPropertyStoreFactoryVtbl
2821
    {
2822
        BEGIN_INTERFACE
2823
        
2824
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
2825
            IPropertyStoreFactory * This,
2826
            /* [in] */ __RPC__in REFIID riid,
2827
            /* [iid_is][out] */ 
2828
            __RPC__deref_out  void **ppvObject);
2829
        
2830
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
2831
            IPropertyStoreFactory * This);
2832
        
2833
        ULONG ( STDMETHODCALLTYPE *Release )( 
2834
            IPropertyStoreFactory * This);
2835
        
2836
        HRESULT ( STDMETHODCALLTYPE *GetPropertyStore )( 
2837
            IPropertyStoreFactory * This,
2838
            /* [in] */ GETPROPERTYSTOREFLAGS flags,
2839
            /* [unique][in] */ __RPC__in_opt IUnknown *pUnkFactory,
2840
            /* [in] */ __RPC__in REFIID riid,
2841
            /* [iid_is][out] */ __RPC__deref_out_opt void **ppv);
2842
        
2843
        HRESULT ( STDMETHODCALLTYPE *GetPropertyStoreForKeys )( 
2844
            IPropertyStoreFactory * This,
2845
            /* [unique][in] */ __RPC__in_opt const PROPERTYKEY *rgKeys,
2846
            /* [in] */ UINT cKeys,
2847
            /* [in] */ GETPROPERTYSTOREFLAGS flags,
2848
            /* [in] */ __RPC__in REFIID riid,
2849
            /* [iid_is][out] */ __RPC__deref_out_opt void **ppv);
2850
        
2851
        END_INTERFACE
2852
    } IPropertyStoreFactoryVtbl;
2853

    
2854
    interface IPropertyStoreFactory
2855
    {
2856
        CONST_VTBL struct IPropertyStoreFactoryVtbl *lpVtbl;
2857
    };
2858

    
2859
    
2860

    
2861
#ifdef COBJMACROS
2862

    
2863

    
2864
#define IPropertyStoreFactory_QueryInterface(This,riid,ppvObject)        \
2865
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
2866

    
2867
#define IPropertyStoreFactory_AddRef(This)        \
2868
    ( (This)->lpVtbl -> AddRef(This) ) 
2869

    
2870
#define IPropertyStoreFactory_Release(This)        \
2871
    ( (This)->lpVtbl -> Release(This) ) 
2872

    
2873

    
2874
#define IPropertyStoreFactory_GetPropertyStore(This,flags,pUnkFactory,riid,ppv)        \
2875
    ( (This)->lpVtbl -> GetPropertyStore(This,flags,pUnkFactory,riid,ppv) ) 
2876

    
2877
#define IPropertyStoreFactory_GetPropertyStoreForKeys(This,rgKeys,cKeys,flags,riid,ppv)        \
2878
    ( (This)->lpVtbl -> GetPropertyStoreForKeys(This,rgKeys,cKeys,flags,riid,ppv) ) 
2879

    
2880
#endif /* COBJMACROS */
2881

    
2882

    
2883
#endif         /* C style interface */
2884

    
2885

    
2886

    
2887

    
2888
#endif         /* __IPropertyStoreFactory_INTERFACE_DEFINED__ */
2889

    
2890

    
2891
#ifndef __IDelayedPropertyStoreFactory_INTERFACE_DEFINED__
2892
#define __IDelayedPropertyStoreFactory_INTERFACE_DEFINED__
2893

    
2894
/* interface IDelayedPropertyStoreFactory */
2895
/* [unique][object][uuid] */ 
2896

    
2897

    
2898
EXTERN_C const IID IID_IDelayedPropertyStoreFactory;
2899

    
2900
#if defined(__cplusplus) && !defined(CINTERFACE)
2901
    
2902
    MIDL_INTERFACE("40d4577f-e237-4bdb-bd69-58f089431b6a")
2903
    IDelayedPropertyStoreFactory : public IPropertyStoreFactory
2904
    {
2905
    public:
2906
        virtual HRESULT STDMETHODCALLTYPE GetDelayedPropertyStore( 
2907
            /* [in] */ GETPROPERTYSTOREFLAGS flags,
2908
            /* [in] */ DWORD dwStoreId,
2909
            /* [in] */ __RPC__in REFIID riid,
2910
            /* [iid_is][out] */ __RPC__deref_out_opt void **ppv) = 0;
2911
        
2912
    };
2913
    
2914
#else         /* C style interface */
2915

    
2916
    typedef struct IDelayedPropertyStoreFactoryVtbl
2917
    {
2918
        BEGIN_INTERFACE
2919
        
2920
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
2921
            IDelayedPropertyStoreFactory * This,
2922
            /* [in] */ __RPC__in REFIID riid,
2923
            /* [iid_is][out] */ 
2924
            __RPC__deref_out  void **ppvObject);
2925
        
2926
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
2927
            IDelayedPropertyStoreFactory * This);
2928
        
2929
        ULONG ( STDMETHODCALLTYPE *Release )( 
2930
            IDelayedPropertyStoreFactory * This);
2931
        
2932
        HRESULT ( STDMETHODCALLTYPE *GetPropertyStore )( 
2933
            IDelayedPropertyStoreFactory * This,
2934
            /* [in] */ GETPROPERTYSTOREFLAGS flags,
2935
            /* [unique][in] */ __RPC__in_opt IUnknown *pUnkFactory,
2936
            /* [in] */ __RPC__in REFIID riid,
2937
            /* [iid_is][out] */ __RPC__deref_out_opt void **ppv);
2938
        
2939
        HRESULT ( STDMETHODCALLTYPE *GetPropertyStoreForKeys )( 
2940
            IDelayedPropertyStoreFactory * This,
2941
            /* [unique][in] */ __RPC__in_opt const PROPERTYKEY *rgKeys,
2942
            /* [in] */ UINT cKeys,
2943
            /* [in] */ GETPROPERTYSTOREFLAGS flags,
2944
            /* [in] */ __RPC__in REFIID riid,
2945
            /* [iid_is][out] */ __RPC__deref_out_opt void **ppv);
2946
        
2947
        HRESULT ( STDMETHODCALLTYPE *GetDelayedPropertyStore )( 
2948
            IDelayedPropertyStoreFactory * This,
2949
            /* [in] */ GETPROPERTYSTOREFLAGS flags,
2950
            /* [in] */ DWORD dwStoreId,
2951
            /* [in] */ __RPC__in REFIID riid,
2952
            /* [iid_is][out] */ __RPC__deref_out_opt void **ppv);
2953
        
2954
        END_INTERFACE
2955
    } IDelayedPropertyStoreFactoryVtbl;
2956

    
2957
    interface IDelayedPropertyStoreFactory
2958
    {
2959
        CONST_VTBL struct IDelayedPropertyStoreFactoryVtbl *lpVtbl;
2960
    };
2961

    
2962
    
2963

    
2964
#ifdef COBJMACROS
2965

    
2966

    
2967
#define IDelayedPropertyStoreFactory_QueryInterface(This,riid,ppvObject)        \
2968
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
2969

    
2970
#define IDelayedPropertyStoreFactory_AddRef(This)        \
2971
    ( (This)->lpVtbl -> AddRef(This) ) 
2972

    
2973
#define IDelayedPropertyStoreFactory_Release(This)        \
2974
    ( (This)->lpVtbl -> Release(This) ) 
2975

    
2976

    
2977
#define IDelayedPropertyStoreFactory_GetPropertyStore(This,flags,pUnkFactory,riid,ppv)        \
2978
    ( (This)->lpVtbl -> GetPropertyStore(This,flags,pUnkFactory,riid,ppv) ) 
2979

    
2980
#define IDelayedPropertyStoreFactory_GetPropertyStoreForKeys(This,rgKeys,cKeys,flags,riid,ppv)        \
2981
    ( (This)->lpVtbl -> GetPropertyStoreForKeys(This,rgKeys,cKeys,flags,riid,ppv) ) 
2982

    
2983

    
2984
#define IDelayedPropertyStoreFactory_GetDelayedPropertyStore(This,flags,dwStoreId,riid,ppv)        \
2985
    ( (This)->lpVtbl -> GetDelayedPropertyStore(This,flags,dwStoreId,riid,ppv) ) 
2986

    
2987
#endif /* COBJMACROS */
2988

    
2989

    
2990
#endif         /* C style interface */
2991

    
2992

    
2993

    
2994

    
2995
#endif         /* __IDelayedPropertyStoreFactory_INTERFACE_DEFINED__ */
2996

    
2997

    
2998
/* interface __MIDL_itf_propsys_0000_0018 */
2999
/* [local] */ 
3000

    
3001
/* [v1_enum] */ 
3002
enum tagPERSIST_SPROPSTORE_FLAGS
3003
    {        FPSPS_READONLY        = 0x1
3004
    } ;
3005
typedef int PERSIST_SPROPSTORE_FLAGS;
3006

    
3007
typedef struct tagSERIALIZEDPROPSTORAGE SERIALIZEDPROPSTORAGE;
3008

    
3009
typedef SERIALIZEDPROPSTORAGE __unaligned *PUSERIALIZEDPROPSTORAGE;
3010

    
3011
typedef const SERIALIZEDPROPSTORAGE __unaligned *PCUSERIALIZEDPROPSTORAGE;
3012

    
3013

    
3014

    
3015
extern RPC_IF_HANDLE __MIDL_itf_propsys_0000_0018_v0_0_c_ifspec;
3016
extern RPC_IF_HANDLE __MIDL_itf_propsys_0000_0018_v0_0_s_ifspec;
3017

    
3018
#ifndef __IPersistSerializedPropStorage_INTERFACE_DEFINED__
3019
#define __IPersistSerializedPropStorage_INTERFACE_DEFINED__
3020

    
3021
/* interface IPersistSerializedPropStorage */
3022
/* [object][local][unique][uuid] */ 
3023

    
3024

    
3025
EXTERN_C const IID IID_IPersistSerializedPropStorage;
3026

    
3027
#if defined(__cplusplus) && !defined(CINTERFACE)
3028
    
3029
    MIDL_INTERFACE("e318ad57-0aa0-450f-aca5-6fab7103d917")
3030
    IPersistSerializedPropStorage : public IUnknown
3031
    {
3032
    public:
3033
        virtual HRESULT STDMETHODCALLTYPE SetFlags( 
3034
            /* [in] */ PERSIST_SPROPSTORE_FLAGS flags) = 0;
3035
        
3036
        virtual HRESULT STDMETHODCALLTYPE SetPropertyStorage( 
3037
            /* [in] */ 
3038
            __in_bcount(cb)  PCUSERIALIZEDPROPSTORAGE psps,
3039
            /* [in] */ 
3040
            __in  DWORD cb) = 0;
3041
        
3042
        virtual HRESULT STDMETHODCALLTYPE GetPropertyStorage( 
3043
            /* [out] */ 
3044
            __deref_out_bcount(*pcb)  SERIALIZEDPROPSTORAGE **ppsps,
3045
            /* [out] */ 
3046
            __out  DWORD *pcb) = 0;
3047
        
3048
    };
3049
    
3050
#else         /* C style interface */
3051

    
3052
    typedef struct IPersistSerializedPropStorageVtbl
3053
    {
3054
        BEGIN_INTERFACE
3055
        
3056
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
3057
            IPersistSerializedPropStorage * This,
3058
            /* [in] */ REFIID riid,
3059
            /* [iid_is][out] */ 
3060
            __RPC__deref_out  void **ppvObject);
3061
        
3062
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
3063
            IPersistSerializedPropStorage * This);
3064
        
3065
        ULONG ( STDMETHODCALLTYPE *Release )( 
3066
            IPersistSerializedPropStorage * This);
3067
        
3068
        HRESULT ( STDMETHODCALLTYPE *SetFlags )( 
3069
            IPersistSerializedPropStorage * This,
3070
            /* [in] */ PERSIST_SPROPSTORE_FLAGS flags);
3071
        
3072
        HRESULT ( STDMETHODCALLTYPE *SetPropertyStorage )( 
3073
            IPersistSerializedPropStorage * This,
3074
            /* [in] */ 
3075
            __in_bcount(cb)  PCUSERIALIZEDPROPSTORAGE psps,
3076
            /* [in] */ 
3077
            __in  DWORD cb);
3078
        
3079
        HRESULT ( STDMETHODCALLTYPE *GetPropertyStorage )( 
3080
            IPersistSerializedPropStorage * This,
3081
            /* [out] */ 
3082
            __deref_out_bcount(*pcb)  SERIALIZEDPROPSTORAGE **ppsps,
3083
            /* [out] */ 
3084
            __out  DWORD *pcb);
3085
        
3086
        END_INTERFACE
3087
    } IPersistSerializedPropStorageVtbl;
3088

    
3089
    interface IPersistSerializedPropStorage
3090
    {
3091
        CONST_VTBL struct IPersistSerializedPropStorageVtbl *lpVtbl;
3092
    };
3093

    
3094
    
3095

    
3096
#ifdef COBJMACROS
3097

    
3098

    
3099
#define IPersistSerializedPropStorage_QueryInterface(This,riid,ppvObject)        \
3100
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
3101

    
3102
#define IPersistSerializedPropStorage_AddRef(This)        \
3103
    ( (This)->lpVtbl -> AddRef(This) ) 
3104

    
3105
#define IPersistSerializedPropStorage_Release(This)        \
3106
    ( (This)->lpVtbl -> Release(This) ) 
3107

    
3108

    
3109
#define IPersistSerializedPropStorage_SetFlags(This,flags)        \
3110
    ( (This)->lpVtbl -> SetFlags(This,flags) ) 
3111

    
3112
#define IPersistSerializedPropStorage_SetPropertyStorage(This,psps,cb)        \
3113
    ( (This)->lpVtbl -> SetPropertyStorage(This,psps,cb) ) 
3114

    
3115
#define IPersistSerializedPropStorage_GetPropertyStorage(This,ppsps,pcb)        \
3116
    ( (This)->lpVtbl -> GetPropertyStorage(This,ppsps,pcb) ) 
3117

    
3118
#endif /* COBJMACROS */
3119

    
3120

    
3121
#endif         /* C style interface */
3122

    
3123

    
3124

    
3125

    
3126
#endif         /* __IPersistSerializedPropStorage_INTERFACE_DEFINED__ */
3127

    
3128

    
3129
#ifndef __IPropertySystemChangeNotify_INTERFACE_DEFINED__
3130
#define __IPropertySystemChangeNotify_INTERFACE_DEFINED__
3131

    
3132
/* interface IPropertySystemChangeNotify */
3133
/* [unique][object][uuid] */ 
3134

    
3135

    
3136
EXTERN_C const IID IID_IPropertySystemChangeNotify;
3137

    
3138
#if defined(__cplusplus) && !defined(CINTERFACE)
3139
    
3140
    MIDL_INTERFACE("fa955fd9-38be-4879-a6ce-824cf52d609f")
3141
    IPropertySystemChangeNotify : public IUnknown
3142
    {
3143
    public:
3144
        virtual HRESULT STDMETHODCALLTYPE SchemaRefreshed( void) = 0;
3145
        
3146
    };
3147
    
3148
#else         /* C style interface */
3149

    
3150
    typedef struct IPropertySystemChangeNotifyVtbl
3151
    {
3152
        BEGIN_INTERFACE
3153
        
3154
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
3155
            IPropertySystemChangeNotify * This,
3156
            /* [in] */ __RPC__in REFIID riid,
3157
            /* [iid_is][out] */ 
3158
            __RPC__deref_out  void **ppvObject);
3159
        
3160
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
3161
            IPropertySystemChangeNotify * This);
3162
        
3163
        ULONG ( STDMETHODCALLTYPE *Release )( 
3164
            IPropertySystemChangeNotify * This);
3165
        
3166
        HRESULT ( STDMETHODCALLTYPE *SchemaRefreshed )( 
3167
            IPropertySystemChangeNotify * This);
3168
        
3169
        END_INTERFACE
3170
    } IPropertySystemChangeNotifyVtbl;
3171

    
3172
    interface IPropertySystemChangeNotify
3173
    {
3174
        CONST_VTBL struct IPropertySystemChangeNotifyVtbl *lpVtbl;
3175
    };
3176

    
3177
    
3178

    
3179
#ifdef COBJMACROS
3180

    
3181

    
3182
#define IPropertySystemChangeNotify_QueryInterface(This,riid,ppvObject)        \
3183
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
3184

    
3185
#define IPropertySystemChangeNotify_AddRef(This)        \
3186
    ( (This)->lpVtbl -> AddRef(This) ) 
3187

    
3188
#define IPropertySystemChangeNotify_Release(This)        \
3189
    ( (This)->lpVtbl -> Release(This) ) 
3190

    
3191

    
3192
#define IPropertySystemChangeNotify_SchemaRefreshed(This)        \
3193
    ( (This)->lpVtbl -> SchemaRefreshed(This) ) 
3194

    
3195
#endif /* COBJMACROS */
3196

    
3197

    
3198
#endif         /* C style interface */
3199

    
3200

    
3201

    
3202

    
3203
#endif         /* __IPropertySystemChangeNotify_INTERFACE_DEFINED__ */
3204

    
3205

    
3206
#ifndef __ICreateObject_INTERFACE_DEFINED__
3207
#define __ICreateObject_INTERFACE_DEFINED__
3208

    
3209
/* interface ICreateObject */
3210
/* [object][unique][uuid] */ 
3211

    
3212

    
3213
EXTERN_C const IID IID_ICreateObject;
3214

    
3215
#if defined(__cplusplus) && !defined(CINTERFACE)
3216
    
3217
    MIDL_INTERFACE("75121952-e0d0-43e5-9380-1d80483acf72")
3218
    ICreateObject : public IUnknown
3219
    {
3220
    public:
3221
        virtual HRESULT STDMETHODCALLTYPE CreateObject( 
3222
            /* [in] */ __RPC__in REFCLSID clsid,
3223
            /* [unique][in] */ __RPC__in_opt IUnknown *pUnkOuter,
3224
            /* [in] */ __RPC__in REFIID riid,
3225
            /* [iid_is][out] */ __RPC__deref_out_opt void **ppv) = 0;
3226
        
3227
    };
3228
    
3229
#else         /* C style interface */
3230

    
3231
    typedef struct ICreateObjectVtbl
3232
    {
3233
        BEGIN_INTERFACE
3234
        
3235
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
3236
            ICreateObject * This,
3237
            /* [in] */ __RPC__in REFIID riid,
3238
            /* [iid_is][out] */ 
3239
            __RPC__deref_out  void **ppvObject);
3240
        
3241
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
3242
            ICreateObject * This);
3243
        
3244
        ULONG ( STDMETHODCALLTYPE *Release )( 
3245
            ICreateObject * This);
3246
        
3247
        HRESULT ( STDMETHODCALLTYPE *CreateObject )( 
3248
            ICreateObject * This,
3249
            /* [in] */ __RPC__in REFCLSID clsid,
3250
            /* [unique][in] */ __RPC__in_opt IUnknown *pUnkOuter,
3251
            /* [in] */ __RPC__in REFIID riid,
3252
            /* [iid_is][out] */ __RPC__deref_out_opt void **ppv);
3253
        
3254
        END_INTERFACE
3255
    } ICreateObjectVtbl;
3256

    
3257
    interface ICreateObject
3258
    {
3259
        CONST_VTBL struct ICreateObjectVtbl *lpVtbl;
3260
    };
3261

    
3262
    
3263

    
3264
#ifdef COBJMACROS
3265

    
3266

    
3267
#define ICreateObject_QueryInterface(This,riid,ppvObject)        \
3268
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
3269

    
3270
#define ICreateObject_AddRef(This)        \
3271
    ( (This)->lpVtbl -> AddRef(This) ) 
3272

    
3273
#define ICreateObject_Release(This)        \
3274
    ( (This)->lpVtbl -> Release(This) ) 
3275

    
3276

    
3277
#define ICreateObject_CreateObject(This,clsid,pUnkOuter,riid,ppv)        \
3278
    ( (This)->lpVtbl -> CreateObject(This,clsid,pUnkOuter,riid,ppv) ) 
3279

    
3280
#endif /* COBJMACROS */
3281

    
3282

    
3283
#endif         /* C style interface */
3284

    
3285

    
3286

    
3287

    
3288
#endif         /* __ICreateObject_INTERFACE_DEFINED__ */
3289

    
3290

    
3291
/* interface __MIDL_itf_propsys_0000_0021 */
3292
/* [local] */ 
3293

    
3294
// Format a property value for display purposes
3295
PSSTDAPI PSFormatForDisplay(
3296
    __in REFPROPERTYKEY propkey,
3297
    __in REFPROPVARIANT propvar,
3298
    __in PROPDESC_FORMAT_FLAGS pdfFlags,
3299
    __out_ecount(cchText) LPWSTR pwszText,
3300
    __in DWORD cchText);
3301

    
3302
PSSTDAPI PSFormatForDisplayAlloc(
3303
    __in REFPROPERTYKEY key,
3304
    __in REFPROPVARIANT propvar,
3305
    __in PROPDESC_FORMAT_FLAGS pdff,
3306
    __deref_out PWSTR *ppszDisplay);
3307

    
3308
PSSTDAPI PSFormatPropertyValue(
3309
    __in IPropertyStore *pps,
3310
    __in IPropertyDescription *ppd,
3311
    __in PROPDESC_FORMAT_FLAGS pdff,
3312
    __deref_out LPWSTR *ppszDisplay);
3313

    
3314

    
3315
#define PKEY_PIDSTR_MAX     10   // will take care of any long integer value
3316
#define GUIDSTRING_MAX      (1 + 8 + 1 + 4 + 1 + 4 + 1 + 4 + 1 + 12 + 1 + 1)  // "{12345678-1234-1234-1234-123456789012}"
3317
#define PKEYSTR_MAX         (GUIDSTRING_MAX + 1 + PKEY_PIDSTR_MAX)
3318

    
3319
// Convert a PROPERTYKEY to and from a PWSTR
3320
PSSTDAPI PSStringFromPropertyKey(
3321
    __in REFPROPERTYKEY pkey,
3322
    __out_ecount(cch) LPWSTR psz,
3323
    __in UINT cch);
3324

    
3325
PSSTDAPI PSPropertyKeyFromString(
3326
    __in LPCWSTR pszString,
3327
    __out PROPERTYKEY *pkey);
3328

    
3329

    
3330
// Creates an in-memory property store
3331
// Returns an IPropertyStore, IPersistSerializedPropStorage, and related interfaces interface
3332
PSSTDAPI PSCreateMemoryPropertyStore(
3333
    __in REFIID riid,
3334
    __deref_out void **ppv);
3335

    
3336

    
3337
// Create a read-only, delay-bind multiplexing property store
3338
// Returns an IPropertyStore interface or related interfaces
3339
PSSTDAPI PSCreateDelayedMultiplexPropertyStore(
3340
    __in GETPROPERTYSTOREFLAGS flags,
3341
    __in IDelayedPropertyStoreFactory *pdpsf,
3342
    __in_ecount(cStores) const DWORD *rgStoreIds,
3343
    __in DWORD cStores,
3344
    __in REFIID riid,
3345
    __deref_out void **ppv);
3346

    
3347

    
3348
// Create a read-only property store from one or more sources (which each must support either IPropertyStore or IPropertySetStorage)
3349
// Returns an IPropertyStore interface or related interfaces
3350
PSSTDAPI PSCreateMultiplexPropertyStore(
3351
    __in_ecount(cStores) IUnknown **prgpunkStores,
3352
    __in DWORD cStores,
3353
    __in REFIID riid,
3354
    __deref_out void **ppv);
3355

    
3356

    
3357
// Create a container for IPropertyChanges
3358
// Returns an IPropertyChangeArray interface
3359
PSSTDAPI PSCreatePropertyChangeArray(
3360
    __in_ecount_opt(cChanges) const PROPERTYKEY *rgpropkey,
3361
    __in_ecount_opt(cChanges) const PKA_FLAGS *rgflags,
3362
    __in_ecount_opt(cChanges) const PROPVARIANT *rgpropvar,
3363
    __in UINT cChanges,
3364
    __in REFIID riid,
3365
    __deref_out void **ppv);
3366

    
3367

    
3368
// Create a simple property change
3369
// Returns an IPropertyChange interface
3370
PSSTDAPI PSCreateSimplePropertyChange(
3371
    __in PKA_FLAGS flags,
3372
    __in REFPROPERTYKEY key,
3373
    __in REFPROPVARIANT propvar,
3374
    __in REFIID riid,
3375
    __deref_out void **ppv);
3376

    
3377

    
3378
// Get a property description
3379
// Returns an IPropertyDescription interface
3380
PSSTDAPI PSGetPropertyDescription(
3381
    __in REFPROPERTYKEY propkey,
3382
    __in REFIID riid,
3383
    __deref_out void **ppv);
3384

    
3385
PSSTDAPI PSGetPropertyDescriptionByName(
3386
    __in LPCWSTR pszCanonicalName,
3387
    __in REFIID riid,
3388
    __deref_out void **ppv);
3389

    
3390

    
3391
// Lookup a per-machine registered file property handler
3392
PSSTDAPI PSLookupPropertyHandlerCLSID(
3393
    __in PCWSTR pszFilePath,
3394
    __out CLSID *pclsid);
3395
// Get a property handler, on Vista or downlevel to XP
3396
// punkItem is a shell item created with an SHCreateItemXXX API
3397
// Returns an IPropertyStore
3398
PSSTDAPI PSGetItemPropertyHandler(
3399
    __in IUnknown *punkItem,
3400
    __in BOOL fReadWrite,
3401
    __in REFIID riid,
3402
    __deref_out void **ppv);
3403

    
3404

    
3405
// Get a property handler, on Vista or downlevel to XP
3406
// punkItem is a shell item created with an SHCreateItemXXX API
3407
// punkCreateObject supports ICreateObject
3408
// Returns an IPropertyStore
3409
PSSTDAPI PSGetItemPropertyHandlerWithCreateObject(
3410
    __in IUnknown *punkItem,
3411
    __in BOOL fReadWrite,
3412
    __in IUnknown *punkCreateObject,
3413
    __in REFIID riid,
3414
    __deref_out void **ppv);
3415

    
3416

    
3417
// Get or set a property value from a store
3418
PSSTDAPI PSGetPropertyValue(
3419
    __in IPropertyStore *pps,
3420
    __in IPropertyDescription *ppd,
3421
    __out PROPVARIANT *ppropvar);
3422

    
3423
PSSTDAPI PSSetPropertyValue(
3424
    __in IPropertyStore *pps,
3425
    __in IPropertyDescription *ppd,
3426
    __in REFPROPVARIANT propvar);
3427

    
3428

    
3429
// Interact with the set of property descriptions
3430
PSSTDAPI PSRegisterPropertySchema(
3431
    __in PCWSTR pszPath);
3432

    
3433
PSSTDAPI PSUnregisterPropertySchema(
3434
    __in PCWSTR pszPath);
3435

    
3436
PSSTDAPI PSRefreshPropertySchema();
3437

    
3438
// Returns either: IPropertyDescriptionList or IEnumUnknown interfaces
3439
PSSTDAPI PSEnumeratePropertyDescriptions(
3440
    __in PROPDESC_ENUMFILTER filterOn,
3441
    __in REFIID riid,
3442
    __deref_out void **ppv);
3443

    
3444

    
3445
// Convert between a PROPERTYKEY and its canonical name
3446
PSSTDAPI PSGetPropertyKeyFromName(
3447
    __in PCWSTR pszName,
3448
    __out PROPERTYKEY *ppropkey);
3449

    
3450
PSSTDAPI PSGetNameFromPropertyKey(
3451
    __in REFPROPERTYKEY propkey,
3452
    __deref_out PWSTR *ppszCanonicalName);
3453

    
3454

    
3455
// Coerce and canonicalize a property value
3456
PSSTDAPI PSCoerceToCanonicalValue(
3457
    __in REFPROPERTYKEY key,
3458
    __inout PROPVARIANT *ppropvar);
3459

    
3460

    
3461
// Convert a 'prop:' string into a list of property descriptions
3462
// Returns an IPropertyDescriptionList interface
3463
PSSTDAPI PSGetPropertyDescriptionListFromString(
3464
    __in LPCWSTR pszPropList,
3465
    __in REFIID riid,
3466
    __deref_out void **ppv);
3467

    
3468

    
3469
// Wrap an IPropertySetStorage interface in an IPropertyStore interface
3470
// Returns an IPropertyStore or related interface
3471
PSSTDAPI PSCreatePropertyStoreFromPropertySetStorage(
3472
    __in IPropertySetStorage *ppss,
3473
    DWORD grfMode,
3474
    REFIID riid,
3475
    __deref_out void **ppv);
3476

    
3477

    
3478
// punkSource must support IPropertyStore or IPropertySetStorage
3479
// On success, the returned ppv is guaranteed to support IPropertyStore.
3480
// If punkSource already supports IPropertyStore, no wrapper is created.
3481
PSSTDAPI PSCreatePropertyStoreFromObject(
3482
    __in IUnknown *punk,
3483
    __in DWORD grfMode,
3484
    __in REFIID riid,
3485
    __deref_out void **ppv);
3486

    
3487

    
3488
// punkSource must support IPropertyStore
3489
// riid may be IPropertyStore, IPropertySetStorage, IPropertyStoreCapabilities, or IObjectProvider
3490
PSSTDAPI PSCreateAdapterFromPropertyStore(
3491
    __in IPropertyStore *pps,
3492
    __in REFIID riid,
3493
    __deref_out void **ppv);
3494

    
3495

    
3496
// Talk to the property system using an interface
3497
// Returns an IPropertySystem interface
3498
PSSTDAPI PSGetPropertySystem(
3499
    __in REFIID riid,
3500
    __deref_out void **ppv);
3501

    
3502

    
3503
// Obtain a value from serialized property storage
3504
PSSTDAPI PSGetPropertyFromPropertyStorage(
3505
    __in_bcount(cb) PCUSERIALIZEDPROPSTORAGE psps, 
3506
    __in DWORD cb, 
3507
    __in REFPROPERTYKEY rpkey, 
3508
    __out PROPVARIANT *ppropvar);
3509

    
3510

    
3511
// Obtain a named value from serialized property storage
3512
PSSTDAPI PSGetNamedPropertyFromPropertyStorage(
3513
    __in_bcount(cb) PCUSERIALIZEDPROPSTORAGE psps, 
3514
    __in DWORD cb, 
3515
    __in LPCWSTR pszName, 
3516
    __out PROPVARIANT *ppropvar);
3517

    
3518

    
3519

    
3520

    
3521
extern RPC_IF_HANDLE __MIDL_itf_propsys_0000_0021_v0_0_c_ifspec;
3522
extern RPC_IF_HANDLE __MIDL_itf_propsys_0000_0021_v0_0_s_ifspec;
3523

    
3524

    
3525
#ifndef __PropSysObjects_LIBRARY_DEFINED__
3526
#define __PropSysObjects_LIBRARY_DEFINED__
3527

    
3528
/* library PropSysObjects */
3529
/* [version][lcid][uuid] */ 
3530

    
3531

    
3532
EXTERN_C const IID LIBID_PropSysObjects;
3533

    
3534
EXTERN_C const CLSID CLSID_InMemoryPropertyStore;
3535

    
3536
#ifdef __cplusplus
3537

    
3538
class DECLSPEC_UUID("9a02e012-6303-4e1e-b9a1-630f802592c5")
3539
InMemoryPropertyStore;
3540
#endif
3541

    
3542
EXTERN_C const CLSID CLSID_PropertySystem;
3543

    
3544
#ifdef __cplusplus
3545

    
3546
class DECLSPEC_UUID("b8967f85-58ae-4f46-9fb2-5d7904798f4b")
3547
PropertySystem;
3548
#endif
3549
#endif /* __PropSysObjects_LIBRARY_DEFINED__ */
3550

    
3551
/* Additional Prototypes for ALL interfaces */
3552

    
3553
unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 
3554
unsigned char * __RPC_USER  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 
3555
unsigned char * __RPC_USER  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 
3556
void                      __RPC_USER  BSTR_UserFree(     unsigned long *, BSTR * ); 
3557

    
3558
unsigned long             __RPC_USER  LPSAFEARRAY_UserSize(     unsigned long *, unsigned long            , LPSAFEARRAY * ); 
3559
unsigned char * __RPC_USER  LPSAFEARRAY_UserMarshal(  unsigned long *, unsigned char *, LPSAFEARRAY * ); 
3560
unsigned char * __RPC_USER  LPSAFEARRAY_UserUnmarshal(unsigned long *, unsigned char *, LPSAFEARRAY * ); 
3561
void                      __RPC_USER  LPSAFEARRAY_UserFree(     unsigned long *, LPSAFEARRAY * ); 
3562

    
3563
unsigned long             __RPC_USER  BSTR_UserSize64(     unsigned long *, unsigned long            , BSTR * ); 
3564
unsigned char * __RPC_USER  BSTR_UserMarshal64(  unsigned long *, unsigned char *, BSTR * ); 
3565
unsigned char * __RPC_USER  BSTR_UserUnmarshal64(unsigned long *, unsigned char *, BSTR * ); 
3566
void                      __RPC_USER  BSTR_UserFree64(     unsigned long *, BSTR * ); 
3567

    
3568
unsigned long             __RPC_USER  LPSAFEARRAY_UserSize64(     unsigned long *, unsigned long            , LPSAFEARRAY * ); 
3569
unsigned char * __RPC_USER  LPSAFEARRAY_UserMarshal64(  unsigned long *, unsigned char *, LPSAFEARRAY * ); 
3570
unsigned char * __RPC_USER  LPSAFEARRAY_UserUnmarshal64(unsigned long *, unsigned char *, LPSAFEARRAY * ); 
3571
void                      __RPC_USER  LPSAFEARRAY_UserFree64(     unsigned long *, LPSAFEARRAY * ); 
3572

    
3573
/* [local] */ HRESULT STDMETHODCALLTYPE IInitializeWithStream_Initialize_Proxy( 
3574
    IInitializeWithStream * This,
3575
    /* [in] */ IStream *pstream,
3576
    /* [in] */ DWORD grfMode);
3577

    
3578

    
3579
/* [call_as] */ HRESULT STDMETHODCALLTYPE IInitializeWithStream_Initialize_Stub( 
3580
    IInitializeWithStream * This,
3581
    /* [in] */ __RPC__in_opt IStream *pstream,
3582
    /* [in] */ DWORD grfMode);
3583

    
3584
/* [local] */ HRESULT STDMETHODCALLTYPE IPropertyDescription_CoerceToCanonicalValue_Proxy( 
3585
    IPropertyDescription * This,
3586
    /* [out][in] */ PROPVARIANT *ppropvar);
3587

    
3588

    
3589
/* [call_as] */ HRESULT STDMETHODCALLTYPE IPropertyDescription_CoerceToCanonicalValue_Stub( 
3590
    IPropertyDescription * This,
3591
    /* [in] */ __RPC__in REFPROPVARIANT propvar,
3592
    /* [out] */ __RPC__out PROPVARIANT *ppropvar);
3593

    
3594

    
3595

    
3596
/* end of Additional Prototypes */
3597

    
3598
#ifdef __cplusplus
3599
}
3600
#endif
3601

    
3602
#endif
3603

    
3604

    
3605