source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/propsys.h@ 1194

Last change on this file since 1194 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 171.2 KB
Line 
1/*** Autogenerated by WIDL 6.4 from include/propsys.idl - Do not edit ***/
2
3#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__
5#define __REQUIRED_RPCNDR_H_VERSION__ 475
6#endif
7#include <rpc.h>
8#include <rpcndr.h>
9#endif
10
11#ifndef COM_NO_WINDOWS_H
12#include <windows.h>
13#include <ole2.h>
14#endif
15
16#ifndef __propsys_h__
17#define __propsys_h__
18
19/* Forward declarations */
20
21#ifndef __IInitializeWithFile_FWD_DEFINED__
22#define __IInitializeWithFile_FWD_DEFINED__
23typedef interface IInitializeWithFile IInitializeWithFile;
24#ifdef __cplusplus
25interface IInitializeWithFile;
26#endif /* __cplusplus */
27#endif
28
29#ifndef __IInitializeWithStream_FWD_DEFINED__
30#define __IInitializeWithStream_FWD_DEFINED__
31typedef interface IInitializeWithStream IInitializeWithStream;
32#ifdef __cplusplus
33interface IInitializeWithStream;
34#endif /* __cplusplus */
35#endif
36
37#ifndef __IPropertyStore_FWD_DEFINED__
38#define __IPropertyStore_FWD_DEFINED__
39typedef interface IPropertyStore IPropertyStore;
40#ifdef __cplusplus
41interface IPropertyStore;
42#endif /* __cplusplus */
43#endif
44
45#ifndef __INamedPropertyStore_FWD_DEFINED__
46#define __INamedPropertyStore_FWD_DEFINED__
47typedef interface INamedPropertyStore INamedPropertyStore;
48#ifdef __cplusplus
49interface INamedPropertyStore;
50#endif /* __cplusplus */
51#endif
52
53#ifndef __IObjectWithPropertyKey_FWD_DEFINED__
54#define __IObjectWithPropertyKey_FWD_DEFINED__
55typedef interface IObjectWithPropertyKey IObjectWithPropertyKey;
56#ifdef __cplusplus
57interface IObjectWithPropertyKey;
58#endif /* __cplusplus */
59#endif
60
61#ifndef __IPropertyChange_FWD_DEFINED__
62#define __IPropertyChange_FWD_DEFINED__
63typedef interface IPropertyChange IPropertyChange;
64#ifdef __cplusplus
65interface IPropertyChange;
66#endif /* __cplusplus */
67#endif
68
69#ifndef __IPropertyChangeArray_FWD_DEFINED__
70#define __IPropertyChangeArray_FWD_DEFINED__
71typedef interface IPropertyChangeArray IPropertyChangeArray;
72#ifdef __cplusplus
73interface IPropertyChangeArray;
74#endif /* __cplusplus */
75#endif
76
77#ifndef __IPropertyStoreCapabilities_FWD_DEFINED__
78#define __IPropertyStoreCapabilities_FWD_DEFINED__
79typedef interface IPropertyStoreCapabilities IPropertyStoreCapabilities;
80#ifdef __cplusplus
81interface IPropertyStoreCapabilities;
82#endif /* __cplusplus */
83#endif
84
85#ifndef __IPropertyStoreCache_FWD_DEFINED__
86#define __IPropertyStoreCache_FWD_DEFINED__
87typedef interface IPropertyStoreCache IPropertyStoreCache;
88#ifdef __cplusplus
89interface IPropertyStoreCache;
90#endif /* __cplusplus */
91#endif
92
93#ifndef __IPropertyEnumType_FWD_DEFINED__
94#define __IPropertyEnumType_FWD_DEFINED__
95typedef interface IPropertyEnumType IPropertyEnumType;
96#ifdef __cplusplus
97interface IPropertyEnumType;
98#endif /* __cplusplus */
99#endif
100
101#ifndef __IPropertyEnumType2_FWD_DEFINED__
102#define __IPropertyEnumType2_FWD_DEFINED__
103typedef interface IPropertyEnumType2 IPropertyEnumType2;
104#ifdef __cplusplus
105interface IPropertyEnumType2;
106#endif /* __cplusplus */
107#endif
108
109#ifndef __IPropertyEnumTypeList_FWD_DEFINED__
110#define __IPropertyEnumTypeList_FWD_DEFINED__
111typedef interface IPropertyEnumTypeList IPropertyEnumTypeList;
112#ifdef __cplusplus
113interface IPropertyEnumTypeList;
114#endif /* __cplusplus */
115#endif
116
117#ifndef __IPropertyDescription_FWD_DEFINED__
118#define __IPropertyDescription_FWD_DEFINED__
119typedef interface IPropertyDescription IPropertyDescription;
120#ifdef __cplusplus
121interface IPropertyDescription;
122#endif /* __cplusplus */
123#endif
124
125#ifndef __IPropertyDescription2_FWD_DEFINED__
126#define __IPropertyDescription2_FWD_DEFINED__
127typedef interface IPropertyDescription2 IPropertyDescription2;
128#ifdef __cplusplus
129interface IPropertyDescription2;
130#endif /* __cplusplus */
131#endif
132
133#ifndef __IPropertyDescriptionAliasInfo_FWD_DEFINED__
134#define __IPropertyDescriptionAliasInfo_FWD_DEFINED__
135typedef interface IPropertyDescriptionAliasInfo IPropertyDescriptionAliasInfo;
136#ifdef __cplusplus
137interface IPropertyDescriptionAliasInfo;
138#endif /* __cplusplus */
139#endif
140
141#ifndef __IPropertyDescriptionSearchInfo_FWD_DEFINED__
142#define __IPropertyDescriptionSearchInfo_FWD_DEFINED__
143typedef interface IPropertyDescriptionSearchInfo IPropertyDescriptionSearchInfo;
144#ifdef __cplusplus
145interface IPropertyDescriptionSearchInfo;
146#endif /* __cplusplus */
147#endif
148
149#ifndef __IPropertyDescriptionRelatedPropertyInfo_FWD_DEFINED__
150#define __IPropertyDescriptionRelatedPropertyInfo_FWD_DEFINED__
151typedef interface IPropertyDescriptionRelatedPropertyInfo IPropertyDescriptionRelatedPropertyInfo;
152#ifdef __cplusplus
153interface IPropertyDescriptionRelatedPropertyInfo;
154#endif /* __cplusplus */
155#endif
156
157#ifndef __IPropertySystem_FWD_DEFINED__
158#define __IPropertySystem_FWD_DEFINED__
159typedef interface IPropertySystem IPropertySystem;
160#ifdef __cplusplus
161interface IPropertySystem;
162#endif /* __cplusplus */
163#endif
164
165#ifndef __IPropertyDescriptionList_FWD_DEFINED__
166#define __IPropertyDescriptionList_FWD_DEFINED__
167typedef interface IPropertyDescriptionList IPropertyDescriptionList;
168#ifdef __cplusplus
169interface IPropertyDescriptionList;
170#endif /* __cplusplus */
171#endif
172
173#ifndef __IPropertyStoreFactory_FWD_DEFINED__
174#define __IPropertyStoreFactory_FWD_DEFINED__
175typedef interface IPropertyStoreFactory IPropertyStoreFactory;
176#ifdef __cplusplus
177interface IPropertyStoreFactory;
178#endif /* __cplusplus */
179#endif
180
181#ifndef __IDelayedPropertyStoreFactory_FWD_DEFINED__
182#define __IDelayedPropertyStoreFactory_FWD_DEFINED__
183typedef interface IDelayedPropertyStoreFactory IDelayedPropertyStoreFactory;
184#ifdef __cplusplus
185interface IDelayedPropertyStoreFactory;
186#endif /* __cplusplus */
187#endif
188
189#ifndef __IPersistSerializedPropStorage_FWD_DEFINED__
190#define __IPersistSerializedPropStorage_FWD_DEFINED__
191typedef interface IPersistSerializedPropStorage IPersistSerializedPropStorage;
192#ifdef __cplusplus
193interface IPersistSerializedPropStorage;
194#endif /* __cplusplus */
195#endif
196
197#ifndef __IPersistSerializedPropStorage2_FWD_DEFINED__
198#define __IPersistSerializedPropStorage2_FWD_DEFINED__
199typedef interface IPersistSerializedPropStorage2 IPersistSerializedPropStorage2;
200#ifdef __cplusplus
201interface IPersistSerializedPropStorage2;
202#endif /* __cplusplus */
203#endif
204
205#ifndef __IPropertySystemChangeNotify_FWD_DEFINED__
206#define __IPropertySystemChangeNotify_FWD_DEFINED__
207typedef interface IPropertySystemChangeNotify IPropertySystemChangeNotify;
208#ifdef __cplusplus
209interface IPropertySystemChangeNotify;
210#endif /* __cplusplus */
211#endif
212
213#ifndef __ICreateObject_FWD_DEFINED__
214#define __ICreateObject_FWD_DEFINED__
215typedef interface ICreateObject ICreateObject;
216#ifdef __cplusplus
217interface ICreateObject;
218#endif /* __cplusplus */
219#endif
220
221#ifndef __InMemoryPropertyStore_FWD_DEFINED__
222#define __InMemoryPropertyStore_FWD_DEFINED__
223#ifdef __cplusplus
224typedef class InMemoryPropertyStore InMemoryPropertyStore;
225#else
226typedef struct InMemoryPropertyStore InMemoryPropertyStore;
227#endif /* defined __cplusplus */
228#endif /* defined __InMemoryPropertyStore_FWD_DEFINED__ */
229
230#ifndef __PropertySystem_FWD_DEFINED__
231#define __PropertySystem_FWD_DEFINED__
232#ifdef __cplusplus
233typedef class PropertySystem PropertySystem;
234#else
235typedef struct PropertySystem PropertySystem;
236#endif /* defined __cplusplus */
237#endif /* defined __PropertySystem_FWD_DEFINED__ */
238
239/* Headers for imported files */
240
241#include <objidl.h>
242#include <oleidl.h>
243#include <ocidl.h>
244#include <shtypes.h>
245#include <structuredquerycondition.h>
246
247#ifdef __cplusplus
248extern "C" {
249#endif
250
251/**
252 * This file is part of the mingw-w64 runtime package.
253 * No warranty is given; refer to the file DISCLAIMER within this package.
254 */
255
256#include <winapifamily.h>
257
258
259#ifndef PSSTDAPI
260#ifdef _PROPSYS_
261#define PSSTDAPI STDAPI
262#define PSSTDAPI_(type) STDAPI_(type)
263#else
264#define PSSTDAPI EXTERN_C DECLSPEC_IMPORT HRESULT STDAPICALLTYPE
265#define PSSTDAPI_(type) EXTERN_C DECLSPEC_IMPORT type STDAPICALLTYPE
266#endif
267#endif
268
269#if 0
270typedef PROPERTYKEY *REFPROPERTYKEY;
271#endif
272
273#include <propkeydef.h>
274#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
275/*****************************************************************************
276 * IInitializeWithFile interface
277 */
278#ifndef __IInitializeWithFile_INTERFACE_DEFINED__
279#define __IInitializeWithFile_INTERFACE_DEFINED__
280
281DEFINE_GUID(IID_IInitializeWithFile, 0xb7d14566, 0x0509, 0x4cce, 0xa7,0x1f, 0x0a,0x55,0x42,0x33,0xbd,0x9b);
282#if defined(__cplusplus) && !defined(CINTERFACE)
283MIDL_INTERFACE("b7d14566-0509-4cce-a71f-0a554233bd9b")
284IInitializeWithFile : public IUnknown
285{
286 virtual HRESULT STDMETHODCALLTYPE Initialize(
287 LPCWSTR pszFilePath,
288 DWORD grfMode) = 0;
289
290};
291#ifdef __CRT_UUID_DECL
292__CRT_UUID_DECL(IInitializeWithFile, 0xb7d14566, 0x0509, 0x4cce, 0xa7,0x1f, 0x0a,0x55,0x42,0x33,0xbd,0x9b)
293#endif
294#else
295typedef struct IInitializeWithFileVtbl {
296 BEGIN_INTERFACE
297
298 /*** IUnknown methods ***/
299 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
300 IInitializeWithFile *This,
301 REFIID riid,
302 void **ppvObject);
303
304 ULONG (STDMETHODCALLTYPE *AddRef)(
305 IInitializeWithFile *This);
306
307 ULONG (STDMETHODCALLTYPE *Release)(
308 IInitializeWithFile *This);
309
310 /*** IInitializeWithFile methods ***/
311 HRESULT (STDMETHODCALLTYPE *Initialize)(
312 IInitializeWithFile *This,
313 LPCWSTR pszFilePath,
314 DWORD grfMode);
315
316 END_INTERFACE
317} IInitializeWithFileVtbl;
318
319interface IInitializeWithFile {
320 CONST_VTBL IInitializeWithFileVtbl* lpVtbl;
321};
322
323#ifdef COBJMACROS
324#ifndef WIDL_C_INLINE_WRAPPERS
325/*** IUnknown methods ***/
326#define IInitializeWithFile_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
327#define IInitializeWithFile_AddRef(This) (This)->lpVtbl->AddRef(This)
328#define IInitializeWithFile_Release(This) (This)->lpVtbl->Release(This)
329/*** IInitializeWithFile methods ***/
330#define IInitializeWithFile_Initialize(This,pszFilePath,grfMode) (This)->lpVtbl->Initialize(This,pszFilePath,grfMode)
331#else
332/*** IUnknown methods ***/
333static FORCEINLINE HRESULT IInitializeWithFile_QueryInterface(IInitializeWithFile* This,REFIID riid,void **ppvObject) {
334 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
335}
336static FORCEINLINE ULONG IInitializeWithFile_AddRef(IInitializeWithFile* This) {
337 return This->lpVtbl->AddRef(This);
338}
339static FORCEINLINE ULONG IInitializeWithFile_Release(IInitializeWithFile* This) {
340 return This->lpVtbl->Release(This);
341}
342/*** IInitializeWithFile methods ***/
343static FORCEINLINE HRESULT IInitializeWithFile_Initialize(IInitializeWithFile* This,LPCWSTR pszFilePath,DWORD grfMode) {
344 return This->lpVtbl->Initialize(This,pszFilePath,grfMode);
345}
346#endif
347#endif
348
349#endif
350
351
352#endif /* __IInitializeWithFile_INTERFACE_DEFINED__ */
353
354
355/*****************************************************************************
356 * IInitializeWithStream interface
357 */
358#ifndef __IInitializeWithStream_INTERFACE_DEFINED__
359#define __IInitializeWithStream_INTERFACE_DEFINED__
360
361DEFINE_GUID(IID_IInitializeWithStream, 0xb824b49d, 0x22ac, 0x4161, 0xac,0x8a, 0x99,0x16,0xe8,0xfa,0x3f,0x7f);
362#if defined(__cplusplus) && !defined(CINTERFACE)
363MIDL_INTERFACE("b824b49d-22ac-4161-ac8a-9916e8fa3f7f")
364IInitializeWithStream : public IUnknown
365{
366 virtual HRESULT STDMETHODCALLTYPE Initialize(
367 IStream *pstream,
368 DWORD grfMode) = 0;
369
370};
371#ifdef __CRT_UUID_DECL
372__CRT_UUID_DECL(IInitializeWithStream, 0xb824b49d, 0x22ac, 0x4161, 0xac,0x8a, 0x99,0x16,0xe8,0xfa,0x3f,0x7f)
373#endif
374#else
375typedef struct IInitializeWithStreamVtbl {
376 BEGIN_INTERFACE
377
378 /*** IUnknown methods ***/
379 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
380 IInitializeWithStream *This,
381 REFIID riid,
382 void **ppvObject);
383
384 ULONG (STDMETHODCALLTYPE *AddRef)(
385 IInitializeWithStream *This);
386
387 ULONG (STDMETHODCALLTYPE *Release)(
388 IInitializeWithStream *This);
389
390 /*** IInitializeWithStream methods ***/
391 HRESULT (STDMETHODCALLTYPE *Initialize)(
392 IInitializeWithStream *This,
393 IStream *pstream,
394 DWORD grfMode);
395
396 END_INTERFACE
397} IInitializeWithStreamVtbl;
398
399interface IInitializeWithStream {
400 CONST_VTBL IInitializeWithStreamVtbl* lpVtbl;
401};
402
403#ifdef COBJMACROS
404#ifndef WIDL_C_INLINE_WRAPPERS
405/*** IUnknown methods ***/
406#define IInitializeWithStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
407#define IInitializeWithStream_AddRef(This) (This)->lpVtbl->AddRef(This)
408#define IInitializeWithStream_Release(This) (This)->lpVtbl->Release(This)
409/*** IInitializeWithStream methods ***/
410#define IInitializeWithStream_Initialize(This,pstream,grfMode) (This)->lpVtbl->Initialize(This,pstream,grfMode)
411#else
412/*** IUnknown methods ***/
413static FORCEINLINE HRESULT IInitializeWithStream_QueryInterface(IInitializeWithStream* This,REFIID riid,void **ppvObject) {
414 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
415}
416static FORCEINLINE ULONG IInitializeWithStream_AddRef(IInitializeWithStream* This) {
417 return This->lpVtbl->AddRef(This);
418}
419static FORCEINLINE ULONG IInitializeWithStream_Release(IInitializeWithStream* This) {
420 return This->lpVtbl->Release(This);
421}
422/*** IInitializeWithStream methods ***/
423static FORCEINLINE HRESULT IInitializeWithStream_Initialize(IInitializeWithStream* This,IStream *pstream,DWORD grfMode) {
424 return This->lpVtbl->Initialize(This,pstream,grfMode);
425}
426#endif
427#endif
428
429#endif
430
431HRESULT STDMETHODCALLTYPE IInitializeWithStream_RemoteInitialize_Proxy(
432 IInitializeWithStream* This,
433 IStream *pstream,
434 DWORD grfMode);
435void __RPC_STUB IInitializeWithStream_RemoteInitialize_Stub(
436 IRpcStubBuffer* This,
437 IRpcChannelBuffer* pRpcChannelBuffer,
438 PRPC_MESSAGE pRpcMessage,
439 DWORD* pdwStubPhase);
440HRESULT CALLBACK IInitializeWithStream_Initialize_Proxy(
441 IInitializeWithStream* This,
442 IStream *pstream,
443 DWORD grfMode);
444HRESULT __RPC_STUB IInitializeWithStream_Initialize_Stub(
445 IInitializeWithStream* This,
446 IStream *pstream,
447 DWORD grfMode);
448
449#endif /* __IInitializeWithStream_INTERFACE_DEFINED__ */
450
451#endif
452
453#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
454/*****************************************************************************
455 * IPropertyStore interface
456 */
457#ifndef __IPropertyStore_INTERFACE_DEFINED__
458#define __IPropertyStore_INTERFACE_DEFINED__
459
460DEFINE_GUID(IID_IPropertyStore, 0x886d8eeb, 0x8cf2, 0x4446, 0x8d,0x02, 0xcd,0xba,0x1d,0xbd,0xcf,0x99);
461#if defined(__cplusplus) && !defined(CINTERFACE)
462MIDL_INTERFACE("886d8eeb-8cf2-4446-8d02-cdba1dbdcf99")
463IPropertyStore : public IUnknown
464{
465 virtual HRESULT STDMETHODCALLTYPE GetCount(
466 DWORD *cProps) = 0;
467
468 virtual HRESULT STDMETHODCALLTYPE GetAt(
469 DWORD iProp,
470 PROPERTYKEY *pkey) = 0;
471
472 virtual HRESULT STDMETHODCALLTYPE GetValue(
473 REFPROPERTYKEY key,
474 PROPVARIANT *pv) = 0;
475
476 virtual HRESULT STDMETHODCALLTYPE SetValue(
477 REFPROPERTYKEY key,
478 REFPROPVARIANT propvar) = 0;
479
480 virtual HRESULT STDMETHODCALLTYPE Commit(
481 ) = 0;
482
483};
484#ifdef __CRT_UUID_DECL
485__CRT_UUID_DECL(IPropertyStore, 0x886d8eeb, 0x8cf2, 0x4446, 0x8d,0x02, 0xcd,0xba,0x1d,0xbd,0xcf,0x99)
486#endif
487#else
488typedef struct IPropertyStoreVtbl {
489 BEGIN_INTERFACE
490
491 /*** IUnknown methods ***/
492 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
493 IPropertyStore *This,
494 REFIID riid,
495 void **ppvObject);
496
497 ULONG (STDMETHODCALLTYPE *AddRef)(
498 IPropertyStore *This);
499
500 ULONG (STDMETHODCALLTYPE *Release)(
501 IPropertyStore *This);
502
503 /*** IPropertyStore methods ***/
504 HRESULT (STDMETHODCALLTYPE *GetCount)(
505 IPropertyStore *This,
506 DWORD *cProps);
507
508 HRESULT (STDMETHODCALLTYPE *GetAt)(
509 IPropertyStore *This,
510 DWORD iProp,
511 PROPERTYKEY *pkey);
512
513 HRESULT (STDMETHODCALLTYPE *GetValue)(
514 IPropertyStore *This,
515 REFPROPERTYKEY key,
516 PROPVARIANT *pv);
517
518 HRESULT (STDMETHODCALLTYPE *SetValue)(
519 IPropertyStore *This,
520 REFPROPERTYKEY key,
521 REFPROPVARIANT propvar);
522
523 HRESULT (STDMETHODCALLTYPE *Commit)(
524 IPropertyStore *This);
525
526 END_INTERFACE
527} IPropertyStoreVtbl;
528
529interface IPropertyStore {
530 CONST_VTBL IPropertyStoreVtbl* lpVtbl;
531};
532
533#ifdef COBJMACROS
534#ifndef WIDL_C_INLINE_WRAPPERS
535/*** IUnknown methods ***/
536#define IPropertyStore_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
537#define IPropertyStore_AddRef(This) (This)->lpVtbl->AddRef(This)
538#define IPropertyStore_Release(This) (This)->lpVtbl->Release(This)
539/*** IPropertyStore methods ***/
540#define IPropertyStore_GetCount(This,cProps) (This)->lpVtbl->GetCount(This,cProps)
541#define IPropertyStore_GetAt(This,iProp,pkey) (This)->lpVtbl->GetAt(This,iProp,pkey)
542#define IPropertyStore_GetValue(This,key,pv) (This)->lpVtbl->GetValue(This,key,pv)
543#define IPropertyStore_SetValue(This,key,propvar) (This)->lpVtbl->SetValue(This,key,propvar)
544#define IPropertyStore_Commit(This) (This)->lpVtbl->Commit(This)
545#else
546/*** IUnknown methods ***/
547static FORCEINLINE HRESULT IPropertyStore_QueryInterface(IPropertyStore* This,REFIID riid,void **ppvObject) {
548 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
549}
550static FORCEINLINE ULONG IPropertyStore_AddRef(IPropertyStore* This) {
551 return This->lpVtbl->AddRef(This);
552}
553static FORCEINLINE ULONG IPropertyStore_Release(IPropertyStore* This) {
554 return This->lpVtbl->Release(This);
555}
556/*** IPropertyStore methods ***/
557static FORCEINLINE HRESULT IPropertyStore_GetCount(IPropertyStore* This,DWORD *cProps) {
558 return This->lpVtbl->GetCount(This,cProps);
559}
560static FORCEINLINE HRESULT IPropertyStore_GetAt(IPropertyStore* This,DWORD iProp,PROPERTYKEY *pkey) {
561 return This->lpVtbl->GetAt(This,iProp,pkey);
562}
563static FORCEINLINE HRESULT IPropertyStore_GetValue(IPropertyStore* This,REFPROPERTYKEY key,PROPVARIANT *pv) {
564 return This->lpVtbl->GetValue(This,key,pv);
565}
566static FORCEINLINE HRESULT IPropertyStore_SetValue(IPropertyStore* This,REFPROPERTYKEY key,REFPROPVARIANT propvar) {
567 return This->lpVtbl->SetValue(This,key,propvar);
568}
569static FORCEINLINE HRESULT IPropertyStore_Commit(IPropertyStore* This) {
570 return This->lpVtbl->Commit(This);
571}
572#endif
573#endif
574
575#endif
576
577
578#endif /* __IPropertyStore_INTERFACE_DEFINED__ */
579
580
581typedef IPropertyStore *LPPROPERTYSTORE;
582#endif
583
584#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
585/*****************************************************************************
586 * INamedPropertyStore interface
587 */
588#ifndef __INamedPropertyStore_INTERFACE_DEFINED__
589#define __INamedPropertyStore_INTERFACE_DEFINED__
590
591DEFINE_GUID(IID_INamedPropertyStore, 0x71604b0f, 0x97b0, 0x4764, 0x85,0x77, 0x2f,0x13,0xe9,0x8a,0x14,0x22);
592#if defined(__cplusplus) && !defined(CINTERFACE)
593MIDL_INTERFACE("71604b0f-97b0-4764-8577-2f13e98a1422")
594INamedPropertyStore : public IUnknown
595{
596 virtual HRESULT STDMETHODCALLTYPE GetNamedValue(
597 LPCWSTR pszName,
598 PROPVARIANT *ppropvar) = 0;
599
600 virtual HRESULT STDMETHODCALLTYPE SetNamedValue(
601 LPCWSTR pszName,
602 REFPROPVARIANT propvar) = 0;
603
604 virtual HRESULT STDMETHODCALLTYPE GetNameCount(
605 DWORD *pdwCount) = 0;
606
607 virtual HRESULT STDMETHODCALLTYPE GetNameAt(
608 DWORD iProp,
609 BSTR *pbstrName) = 0;
610
611};
612#ifdef __CRT_UUID_DECL
613__CRT_UUID_DECL(INamedPropertyStore, 0x71604b0f, 0x97b0, 0x4764, 0x85,0x77, 0x2f,0x13,0xe9,0x8a,0x14,0x22)
614#endif
615#else
616typedef struct INamedPropertyStoreVtbl {
617 BEGIN_INTERFACE
618
619 /*** IUnknown methods ***/
620 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
621 INamedPropertyStore *This,
622 REFIID riid,
623 void **ppvObject);
624
625 ULONG (STDMETHODCALLTYPE *AddRef)(
626 INamedPropertyStore *This);
627
628 ULONG (STDMETHODCALLTYPE *Release)(
629 INamedPropertyStore *This);
630
631 /*** INamedPropertyStore methods ***/
632 HRESULT (STDMETHODCALLTYPE *GetNamedValue)(
633 INamedPropertyStore *This,
634 LPCWSTR pszName,
635 PROPVARIANT *ppropvar);
636
637 HRESULT (STDMETHODCALLTYPE *SetNamedValue)(
638 INamedPropertyStore *This,
639 LPCWSTR pszName,
640 REFPROPVARIANT propvar);
641
642 HRESULT (STDMETHODCALLTYPE *GetNameCount)(
643 INamedPropertyStore *This,
644 DWORD *pdwCount);
645
646 HRESULT (STDMETHODCALLTYPE *GetNameAt)(
647 INamedPropertyStore *This,
648 DWORD iProp,
649 BSTR *pbstrName);
650
651 END_INTERFACE
652} INamedPropertyStoreVtbl;
653
654interface INamedPropertyStore {
655 CONST_VTBL INamedPropertyStoreVtbl* lpVtbl;
656};
657
658#ifdef COBJMACROS
659#ifndef WIDL_C_INLINE_WRAPPERS
660/*** IUnknown methods ***/
661#define INamedPropertyStore_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
662#define INamedPropertyStore_AddRef(This) (This)->lpVtbl->AddRef(This)
663#define INamedPropertyStore_Release(This) (This)->lpVtbl->Release(This)
664/*** INamedPropertyStore methods ***/
665#define INamedPropertyStore_GetNamedValue(This,pszName,ppropvar) (This)->lpVtbl->GetNamedValue(This,pszName,ppropvar)
666#define INamedPropertyStore_SetNamedValue(This,pszName,propvar) (This)->lpVtbl->SetNamedValue(This,pszName,propvar)
667#define INamedPropertyStore_GetNameCount(This,pdwCount) (This)->lpVtbl->GetNameCount(This,pdwCount)
668#define INamedPropertyStore_GetNameAt(This,iProp,pbstrName) (This)->lpVtbl->GetNameAt(This,iProp,pbstrName)
669#else
670/*** IUnknown methods ***/
671static FORCEINLINE HRESULT INamedPropertyStore_QueryInterface(INamedPropertyStore* This,REFIID riid,void **ppvObject) {
672 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
673}
674static FORCEINLINE ULONG INamedPropertyStore_AddRef(INamedPropertyStore* This) {
675 return This->lpVtbl->AddRef(This);
676}
677static FORCEINLINE ULONG INamedPropertyStore_Release(INamedPropertyStore* This) {
678 return This->lpVtbl->Release(This);
679}
680/*** INamedPropertyStore methods ***/
681static FORCEINLINE HRESULT INamedPropertyStore_GetNamedValue(INamedPropertyStore* This,LPCWSTR pszName,PROPVARIANT *ppropvar) {
682 return This->lpVtbl->GetNamedValue(This,pszName,ppropvar);
683}
684static FORCEINLINE HRESULT INamedPropertyStore_SetNamedValue(INamedPropertyStore* This,LPCWSTR pszName,REFPROPVARIANT propvar) {
685 return This->lpVtbl->SetNamedValue(This,pszName,propvar);
686}
687static FORCEINLINE HRESULT INamedPropertyStore_GetNameCount(INamedPropertyStore* This,DWORD *pdwCount) {
688 return This->lpVtbl->GetNameCount(This,pdwCount);
689}
690static FORCEINLINE HRESULT INamedPropertyStore_GetNameAt(INamedPropertyStore* This,DWORD iProp,BSTR *pbstrName) {
691 return This->lpVtbl->GetNameAt(This,iProp,pbstrName);
692}
693#endif
694#endif
695
696#endif
697
698
699#endif /* __INamedPropertyStore_INTERFACE_DEFINED__ */
700
701
702typedef enum GETPROPERTYSTOREFLAGS {
703 GPS_DEFAULT = 0x0,
704 GPS_HANDLERPROPERTIESONLY = 0x1,
705 GPS_READWRITE = 0x2,
706 GPS_TEMPORARY = 0x4,
707 GPS_FASTPROPERTIESONLY = 0x8,
708 GPS_OPENSLOWITEM = 0x10,
709 GPS_DELAYCREATION = 0x20,
710 GPS_BESTEFFORT = 0x40,
711 GPS_NO_OPLOCK = 0x80,
712 GPS_PREFERQUERYPROPERTIES = 0x100,
713 GPS_MASK_VALID = 0x1ff
714} GETPROPERTYSTOREFLAGS;
715
716DEFINE_ENUM_FLAG_OPERATORS(GETPROPERTYSTOREFLAGS)
717
718/*****************************************************************************
719 * IObjectWithPropertyKey interface
720 */
721#ifndef __IObjectWithPropertyKey_INTERFACE_DEFINED__
722#define __IObjectWithPropertyKey_INTERFACE_DEFINED__
723
724DEFINE_GUID(IID_IObjectWithPropertyKey, 0xfc0ca0a7, 0xc316, 0x4fd2, 0x90,0x31, 0x3e,0x62,0x8e,0x6d,0x4f,0x23);
725#if defined(__cplusplus) && !defined(CINTERFACE)
726MIDL_INTERFACE("fc0ca0a7-c316-4fd2-9031-3e628e6d4f23")
727IObjectWithPropertyKey : public IUnknown
728{
729 virtual HRESULT STDMETHODCALLTYPE SetPropertyKey(
730 REFPROPERTYKEY key) = 0;
731
732 virtual HRESULT STDMETHODCALLTYPE GetPropertyKey(
733 PROPERTYKEY *pkey) = 0;
734
735};
736#ifdef __CRT_UUID_DECL
737__CRT_UUID_DECL(IObjectWithPropertyKey, 0xfc0ca0a7, 0xc316, 0x4fd2, 0x90,0x31, 0x3e,0x62,0x8e,0x6d,0x4f,0x23)
738#endif
739#else
740typedef struct IObjectWithPropertyKeyVtbl {
741 BEGIN_INTERFACE
742
743 /*** IUnknown methods ***/
744 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
745 IObjectWithPropertyKey *This,
746 REFIID riid,
747 void **ppvObject);
748
749 ULONG (STDMETHODCALLTYPE *AddRef)(
750 IObjectWithPropertyKey *This);
751
752 ULONG (STDMETHODCALLTYPE *Release)(
753 IObjectWithPropertyKey *This);
754
755 /*** IObjectWithPropertyKey methods ***/
756 HRESULT (STDMETHODCALLTYPE *SetPropertyKey)(
757 IObjectWithPropertyKey *This,
758 REFPROPERTYKEY key);
759
760 HRESULT (STDMETHODCALLTYPE *GetPropertyKey)(
761 IObjectWithPropertyKey *This,
762 PROPERTYKEY *pkey);
763
764 END_INTERFACE
765} IObjectWithPropertyKeyVtbl;
766
767interface IObjectWithPropertyKey {
768 CONST_VTBL IObjectWithPropertyKeyVtbl* lpVtbl;
769};
770
771#ifdef COBJMACROS
772#ifndef WIDL_C_INLINE_WRAPPERS
773/*** IUnknown methods ***/
774#define IObjectWithPropertyKey_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
775#define IObjectWithPropertyKey_AddRef(This) (This)->lpVtbl->AddRef(This)
776#define IObjectWithPropertyKey_Release(This) (This)->lpVtbl->Release(This)
777/*** IObjectWithPropertyKey methods ***/
778#define IObjectWithPropertyKey_SetPropertyKey(This,key) (This)->lpVtbl->SetPropertyKey(This,key)
779#define IObjectWithPropertyKey_GetPropertyKey(This,pkey) (This)->lpVtbl->GetPropertyKey(This,pkey)
780#else
781/*** IUnknown methods ***/
782static FORCEINLINE HRESULT IObjectWithPropertyKey_QueryInterface(IObjectWithPropertyKey* This,REFIID riid,void **ppvObject) {
783 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
784}
785static FORCEINLINE ULONG IObjectWithPropertyKey_AddRef(IObjectWithPropertyKey* This) {
786 return This->lpVtbl->AddRef(This);
787}
788static FORCEINLINE ULONG IObjectWithPropertyKey_Release(IObjectWithPropertyKey* This) {
789 return This->lpVtbl->Release(This);
790}
791/*** IObjectWithPropertyKey methods ***/
792static FORCEINLINE HRESULT IObjectWithPropertyKey_SetPropertyKey(IObjectWithPropertyKey* This,REFPROPERTYKEY key) {
793 return This->lpVtbl->SetPropertyKey(This,key);
794}
795static FORCEINLINE HRESULT IObjectWithPropertyKey_GetPropertyKey(IObjectWithPropertyKey* This,PROPERTYKEY *pkey) {
796 return This->lpVtbl->GetPropertyKey(This,pkey);
797}
798#endif
799#endif
800
801#endif
802
803
804#endif /* __IObjectWithPropertyKey_INTERFACE_DEFINED__ */
805
806
807typedef enum PKA_FLAGS {
808 PKA_SET = 0,
809 PKA_APPEND = 1,
810 PKA_DELETE = 2
811} PKA_FLAGS;
812
813/*****************************************************************************
814 * IPropertyChange interface
815 */
816#ifndef __IPropertyChange_INTERFACE_DEFINED__
817#define __IPropertyChange_INTERFACE_DEFINED__
818
819DEFINE_GUID(IID_IPropertyChange, 0xf917bc8a, 0x1bba, 0x4478, 0xa2,0x45, 0x1b,0xde,0x03,0xeb,0x94,0x31);
820#if defined(__cplusplus) && !defined(CINTERFACE)
821MIDL_INTERFACE("f917bc8a-1bba-4478-a245-1bde03eb9431")
822IPropertyChange : public IObjectWithPropertyKey
823{
824 virtual HRESULT STDMETHODCALLTYPE ApplyToPropVariant(
825 REFPROPVARIANT propvarIn,
826 PROPVARIANT *ppropvarOut) = 0;
827
828};
829#ifdef __CRT_UUID_DECL
830__CRT_UUID_DECL(IPropertyChange, 0xf917bc8a, 0x1bba, 0x4478, 0xa2,0x45, 0x1b,0xde,0x03,0xeb,0x94,0x31)
831#endif
832#else
833typedef struct IPropertyChangeVtbl {
834 BEGIN_INTERFACE
835
836 /*** IUnknown methods ***/
837 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
838 IPropertyChange *This,
839 REFIID riid,
840 void **ppvObject);
841
842 ULONG (STDMETHODCALLTYPE *AddRef)(
843 IPropertyChange *This);
844
845 ULONG (STDMETHODCALLTYPE *Release)(
846 IPropertyChange *This);
847
848 /*** IObjectWithPropertyKey methods ***/
849 HRESULT (STDMETHODCALLTYPE *SetPropertyKey)(
850 IPropertyChange *This,
851 REFPROPERTYKEY key);
852
853 HRESULT (STDMETHODCALLTYPE *GetPropertyKey)(
854 IPropertyChange *This,
855 PROPERTYKEY *pkey);
856
857 /*** IPropertyChange methods ***/
858 HRESULT (STDMETHODCALLTYPE *ApplyToPropVariant)(
859 IPropertyChange *This,
860 REFPROPVARIANT propvarIn,
861 PROPVARIANT *ppropvarOut);
862
863 END_INTERFACE
864} IPropertyChangeVtbl;
865
866interface IPropertyChange {
867 CONST_VTBL IPropertyChangeVtbl* lpVtbl;
868};
869
870#ifdef COBJMACROS
871#ifndef WIDL_C_INLINE_WRAPPERS
872/*** IUnknown methods ***/
873#define IPropertyChange_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
874#define IPropertyChange_AddRef(This) (This)->lpVtbl->AddRef(This)
875#define IPropertyChange_Release(This) (This)->lpVtbl->Release(This)
876/*** IObjectWithPropertyKey methods ***/
877#define IPropertyChange_SetPropertyKey(This,key) (This)->lpVtbl->SetPropertyKey(This,key)
878#define IPropertyChange_GetPropertyKey(This,pkey) (This)->lpVtbl->GetPropertyKey(This,pkey)
879/*** IPropertyChange methods ***/
880#define IPropertyChange_ApplyToPropVariant(This,propvarIn,ppropvarOut) (This)->lpVtbl->ApplyToPropVariant(This,propvarIn,ppropvarOut)
881#else
882/*** IUnknown methods ***/
883static FORCEINLINE HRESULT IPropertyChange_QueryInterface(IPropertyChange* This,REFIID riid,void **ppvObject) {
884 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
885}
886static FORCEINLINE ULONG IPropertyChange_AddRef(IPropertyChange* This) {
887 return This->lpVtbl->AddRef(This);
888}
889static FORCEINLINE ULONG IPropertyChange_Release(IPropertyChange* This) {
890 return This->lpVtbl->Release(This);
891}
892/*** IObjectWithPropertyKey methods ***/
893static FORCEINLINE HRESULT IPropertyChange_SetPropertyKey(IPropertyChange* This,REFPROPERTYKEY key) {
894 return This->lpVtbl->SetPropertyKey(This,key);
895}
896static FORCEINLINE HRESULT IPropertyChange_GetPropertyKey(IPropertyChange* This,PROPERTYKEY *pkey) {
897 return This->lpVtbl->GetPropertyKey(This,pkey);
898}
899/*** IPropertyChange methods ***/
900static FORCEINLINE HRESULT IPropertyChange_ApplyToPropVariant(IPropertyChange* This,REFPROPVARIANT propvarIn,PROPVARIANT *ppropvarOut) {
901 return This->lpVtbl->ApplyToPropVariant(This,propvarIn,ppropvarOut);
902}
903#endif
904#endif
905
906#endif
907
908
909#endif /* __IPropertyChange_INTERFACE_DEFINED__ */
910
911
912/*****************************************************************************
913 * IPropertyChangeArray interface
914 */
915#ifndef __IPropertyChangeArray_INTERFACE_DEFINED__
916#define __IPropertyChangeArray_INTERFACE_DEFINED__
917
918DEFINE_GUID(IID_IPropertyChangeArray, 0x380f5cad, 0x1b5e, 0x42f2, 0x80,0x5d, 0x63,0x7f,0xd3,0x92,0xd3,0x1e);
919#if defined(__cplusplus) && !defined(CINTERFACE)
920MIDL_INTERFACE("380f5cad-1b5e-42f2-805d-637fd392d31e")
921IPropertyChangeArray : public IUnknown
922{
923 virtual HRESULT STDMETHODCALLTYPE GetCount(
924 UINT *pcOperations) = 0;
925
926 virtual HRESULT STDMETHODCALLTYPE GetAt(
927 UINT iIndex,
928 REFIID riid,
929 void **ppv) = 0;
930
931 virtual HRESULT STDMETHODCALLTYPE InsertAt(
932 UINT iIndex,
933 IPropertyChange *ppropChange) = 0;
934
935 virtual HRESULT STDMETHODCALLTYPE Append(
936 IPropertyChange *ppropChange) = 0;
937
938 virtual HRESULT STDMETHODCALLTYPE AppendOrReplace(
939 IPropertyChange *ppropChange) = 0;
940
941 virtual HRESULT STDMETHODCALLTYPE RemoveAt(
942 UINT iIndex) = 0;
943
944 virtual HRESULT STDMETHODCALLTYPE IsKeyInArray(
945 REFPROPERTYKEY key) = 0;
946
947};
948#ifdef __CRT_UUID_DECL
949__CRT_UUID_DECL(IPropertyChangeArray, 0x380f5cad, 0x1b5e, 0x42f2, 0x80,0x5d, 0x63,0x7f,0xd3,0x92,0xd3,0x1e)
950#endif
951#else
952typedef struct IPropertyChangeArrayVtbl {
953 BEGIN_INTERFACE
954
955 /*** IUnknown methods ***/
956 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
957 IPropertyChangeArray *This,
958 REFIID riid,
959 void **ppvObject);
960
961 ULONG (STDMETHODCALLTYPE *AddRef)(
962 IPropertyChangeArray *This);
963
964 ULONG (STDMETHODCALLTYPE *Release)(
965 IPropertyChangeArray *This);
966
967 /*** IPropertyChangeArray methods ***/
968 HRESULT (STDMETHODCALLTYPE *GetCount)(
969 IPropertyChangeArray *This,
970 UINT *pcOperations);
971
972 HRESULT (STDMETHODCALLTYPE *GetAt)(
973 IPropertyChangeArray *This,
974 UINT iIndex,
975 REFIID riid,
976 void **ppv);
977
978 HRESULT (STDMETHODCALLTYPE *InsertAt)(
979 IPropertyChangeArray *This,
980 UINT iIndex,
981 IPropertyChange *ppropChange);
982
983 HRESULT (STDMETHODCALLTYPE *Append)(
984 IPropertyChangeArray *This,
985 IPropertyChange *ppropChange);
986
987 HRESULT (STDMETHODCALLTYPE *AppendOrReplace)(
988 IPropertyChangeArray *This,
989 IPropertyChange *ppropChange);
990
991 HRESULT (STDMETHODCALLTYPE *RemoveAt)(
992 IPropertyChangeArray *This,
993 UINT iIndex);
994
995 HRESULT (STDMETHODCALLTYPE *IsKeyInArray)(
996 IPropertyChangeArray *This,
997 REFPROPERTYKEY key);
998
999 END_INTERFACE
1000} IPropertyChangeArrayVtbl;
1001
1002interface IPropertyChangeArray {
1003 CONST_VTBL IPropertyChangeArrayVtbl* lpVtbl;
1004};
1005
1006#ifdef COBJMACROS
1007#ifndef WIDL_C_INLINE_WRAPPERS
1008/*** IUnknown methods ***/
1009#define IPropertyChangeArray_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1010#define IPropertyChangeArray_AddRef(This) (This)->lpVtbl->AddRef(This)
1011#define IPropertyChangeArray_Release(This) (This)->lpVtbl->Release(This)
1012/*** IPropertyChangeArray methods ***/
1013#define IPropertyChangeArray_GetCount(This,pcOperations) (This)->lpVtbl->GetCount(This,pcOperations)
1014#define IPropertyChangeArray_GetAt(This,iIndex,riid,ppv) (This)->lpVtbl->GetAt(This,iIndex,riid,ppv)
1015#define IPropertyChangeArray_InsertAt(This,iIndex,ppropChange) (This)->lpVtbl->InsertAt(This,iIndex,ppropChange)
1016#define IPropertyChangeArray_Append(This,ppropChange) (This)->lpVtbl->Append(This,ppropChange)
1017#define IPropertyChangeArray_AppendOrReplace(This,ppropChange) (This)->lpVtbl->AppendOrReplace(This,ppropChange)
1018#define IPropertyChangeArray_RemoveAt(This,iIndex) (This)->lpVtbl->RemoveAt(This,iIndex)
1019#define IPropertyChangeArray_IsKeyInArray(This,key) (This)->lpVtbl->IsKeyInArray(This,key)
1020#else
1021/*** IUnknown methods ***/
1022static FORCEINLINE HRESULT IPropertyChangeArray_QueryInterface(IPropertyChangeArray* This,REFIID riid,void **ppvObject) {
1023 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1024}
1025static FORCEINLINE ULONG IPropertyChangeArray_AddRef(IPropertyChangeArray* This) {
1026 return This->lpVtbl->AddRef(This);
1027}
1028static FORCEINLINE ULONG IPropertyChangeArray_Release(IPropertyChangeArray* This) {
1029 return This->lpVtbl->Release(This);
1030}
1031/*** IPropertyChangeArray methods ***/
1032static FORCEINLINE HRESULT IPropertyChangeArray_GetCount(IPropertyChangeArray* This,UINT *pcOperations) {
1033 return This->lpVtbl->GetCount(This,pcOperations);
1034}
1035static FORCEINLINE HRESULT IPropertyChangeArray_GetAt(IPropertyChangeArray* This,UINT iIndex,REFIID riid,void **ppv) {
1036 return This->lpVtbl->GetAt(This,iIndex,riid,ppv);
1037}
1038static FORCEINLINE HRESULT IPropertyChangeArray_InsertAt(IPropertyChangeArray* This,UINT iIndex,IPropertyChange *ppropChange) {
1039 return This->lpVtbl->InsertAt(This,iIndex,ppropChange);
1040}
1041static FORCEINLINE HRESULT IPropertyChangeArray_Append(IPropertyChangeArray* This,IPropertyChange *ppropChange) {
1042 return This->lpVtbl->Append(This,ppropChange);
1043}
1044static FORCEINLINE HRESULT IPropertyChangeArray_AppendOrReplace(IPropertyChangeArray* This,IPropertyChange *ppropChange) {
1045 return This->lpVtbl->AppendOrReplace(This,ppropChange);
1046}
1047static FORCEINLINE HRESULT IPropertyChangeArray_RemoveAt(IPropertyChangeArray* This,UINT iIndex) {
1048 return This->lpVtbl->RemoveAt(This,iIndex);
1049}
1050static FORCEINLINE HRESULT IPropertyChangeArray_IsKeyInArray(IPropertyChangeArray* This,REFPROPERTYKEY key) {
1051 return This->lpVtbl->IsKeyInArray(This,key);
1052}
1053#endif
1054#endif
1055
1056#endif
1057
1058
1059#endif /* __IPropertyChangeArray_INTERFACE_DEFINED__ */
1060
1061
1062/*****************************************************************************
1063 * IPropertyStoreCapabilities interface
1064 */
1065#ifndef __IPropertyStoreCapabilities_INTERFACE_DEFINED__
1066#define __IPropertyStoreCapabilities_INTERFACE_DEFINED__
1067
1068DEFINE_GUID(IID_IPropertyStoreCapabilities, 0xc8e2d566, 0x186e, 0x4d49, 0xbf,0x41, 0x69,0x09,0xea,0xd5,0x6a,0xcc);
1069#if defined(__cplusplus) && !defined(CINTERFACE)
1070MIDL_INTERFACE("c8e2d566-186e-4d49-bf41-6909ead56acc")
1071IPropertyStoreCapabilities : public IUnknown
1072{
1073 virtual HRESULT STDMETHODCALLTYPE IsPropertyWritable(
1074 REFPROPERTYKEY key) = 0;
1075
1076};
1077#ifdef __CRT_UUID_DECL
1078__CRT_UUID_DECL(IPropertyStoreCapabilities, 0xc8e2d566, 0x186e, 0x4d49, 0xbf,0x41, 0x69,0x09,0xea,0xd5,0x6a,0xcc)
1079#endif
1080#else
1081typedef struct IPropertyStoreCapabilitiesVtbl {
1082 BEGIN_INTERFACE
1083
1084 /*** IUnknown methods ***/
1085 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1086 IPropertyStoreCapabilities *This,
1087 REFIID riid,
1088 void **ppvObject);
1089
1090 ULONG (STDMETHODCALLTYPE *AddRef)(
1091 IPropertyStoreCapabilities *This);
1092
1093 ULONG (STDMETHODCALLTYPE *Release)(
1094 IPropertyStoreCapabilities *This);
1095
1096 /*** IPropertyStoreCapabilities methods ***/
1097 HRESULT (STDMETHODCALLTYPE *IsPropertyWritable)(
1098 IPropertyStoreCapabilities *This,
1099 REFPROPERTYKEY key);
1100
1101 END_INTERFACE
1102} IPropertyStoreCapabilitiesVtbl;
1103
1104interface IPropertyStoreCapabilities {
1105 CONST_VTBL IPropertyStoreCapabilitiesVtbl* lpVtbl;
1106};
1107
1108#ifdef COBJMACROS
1109#ifndef WIDL_C_INLINE_WRAPPERS
1110/*** IUnknown methods ***/
1111#define IPropertyStoreCapabilities_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1112#define IPropertyStoreCapabilities_AddRef(This) (This)->lpVtbl->AddRef(This)
1113#define IPropertyStoreCapabilities_Release(This) (This)->lpVtbl->Release(This)
1114/*** IPropertyStoreCapabilities methods ***/
1115#define IPropertyStoreCapabilities_IsPropertyWritable(This,key) (This)->lpVtbl->IsPropertyWritable(This,key)
1116#else
1117/*** IUnknown methods ***/
1118static FORCEINLINE HRESULT IPropertyStoreCapabilities_QueryInterface(IPropertyStoreCapabilities* This,REFIID riid,void **ppvObject) {
1119 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1120}
1121static FORCEINLINE ULONG IPropertyStoreCapabilities_AddRef(IPropertyStoreCapabilities* This) {
1122 return This->lpVtbl->AddRef(This);
1123}
1124static FORCEINLINE ULONG IPropertyStoreCapabilities_Release(IPropertyStoreCapabilities* This) {
1125 return This->lpVtbl->Release(This);
1126}
1127/*** IPropertyStoreCapabilities methods ***/
1128static FORCEINLINE HRESULT IPropertyStoreCapabilities_IsPropertyWritable(IPropertyStoreCapabilities* This,REFPROPERTYKEY key) {
1129 return This->lpVtbl->IsPropertyWritable(This,key);
1130}
1131#endif
1132#endif
1133
1134#endif
1135
1136
1137#endif /* __IPropertyStoreCapabilities_INTERFACE_DEFINED__ */
1138
1139
1140/*****************************************************************************
1141 * IPropertyStoreCache interface
1142 */
1143#ifndef __IPropertyStoreCache_INTERFACE_DEFINED__
1144#define __IPropertyStoreCache_INTERFACE_DEFINED__
1145
1146typedef enum PSC_STATE {
1147 PSC_NORMAL = 0,
1148 PSC_NOTINSOURCE = 1,
1149 PSC_DIRTY = 2,
1150 PSC_READONLY = 3
1151} PSC_STATE;
1152
1153DEFINE_GUID(IID_IPropertyStoreCache, 0x3017056d, 0x9a91, 0x4e90, 0x93,0x7d, 0x74,0x6c,0x72,0xab,0xbf,0x4f);
1154#if defined(__cplusplus) && !defined(CINTERFACE)
1155MIDL_INTERFACE("3017056d-9a91-4e90-937d-746c72abbf4f")
1156IPropertyStoreCache : public IPropertyStore
1157{
1158 virtual HRESULT STDMETHODCALLTYPE GetState(
1159 REFPROPERTYKEY key,
1160 PSC_STATE *pstate) = 0;
1161
1162 virtual HRESULT STDMETHODCALLTYPE GetValueAndState(
1163 REFPROPERTYKEY key,
1164 PROPVARIANT *ppropvar,
1165 PSC_STATE *pstate) = 0;
1166
1167 virtual HRESULT STDMETHODCALLTYPE SetState(
1168 REFPROPERTYKEY key,
1169 PSC_STATE state) = 0;
1170
1171 virtual HRESULT STDMETHODCALLTYPE SetValueAndState(
1172 REFPROPERTYKEY key,
1173 const PROPVARIANT *ppropvar,
1174 PSC_STATE state) = 0;
1175
1176};
1177#ifdef __CRT_UUID_DECL
1178__CRT_UUID_DECL(IPropertyStoreCache, 0x3017056d, 0x9a91, 0x4e90, 0x93,0x7d, 0x74,0x6c,0x72,0xab,0xbf,0x4f)
1179#endif
1180#else
1181typedef struct IPropertyStoreCacheVtbl {
1182 BEGIN_INTERFACE
1183
1184 /*** IUnknown methods ***/
1185 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1186 IPropertyStoreCache *This,
1187 REFIID riid,
1188 void **ppvObject);
1189
1190 ULONG (STDMETHODCALLTYPE *AddRef)(
1191 IPropertyStoreCache *This);
1192
1193 ULONG (STDMETHODCALLTYPE *Release)(
1194 IPropertyStoreCache *This);
1195
1196 /*** IPropertyStore methods ***/
1197 HRESULT (STDMETHODCALLTYPE *GetCount)(
1198 IPropertyStoreCache *This,
1199 DWORD *cProps);
1200
1201 HRESULT (STDMETHODCALLTYPE *GetAt)(
1202 IPropertyStoreCache *This,
1203 DWORD iProp,
1204 PROPERTYKEY *pkey);
1205
1206 HRESULT (STDMETHODCALLTYPE *GetValue)(
1207 IPropertyStoreCache *This,
1208 REFPROPERTYKEY key,
1209 PROPVARIANT *pv);
1210
1211 HRESULT (STDMETHODCALLTYPE *SetValue)(
1212 IPropertyStoreCache *This,
1213 REFPROPERTYKEY key,
1214 REFPROPVARIANT propvar);
1215
1216 HRESULT (STDMETHODCALLTYPE *Commit)(
1217 IPropertyStoreCache *This);
1218
1219 /*** IPropertyStoreCache methods ***/
1220 HRESULT (STDMETHODCALLTYPE *GetState)(
1221 IPropertyStoreCache *This,
1222 REFPROPERTYKEY key,
1223 PSC_STATE *pstate);
1224
1225 HRESULT (STDMETHODCALLTYPE *GetValueAndState)(
1226 IPropertyStoreCache *This,
1227 REFPROPERTYKEY key,
1228 PROPVARIANT *ppropvar,
1229 PSC_STATE *pstate);
1230
1231 HRESULT (STDMETHODCALLTYPE *SetState)(
1232 IPropertyStoreCache *This,
1233 REFPROPERTYKEY key,
1234 PSC_STATE state);
1235
1236 HRESULT (STDMETHODCALLTYPE *SetValueAndState)(
1237 IPropertyStoreCache *This,
1238 REFPROPERTYKEY key,
1239 const PROPVARIANT *ppropvar,
1240 PSC_STATE state);
1241
1242 END_INTERFACE
1243} IPropertyStoreCacheVtbl;
1244
1245interface IPropertyStoreCache {
1246 CONST_VTBL IPropertyStoreCacheVtbl* lpVtbl;
1247};
1248
1249#ifdef COBJMACROS
1250#ifndef WIDL_C_INLINE_WRAPPERS
1251/*** IUnknown methods ***/
1252#define IPropertyStoreCache_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1253#define IPropertyStoreCache_AddRef(This) (This)->lpVtbl->AddRef(This)
1254#define IPropertyStoreCache_Release(This) (This)->lpVtbl->Release(This)
1255/*** IPropertyStore methods ***/
1256#define IPropertyStoreCache_GetCount(This,cProps) (This)->lpVtbl->GetCount(This,cProps)
1257#define IPropertyStoreCache_GetAt(This,iProp,pkey) (This)->lpVtbl->GetAt(This,iProp,pkey)
1258#define IPropertyStoreCache_GetValue(This,key,pv) (This)->lpVtbl->GetValue(This,key,pv)
1259#define IPropertyStoreCache_SetValue(This,key,propvar) (This)->lpVtbl->SetValue(This,key,propvar)
1260#define IPropertyStoreCache_Commit(This) (This)->lpVtbl->Commit(This)
1261/*** IPropertyStoreCache methods ***/
1262#define IPropertyStoreCache_GetState(This,key,pstate) (This)->lpVtbl->GetState(This,key,pstate)
1263#define IPropertyStoreCache_GetValueAndState(This,key,ppropvar,pstate) (This)->lpVtbl->GetValueAndState(This,key,ppropvar,pstate)
1264#define IPropertyStoreCache_SetState(This,key,state) (This)->lpVtbl->SetState(This,key,state)
1265#define IPropertyStoreCache_SetValueAndState(This,key,ppropvar,state) (This)->lpVtbl->SetValueAndState(This,key,ppropvar,state)
1266#else
1267/*** IUnknown methods ***/
1268static FORCEINLINE HRESULT IPropertyStoreCache_QueryInterface(IPropertyStoreCache* This,REFIID riid,void **ppvObject) {
1269 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1270}
1271static FORCEINLINE ULONG IPropertyStoreCache_AddRef(IPropertyStoreCache* This) {
1272 return This->lpVtbl->AddRef(This);
1273}
1274static FORCEINLINE ULONG IPropertyStoreCache_Release(IPropertyStoreCache* This) {
1275 return This->lpVtbl->Release(This);
1276}
1277/*** IPropertyStore methods ***/
1278static FORCEINLINE HRESULT IPropertyStoreCache_GetCount(IPropertyStoreCache* This,DWORD *cProps) {
1279 return This->lpVtbl->GetCount(This,cProps);
1280}
1281static FORCEINLINE HRESULT IPropertyStoreCache_GetAt(IPropertyStoreCache* This,DWORD iProp,PROPERTYKEY *pkey) {
1282 return This->lpVtbl->GetAt(This,iProp,pkey);
1283}
1284static FORCEINLINE HRESULT IPropertyStoreCache_GetValue(IPropertyStoreCache* This,REFPROPERTYKEY key,PROPVARIANT *pv) {
1285 return This->lpVtbl->GetValue(This,key,pv);
1286}
1287static FORCEINLINE HRESULT IPropertyStoreCache_SetValue(IPropertyStoreCache* This,REFPROPERTYKEY key,REFPROPVARIANT propvar) {
1288 return This->lpVtbl->SetValue(This,key,propvar);
1289}
1290static FORCEINLINE HRESULT IPropertyStoreCache_Commit(IPropertyStoreCache* This) {
1291 return This->lpVtbl->Commit(This);
1292}
1293/*** IPropertyStoreCache methods ***/
1294static FORCEINLINE HRESULT IPropertyStoreCache_GetState(IPropertyStoreCache* This,REFPROPERTYKEY key,PSC_STATE *pstate) {
1295 return This->lpVtbl->GetState(This,key,pstate);
1296}
1297static FORCEINLINE HRESULT IPropertyStoreCache_GetValueAndState(IPropertyStoreCache* This,REFPROPERTYKEY key,PROPVARIANT *ppropvar,PSC_STATE *pstate) {
1298 return This->lpVtbl->GetValueAndState(This,key,ppropvar,pstate);
1299}
1300static FORCEINLINE HRESULT IPropertyStoreCache_SetState(IPropertyStoreCache* This,REFPROPERTYKEY key,PSC_STATE state) {
1301 return This->lpVtbl->SetState(This,key,state);
1302}
1303static FORCEINLINE HRESULT IPropertyStoreCache_SetValueAndState(IPropertyStoreCache* This,REFPROPERTYKEY key,const PROPVARIANT *ppropvar,PSC_STATE state) {
1304 return This->lpVtbl->SetValueAndState(This,key,ppropvar,state);
1305}
1306#endif
1307#endif
1308
1309#endif
1310
1311
1312#endif /* __IPropertyStoreCache_INTERFACE_DEFINED__ */
1313
1314
1315/*****************************************************************************
1316 * IPropertyEnumType interface
1317 */
1318#ifndef __IPropertyEnumType_INTERFACE_DEFINED__
1319#define __IPropertyEnumType_INTERFACE_DEFINED__
1320
1321typedef enum PROPENUMTYPE {
1322 PET_DISCRETEVALUE = 0,
1323 PET_RANGEDVALUE = 1,
1324 PET_DEFAULTVALUE = 2,
1325 PET_ENDRANGE = 3
1326} PROPENUMTYPE;
1327
1328DEFINE_GUID(IID_IPropertyEnumType, 0x11e1fbf9, 0x2d56, 0x4a6b, 0x8d,0xb3, 0x7c,0xd1,0x93,0xa4,0x71,0xf2);
1329#if defined(__cplusplus) && !defined(CINTERFACE)
1330MIDL_INTERFACE("11e1fbf9-2d56-4a6b-8db3-7cd193a471f2")
1331IPropertyEnumType : public IUnknown
1332{
1333 virtual HRESULT STDMETHODCALLTYPE GetEnumType(
1334 PROPENUMTYPE *penumtype) = 0;
1335
1336 virtual HRESULT STDMETHODCALLTYPE GetValue(
1337 PROPVARIANT *ppropvar) = 0;
1338
1339 virtual HRESULT STDMETHODCALLTYPE GetRangeMinValue(
1340 PROPVARIANT *ppropvarMin) = 0;
1341
1342 virtual HRESULT STDMETHODCALLTYPE GetRangeSetValue(
1343 PROPVARIANT *ppropvarSet) = 0;
1344
1345 virtual HRESULT STDMETHODCALLTYPE GetDisplayText(
1346 LPWSTR *ppszDisplay) = 0;
1347
1348};
1349#ifdef __CRT_UUID_DECL
1350__CRT_UUID_DECL(IPropertyEnumType, 0x11e1fbf9, 0x2d56, 0x4a6b, 0x8d,0xb3, 0x7c,0xd1,0x93,0xa4,0x71,0xf2)
1351#endif
1352#else
1353typedef struct IPropertyEnumTypeVtbl {
1354 BEGIN_INTERFACE
1355
1356 /*** IUnknown methods ***/
1357 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1358 IPropertyEnumType *This,
1359 REFIID riid,
1360 void **ppvObject);
1361
1362 ULONG (STDMETHODCALLTYPE *AddRef)(
1363 IPropertyEnumType *This);
1364
1365 ULONG (STDMETHODCALLTYPE *Release)(
1366 IPropertyEnumType *This);
1367
1368 /*** IPropertyEnumType methods ***/
1369 HRESULT (STDMETHODCALLTYPE *GetEnumType)(
1370 IPropertyEnumType *This,
1371 PROPENUMTYPE *penumtype);
1372
1373 HRESULT (STDMETHODCALLTYPE *GetValue)(
1374 IPropertyEnumType *This,
1375 PROPVARIANT *ppropvar);
1376
1377 HRESULT (STDMETHODCALLTYPE *GetRangeMinValue)(
1378 IPropertyEnumType *This,
1379 PROPVARIANT *ppropvarMin);
1380
1381 HRESULT (STDMETHODCALLTYPE *GetRangeSetValue)(
1382 IPropertyEnumType *This,
1383 PROPVARIANT *ppropvarSet);
1384
1385 HRESULT (STDMETHODCALLTYPE *GetDisplayText)(
1386 IPropertyEnumType *This,
1387 LPWSTR *ppszDisplay);
1388
1389 END_INTERFACE
1390} IPropertyEnumTypeVtbl;
1391
1392interface IPropertyEnumType {
1393 CONST_VTBL IPropertyEnumTypeVtbl* lpVtbl;
1394};
1395
1396#ifdef COBJMACROS
1397#ifndef WIDL_C_INLINE_WRAPPERS
1398/*** IUnknown methods ***/
1399#define IPropertyEnumType_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1400#define IPropertyEnumType_AddRef(This) (This)->lpVtbl->AddRef(This)
1401#define IPropertyEnumType_Release(This) (This)->lpVtbl->Release(This)
1402/*** IPropertyEnumType methods ***/
1403#define IPropertyEnumType_GetEnumType(This,penumtype) (This)->lpVtbl->GetEnumType(This,penumtype)
1404#define IPropertyEnumType_GetValue(This,ppropvar) (This)->lpVtbl->GetValue(This,ppropvar)
1405#define IPropertyEnumType_GetRangeMinValue(This,ppropvarMin) (This)->lpVtbl->GetRangeMinValue(This,ppropvarMin)
1406#define IPropertyEnumType_GetRangeSetValue(This,ppropvarSet) (This)->lpVtbl->GetRangeSetValue(This,ppropvarSet)
1407#define IPropertyEnumType_GetDisplayText(This,ppszDisplay) (This)->lpVtbl->GetDisplayText(This,ppszDisplay)
1408#else
1409/*** IUnknown methods ***/
1410static FORCEINLINE HRESULT IPropertyEnumType_QueryInterface(IPropertyEnumType* This,REFIID riid,void **ppvObject) {
1411 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1412}
1413static FORCEINLINE ULONG IPropertyEnumType_AddRef(IPropertyEnumType* This) {
1414 return This->lpVtbl->AddRef(This);
1415}
1416static FORCEINLINE ULONG IPropertyEnumType_Release(IPropertyEnumType* This) {
1417 return This->lpVtbl->Release(This);
1418}
1419/*** IPropertyEnumType methods ***/
1420static FORCEINLINE HRESULT IPropertyEnumType_GetEnumType(IPropertyEnumType* This,PROPENUMTYPE *penumtype) {
1421 return This->lpVtbl->GetEnumType(This,penumtype);
1422}
1423static FORCEINLINE HRESULT IPropertyEnumType_GetValue(IPropertyEnumType* This,PROPVARIANT *ppropvar) {
1424 return This->lpVtbl->GetValue(This,ppropvar);
1425}
1426static FORCEINLINE HRESULT IPropertyEnumType_GetRangeMinValue(IPropertyEnumType* This,PROPVARIANT *ppropvarMin) {
1427 return This->lpVtbl->GetRangeMinValue(This,ppropvarMin);
1428}
1429static FORCEINLINE HRESULT IPropertyEnumType_GetRangeSetValue(IPropertyEnumType* This,PROPVARIANT *ppropvarSet) {
1430 return This->lpVtbl->GetRangeSetValue(This,ppropvarSet);
1431}
1432static FORCEINLINE HRESULT IPropertyEnumType_GetDisplayText(IPropertyEnumType* This,LPWSTR *ppszDisplay) {
1433 return This->lpVtbl->GetDisplayText(This,ppszDisplay);
1434}
1435#endif
1436#endif
1437
1438#endif
1439
1440
1441#endif /* __IPropertyEnumType_INTERFACE_DEFINED__ */
1442
1443
1444/*****************************************************************************
1445 * IPropertyEnumType2 interface
1446 */
1447#ifndef __IPropertyEnumType2_INTERFACE_DEFINED__
1448#define __IPropertyEnumType2_INTERFACE_DEFINED__
1449
1450DEFINE_GUID(IID_IPropertyEnumType2, 0x9b6e051c, 0x5ddd, 0x4321, 0x90,0x70, 0xfe,0x2a,0xcb,0x55,0xe7,0x94);
1451#if defined(__cplusplus) && !defined(CINTERFACE)
1452MIDL_INTERFACE("9b6e051c-5ddd-4321-9070-fe2acb55e794")
1453IPropertyEnumType2 : public IPropertyEnumType
1454{
1455 virtual HRESULT STDMETHODCALLTYPE GetImageReference(
1456 LPWSTR *ppszImageRes) = 0;
1457
1458};
1459#ifdef __CRT_UUID_DECL
1460__CRT_UUID_DECL(IPropertyEnumType2, 0x9b6e051c, 0x5ddd, 0x4321, 0x90,0x70, 0xfe,0x2a,0xcb,0x55,0xe7,0x94)
1461#endif
1462#else
1463typedef struct IPropertyEnumType2Vtbl {
1464 BEGIN_INTERFACE
1465
1466 /*** IUnknown methods ***/
1467 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1468 IPropertyEnumType2 *This,
1469 REFIID riid,
1470 void **ppvObject);
1471
1472 ULONG (STDMETHODCALLTYPE *AddRef)(
1473 IPropertyEnumType2 *This);
1474
1475 ULONG (STDMETHODCALLTYPE *Release)(
1476 IPropertyEnumType2 *This);
1477
1478 /*** IPropertyEnumType methods ***/
1479 HRESULT (STDMETHODCALLTYPE *GetEnumType)(
1480 IPropertyEnumType2 *This,
1481 PROPENUMTYPE *penumtype);
1482
1483 HRESULT (STDMETHODCALLTYPE *GetValue)(
1484 IPropertyEnumType2 *This,
1485 PROPVARIANT *ppropvar);
1486
1487 HRESULT (STDMETHODCALLTYPE *GetRangeMinValue)(
1488 IPropertyEnumType2 *This,
1489 PROPVARIANT *ppropvarMin);
1490
1491 HRESULT (STDMETHODCALLTYPE *GetRangeSetValue)(
1492 IPropertyEnumType2 *This,
1493 PROPVARIANT *ppropvarSet);
1494
1495 HRESULT (STDMETHODCALLTYPE *GetDisplayText)(
1496 IPropertyEnumType2 *This,
1497 LPWSTR *ppszDisplay);
1498
1499 /*** IPropertyEnumType2 methods ***/
1500 HRESULT (STDMETHODCALLTYPE *GetImageReference)(
1501 IPropertyEnumType2 *This,
1502 LPWSTR *ppszImageRes);
1503
1504 END_INTERFACE
1505} IPropertyEnumType2Vtbl;
1506
1507interface IPropertyEnumType2 {
1508 CONST_VTBL IPropertyEnumType2Vtbl* lpVtbl;
1509};
1510
1511#ifdef COBJMACROS
1512#ifndef WIDL_C_INLINE_WRAPPERS
1513/*** IUnknown methods ***/
1514#define IPropertyEnumType2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1515#define IPropertyEnumType2_AddRef(This) (This)->lpVtbl->AddRef(This)
1516#define IPropertyEnumType2_Release(This) (This)->lpVtbl->Release(This)
1517/*** IPropertyEnumType methods ***/
1518#define IPropertyEnumType2_GetEnumType(This,penumtype) (This)->lpVtbl->GetEnumType(This,penumtype)
1519#define IPropertyEnumType2_GetValue(This,ppropvar) (This)->lpVtbl->GetValue(This,ppropvar)
1520#define IPropertyEnumType2_GetRangeMinValue(This,ppropvarMin) (This)->lpVtbl->GetRangeMinValue(This,ppropvarMin)
1521#define IPropertyEnumType2_GetRangeSetValue(This,ppropvarSet) (This)->lpVtbl->GetRangeSetValue(This,ppropvarSet)
1522#define IPropertyEnumType2_GetDisplayText(This,ppszDisplay) (This)->lpVtbl->GetDisplayText(This,ppszDisplay)
1523/*** IPropertyEnumType2 methods ***/
1524#define IPropertyEnumType2_GetImageReference(This,ppszImageRes) (This)->lpVtbl->GetImageReference(This,ppszImageRes)
1525#else
1526/*** IUnknown methods ***/
1527static FORCEINLINE HRESULT IPropertyEnumType2_QueryInterface(IPropertyEnumType2* This,REFIID riid,void **ppvObject) {
1528 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1529}
1530static FORCEINLINE ULONG IPropertyEnumType2_AddRef(IPropertyEnumType2* This) {
1531 return This->lpVtbl->AddRef(This);
1532}
1533static FORCEINLINE ULONG IPropertyEnumType2_Release(IPropertyEnumType2* This) {
1534 return This->lpVtbl->Release(This);
1535}
1536/*** IPropertyEnumType methods ***/
1537static FORCEINLINE HRESULT IPropertyEnumType2_GetEnumType(IPropertyEnumType2* This,PROPENUMTYPE *penumtype) {
1538 return This->lpVtbl->GetEnumType(This,penumtype);
1539}
1540static FORCEINLINE HRESULT IPropertyEnumType2_GetValue(IPropertyEnumType2* This,PROPVARIANT *ppropvar) {
1541 return This->lpVtbl->GetValue(This,ppropvar);
1542}
1543static FORCEINLINE HRESULT IPropertyEnumType2_GetRangeMinValue(IPropertyEnumType2* This,PROPVARIANT *ppropvarMin) {
1544 return This->lpVtbl->GetRangeMinValue(This,ppropvarMin);
1545}
1546static FORCEINLINE HRESULT IPropertyEnumType2_GetRangeSetValue(IPropertyEnumType2* This,PROPVARIANT *ppropvarSet) {
1547 return This->lpVtbl->GetRangeSetValue(This,ppropvarSet);
1548}
1549static FORCEINLINE HRESULT IPropertyEnumType2_GetDisplayText(IPropertyEnumType2* This,LPWSTR *ppszDisplay) {
1550 return This->lpVtbl->GetDisplayText(This,ppszDisplay);
1551}
1552/*** IPropertyEnumType2 methods ***/
1553static FORCEINLINE HRESULT IPropertyEnumType2_GetImageReference(IPropertyEnumType2* This,LPWSTR *ppszImageRes) {
1554 return This->lpVtbl->GetImageReference(This,ppszImageRes);
1555}
1556#endif
1557#endif
1558
1559#endif
1560
1561
1562#endif /* __IPropertyEnumType2_INTERFACE_DEFINED__ */
1563
1564
1565/*****************************************************************************
1566 * IPropertyEnumTypeList interface
1567 */
1568#ifndef __IPropertyEnumTypeList_INTERFACE_DEFINED__
1569#define __IPropertyEnumTypeList_INTERFACE_DEFINED__
1570
1571DEFINE_GUID(IID_IPropertyEnumTypeList, 0xa99400f4, 0x3d84, 0x4557, 0x94,0xba, 0x12,0x42,0xfb,0x2c,0xc9,0xa6);
1572#if defined(__cplusplus) && !defined(CINTERFACE)
1573MIDL_INTERFACE("a99400f4-3d84-4557-94ba-1242fb2cc9a6")
1574IPropertyEnumTypeList : public IUnknown
1575{
1576 virtual HRESULT STDMETHODCALLTYPE GetCount(
1577 UINT *pctypes) = 0;
1578
1579 virtual HRESULT STDMETHODCALLTYPE GetAt(
1580 UINT itype,
1581 REFIID riid,
1582 void **ppv) = 0;
1583
1584 virtual HRESULT STDMETHODCALLTYPE GetConditionAt(
1585 UINT nIndex,
1586 REFIID riid,
1587 void **ppv) = 0;
1588
1589 virtual HRESULT STDMETHODCALLTYPE FindMatchingIndex(
1590 REFPROPVARIANT propvarCmp,
1591 UINT *pnIndex) = 0;
1592
1593};
1594#ifdef __CRT_UUID_DECL
1595__CRT_UUID_DECL(IPropertyEnumTypeList, 0xa99400f4, 0x3d84, 0x4557, 0x94,0xba, 0x12,0x42,0xfb,0x2c,0xc9,0xa6)
1596#endif
1597#else
1598typedef struct IPropertyEnumTypeListVtbl {
1599 BEGIN_INTERFACE
1600
1601 /*** IUnknown methods ***/
1602 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1603 IPropertyEnumTypeList *This,
1604 REFIID riid,
1605 void **ppvObject);
1606
1607 ULONG (STDMETHODCALLTYPE *AddRef)(
1608 IPropertyEnumTypeList *This);
1609
1610 ULONG (STDMETHODCALLTYPE *Release)(
1611 IPropertyEnumTypeList *This);
1612
1613 /*** IPropertyEnumTypeList methods ***/
1614 HRESULT (STDMETHODCALLTYPE *GetCount)(
1615 IPropertyEnumTypeList *This,
1616 UINT *pctypes);
1617
1618 HRESULT (STDMETHODCALLTYPE *GetAt)(
1619 IPropertyEnumTypeList *This,
1620 UINT itype,
1621 REFIID riid,
1622 void **ppv);
1623
1624 HRESULT (STDMETHODCALLTYPE *GetConditionAt)(
1625 IPropertyEnumTypeList *This,
1626 UINT nIndex,
1627 REFIID riid,
1628 void **ppv);
1629
1630 HRESULT (STDMETHODCALLTYPE *FindMatchingIndex)(
1631 IPropertyEnumTypeList *This,
1632 REFPROPVARIANT propvarCmp,
1633 UINT *pnIndex);
1634
1635 END_INTERFACE
1636} IPropertyEnumTypeListVtbl;
1637
1638interface IPropertyEnumTypeList {
1639 CONST_VTBL IPropertyEnumTypeListVtbl* lpVtbl;
1640};
1641
1642#ifdef COBJMACROS
1643#ifndef WIDL_C_INLINE_WRAPPERS
1644/*** IUnknown methods ***/
1645#define IPropertyEnumTypeList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1646#define IPropertyEnumTypeList_AddRef(This) (This)->lpVtbl->AddRef(This)
1647#define IPropertyEnumTypeList_Release(This) (This)->lpVtbl->Release(This)
1648/*** IPropertyEnumTypeList methods ***/
1649#define IPropertyEnumTypeList_GetCount(This,pctypes) (This)->lpVtbl->GetCount(This,pctypes)
1650#define IPropertyEnumTypeList_GetAt(This,itype,riid,ppv) (This)->lpVtbl->GetAt(This,itype,riid,ppv)
1651#define IPropertyEnumTypeList_GetConditionAt(This,nIndex,riid,ppv) (This)->lpVtbl->GetConditionAt(This,nIndex,riid,ppv)
1652#define IPropertyEnumTypeList_FindMatchingIndex(This,propvarCmp,pnIndex) (This)->lpVtbl->FindMatchingIndex(This,propvarCmp,pnIndex)
1653#else
1654/*** IUnknown methods ***/
1655static FORCEINLINE HRESULT IPropertyEnumTypeList_QueryInterface(IPropertyEnumTypeList* This,REFIID riid,void **ppvObject) {
1656 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1657}
1658static FORCEINLINE ULONG IPropertyEnumTypeList_AddRef(IPropertyEnumTypeList* This) {
1659 return This->lpVtbl->AddRef(This);
1660}
1661static FORCEINLINE ULONG IPropertyEnumTypeList_Release(IPropertyEnumTypeList* This) {
1662 return This->lpVtbl->Release(This);
1663}
1664/*** IPropertyEnumTypeList methods ***/
1665static FORCEINLINE HRESULT IPropertyEnumTypeList_GetCount(IPropertyEnumTypeList* This,UINT *pctypes) {
1666 return This->lpVtbl->GetCount(This,pctypes);
1667}
1668static FORCEINLINE HRESULT IPropertyEnumTypeList_GetAt(IPropertyEnumTypeList* This,UINT itype,REFIID riid,void **ppv) {
1669 return This->lpVtbl->GetAt(This,itype,riid,ppv);
1670}
1671static FORCEINLINE HRESULT IPropertyEnumTypeList_GetConditionAt(IPropertyEnumTypeList* This,UINT nIndex,REFIID riid,void **ppv) {
1672 return This->lpVtbl->GetConditionAt(This,nIndex,riid,ppv);
1673}
1674static FORCEINLINE HRESULT IPropertyEnumTypeList_FindMatchingIndex(IPropertyEnumTypeList* This,REFPROPVARIANT propvarCmp,UINT *pnIndex) {
1675 return This->lpVtbl->FindMatchingIndex(This,propvarCmp,pnIndex);
1676}
1677#endif
1678#endif
1679
1680#endif
1681
1682
1683#endif /* __IPropertyEnumTypeList_INTERFACE_DEFINED__ */
1684
1685
1686/*****************************************************************************
1687 * IPropertyDescription interface
1688 */
1689#ifndef __IPropertyDescription_INTERFACE_DEFINED__
1690#define __IPropertyDescription_INTERFACE_DEFINED__
1691
1692typedef enum PROPDESC_TYPE_FLAGS {
1693 PDTF_DEFAULT = 0x0,
1694 PDTF_MULTIPLEVALUES = 0x1,
1695 PDTF_ISINNATE = 0x2,
1696 PDTF_ISGROUP = 0x4,
1697 PDTF_CANGROUPBY = 0x8,
1698 PDTF_CANSTACKBY = 0x10,
1699 PDTF_ISTREEPROPERTY = 0x20,
1700 PDTF_INCLUDEINFULLTEXTQUERY = 0x40,
1701 PDTF_ISVIEWABLE = 0x80,
1702 PDTF_ISQUERYABLE = 0x100,
1703 PDTF_CANBEPURGED = 0x200,
1704 PDTF_SEARCHRAWVALUE = 0x400,
1705 PDTF_ISSYSTEMPROPERTY = 0x80000000,
1706 PDTF_MASK_ALL = 0x800007ff
1707} PROPDESC_TYPE_FLAGS;
1708
1709DEFINE_ENUM_FLAG_OPERATORS(PROPDESC_TYPE_FLAGS)
1710
1711typedef enum PROPDESC_VIEW_FLAGS {
1712 PDVF_DEFAULT = 0x0,
1713 PDVF_CENTERALIGN = 0x1,
1714 PDVF_RIGHTALIGN = 0x2,
1715 PDVF_BEGINNEWGROUP = 0x4,
1716 PDVF_FILLAREA = 0x8,
1717 PDVF_SORTDESCENDING = 0x10,
1718 PDVF_SHOWONLYIFPRESENT = 0x20,
1719 PDVF_SHOWBYDEFAULT = 0x40,
1720 PDVF_SHOWINPRIMARYLIST = 0x80,
1721 PDVF_SHOWINSECONDARYLIST = 0x100,
1722 PDVF_HIDELABEL = 0x200,
1723 PDVF_HIDDEN = 0x800,
1724 PDVF_CANWRAP = 0x1000,
1725 PDVF_MASK_ALL = 0x1bff
1726} PROPDESC_VIEW_FLAGS;
1727
1728DEFINE_ENUM_FLAG_OPERATORS(PROPDESC_VIEW_FLAGS)
1729
1730typedef enum PROPDESC_DISPLAYTYPE {
1731 PDDT_STRING = 0,
1732 PDDT_NUMBER = 1,
1733 PDDT_BOOLEAN = 2,
1734 PDDT_DATETIME = 3,
1735 PDDT_ENUMERATED = 4
1736} PROPDESC_DISPLAYTYPE;
1737
1738typedef enum PROPDESC_GROUPING_RANGE {
1739 PDGR_DISCRETE = 0,
1740 PDGR_ALPHANUMERIC = 1,
1741 PDGR_SIZE = 2,
1742 PDGR_DYNAMIC = 3,
1743 PDGR_DATE = 4,
1744 PDGR_PERCENT = 5,
1745 PDGR_ENUMERATED = 6
1746} PROPDESC_GROUPING_RANGE;
1747
1748typedef enum PROPDESC_FORMAT_FLAGS {
1749 PDFF_DEFAULT = 0x0,
1750 PDFF_PREFIXNAME = 0x1,
1751 PDFF_FILENAME = 0x2,
1752 PDFF_ALWAYSKB = 0x4,
1753 PDFF_RESERVED_RIGHTTOLEFT = 0x8,
1754 PDFF_SHORTTIME = 0x10,
1755 PDFF_LONGTIME = 0x20,
1756 PDFF_HIDETIME = 0x40,
1757 PDFF_SHORTDATE = 0x80,
1758 PDFF_LONGDATE = 0x100,
1759 PDFF_HIDEDATE = 0x200,
1760 PDFF_RELATIVEDATE = 0x400,
1761 PDFF_USEEDITINVITATION = 0x800,
1762 PDFF_READONLY = 0x1000,
1763 PDFF_NOAUTOREADINGORDER = 0x2000
1764} PROPDESC_FORMAT_FLAGS;
1765
1766DEFINE_ENUM_FLAG_OPERATORS(PROPDESC_FORMAT_FLAGS)
1767
1768typedef enum PROPDESC_SORTDESCRIPTION {
1769 PDSD_GENERAL = 0,
1770 PDSD_A_Z = 1,
1771 PDSD_LOWEST_HIGHEST = 2,
1772 PDSD_SMALLEST_BIGGEST = 3,
1773 PDSD_OLDEST_NEWEST = 4
1774} PROPDESC_SORTDESCRIPTION;
1775
1776typedef enum PROPDESC_RELATIVEDESCRIPTION_TYPE {
1777 PDRDT_GENERAL = 0,
1778 PDRDT_DATE = 1,
1779 PDRDT_SIZE = 2,
1780 PDRDT_COUNT = 3,
1781 PDRDT_REVISION = 4,
1782 PDRDT_LENGTH = 5,
1783 PDRDT_DURATION = 6,
1784 PDRDT_SPEED = 7,
1785 PDRDT_RATE = 8,
1786 PDRDT_RATING = 9,
1787 PDRDT_PRIORITY = 10
1788} PROPDESC_RELATIVEDESCRIPTION_TYPE;
1789
1790typedef enum PROPDESC_AGGREGATION_TYPE {
1791 PDAT_DEFAULT = 0,
1792 PDAT_FIRST = 1,
1793 PDAT_SUM = 2,
1794 PDAT_AVERAGE = 3,
1795 PDAT_DATERANGE = 4,
1796 PDAT_UNION = 5,
1797 PDAT_MAX = 6,
1798 PDAT_MIN = 7
1799} PROPDESC_AGGREGATION_TYPE;
1800
1801typedef enum PROPDESC_CONDITION_TYPE {
1802 PDCOT_NONE = 0,
1803 PDCOT_STRING = 1,
1804 PDCOT_SIZE = 2,
1805 PDCOT_DATETIME = 3,
1806 PDCOT_BOOLEAN = 4,
1807 PDCOT_NUMBER = 5
1808} PROPDESC_CONDITION_TYPE;
1809
1810DEFINE_GUID(IID_IPropertyDescription, 0x6f79d558, 0x3e96, 0x4549, 0xa1,0xd1, 0x7d,0x75,0xd2,0x28,0x88,0x14);
1811#if defined(__cplusplus) && !defined(CINTERFACE)
1812MIDL_INTERFACE("6f79d558-3e96-4549-a1d1-7d75d2288814")
1813IPropertyDescription : public IUnknown
1814{
1815 virtual HRESULT STDMETHODCALLTYPE GetPropertyKey(
1816 PROPERTYKEY *pkey) = 0;
1817
1818 virtual HRESULT STDMETHODCALLTYPE GetCanonicalName(
1819 LPWSTR *ppszName) = 0;
1820
1821 virtual HRESULT STDMETHODCALLTYPE GetPropertyType(
1822 VARTYPE *pvartype) = 0;
1823
1824 virtual HRESULT STDMETHODCALLTYPE GetDisplayName(
1825 LPWSTR *ppszName) = 0;
1826
1827 virtual HRESULT STDMETHODCALLTYPE GetEditInvitation(
1828 LPWSTR *ppszInvite) = 0;
1829
1830 virtual HRESULT STDMETHODCALLTYPE GetTypeFlags(
1831 PROPDESC_TYPE_FLAGS mask,
1832 PROPDESC_TYPE_FLAGS *ppdtFlags) = 0;
1833
1834 virtual HRESULT STDMETHODCALLTYPE GetViewFlags(
1835 PROPDESC_VIEW_FLAGS *ppdvFlags) = 0;
1836
1837 virtual HRESULT STDMETHODCALLTYPE GetDefaultColumnWidth(
1838 UINT *pcxChars) = 0;
1839
1840 virtual HRESULT STDMETHODCALLTYPE GetDisplayType(
1841 PROPDESC_DISPLAYTYPE *pdisplaytype) = 0;
1842
1843 virtual HRESULT STDMETHODCALLTYPE GetColumnState(
1844 SHCOLSTATEF *pcsFlags) = 0;
1845
1846 virtual HRESULT STDMETHODCALLTYPE GetGroupingRange(
1847 PROPDESC_GROUPING_RANGE *pgr) = 0;
1848
1849 virtual HRESULT STDMETHODCALLTYPE GetRelativeDescriptionType(
1850 PROPDESC_RELATIVEDESCRIPTION_TYPE *prdt) = 0;
1851
1852 virtual HRESULT STDMETHODCALLTYPE GetRelativeDescription(
1853 REFPROPVARIANT propvar1,
1854 REFPROPVARIANT propvar2,
1855 LPWSTR *ppszDesc1,
1856 LPWSTR *ppszDesc2) = 0;
1857
1858 virtual HRESULT STDMETHODCALLTYPE GetSortDescription(
1859 PROPDESC_SORTDESCRIPTION *psd) = 0;
1860
1861 virtual HRESULT STDMETHODCALLTYPE GetSortDescriptionLabel(
1862 WINBOOL fDescending,
1863 LPWSTR *ppszDescription) = 0;
1864
1865 virtual HRESULT STDMETHODCALLTYPE GetAggregationType(
1866 PROPDESC_AGGREGATION_TYPE *paggtype) = 0;
1867
1868 virtual HRESULT STDMETHODCALLTYPE GetConditionType(
1869 PROPDESC_CONDITION_TYPE *pcontype,
1870 CONDITION_OPERATION *popDefault) = 0;
1871
1872 virtual HRESULT STDMETHODCALLTYPE GetEnumTypeList(
1873 REFIID riid,
1874 void **ppv) = 0;
1875
1876 virtual HRESULT STDMETHODCALLTYPE CoerceToCanonicalValue(
1877 PROPVARIANT *ppropvar) = 0;
1878
1879 virtual HRESULT STDMETHODCALLTYPE FormatForDisplay(
1880 REFPROPVARIANT propvar,
1881 PROPDESC_FORMAT_FLAGS pdfFlags,
1882 LPWSTR *ppszDisplay) = 0;
1883
1884 virtual HRESULT STDMETHODCALLTYPE IsValueCanonical(
1885 REFPROPVARIANT propvar) = 0;
1886
1887};
1888#ifdef __CRT_UUID_DECL
1889__CRT_UUID_DECL(IPropertyDescription, 0x6f79d558, 0x3e96, 0x4549, 0xa1,0xd1, 0x7d,0x75,0xd2,0x28,0x88,0x14)
1890#endif
1891#else
1892typedef struct IPropertyDescriptionVtbl {
1893 BEGIN_INTERFACE
1894
1895 /*** IUnknown methods ***/
1896 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1897 IPropertyDescription *This,
1898 REFIID riid,
1899 void **ppvObject);
1900
1901 ULONG (STDMETHODCALLTYPE *AddRef)(
1902 IPropertyDescription *This);
1903
1904 ULONG (STDMETHODCALLTYPE *Release)(
1905 IPropertyDescription *This);
1906
1907 /*** IPropertyDescription methods ***/
1908 HRESULT (STDMETHODCALLTYPE *GetPropertyKey)(
1909 IPropertyDescription *This,
1910 PROPERTYKEY *pkey);
1911
1912 HRESULT (STDMETHODCALLTYPE *GetCanonicalName)(
1913 IPropertyDescription *This,
1914 LPWSTR *ppszName);
1915
1916 HRESULT (STDMETHODCALLTYPE *GetPropertyType)(
1917 IPropertyDescription *This,
1918 VARTYPE *pvartype);
1919
1920 HRESULT (STDMETHODCALLTYPE *GetDisplayName)(
1921 IPropertyDescription *This,
1922 LPWSTR *ppszName);
1923
1924 HRESULT (STDMETHODCALLTYPE *GetEditInvitation)(
1925 IPropertyDescription *This,
1926 LPWSTR *ppszInvite);
1927
1928 HRESULT (STDMETHODCALLTYPE *GetTypeFlags)(
1929 IPropertyDescription *This,
1930 PROPDESC_TYPE_FLAGS mask,
1931 PROPDESC_TYPE_FLAGS *ppdtFlags);
1932
1933 HRESULT (STDMETHODCALLTYPE *GetViewFlags)(
1934 IPropertyDescription *This,
1935 PROPDESC_VIEW_FLAGS *ppdvFlags);
1936
1937 HRESULT (STDMETHODCALLTYPE *GetDefaultColumnWidth)(
1938 IPropertyDescription *This,
1939 UINT *pcxChars);
1940
1941 HRESULT (STDMETHODCALLTYPE *GetDisplayType)(
1942 IPropertyDescription *This,
1943 PROPDESC_DISPLAYTYPE *pdisplaytype);
1944
1945 HRESULT (STDMETHODCALLTYPE *GetColumnState)(
1946 IPropertyDescription *This,
1947 SHCOLSTATEF *pcsFlags);
1948
1949 HRESULT (STDMETHODCALLTYPE *GetGroupingRange)(
1950 IPropertyDescription *This,
1951 PROPDESC_GROUPING_RANGE *pgr);
1952
1953 HRESULT (STDMETHODCALLTYPE *GetRelativeDescriptionType)(
1954 IPropertyDescription *This,
1955 PROPDESC_RELATIVEDESCRIPTION_TYPE *prdt);
1956
1957 HRESULT (STDMETHODCALLTYPE *GetRelativeDescription)(
1958 IPropertyDescription *This,
1959 REFPROPVARIANT propvar1,
1960 REFPROPVARIANT propvar2,
1961 LPWSTR *ppszDesc1,
1962 LPWSTR *ppszDesc2);
1963
1964 HRESULT (STDMETHODCALLTYPE *GetSortDescription)(
1965 IPropertyDescription *This,
1966 PROPDESC_SORTDESCRIPTION *psd);
1967
1968 HRESULT (STDMETHODCALLTYPE *GetSortDescriptionLabel)(
1969 IPropertyDescription *This,
1970 WINBOOL fDescending,
1971 LPWSTR *ppszDescription);
1972
1973 HRESULT (STDMETHODCALLTYPE *GetAggregationType)(
1974 IPropertyDescription *This,
1975 PROPDESC_AGGREGATION_TYPE *paggtype);
1976
1977 HRESULT (STDMETHODCALLTYPE *GetConditionType)(
1978 IPropertyDescription *This,
1979 PROPDESC_CONDITION_TYPE *pcontype,
1980 CONDITION_OPERATION *popDefault);
1981
1982 HRESULT (STDMETHODCALLTYPE *GetEnumTypeList)(
1983 IPropertyDescription *This,
1984 REFIID riid,
1985 void **ppv);
1986
1987 HRESULT (STDMETHODCALLTYPE *CoerceToCanonicalValue)(
1988 IPropertyDescription *This,
1989 PROPVARIANT *ppropvar);
1990
1991 HRESULT (STDMETHODCALLTYPE *FormatForDisplay)(
1992 IPropertyDescription *This,
1993 REFPROPVARIANT propvar,
1994 PROPDESC_FORMAT_FLAGS pdfFlags,
1995 LPWSTR *ppszDisplay);
1996
1997 HRESULT (STDMETHODCALLTYPE *IsValueCanonical)(
1998 IPropertyDescription *This,
1999 REFPROPVARIANT propvar);
2000
2001 END_INTERFACE
2002} IPropertyDescriptionVtbl;
2003
2004interface IPropertyDescription {
2005 CONST_VTBL IPropertyDescriptionVtbl* lpVtbl;
2006};
2007
2008#ifdef COBJMACROS
2009#ifndef WIDL_C_INLINE_WRAPPERS
2010/*** IUnknown methods ***/
2011#define IPropertyDescription_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2012#define IPropertyDescription_AddRef(This) (This)->lpVtbl->AddRef(This)
2013#define IPropertyDescription_Release(This) (This)->lpVtbl->Release(This)
2014/*** IPropertyDescription methods ***/
2015#define IPropertyDescription_GetPropertyKey(This,pkey) (This)->lpVtbl->GetPropertyKey(This,pkey)
2016#define IPropertyDescription_GetCanonicalName(This,ppszName) (This)->lpVtbl->GetCanonicalName(This,ppszName)
2017#define IPropertyDescription_GetPropertyType(This,pvartype) (This)->lpVtbl->GetPropertyType(This,pvartype)
2018#define IPropertyDescription_GetDisplayName(This,ppszName) (This)->lpVtbl->GetDisplayName(This,ppszName)
2019#define IPropertyDescription_GetEditInvitation(This,ppszInvite) (This)->lpVtbl->GetEditInvitation(This,ppszInvite)
2020#define IPropertyDescription_GetTypeFlags(This,mask,ppdtFlags) (This)->lpVtbl->GetTypeFlags(This,mask,ppdtFlags)
2021#define IPropertyDescription_GetViewFlags(This,ppdvFlags) (This)->lpVtbl->GetViewFlags(This,ppdvFlags)
2022#define IPropertyDescription_GetDefaultColumnWidth(This,pcxChars) (This)->lpVtbl->GetDefaultColumnWidth(This,pcxChars)
2023#define IPropertyDescription_GetDisplayType(This,pdisplaytype) (This)->lpVtbl->GetDisplayType(This,pdisplaytype)
2024#define IPropertyDescription_GetColumnState(This,pcsFlags) (This)->lpVtbl->GetColumnState(This,pcsFlags)
2025#define IPropertyDescription_GetGroupingRange(This,pgr) (This)->lpVtbl->GetGroupingRange(This,pgr)
2026#define IPropertyDescription_GetRelativeDescriptionType(This,prdt) (This)->lpVtbl->GetRelativeDescriptionType(This,prdt)
2027#define IPropertyDescription_GetRelativeDescription(This,propvar1,propvar2,ppszDesc1,ppszDesc2) (This)->lpVtbl->GetRelativeDescription(This,propvar1,propvar2,ppszDesc1,ppszDesc2)
2028#define IPropertyDescription_GetSortDescription(This,psd) (This)->lpVtbl->GetSortDescription(This,psd)
2029#define IPropertyDescription_GetSortDescriptionLabel(This,fDescending,ppszDescription) (This)->lpVtbl->GetSortDescriptionLabel(This,fDescending,ppszDescription)
2030#define IPropertyDescription_GetAggregationType(This,paggtype) (This)->lpVtbl->GetAggregationType(This,paggtype)
2031#define IPropertyDescription_GetConditionType(This,pcontype,popDefault) (This)->lpVtbl->GetConditionType(This,pcontype,popDefault)
2032#define IPropertyDescription_GetEnumTypeList(This,riid,ppv) (This)->lpVtbl->GetEnumTypeList(This,riid,ppv)
2033#define IPropertyDescription_CoerceToCanonicalValue(This,ppropvar) (This)->lpVtbl->CoerceToCanonicalValue(This,ppropvar)
2034#define IPropertyDescription_FormatForDisplay(This,propvar,pdfFlags,ppszDisplay) (This)->lpVtbl->FormatForDisplay(This,propvar,pdfFlags,ppszDisplay)
2035#define IPropertyDescription_IsValueCanonical(This,propvar) (This)->lpVtbl->IsValueCanonical(This,propvar)
2036#else
2037/*** IUnknown methods ***/
2038static FORCEINLINE HRESULT IPropertyDescription_QueryInterface(IPropertyDescription* This,REFIID riid,void **ppvObject) {
2039 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2040}
2041static FORCEINLINE ULONG IPropertyDescription_AddRef(IPropertyDescription* This) {
2042 return This->lpVtbl->AddRef(This);
2043}
2044static FORCEINLINE ULONG IPropertyDescription_Release(IPropertyDescription* This) {
2045 return This->lpVtbl->Release(This);
2046}
2047/*** IPropertyDescription methods ***/
2048static FORCEINLINE HRESULT IPropertyDescription_GetPropertyKey(IPropertyDescription* This,PROPERTYKEY *pkey) {
2049 return This->lpVtbl->GetPropertyKey(This,pkey);
2050}
2051static FORCEINLINE HRESULT IPropertyDescription_GetCanonicalName(IPropertyDescription* This,LPWSTR *ppszName) {
2052 return This->lpVtbl->GetCanonicalName(This,ppszName);
2053}
2054static FORCEINLINE HRESULT IPropertyDescription_GetPropertyType(IPropertyDescription* This,VARTYPE *pvartype) {
2055 return This->lpVtbl->GetPropertyType(This,pvartype);
2056}
2057static FORCEINLINE HRESULT IPropertyDescription_GetDisplayName(IPropertyDescription* This,LPWSTR *ppszName) {
2058 return This->lpVtbl->GetDisplayName(This,ppszName);
2059}
2060static FORCEINLINE HRESULT IPropertyDescription_GetEditInvitation(IPropertyDescription* This,LPWSTR *ppszInvite) {
2061 return This->lpVtbl->GetEditInvitation(This,ppszInvite);
2062}
2063static FORCEINLINE HRESULT IPropertyDescription_GetTypeFlags(IPropertyDescription* This,PROPDESC_TYPE_FLAGS mask,PROPDESC_TYPE_FLAGS *ppdtFlags) {
2064 return This->lpVtbl->GetTypeFlags(This,mask,ppdtFlags);
2065}
2066static FORCEINLINE HRESULT IPropertyDescription_GetViewFlags(IPropertyDescription* This,PROPDESC_VIEW_FLAGS *ppdvFlags) {
2067 return This->lpVtbl->GetViewFlags(This,ppdvFlags);
2068}
2069static FORCEINLINE HRESULT IPropertyDescription_GetDefaultColumnWidth(IPropertyDescription* This,UINT *pcxChars) {
2070 return This->lpVtbl->GetDefaultColumnWidth(This,pcxChars);
2071}
2072static FORCEINLINE HRESULT IPropertyDescription_GetDisplayType(IPropertyDescription* This,PROPDESC_DISPLAYTYPE *pdisplaytype) {
2073 return This->lpVtbl->GetDisplayType(This,pdisplaytype);
2074}
2075static FORCEINLINE HRESULT IPropertyDescription_GetColumnState(IPropertyDescription* This,SHCOLSTATEF *pcsFlags) {
2076 return This->lpVtbl->GetColumnState(This,pcsFlags);
2077}
2078static FORCEINLINE HRESULT IPropertyDescription_GetGroupingRange(IPropertyDescription* This,PROPDESC_GROUPING_RANGE *pgr) {
2079 return This->lpVtbl->GetGroupingRange(This,pgr);
2080}
2081static FORCEINLINE HRESULT IPropertyDescription_GetRelativeDescriptionType(IPropertyDescription* This,PROPDESC_RELATIVEDESCRIPTION_TYPE *prdt) {
2082 return This->lpVtbl->GetRelativeDescriptionType(This,prdt);
2083}
2084static FORCEINLINE HRESULT IPropertyDescription_GetRelativeDescription(IPropertyDescription* This,REFPROPVARIANT propvar1,REFPROPVARIANT propvar2,LPWSTR *ppszDesc1,LPWSTR *ppszDesc2) {
2085 return This->lpVtbl->GetRelativeDescription(This,propvar1,propvar2,ppszDesc1,ppszDesc2);
2086}
2087static FORCEINLINE HRESULT IPropertyDescription_GetSortDescription(IPropertyDescription* This,PROPDESC_SORTDESCRIPTION *psd) {
2088 return This->lpVtbl->GetSortDescription(This,psd);
2089}
2090static FORCEINLINE HRESULT IPropertyDescription_GetSortDescriptionLabel(IPropertyDescription* This,WINBOOL fDescending,LPWSTR *ppszDescription) {
2091 return This->lpVtbl->GetSortDescriptionLabel(This,fDescending,ppszDescription);
2092}
2093static FORCEINLINE HRESULT IPropertyDescription_GetAggregationType(IPropertyDescription* This,PROPDESC_AGGREGATION_TYPE *paggtype) {
2094 return This->lpVtbl->GetAggregationType(This,paggtype);
2095}
2096static FORCEINLINE HRESULT IPropertyDescription_GetConditionType(IPropertyDescription* This,PROPDESC_CONDITION_TYPE *pcontype,CONDITION_OPERATION *popDefault) {
2097 return This->lpVtbl->GetConditionType(This,pcontype,popDefault);
2098}
2099static FORCEINLINE HRESULT IPropertyDescription_GetEnumTypeList(IPropertyDescription* This,REFIID riid,void **ppv) {
2100 return This->lpVtbl->GetEnumTypeList(This,riid,ppv);
2101}
2102static FORCEINLINE HRESULT IPropertyDescription_CoerceToCanonicalValue(IPropertyDescription* This,PROPVARIANT *ppropvar) {
2103 return This->lpVtbl->CoerceToCanonicalValue(This,ppropvar);
2104}
2105static FORCEINLINE HRESULT IPropertyDescription_FormatForDisplay(IPropertyDescription* This,REFPROPVARIANT propvar,PROPDESC_FORMAT_FLAGS pdfFlags,LPWSTR *ppszDisplay) {
2106 return This->lpVtbl->FormatForDisplay(This,propvar,pdfFlags,ppszDisplay);
2107}
2108static FORCEINLINE HRESULT IPropertyDescription_IsValueCanonical(IPropertyDescription* This,REFPROPVARIANT propvar) {
2109 return This->lpVtbl->IsValueCanonical(This,propvar);
2110}
2111#endif
2112#endif
2113
2114#endif
2115
2116HRESULT STDMETHODCALLTYPE IPropertyDescription_RemoteCoerceToCanonicalValue_Proxy(
2117 IPropertyDescription* This,
2118 REFPROPVARIANT propvar,
2119 PROPVARIANT *ppropvar);
2120void __RPC_STUB IPropertyDescription_RemoteCoerceToCanonicalValue_Stub(
2121 IRpcStubBuffer* This,
2122 IRpcChannelBuffer* pRpcChannelBuffer,
2123 PRPC_MESSAGE pRpcMessage,
2124 DWORD* pdwStubPhase);
2125HRESULT CALLBACK IPropertyDescription_CoerceToCanonicalValue_Proxy(
2126 IPropertyDescription* This,
2127 PROPVARIANT *ppropvar);
2128HRESULT __RPC_STUB IPropertyDescription_CoerceToCanonicalValue_Stub(
2129 IPropertyDescription* This,
2130 REFPROPVARIANT propvar,
2131 PROPVARIANT *ppropvar);
2132
2133#endif /* __IPropertyDescription_INTERFACE_DEFINED__ */
2134
2135
2136/*****************************************************************************
2137 * IPropertyDescription2 interface
2138 */
2139#ifndef __IPropertyDescription2_INTERFACE_DEFINED__
2140#define __IPropertyDescription2_INTERFACE_DEFINED__
2141
2142DEFINE_GUID(IID_IPropertyDescription2, 0x57d2eded, 0x5062, 0x400e, 0xb1,0x07, 0x5d,0xae,0x79,0xfe,0x57,0xa6);
2143#if defined(__cplusplus) && !defined(CINTERFACE)
2144MIDL_INTERFACE("57d2eded-5062-400e-b107-5dae79fe57a6")
2145IPropertyDescription2 : public IPropertyDescription
2146{
2147 virtual HRESULT STDMETHODCALLTYPE GetImageReferenceForValue(
2148 REFPROPVARIANT propvar,
2149 LPWSTR *ppszImageRes) = 0;
2150
2151};
2152#ifdef __CRT_UUID_DECL
2153__CRT_UUID_DECL(IPropertyDescription2, 0x57d2eded, 0x5062, 0x400e, 0xb1,0x07, 0x5d,0xae,0x79,0xfe,0x57,0xa6)
2154#endif
2155#else
2156typedef struct IPropertyDescription2Vtbl {
2157 BEGIN_INTERFACE
2158
2159 /*** IUnknown methods ***/
2160 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2161 IPropertyDescription2 *This,
2162 REFIID riid,
2163 void **ppvObject);
2164
2165 ULONG (STDMETHODCALLTYPE *AddRef)(
2166 IPropertyDescription2 *This);
2167
2168 ULONG (STDMETHODCALLTYPE *Release)(
2169 IPropertyDescription2 *This);
2170
2171 /*** IPropertyDescription methods ***/
2172 HRESULT (STDMETHODCALLTYPE *GetPropertyKey)(
2173 IPropertyDescription2 *This,
2174 PROPERTYKEY *pkey);
2175
2176 HRESULT (STDMETHODCALLTYPE *GetCanonicalName)(
2177 IPropertyDescription2 *This,
2178 LPWSTR *ppszName);
2179
2180 HRESULT (STDMETHODCALLTYPE *GetPropertyType)(
2181 IPropertyDescription2 *This,
2182 VARTYPE *pvartype);
2183
2184 HRESULT (STDMETHODCALLTYPE *GetDisplayName)(
2185 IPropertyDescription2 *This,
2186 LPWSTR *ppszName);
2187
2188 HRESULT (STDMETHODCALLTYPE *GetEditInvitation)(
2189 IPropertyDescription2 *This,
2190 LPWSTR *ppszInvite);
2191
2192 HRESULT (STDMETHODCALLTYPE *GetTypeFlags)(
2193 IPropertyDescription2 *This,
2194 PROPDESC_TYPE_FLAGS mask,
2195 PROPDESC_TYPE_FLAGS *ppdtFlags);
2196
2197 HRESULT (STDMETHODCALLTYPE *GetViewFlags)(
2198 IPropertyDescription2 *This,
2199 PROPDESC_VIEW_FLAGS *ppdvFlags);
2200
2201 HRESULT (STDMETHODCALLTYPE *GetDefaultColumnWidth)(
2202 IPropertyDescription2 *This,
2203 UINT *pcxChars);
2204
2205 HRESULT (STDMETHODCALLTYPE *GetDisplayType)(
2206 IPropertyDescription2 *This,
2207 PROPDESC_DISPLAYTYPE *pdisplaytype);
2208
2209 HRESULT (STDMETHODCALLTYPE *GetColumnState)(
2210 IPropertyDescription2 *This,
2211 SHCOLSTATEF *pcsFlags);
2212
2213 HRESULT (STDMETHODCALLTYPE *GetGroupingRange)(
2214 IPropertyDescription2 *This,
2215 PROPDESC_GROUPING_RANGE *pgr);
2216
2217 HRESULT (STDMETHODCALLTYPE *GetRelativeDescriptionType)(
2218 IPropertyDescription2 *This,
2219 PROPDESC_RELATIVEDESCRIPTION_TYPE *prdt);
2220
2221 HRESULT (STDMETHODCALLTYPE *GetRelativeDescription)(
2222 IPropertyDescription2 *This,
2223 REFPROPVARIANT propvar1,
2224 REFPROPVARIANT propvar2,
2225 LPWSTR *ppszDesc1,
2226 LPWSTR *ppszDesc2);
2227
2228 HRESULT (STDMETHODCALLTYPE *GetSortDescription)(
2229 IPropertyDescription2 *This,
2230 PROPDESC_SORTDESCRIPTION *psd);
2231
2232 HRESULT (STDMETHODCALLTYPE *GetSortDescriptionLabel)(
2233 IPropertyDescription2 *This,
2234 WINBOOL fDescending,
2235 LPWSTR *ppszDescription);
2236
2237 HRESULT (STDMETHODCALLTYPE *GetAggregationType)(
2238 IPropertyDescription2 *This,
2239 PROPDESC_AGGREGATION_TYPE *paggtype);
2240
2241 HRESULT (STDMETHODCALLTYPE *GetConditionType)(
2242 IPropertyDescription2 *This,
2243 PROPDESC_CONDITION_TYPE *pcontype,
2244 CONDITION_OPERATION *popDefault);
2245
2246 HRESULT (STDMETHODCALLTYPE *GetEnumTypeList)(
2247 IPropertyDescription2 *This,
2248 REFIID riid,
2249 void **ppv);
2250
2251 HRESULT (STDMETHODCALLTYPE *CoerceToCanonicalValue)(
2252 IPropertyDescription2 *This,
2253 PROPVARIANT *ppropvar);
2254
2255 HRESULT (STDMETHODCALLTYPE *FormatForDisplay)(
2256 IPropertyDescription2 *This,
2257 REFPROPVARIANT propvar,
2258 PROPDESC_FORMAT_FLAGS pdfFlags,
2259 LPWSTR *ppszDisplay);
2260
2261 HRESULT (STDMETHODCALLTYPE *IsValueCanonical)(
2262 IPropertyDescription2 *This,
2263 REFPROPVARIANT propvar);
2264
2265 /*** IPropertyDescription2 methods ***/
2266 HRESULT (STDMETHODCALLTYPE *GetImageReferenceForValue)(
2267 IPropertyDescription2 *This,
2268 REFPROPVARIANT propvar,
2269 LPWSTR *ppszImageRes);
2270
2271 END_INTERFACE
2272} IPropertyDescription2Vtbl;
2273
2274interface IPropertyDescription2 {
2275 CONST_VTBL IPropertyDescription2Vtbl* lpVtbl;
2276};
2277
2278#ifdef COBJMACROS
2279#ifndef WIDL_C_INLINE_WRAPPERS
2280/*** IUnknown methods ***/
2281#define IPropertyDescription2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2282#define IPropertyDescription2_AddRef(This) (This)->lpVtbl->AddRef(This)
2283#define IPropertyDescription2_Release(This) (This)->lpVtbl->Release(This)
2284/*** IPropertyDescription methods ***/
2285#define IPropertyDescription2_GetPropertyKey(This,pkey) (This)->lpVtbl->GetPropertyKey(This,pkey)
2286#define IPropertyDescription2_GetCanonicalName(This,ppszName) (This)->lpVtbl->GetCanonicalName(This,ppszName)
2287#define IPropertyDescription2_GetPropertyType(This,pvartype) (This)->lpVtbl->GetPropertyType(This,pvartype)
2288#define IPropertyDescription2_GetDisplayName(This,ppszName) (This)->lpVtbl->GetDisplayName(This,ppszName)
2289#define IPropertyDescription2_GetEditInvitation(This,ppszInvite) (This)->lpVtbl->GetEditInvitation(This,ppszInvite)
2290#define IPropertyDescription2_GetTypeFlags(This,mask,ppdtFlags) (This)->lpVtbl->GetTypeFlags(This,mask,ppdtFlags)
2291#define IPropertyDescription2_GetViewFlags(This,ppdvFlags) (This)->lpVtbl->GetViewFlags(This,ppdvFlags)
2292#define IPropertyDescription2_GetDefaultColumnWidth(This,pcxChars) (This)->lpVtbl->GetDefaultColumnWidth(This,pcxChars)
2293#define IPropertyDescription2_GetDisplayType(This,pdisplaytype) (This)->lpVtbl->GetDisplayType(This,pdisplaytype)
2294#define IPropertyDescription2_GetColumnState(This,pcsFlags) (This)->lpVtbl->GetColumnState(This,pcsFlags)
2295#define IPropertyDescription2_GetGroupingRange(This,pgr) (This)->lpVtbl->GetGroupingRange(This,pgr)
2296#define IPropertyDescription2_GetRelativeDescriptionType(This,prdt) (This)->lpVtbl->GetRelativeDescriptionType(This,prdt)
2297#define IPropertyDescription2_GetRelativeDescription(This,propvar1,propvar2,ppszDesc1,ppszDesc2) (This)->lpVtbl->GetRelativeDescription(This,propvar1,propvar2,ppszDesc1,ppszDesc2)
2298#define IPropertyDescription2_GetSortDescription(This,psd) (This)->lpVtbl->GetSortDescription(This,psd)
2299#define IPropertyDescription2_GetSortDescriptionLabel(This,fDescending,ppszDescription) (This)->lpVtbl->GetSortDescriptionLabel(This,fDescending,ppszDescription)
2300#define IPropertyDescription2_GetAggregationType(This,paggtype) (This)->lpVtbl->GetAggregationType(This,paggtype)
2301#define IPropertyDescription2_GetConditionType(This,pcontype,popDefault) (This)->lpVtbl->GetConditionType(This,pcontype,popDefault)
2302#define IPropertyDescription2_GetEnumTypeList(This,riid,ppv) (This)->lpVtbl->GetEnumTypeList(This,riid,ppv)
2303#define IPropertyDescription2_CoerceToCanonicalValue(This,ppropvar) (This)->lpVtbl->CoerceToCanonicalValue(This,ppropvar)
2304#define IPropertyDescription2_FormatForDisplay(This,propvar,pdfFlags,ppszDisplay) (This)->lpVtbl->FormatForDisplay(This,propvar,pdfFlags,ppszDisplay)
2305#define IPropertyDescription2_IsValueCanonical(This,propvar) (This)->lpVtbl->IsValueCanonical(This,propvar)
2306/*** IPropertyDescription2 methods ***/
2307#define IPropertyDescription2_GetImageReferenceForValue(This,propvar,ppszImageRes) (This)->lpVtbl->GetImageReferenceForValue(This,propvar,ppszImageRes)
2308#else
2309/*** IUnknown methods ***/
2310static FORCEINLINE HRESULT IPropertyDescription2_QueryInterface(IPropertyDescription2* This,REFIID riid,void **ppvObject) {
2311 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2312}
2313static FORCEINLINE ULONG IPropertyDescription2_AddRef(IPropertyDescription2* This) {
2314 return This->lpVtbl->AddRef(This);
2315}
2316static FORCEINLINE ULONG IPropertyDescription2_Release(IPropertyDescription2* This) {
2317 return This->lpVtbl->Release(This);
2318}
2319/*** IPropertyDescription methods ***/
2320static FORCEINLINE HRESULT IPropertyDescription2_GetPropertyKey(IPropertyDescription2* This,PROPERTYKEY *pkey) {
2321 return This->lpVtbl->GetPropertyKey(This,pkey);
2322}
2323static FORCEINLINE HRESULT IPropertyDescription2_GetCanonicalName(IPropertyDescription2* This,LPWSTR *ppszName) {
2324 return This->lpVtbl->GetCanonicalName(This,ppszName);
2325}
2326static FORCEINLINE HRESULT IPropertyDescription2_GetPropertyType(IPropertyDescription2* This,VARTYPE *pvartype) {
2327 return This->lpVtbl->GetPropertyType(This,pvartype);
2328}
2329static FORCEINLINE HRESULT IPropertyDescription2_GetDisplayName(IPropertyDescription2* This,LPWSTR *ppszName) {
2330 return This->lpVtbl->GetDisplayName(This,ppszName);
2331}
2332static FORCEINLINE HRESULT IPropertyDescription2_GetEditInvitation(IPropertyDescription2* This,LPWSTR *ppszInvite) {
2333 return This->lpVtbl->GetEditInvitation(This,ppszInvite);
2334}
2335static FORCEINLINE HRESULT IPropertyDescription2_GetTypeFlags(IPropertyDescription2* This,PROPDESC_TYPE_FLAGS mask,PROPDESC_TYPE_FLAGS *ppdtFlags) {
2336 return This->lpVtbl->GetTypeFlags(This,mask,ppdtFlags);
2337}
2338static FORCEINLINE HRESULT IPropertyDescription2_GetViewFlags(IPropertyDescription2* This,PROPDESC_VIEW_FLAGS *ppdvFlags) {
2339 return This->lpVtbl->GetViewFlags(This,ppdvFlags);
2340}
2341static FORCEINLINE HRESULT IPropertyDescription2_GetDefaultColumnWidth(IPropertyDescription2* This,UINT *pcxChars) {
2342 return This->lpVtbl->GetDefaultColumnWidth(This,pcxChars);
2343}
2344static FORCEINLINE HRESULT IPropertyDescription2_GetDisplayType(IPropertyDescription2* This,PROPDESC_DISPLAYTYPE *pdisplaytype) {
2345 return This->lpVtbl->GetDisplayType(This,pdisplaytype);
2346}
2347static FORCEINLINE HRESULT IPropertyDescription2_GetColumnState(IPropertyDescription2* This,SHCOLSTATEF *pcsFlags) {
2348 return This->lpVtbl->GetColumnState(This,pcsFlags);
2349}
2350static FORCEINLINE HRESULT IPropertyDescription2_GetGroupingRange(IPropertyDescription2* This,PROPDESC_GROUPING_RANGE *pgr) {
2351 return This->lpVtbl->GetGroupingRange(This,pgr);
2352}
2353static FORCEINLINE HRESULT IPropertyDescription2_GetRelativeDescriptionType(IPropertyDescription2* This,PROPDESC_RELATIVEDESCRIPTION_TYPE *prdt) {
2354 return This->lpVtbl->GetRelativeDescriptionType(This,prdt);
2355}
2356static FORCEINLINE HRESULT IPropertyDescription2_GetRelativeDescription(IPropertyDescription2* This,REFPROPVARIANT propvar1,REFPROPVARIANT propvar2,LPWSTR *ppszDesc1,LPWSTR *ppszDesc2) {
2357 return This->lpVtbl->GetRelativeDescription(This,propvar1,propvar2,ppszDesc1,ppszDesc2);
2358}
2359static FORCEINLINE HRESULT IPropertyDescription2_GetSortDescription(IPropertyDescription2* This,PROPDESC_SORTDESCRIPTION *psd) {
2360 return This->lpVtbl->GetSortDescription(This,psd);
2361}
2362static FORCEINLINE HRESULT IPropertyDescription2_GetSortDescriptionLabel(IPropertyDescription2* This,WINBOOL fDescending,LPWSTR *ppszDescription) {
2363 return This->lpVtbl->GetSortDescriptionLabel(This,fDescending,ppszDescription);
2364}
2365static FORCEINLINE HRESULT IPropertyDescription2_GetAggregationType(IPropertyDescription2* This,PROPDESC_AGGREGATION_TYPE *paggtype) {
2366 return This->lpVtbl->GetAggregationType(This,paggtype);
2367}
2368static FORCEINLINE HRESULT IPropertyDescription2_GetConditionType(IPropertyDescription2* This,PROPDESC_CONDITION_TYPE *pcontype,CONDITION_OPERATION *popDefault) {
2369 return This->lpVtbl->GetConditionType(This,pcontype,popDefault);
2370}
2371static FORCEINLINE HRESULT IPropertyDescription2_GetEnumTypeList(IPropertyDescription2* This,REFIID riid,void **ppv) {
2372 return This->lpVtbl->GetEnumTypeList(This,riid,ppv);
2373}
2374static FORCEINLINE HRESULT IPropertyDescription2_CoerceToCanonicalValue(IPropertyDescription2* This,PROPVARIANT *ppropvar) {
2375 return This->lpVtbl->CoerceToCanonicalValue(This,ppropvar);
2376}
2377static FORCEINLINE HRESULT IPropertyDescription2_FormatForDisplay(IPropertyDescription2* This,REFPROPVARIANT propvar,PROPDESC_FORMAT_FLAGS pdfFlags,LPWSTR *ppszDisplay) {
2378 return This->lpVtbl->FormatForDisplay(This,propvar,pdfFlags,ppszDisplay);
2379}
2380static FORCEINLINE HRESULT IPropertyDescription2_IsValueCanonical(IPropertyDescription2* This,REFPROPVARIANT propvar) {
2381 return This->lpVtbl->IsValueCanonical(This,propvar);
2382}
2383/*** IPropertyDescription2 methods ***/
2384static FORCEINLINE HRESULT IPropertyDescription2_GetImageReferenceForValue(IPropertyDescription2* This,REFPROPVARIANT propvar,LPWSTR *ppszImageRes) {
2385 return This->lpVtbl->GetImageReferenceForValue(This,propvar,ppszImageRes);
2386}
2387#endif
2388#endif
2389
2390#endif
2391
2392
2393#endif /* __IPropertyDescription2_INTERFACE_DEFINED__ */
2394
2395
2396/*****************************************************************************
2397 * IPropertyDescriptionAliasInfo interface
2398 */
2399#ifndef __IPropertyDescriptionAliasInfo_INTERFACE_DEFINED__
2400#define __IPropertyDescriptionAliasInfo_INTERFACE_DEFINED__
2401
2402DEFINE_GUID(IID_IPropertyDescriptionAliasInfo, 0xf67104fc, 0x2af9, 0x46fd, 0xb3,0x2d, 0x24,0x3c,0x14,0x04,0xf3,0xd1);
2403#if defined(__cplusplus) && !defined(CINTERFACE)
2404MIDL_INTERFACE("f67104fc-2af9-46fd-b32d-243c1404f3d1")
2405IPropertyDescriptionAliasInfo : public IPropertyDescription
2406{
2407 virtual HRESULT STDMETHODCALLTYPE GetSortByAlias(
2408 REFIID riid,
2409 void **ppv) = 0;
2410
2411 virtual HRESULT STDMETHODCALLTYPE GetAdditionalSortByAliases(
2412 REFIID riid,
2413 void **ppv) = 0;
2414
2415};
2416#ifdef __CRT_UUID_DECL
2417__CRT_UUID_DECL(IPropertyDescriptionAliasInfo, 0xf67104fc, 0x2af9, 0x46fd, 0xb3,0x2d, 0x24,0x3c,0x14,0x04,0xf3,0xd1)
2418#endif
2419#else
2420typedef struct IPropertyDescriptionAliasInfoVtbl {
2421 BEGIN_INTERFACE
2422
2423 /*** IUnknown methods ***/
2424 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2425 IPropertyDescriptionAliasInfo *This,
2426 REFIID riid,
2427 void **ppvObject);
2428
2429 ULONG (STDMETHODCALLTYPE *AddRef)(
2430 IPropertyDescriptionAliasInfo *This);
2431
2432 ULONG (STDMETHODCALLTYPE *Release)(
2433 IPropertyDescriptionAliasInfo *This);
2434
2435 /*** IPropertyDescription methods ***/
2436 HRESULT (STDMETHODCALLTYPE *GetPropertyKey)(
2437 IPropertyDescriptionAliasInfo *This,
2438 PROPERTYKEY *pkey);
2439
2440 HRESULT (STDMETHODCALLTYPE *GetCanonicalName)(
2441 IPropertyDescriptionAliasInfo *This,
2442 LPWSTR *ppszName);
2443
2444 HRESULT (STDMETHODCALLTYPE *GetPropertyType)(
2445 IPropertyDescriptionAliasInfo *This,
2446 VARTYPE *pvartype);
2447
2448 HRESULT (STDMETHODCALLTYPE *GetDisplayName)(
2449 IPropertyDescriptionAliasInfo *This,
2450 LPWSTR *ppszName);
2451
2452 HRESULT (STDMETHODCALLTYPE *GetEditInvitation)(
2453 IPropertyDescriptionAliasInfo *This,
2454 LPWSTR *ppszInvite);
2455
2456 HRESULT (STDMETHODCALLTYPE *GetTypeFlags)(
2457 IPropertyDescriptionAliasInfo *This,
2458 PROPDESC_TYPE_FLAGS mask,
2459 PROPDESC_TYPE_FLAGS *ppdtFlags);
2460
2461 HRESULT (STDMETHODCALLTYPE *GetViewFlags)(
2462 IPropertyDescriptionAliasInfo *This,
2463 PROPDESC_VIEW_FLAGS *ppdvFlags);
2464
2465 HRESULT (STDMETHODCALLTYPE *GetDefaultColumnWidth)(
2466 IPropertyDescriptionAliasInfo *This,
2467 UINT *pcxChars);
2468
2469 HRESULT (STDMETHODCALLTYPE *GetDisplayType)(
2470 IPropertyDescriptionAliasInfo *This,
2471 PROPDESC_DISPLAYTYPE *pdisplaytype);
2472
2473 HRESULT (STDMETHODCALLTYPE *GetColumnState)(
2474 IPropertyDescriptionAliasInfo *This,
2475 SHCOLSTATEF *pcsFlags);
2476
2477 HRESULT (STDMETHODCALLTYPE *GetGroupingRange)(
2478 IPropertyDescriptionAliasInfo *This,
2479 PROPDESC_GROUPING_RANGE *pgr);
2480
2481 HRESULT (STDMETHODCALLTYPE *GetRelativeDescriptionType)(
2482 IPropertyDescriptionAliasInfo *This,
2483 PROPDESC_RELATIVEDESCRIPTION_TYPE *prdt);
2484
2485 HRESULT (STDMETHODCALLTYPE *GetRelativeDescription)(
2486 IPropertyDescriptionAliasInfo *This,
2487 REFPROPVARIANT propvar1,
2488 REFPROPVARIANT propvar2,
2489 LPWSTR *ppszDesc1,
2490 LPWSTR *ppszDesc2);
2491
2492 HRESULT (STDMETHODCALLTYPE *GetSortDescription)(
2493 IPropertyDescriptionAliasInfo *This,
2494 PROPDESC_SORTDESCRIPTION *psd);
2495
2496 HRESULT (STDMETHODCALLTYPE *GetSortDescriptionLabel)(
2497 IPropertyDescriptionAliasInfo *This,
2498 WINBOOL fDescending,
2499 LPWSTR *ppszDescription);
2500
2501 HRESULT (STDMETHODCALLTYPE *GetAggregationType)(
2502 IPropertyDescriptionAliasInfo *This,
2503 PROPDESC_AGGREGATION_TYPE *paggtype);
2504
2505 HRESULT (STDMETHODCALLTYPE *GetConditionType)(
2506 IPropertyDescriptionAliasInfo *This,
2507 PROPDESC_CONDITION_TYPE *pcontype,
2508 CONDITION_OPERATION *popDefault);
2509
2510 HRESULT (STDMETHODCALLTYPE *GetEnumTypeList)(
2511 IPropertyDescriptionAliasInfo *This,
2512 REFIID riid,
2513 void **ppv);
2514
2515 HRESULT (STDMETHODCALLTYPE *CoerceToCanonicalValue)(
2516 IPropertyDescriptionAliasInfo *This,
2517 PROPVARIANT *ppropvar);
2518
2519 HRESULT (STDMETHODCALLTYPE *FormatForDisplay)(
2520 IPropertyDescriptionAliasInfo *This,
2521 REFPROPVARIANT propvar,
2522 PROPDESC_FORMAT_FLAGS pdfFlags,
2523 LPWSTR *ppszDisplay);
2524
2525 HRESULT (STDMETHODCALLTYPE *IsValueCanonical)(
2526 IPropertyDescriptionAliasInfo *This,
2527 REFPROPVARIANT propvar);
2528
2529 /*** IPropertyDescriptionAliasInfo methods ***/
2530 HRESULT (STDMETHODCALLTYPE *GetSortByAlias)(
2531 IPropertyDescriptionAliasInfo *This,
2532 REFIID riid,
2533 void **ppv);
2534
2535 HRESULT (STDMETHODCALLTYPE *GetAdditionalSortByAliases)(
2536 IPropertyDescriptionAliasInfo *This,
2537 REFIID riid,
2538 void **ppv);
2539
2540 END_INTERFACE
2541} IPropertyDescriptionAliasInfoVtbl;
2542
2543interface IPropertyDescriptionAliasInfo {
2544 CONST_VTBL IPropertyDescriptionAliasInfoVtbl* lpVtbl;
2545};
2546
2547#ifdef COBJMACROS
2548#ifndef WIDL_C_INLINE_WRAPPERS
2549/*** IUnknown methods ***/
2550#define IPropertyDescriptionAliasInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2551#define IPropertyDescriptionAliasInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
2552#define IPropertyDescriptionAliasInfo_Release(This) (This)->lpVtbl->Release(This)
2553/*** IPropertyDescription methods ***/
2554#define IPropertyDescriptionAliasInfo_GetPropertyKey(This,pkey) (This)->lpVtbl->GetPropertyKey(This,pkey)
2555#define IPropertyDescriptionAliasInfo_GetCanonicalName(This,ppszName) (This)->lpVtbl->GetCanonicalName(This,ppszName)
2556#define IPropertyDescriptionAliasInfo_GetPropertyType(This,pvartype) (This)->lpVtbl->GetPropertyType(This,pvartype)
2557#define IPropertyDescriptionAliasInfo_GetDisplayName(This,ppszName) (This)->lpVtbl->GetDisplayName(This,ppszName)
2558#define IPropertyDescriptionAliasInfo_GetEditInvitation(This,ppszInvite) (This)->lpVtbl->GetEditInvitation(This,ppszInvite)
2559#define IPropertyDescriptionAliasInfo_GetTypeFlags(This,mask,ppdtFlags) (This)->lpVtbl->GetTypeFlags(This,mask,ppdtFlags)
2560#define IPropertyDescriptionAliasInfo_GetViewFlags(This,ppdvFlags) (This)->lpVtbl->GetViewFlags(This,ppdvFlags)
2561#define IPropertyDescriptionAliasInfo_GetDefaultColumnWidth(This,pcxChars) (This)->lpVtbl->GetDefaultColumnWidth(This,pcxChars)
2562#define IPropertyDescriptionAliasInfo_GetDisplayType(This,pdisplaytype) (This)->lpVtbl->GetDisplayType(This,pdisplaytype)
2563#define IPropertyDescriptionAliasInfo_GetColumnState(This,pcsFlags) (This)->lpVtbl->GetColumnState(This,pcsFlags)
2564#define IPropertyDescriptionAliasInfo_GetGroupingRange(This,pgr) (This)->lpVtbl->GetGroupingRange(This,pgr)
2565#define IPropertyDescriptionAliasInfo_GetRelativeDescriptionType(This,prdt) (This)->lpVtbl->GetRelativeDescriptionType(This,prdt)
2566#define IPropertyDescriptionAliasInfo_GetRelativeDescription(This,propvar1,propvar2,ppszDesc1,ppszDesc2) (This)->lpVtbl->GetRelativeDescription(This,propvar1,propvar2,ppszDesc1,ppszDesc2)
2567#define IPropertyDescriptionAliasInfo_GetSortDescription(This,psd) (This)->lpVtbl->GetSortDescription(This,psd)
2568#define IPropertyDescriptionAliasInfo_GetSortDescriptionLabel(This,fDescending,ppszDescription) (This)->lpVtbl->GetSortDescriptionLabel(This,fDescending,ppszDescription)
2569#define IPropertyDescriptionAliasInfo_GetAggregationType(This,paggtype) (This)->lpVtbl->GetAggregationType(This,paggtype)
2570#define IPropertyDescriptionAliasInfo_GetConditionType(This,pcontype,popDefault) (This)->lpVtbl->GetConditionType(This,pcontype,popDefault)
2571#define IPropertyDescriptionAliasInfo_GetEnumTypeList(This,riid,ppv) (This)->lpVtbl->GetEnumTypeList(This,riid,ppv)
2572#define IPropertyDescriptionAliasInfo_CoerceToCanonicalValue(This,ppropvar) (This)->lpVtbl->CoerceToCanonicalValue(This,ppropvar)
2573#define IPropertyDescriptionAliasInfo_FormatForDisplay(This,propvar,pdfFlags,ppszDisplay) (This)->lpVtbl->FormatForDisplay(This,propvar,pdfFlags,ppszDisplay)
2574#define IPropertyDescriptionAliasInfo_IsValueCanonical(This,propvar) (This)->lpVtbl->IsValueCanonical(This,propvar)
2575/*** IPropertyDescriptionAliasInfo methods ***/
2576#define IPropertyDescriptionAliasInfo_GetSortByAlias(This,riid,ppv) (This)->lpVtbl->GetSortByAlias(This,riid,ppv)
2577#define IPropertyDescriptionAliasInfo_GetAdditionalSortByAliases(This,riid,ppv) (This)->lpVtbl->GetAdditionalSortByAliases(This,riid,ppv)
2578#else
2579/*** IUnknown methods ***/
2580static FORCEINLINE HRESULT IPropertyDescriptionAliasInfo_QueryInterface(IPropertyDescriptionAliasInfo* This,REFIID riid,void **ppvObject) {
2581 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2582}
2583static FORCEINLINE ULONG IPropertyDescriptionAliasInfo_AddRef(IPropertyDescriptionAliasInfo* This) {
2584 return This->lpVtbl->AddRef(This);
2585}
2586static FORCEINLINE ULONG IPropertyDescriptionAliasInfo_Release(IPropertyDescriptionAliasInfo* This) {
2587 return This->lpVtbl->Release(This);
2588}
2589/*** IPropertyDescription methods ***/
2590static FORCEINLINE HRESULT IPropertyDescriptionAliasInfo_GetPropertyKey(IPropertyDescriptionAliasInfo* This,PROPERTYKEY *pkey) {
2591 return This->lpVtbl->GetPropertyKey(This,pkey);
2592}
2593static FORCEINLINE HRESULT IPropertyDescriptionAliasInfo_GetCanonicalName(IPropertyDescriptionAliasInfo* This,LPWSTR *ppszName) {
2594 return This->lpVtbl->GetCanonicalName(This,ppszName);
2595}
2596static FORCEINLINE HRESULT IPropertyDescriptionAliasInfo_GetPropertyType(IPropertyDescriptionAliasInfo* This,VARTYPE *pvartype) {
2597 return This->lpVtbl->GetPropertyType(This,pvartype);
2598}
2599static FORCEINLINE HRESULT IPropertyDescriptionAliasInfo_GetDisplayName(IPropertyDescriptionAliasInfo* This,LPWSTR *ppszName) {
2600 return This->lpVtbl->GetDisplayName(This,ppszName);
2601}
2602static FORCEINLINE HRESULT IPropertyDescriptionAliasInfo_GetEditInvitation(IPropertyDescriptionAliasInfo* This,LPWSTR *ppszInvite) {
2603 return This->lpVtbl->GetEditInvitation(This,ppszInvite);
2604}
2605static FORCEINLINE HRESULT IPropertyDescriptionAliasInfo_GetTypeFlags(IPropertyDescriptionAliasInfo* This,PROPDESC_TYPE_FLAGS mask,PROPDESC_TYPE_FLAGS *ppdtFlags) {
2606 return This->lpVtbl->GetTypeFlags(This,mask,ppdtFlags);
2607}
2608static FORCEINLINE HRESULT IPropertyDescriptionAliasInfo_GetViewFlags(IPropertyDescriptionAliasInfo* This,PROPDESC_VIEW_FLAGS *ppdvFlags) {
2609 return This->lpVtbl->GetViewFlags(This,ppdvFlags);
2610}
2611static FORCEINLINE HRESULT IPropertyDescriptionAliasInfo_GetDefaultColumnWidth(IPropertyDescriptionAliasInfo* This,UINT *pcxChars) {
2612 return This->lpVtbl->GetDefaultColumnWidth(This,pcxChars);
2613}
2614static FORCEINLINE HRESULT IPropertyDescriptionAliasInfo_GetDisplayType(IPropertyDescriptionAliasInfo* This,PROPDESC_DISPLAYTYPE *pdisplaytype) {
2615 return This->lpVtbl->GetDisplayType(This,pdisplaytype);
2616}
2617static FORCEINLINE HRESULT IPropertyDescriptionAliasInfo_GetColumnState(IPropertyDescriptionAliasInfo* This,SHCOLSTATEF *pcsFlags) {
2618 return This->lpVtbl->GetColumnState(This,pcsFlags);
2619}
2620static FORCEINLINE HRESULT IPropertyDescriptionAliasInfo_GetGroupingRange(IPropertyDescriptionAliasInfo* This,PROPDESC_GROUPING_RANGE *pgr) {
2621 return This->lpVtbl->GetGroupingRange(This,pgr);
2622}
2623static FORCEINLINE HRESULT IPropertyDescriptionAliasInfo_GetRelativeDescriptionType(IPropertyDescriptionAliasInfo* This,PROPDESC_RELATIVEDESCRIPTION_TYPE *prdt) {
2624 return This->lpVtbl->GetRelativeDescriptionType(This,prdt);
2625}
2626static FORCEINLINE HRESULT IPropertyDescriptionAliasInfo_GetRelativeDescription(IPropertyDescriptionAliasInfo* This,REFPROPVARIANT propvar1,REFPROPVARIANT propvar2,LPWSTR *ppszDesc1,LPWSTR *ppszDesc2) {
2627 return This->lpVtbl->GetRelativeDescription(This,propvar1,propvar2,ppszDesc1,ppszDesc2);
2628}
2629static FORCEINLINE HRESULT IPropertyDescriptionAliasInfo_GetSortDescription(IPropertyDescriptionAliasInfo* This,PROPDESC_SORTDESCRIPTION *psd) {
2630 return This->lpVtbl->GetSortDescription(This,psd);
2631}
2632static FORCEINLINE HRESULT IPropertyDescriptionAliasInfo_GetSortDescriptionLabel(IPropertyDescriptionAliasInfo* This,WINBOOL fDescending,LPWSTR *ppszDescription) {
2633 return This->lpVtbl->GetSortDescriptionLabel(This,fDescending,ppszDescription);
2634}
2635static FORCEINLINE HRESULT IPropertyDescriptionAliasInfo_GetAggregationType(IPropertyDescriptionAliasInfo* This,PROPDESC_AGGREGATION_TYPE *paggtype) {
2636 return This->lpVtbl->GetAggregationType(This,paggtype);
2637}
2638static FORCEINLINE HRESULT IPropertyDescriptionAliasInfo_GetConditionType(IPropertyDescriptionAliasInfo* This,PROPDESC_CONDITION_TYPE *pcontype,CONDITION_OPERATION *popDefault) {
2639 return This->lpVtbl->GetConditionType(This,pcontype,popDefault);
2640}
2641static FORCEINLINE HRESULT IPropertyDescriptionAliasInfo_GetEnumTypeList(IPropertyDescriptionAliasInfo* This,REFIID riid,void **ppv) {
2642 return This->lpVtbl->GetEnumTypeList(This,riid,ppv);
2643}
2644static FORCEINLINE HRESULT IPropertyDescriptionAliasInfo_CoerceToCanonicalValue(IPropertyDescriptionAliasInfo* This,PROPVARIANT *ppropvar) {
2645 return This->lpVtbl->CoerceToCanonicalValue(This,ppropvar);
2646}
2647static FORCEINLINE HRESULT IPropertyDescriptionAliasInfo_FormatForDisplay(IPropertyDescriptionAliasInfo* This,REFPROPVARIANT propvar,PROPDESC_FORMAT_FLAGS pdfFlags,LPWSTR *ppszDisplay) {
2648 return This->lpVtbl->FormatForDisplay(This,propvar,pdfFlags,ppszDisplay);
2649}
2650static FORCEINLINE HRESULT IPropertyDescriptionAliasInfo_IsValueCanonical(IPropertyDescriptionAliasInfo* This,REFPROPVARIANT propvar) {
2651 return This->lpVtbl->IsValueCanonical(This,propvar);
2652}
2653/*** IPropertyDescriptionAliasInfo methods ***/
2654static FORCEINLINE HRESULT IPropertyDescriptionAliasInfo_GetSortByAlias(IPropertyDescriptionAliasInfo* This,REFIID riid,void **ppv) {
2655 return This->lpVtbl->GetSortByAlias(This,riid,ppv);
2656}
2657static FORCEINLINE HRESULT IPropertyDescriptionAliasInfo_GetAdditionalSortByAliases(IPropertyDescriptionAliasInfo* This,REFIID riid,void **ppv) {
2658 return This->lpVtbl->GetAdditionalSortByAliases(This,riid,ppv);
2659}
2660#endif
2661#endif
2662
2663#endif
2664
2665
2666#endif /* __IPropertyDescriptionAliasInfo_INTERFACE_DEFINED__ */
2667
2668
2669/*****************************************************************************
2670 * IPropertyDescriptionSearchInfo interface
2671 */
2672#ifndef __IPropertyDescriptionSearchInfo_INTERFACE_DEFINED__
2673#define __IPropertyDescriptionSearchInfo_INTERFACE_DEFINED__
2674
2675typedef enum PROPDESC_SEARCHINFO_FLAGS {
2676 PDSIF_DEFAULT = 0x0,
2677 PDSIF_ININVERTEDINDEX = 0x1,
2678 PDSIF_ISCOLUMN = 0x2,
2679 PDSIF_ISCOLUMNSPARSE = 0x4,
2680 PDSIF_ALWAYSINCLUDE = 0x8,
2681 PDSIF_USEFORTYPEAHEAD = 0x10
2682} PROPDESC_SEARCHINFO_FLAGS;
2683
2684DEFINE_ENUM_FLAG_OPERATORS(PROPDESC_SEARCHINFO_FLAGS)
2685
2686typedef enum PROPDESC_COLUMNINDEX_TYPE {
2687 PDCIT_NONE = 0,
2688 PDCIT_ONDISK = 1,
2689 PDCIT_INMEMORY = 2,
2690 PDCIT_ONDEMAND = 3,
2691 PDCIT_ONDISKALL = 4,
2692 PDCIT_ONDISKVECTOR = 5
2693} PROPDESC_COLUMNINDEX_TYPE;
2694
2695DEFINE_GUID(IID_IPropertyDescriptionSearchInfo, 0x078f91bd, 0x29a2, 0x440f, 0x92,0x4e, 0x46,0xa2,0x91,0x52,0x45,0x20);
2696#if defined(__cplusplus) && !defined(CINTERFACE)
2697MIDL_INTERFACE("078f91bd-29a2-440f-924e-46a291524520")
2698IPropertyDescriptionSearchInfo : public IPropertyDescription
2699{
2700 virtual HRESULT STDMETHODCALLTYPE GetSearchInfoFlags(
2701 PROPDESC_SEARCHINFO_FLAGS *ppdsiFlags) = 0;
2702
2703 virtual HRESULT STDMETHODCALLTYPE GetColumnIndexType(
2704 PROPDESC_COLUMNINDEX_TYPE *ppdciType) = 0;
2705
2706 virtual HRESULT STDMETHODCALLTYPE GetProjectionString(
2707 LPWSTR *ppszProjection) = 0;
2708
2709 virtual HRESULT STDMETHODCALLTYPE GetMaxSize(
2710 UINT *pcbMaxSize) = 0;
2711
2712};
2713#ifdef __CRT_UUID_DECL
2714__CRT_UUID_DECL(IPropertyDescriptionSearchInfo, 0x078f91bd, 0x29a2, 0x440f, 0x92,0x4e, 0x46,0xa2,0x91,0x52,0x45,0x20)
2715#endif
2716#else
2717typedef struct IPropertyDescriptionSearchInfoVtbl {
2718 BEGIN_INTERFACE
2719
2720 /*** IUnknown methods ***/
2721 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2722 IPropertyDescriptionSearchInfo *This,
2723 REFIID riid,
2724 void **ppvObject);
2725
2726 ULONG (STDMETHODCALLTYPE *AddRef)(
2727 IPropertyDescriptionSearchInfo *This);
2728
2729 ULONG (STDMETHODCALLTYPE *Release)(
2730 IPropertyDescriptionSearchInfo *This);
2731
2732 /*** IPropertyDescription methods ***/
2733 HRESULT (STDMETHODCALLTYPE *GetPropertyKey)(
2734 IPropertyDescriptionSearchInfo *This,
2735 PROPERTYKEY *pkey);
2736
2737 HRESULT (STDMETHODCALLTYPE *GetCanonicalName)(
2738 IPropertyDescriptionSearchInfo *This,
2739 LPWSTR *ppszName);
2740
2741 HRESULT (STDMETHODCALLTYPE *GetPropertyType)(
2742 IPropertyDescriptionSearchInfo *This,
2743 VARTYPE *pvartype);
2744
2745 HRESULT (STDMETHODCALLTYPE *GetDisplayName)(
2746 IPropertyDescriptionSearchInfo *This,
2747 LPWSTR *ppszName);
2748
2749 HRESULT (STDMETHODCALLTYPE *GetEditInvitation)(
2750 IPropertyDescriptionSearchInfo *This,
2751 LPWSTR *ppszInvite);
2752
2753 HRESULT (STDMETHODCALLTYPE *GetTypeFlags)(
2754 IPropertyDescriptionSearchInfo *This,
2755 PROPDESC_TYPE_FLAGS mask,
2756 PROPDESC_TYPE_FLAGS *ppdtFlags);
2757
2758 HRESULT (STDMETHODCALLTYPE *GetViewFlags)(
2759 IPropertyDescriptionSearchInfo *This,
2760 PROPDESC_VIEW_FLAGS *ppdvFlags);
2761
2762 HRESULT (STDMETHODCALLTYPE *GetDefaultColumnWidth)(
2763 IPropertyDescriptionSearchInfo *This,
2764 UINT *pcxChars);
2765
2766 HRESULT (STDMETHODCALLTYPE *GetDisplayType)(
2767 IPropertyDescriptionSearchInfo *This,
2768 PROPDESC_DISPLAYTYPE *pdisplaytype);
2769
2770 HRESULT (STDMETHODCALLTYPE *GetColumnState)(
2771 IPropertyDescriptionSearchInfo *This,
2772 SHCOLSTATEF *pcsFlags);
2773
2774 HRESULT (STDMETHODCALLTYPE *GetGroupingRange)(
2775 IPropertyDescriptionSearchInfo *This,
2776 PROPDESC_GROUPING_RANGE *pgr);
2777
2778 HRESULT (STDMETHODCALLTYPE *GetRelativeDescriptionType)(
2779 IPropertyDescriptionSearchInfo *This,
2780 PROPDESC_RELATIVEDESCRIPTION_TYPE *prdt);
2781
2782 HRESULT (STDMETHODCALLTYPE *GetRelativeDescription)(
2783 IPropertyDescriptionSearchInfo *This,
2784 REFPROPVARIANT propvar1,
2785 REFPROPVARIANT propvar2,
2786 LPWSTR *ppszDesc1,
2787 LPWSTR *ppszDesc2);
2788
2789 HRESULT (STDMETHODCALLTYPE *GetSortDescription)(
2790 IPropertyDescriptionSearchInfo *This,
2791 PROPDESC_SORTDESCRIPTION *psd);
2792
2793 HRESULT (STDMETHODCALLTYPE *GetSortDescriptionLabel)(
2794 IPropertyDescriptionSearchInfo *This,
2795 WINBOOL fDescending,
2796 LPWSTR *ppszDescription);
2797
2798 HRESULT (STDMETHODCALLTYPE *GetAggregationType)(
2799 IPropertyDescriptionSearchInfo *This,
2800 PROPDESC_AGGREGATION_TYPE *paggtype);
2801
2802 HRESULT (STDMETHODCALLTYPE *GetConditionType)(
2803 IPropertyDescriptionSearchInfo *This,
2804 PROPDESC_CONDITION_TYPE *pcontype,
2805 CONDITION_OPERATION *popDefault);
2806
2807 HRESULT (STDMETHODCALLTYPE *GetEnumTypeList)(
2808 IPropertyDescriptionSearchInfo *This,
2809 REFIID riid,
2810 void **ppv);
2811
2812 HRESULT (STDMETHODCALLTYPE *CoerceToCanonicalValue)(
2813 IPropertyDescriptionSearchInfo *This,
2814 PROPVARIANT *ppropvar);
2815
2816 HRESULT (STDMETHODCALLTYPE *FormatForDisplay)(
2817 IPropertyDescriptionSearchInfo *This,
2818 REFPROPVARIANT propvar,
2819 PROPDESC_FORMAT_FLAGS pdfFlags,
2820 LPWSTR *ppszDisplay);
2821
2822 HRESULT (STDMETHODCALLTYPE *IsValueCanonical)(
2823 IPropertyDescriptionSearchInfo *This,
2824 REFPROPVARIANT propvar);
2825
2826 /*** IPropertyDescriptionSearchInfo methods ***/
2827 HRESULT (STDMETHODCALLTYPE *GetSearchInfoFlags)(
2828 IPropertyDescriptionSearchInfo *This,
2829 PROPDESC_SEARCHINFO_FLAGS *ppdsiFlags);
2830
2831 HRESULT (STDMETHODCALLTYPE *GetColumnIndexType)(
2832 IPropertyDescriptionSearchInfo *This,
2833 PROPDESC_COLUMNINDEX_TYPE *ppdciType);
2834
2835 HRESULT (STDMETHODCALLTYPE *GetProjectionString)(
2836 IPropertyDescriptionSearchInfo *This,
2837 LPWSTR *ppszProjection);
2838
2839 HRESULT (STDMETHODCALLTYPE *GetMaxSize)(
2840 IPropertyDescriptionSearchInfo *This,
2841 UINT *pcbMaxSize);
2842
2843 END_INTERFACE
2844} IPropertyDescriptionSearchInfoVtbl;
2845
2846interface IPropertyDescriptionSearchInfo {
2847 CONST_VTBL IPropertyDescriptionSearchInfoVtbl* lpVtbl;
2848};
2849
2850#ifdef COBJMACROS
2851#ifndef WIDL_C_INLINE_WRAPPERS
2852/*** IUnknown methods ***/
2853#define IPropertyDescriptionSearchInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2854#define IPropertyDescriptionSearchInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
2855#define IPropertyDescriptionSearchInfo_Release(This) (This)->lpVtbl->Release(This)
2856/*** IPropertyDescription methods ***/
2857#define IPropertyDescriptionSearchInfo_GetPropertyKey(This,pkey) (This)->lpVtbl->GetPropertyKey(This,pkey)
2858#define IPropertyDescriptionSearchInfo_GetCanonicalName(This,ppszName) (This)->lpVtbl->GetCanonicalName(This,ppszName)
2859#define IPropertyDescriptionSearchInfo_GetPropertyType(This,pvartype) (This)->lpVtbl->GetPropertyType(This,pvartype)
2860#define IPropertyDescriptionSearchInfo_GetDisplayName(This,ppszName) (This)->lpVtbl->GetDisplayName(This,ppszName)
2861#define IPropertyDescriptionSearchInfo_GetEditInvitation(This,ppszInvite) (This)->lpVtbl->GetEditInvitation(This,ppszInvite)
2862#define IPropertyDescriptionSearchInfo_GetTypeFlags(This,mask,ppdtFlags) (This)->lpVtbl->GetTypeFlags(This,mask,ppdtFlags)
2863#define IPropertyDescriptionSearchInfo_GetViewFlags(This,ppdvFlags) (This)->lpVtbl->GetViewFlags(This,ppdvFlags)
2864#define IPropertyDescriptionSearchInfo_GetDefaultColumnWidth(This,pcxChars) (This)->lpVtbl->GetDefaultColumnWidth(This,pcxChars)
2865#define IPropertyDescriptionSearchInfo_GetDisplayType(This,pdisplaytype) (This)->lpVtbl->GetDisplayType(This,pdisplaytype)
2866#define IPropertyDescriptionSearchInfo_GetColumnState(This,pcsFlags) (This)->lpVtbl->GetColumnState(This,pcsFlags)
2867#define IPropertyDescriptionSearchInfo_GetGroupingRange(This,pgr) (This)->lpVtbl->GetGroupingRange(This,pgr)
2868#define IPropertyDescriptionSearchInfo_GetRelativeDescriptionType(This,prdt) (This)->lpVtbl->GetRelativeDescriptionType(This,prdt)
2869#define IPropertyDescriptionSearchInfo_GetRelativeDescription(This,propvar1,propvar2,ppszDesc1,ppszDesc2) (This)->lpVtbl->GetRelativeDescription(This,propvar1,propvar2,ppszDesc1,ppszDesc2)
2870#define IPropertyDescriptionSearchInfo_GetSortDescription(This,psd) (This)->lpVtbl->GetSortDescription(This,psd)
2871#define IPropertyDescriptionSearchInfo_GetSortDescriptionLabel(This,fDescending,ppszDescription) (This)->lpVtbl->GetSortDescriptionLabel(This,fDescending,ppszDescription)
2872#define IPropertyDescriptionSearchInfo_GetAggregationType(This,paggtype) (This)->lpVtbl->GetAggregationType(This,paggtype)
2873#define IPropertyDescriptionSearchInfo_GetConditionType(This,pcontype,popDefault) (This)->lpVtbl->GetConditionType(This,pcontype,popDefault)
2874#define IPropertyDescriptionSearchInfo_GetEnumTypeList(This,riid,ppv) (This)->lpVtbl->GetEnumTypeList(This,riid,ppv)
2875#define IPropertyDescriptionSearchInfo_CoerceToCanonicalValue(This,ppropvar) (This)->lpVtbl->CoerceToCanonicalValue(This,ppropvar)
2876#define IPropertyDescriptionSearchInfo_FormatForDisplay(This,propvar,pdfFlags,ppszDisplay) (This)->lpVtbl->FormatForDisplay(This,propvar,pdfFlags,ppszDisplay)
2877#define IPropertyDescriptionSearchInfo_IsValueCanonical(This,propvar) (This)->lpVtbl->IsValueCanonical(This,propvar)
2878/*** IPropertyDescriptionSearchInfo methods ***/
2879#define IPropertyDescriptionSearchInfo_GetSearchInfoFlags(This,ppdsiFlags) (This)->lpVtbl->GetSearchInfoFlags(This,ppdsiFlags)
2880#define IPropertyDescriptionSearchInfo_GetColumnIndexType(This,ppdciType) (This)->lpVtbl->GetColumnIndexType(This,ppdciType)
2881#define IPropertyDescriptionSearchInfo_GetProjectionString(This,ppszProjection) (This)->lpVtbl->GetProjectionString(This,ppszProjection)
2882#define IPropertyDescriptionSearchInfo_GetMaxSize(This,pcbMaxSize) (This)->lpVtbl->GetMaxSize(This,pcbMaxSize)
2883#else
2884/*** IUnknown methods ***/
2885static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_QueryInterface(IPropertyDescriptionSearchInfo* This,REFIID riid,void **ppvObject) {
2886 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2887}
2888static FORCEINLINE ULONG IPropertyDescriptionSearchInfo_AddRef(IPropertyDescriptionSearchInfo* This) {
2889 return This->lpVtbl->AddRef(This);
2890}
2891static FORCEINLINE ULONG IPropertyDescriptionSearchInfo_Release(IPropertyDescriptionSearchInfo* This) {
2892 return This->lpVtbl->Release(This);
2893}
2894/*** IPropertyDescription methods ***/
2895static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_GetPropertyKey(IPropertyDescriptionSearchInfo* This,PROPERTYKEY *pkey) {
2896 return This->lpVtbl->GetPropertyKey(This,pkey);
2897}
2898static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_GetCanonicalName(IPropertyDescriptionSearchInfo* This,LPWSTR *ppszName) {
2899 return This->lpVtbl->GetCanonicalName(This,ppszName);
2900}
2901static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_GetPropertyType(IPropertyDescriptionSearchInfo* This,VARTYPE *pvartype) {
2902 return This->lpVtbl->GetPropertyType(This,pvartype);
2903}
2904static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_GetDisplayName(IPropertyDescriptionSearchInfo* This,LPWSTR *ppszName) {
2905 return This->lpVtbl->GetDisplayName(This,ppszName);
2906}
2907static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_GetEditInvitation(IPropertyDescriptionSearchInfo* This,LPWSTR *ppszInvite) {
2908 return This->lpVtbl->GetEditInvitation(This,ppszInvite);
2909}
2910static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_GetTypeFlags(IPropertyDescriptionSearchInfo* This,PROPDESC_TYPE_FLAGS mask,PROPDESC_TYPE_FLAGS *ppdtFlags) {
2911 return This->lpVtbl->GetTypeFlags(This,mask,ppdtFlags);
2912}
2913static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_GetViewFlags(IPropertyDescriptionSearchInfo* This,PROPDESC_VIEW_FLAGS *ppdvFlags) {
2914 return This->lpVtbl->GetViewFlags(This,ppdvFlags);
2915}
2916static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_GetDefaultColumnWidth(IPropertyDescriptionSearchInfo* This,UINT *pcxChars) {
2917 return This->lpVtbl->GetDefaultColumnWidth(This,pcxChars);
2918}
2919static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_GetDisplayType(IPropertyDescriptionSearchInfo* This,PROPDESC_DISPLAYTYPE *pdisplaytype) {
2920 return This->lpVtbl->GetDisplayType(This,pdisplaytype);
2921}
2922static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_GetColumnState(IPropertyDescriptionSearchInfo* This,SHCOLSTATEF *pcsFlags) {
2923 return This->lpVtbl->GetColumnState(This,pcsFlags);
2924}
2925static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_GetGroupingRange(IPropertyDescriptionSearchInfo* This,PROPDESC_GROUPING_RANGE *pgr) {
2926 return This->lpVtbl->GetGroupingRange(This,pgr);
2927}
2928static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_GetRelativeDescriptionType(IPropertyDescriptionSearchInfo* This,PROPDESC_RELATIVEDESCRIPTION_TYPE *prdt) {
2929 return This->lpVtbl->GetRelativeDescriptionType(This,prdt);
2930}
2931static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_GetRelativeDescription(IPropertyDescriptionSearchInfo* This,REFPROPVARIANT propvar1,REFPROPVARIANT propvar2,LPWSTR *ppszDesc1,LPWSTR *ppszDesc2) {
2932 return This->lpVtbl->GetRelativeDescription(This,propvar1,propvar2,ppszDesc1,ppszDesc2);
2933}
2934static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_GetSortDescription(IPropertyDescriptionSearchInfo* This,PROPDESC_SORTDESCRIPTION *psd) {
2935 return This->lpVtbl->GetSortDescription(This,psd);
2936}
2937static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_GetSortDescriptionLabel(IPropertyDescriptionSearchInfo* This,WINBOOL fDescending,LPWSTR *ppszDescription) {
2938 return This->lpVtbl->GetSortDescriptionLabel(This,fDescending,ppszDescription);
2939}
2940static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_GetAggregationType(IPropertyDescriptionSearchInfo* This,PROPDESC_AGGREGATION_TYPE *paggtype) {
2941 return This->lpVtbl->GetAggregationType(This,paggtype);
2942}
2943static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_GetConditionType(IPropertyDescriptionSearchInfo* This,PROPDESC_CONDITION_TYPE *pcontype,CONDITION_OPERATION *popDefault) {
2944 return This->lpVtbl->GetConditionType(This,pcontype,popDefault);
2945}
2946static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_GetEnumTypeList(IPropertyDescriptionSearchInfo* This,REFIID riid,void **ppv) {
2947 return This->lpVtbl->GetEnumTypeList(This,riid,ppv);
2948}
2949static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_CoerceToCanonicalValue(IPropertyDescriptionSearchInfo* This,PROPVARIANT *ppropvar) {
2950 return This->lpVtbl->CoerceToCanonicalValue(This,ppropvar);
2951}
2952static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_FormatForDisplay(IPropertyDescriptionSearchInfo* This,REFPROPVARIANT propvar,PROPDESC_FORMAT_FLAGS pdfFlags,LPWSTR *ppszDisplay) {
2953 return This->lpVtbl->FormatForDisplay(This,propvar,pdfFlags,ppszDisplay);
2954}
2955static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_IsValueCanonical(IPropertyDescriptionSearchInfo* This,REFPROPVARIANT propvar) {
2956 return This->lpVtbl->IsValueCanonical(This,propvar);
2957}
2958/*** IPropertyDescriptionSearchInfo methods ***/
2959static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_GetSearchInfoFlags(IPropertyDescriptionSearchInfo* This,PROPDESC_SEARCHINFO_FLAGS *ppdsiFlags) {
2960 return This->lpVtbl->GetSearchInfoFlags(This,ppdsiFlags);
2961}
2962static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_GetColumnIndexType(IPropertyDescriptionSearchInfo* This,PROPDESC_COLUMNINDEX_TYPE *ppdciType) {
2963 return This->lpVtbl->GetColumnIndexType(This,ppdciType);
2964}
2965static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_GetProjectionString(IPropertyDescriptionSearchInfo* This,LPWSTR *ppszProjection) {
2966 return This->lpVtbl->GetProjectionString(This,ppszProjection);
2967}
2968static FORCEINLINE HRESULT IPropertyDescriptionSearchInfo_GetMaxSize(IPropertyDescriptionSearchInfo* This,UINT *pcbMaxSize) {
2969 return This->lpVtbl->GetMaxSize(This,pcbMaxSize);
2970}
2971#endif
2972#endif
2973
2974#endif
2975
2976
2977#endif /* __IPropertyDescriptionSearchInfo_INTERFACE_DEFINED__ */
2978
2979
2980/*****************************************************************************
2981 * IPropertyDescriptionRelatedPropertyInfo interface
2982 */
2983#ifndef __IPropertyDescriptionRelatedPropertyInfo_INTERFACE_DEFINED__
2984#define __IPropertyDescriptionRelatedPropertyInfo_INTERFACE_DEFINED__
2985
2986DEFINE_GUID(IID_IPropertyDescriptionRelatedPropertyInfo, 0x507393f4, 0x2a3d, 0x4a60, 0xb5,0x9e, 0xd9,0xc7,0x57,0x16,0xc2,0xdd);
2987#if defined(__cplusplus) && !defined(CINTERFACE)
2988MIDL_INTERFACE("507393f4-2a3d-4a60-b59e-d9c75716c2dd")
2989IPropertyDescriptionRelatedPropertyInfo : public IPropertyDescription
2990{
2991 virtual HRESULT STDMETHODCALLTYPE GetRelatedProperty(
2992 LPCWSTR pszRelationshipName,
2993 REFIID riid,
2994 void **ppv) = 0;
2995
2996};
2997#ifdef __CRT_UUID_DECL
2998__CRT_UUID_DECL(IPropertyDescriptionRelatedPropertyInfo, 0x507393f4, 0x2a3d, 0x4a60, 0xb5,0x9e, 0xd9,0xc7,0x57,0x16,0xc2,0xdd)
2999#endif
3000#else
3001typedef struct IPropertyDescriptionRelatedPropertyInfoVtbl {
3002 BEGIN_INTERFACE
3003
3004 /*** IUnknown methods ***/
3005 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3006 IPropertyDescriptionRelatedPropertyInfo *This,
3007 REFIID riid,
3008 void **ppvObject);
3009
3010 ULONG (STDMETHODCALLTYPE *AddRef)(
3011 IPropertyDescriptionRelatedPropertyInfo *This);
3012
3013 ULONG (STDMETHODCALLTYPE *Release)(
3014 IPropertyDescriptionRelatedPropertyInfo *This);
3015
3016 /*** IPropertyDescription methods ***/
3017 HRESULT (STDMETHODCALLTYPE *GetPropertyKey)(
3018 IPropertyDescriptionRelatedPropertyInfo *This,
3019 PROPERTYKEY *pkey);
3020
3021 HRESULT (STDMETHODCALLTYPE *GetCanonicalName)(
3022 IPropertyDescriptionRelatedPropertyInfo *This,
3023 LPWSTR *ppszName);
3024
3025 HRESULT (STDMETHODCALLTYPE *GetPropertyType)(
3026 IPropertyDescriptionRelatedPropertyInfo *This,
3027 VARTYPE *pvartype);
3028
3029 HRESULT (STDMETHODCALLTYPE *GetDisplayName)(
3030 IPropertyDescriptionRelatedPropertyInfo *This,
3031 LPWSTR *ppszName);
3032
3033 HRESULT (STDMETHODCALLTYPE *GetEditInvitation)(
3034 IPropertyDescriptionRelatedPropertyInfo *This,
3035 LPWSTR *ppszInvite);
3036
3037 HRESULT (STDMETHODCALLTYPE *GetTypeFlags)(
3038 IPropertyDescriptionRelatedPropertyInfo *This,
3039 PROPDESC_TYPE_FLAGS mask,
3040 PROPDESC_TYPE_FLAGS *ppdtFlags);
3041
3042 HRESULT (STDMETHODCALLTYPE *GetViewFlags)(
3043 IPropertyDescriptionRelatedPropertyInfo *This,
3044 PROPDESC_VIEW_FLAGS *ppdvFlags);
3045
3046 HRESULT (STDMETHODCALLTYPE *GetDefaultColumnWidth)(
3047 IPropertyDescriptionRelatedPropertyInfo *This,
3048 UINT *pcxChars);
3049
3050 HRESULT (STDMETHODCALLTYPE *GetDisplayType)(
3051 IPropertyDescriptionRelatedPropertyInfo *This,
3052 PROPDESC_DISPLAYTYPE *pdisplaytype);
3053
3054 HRESULT (STDMETHODCALLTYPE *GetColumnState)(
3055 IPropertyDescriptionRelatedPropertyInfo *This,
3056 SHCOLSTATEF *pcsFlags);
3057
3058 HRESULT (STDMETHODCALLTYPE *GetGroupingRange)(
3059 IPropertyDescriptionRelatedPropertyInfo *This,
3060 PROPDESC_GROUPING_RANGE *pgr);
3061
3062 HRESULT (STDMETHODCALLTYPE *GetRelativeDescriptionType)(
3063 IPropertyDescriptionRelatedPropertyInfo *This,
3064 PROPDESC_RELATIVEDESCRIPTION_TYPE *prdt);
3065
3066 HRESULT (STDMETHODCALLTYPE *GetRelativeDescription)(
3067 IPropertyDescriptionRelatedPropertyInfo *This,
3068 REFPROPVARIANT propvar1,
3069 REFPROPVARIANT propvar2,
3070 LPWSTR *ppszDesc1,
3071 LPWSTR *ppszDesc2);
3072
3073 HRESULT (STDMETHODCALLTYPE *GetSortDescription)(
3074 IPropertyDescriptionRelatedPropertyInfo *This,
3075 PROPDESC_SORTDESCRIPTION *psd);
3076
3077 HRESULT (STDMETHODCALLTYPE *GetSortDescriptionLabel)(
3078 IPropertyDescriptionRelatedPropertyInfo *This,
3079 WINBOOL fDescending,
3080 LPWSTR *ppszDescription);
3081
3082 HRESULT (STDMETHODCALLTYPE *GetAggregationType)(
3083 IPropertyDescriptionRelatedPropertyInfo *This,
3084 PROPDESC_AGGREGATION_TYPE *paggtype);
3085
3086 HRESULT (STDMETHODCALLTYPE *GetConditionType)(
3087 IPropertyDescriptionRelatedPropertyInfo *This,
3088 PROPDESC_CONDITION_TYPE *pcontype,
3089 CONDITION_OPERATION *popDefault);
3090
3091 HRESULT (STDMETHODCALLTYPE *GetEnumTypeList)(
3092 IPropertyDescriptionRelatedPropertyInfo *This,
3093 REFIID riid,
3094 void **ppv);
3095
3096 HRESULT (STDMETHODCALLTYPE *CoerceToCanonicalValue)(
3097 IPropertyDescriptionRelatedPropertyInfo *This,
3098 PROPVARIANT *ppropvar);
3099
3100 HRESULT (STDMETHODCALLTYPE *FormatForDisplay)(
3101 IPropertyDescriptionRelatedPropertyInfo *This,
3102 REFPROPVARIANT propvar,
3103 PROPDESC_FORMAT_FLAGS pdfFlags,
3104 LPWSTR *ppszDisplay);
3105
3106 HRESULT (STDMETHODCALLTYPE *IsValueCanonical)(
3107 IPropertyDescriptionRelatedPropertyInfo *This,
3108 REFPROPVARIANT propvar);
3109
3110 /*** IPropertyDescriptionRelatedPropertyInfo methods ***/
3111 HRESULT (STDMETHODCALLTYPE *GetRelatedProperty)(
3112 IPropertyDescriptionRelatedPropertyInfo *This,
3113 LPCWSTR pszRelationshipName,
3114 REFIID riid,
3115 void **ppv);
3116
3117 END_INTERFACE
3118} IPropertyDescriptionRelatedPropertyInfoVtbl;
3119
3120interface IPropertyDescriptionRelatedPropertyInfo {
3121 CONST_VTBL IPropertyDescriptionRelatedPropertyInfoVtbl* lpVtbl;
3122};
3123
3124#ifdef COBJMACROS
3125#ifndef WIDL_C_INLINE_WRAPPERS
3126/*** IUnknown methods ***/
3127#define IPropertyDescriptionRelatedPropertyInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3128#define IPropertyDescriptionRelatedPropertyInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
3129#define IPropertyDescriptionRelatedPropertyInfo_Release(This) (This)->lpVtbl->Release(This)
3130/*** IPropertyDescription methods ***/
3131#define IPropertyDescriptionRelatedPropertyInfo_GetPropertyKey(This,pkey) (This)->lpVtbl->GetPropertyKey(This,pkey)
3132#define IPropertyDescriptionRelatedPropertyInfo_GetCanonicalName(This,ppszName) (This)->lpVtbl->GetCanonicalName(This,ppszName)
3133#define IPropertyDescriptionRelatedPropertyInfo_GetPropertyType(This,pvartype) (This)->lpVtbl->GetPropertyType(This,pvartype)
3134#define IPropertyDescriptionRelatedPropertyInfo_GetDisplayName(This,ppszName) (This)->lpVtbl->GetDisplayName(This,ppszName)
3135#define IPropertyDescriptionRelatedPropertyInfo_GetEditInvitation(This,ppszInvite) (This)->lpVtbl->GetEditInvitation(This,ppszInvite)
3136#define IPropertyDescriptionRelatedPropertyInfo_GetTypeFlags(This,mask,ppdtFlags) (This)->lpVtbl->GetTypeFlags(This,mask,ppdtFlags)
3137#define IPropertyDescriptionRelatedPropertyInfo_GetViewFlags(This,ppdvFlags) (This)->lpVtbl->GetViewFlags(This,ppdvFlags)
3138#define IPropertyDescriptionRelatedPropertyInfo_GetDefaultColumnWidth(This,pcxChars) (This)->lpVtbl->GetDefaultColumnWidth(This,pcxChars)
3139#define IPropertyDescriptionRelatedPropertyInfo_GetDisplayType(This,pdisplaytype) (This)->lpVtbl->GetDisplayType(This,pdisplaytype)
3140#define IPropertyDescriptionRelatedPropertyInfo_GetColumnState(This,pcsFlags) (This)->lpVtbl->GetColumnState(This,pcsFlags)
3141#define IPropertyDescriptionRelatedPropertyInfo_GetGroupingRange(This,pgr) (This)->lpVtbl->GetGroupingRange(This,pgr)
3142#define IPropertyDescriptionRelatedPropertyInfo_GetRelativeDescriptionType(This,prdt) (This)->lpVtbl->GetRelativeDescriptionType(This,prdt)
3143#define IPropertyDescriptionRelatedPropertyInfo_GetRelativeDescription(This,propvar1,propvar2,ppszDesc1,ppszDesc2) (This)->lpVtbl->GetRelativeDescription(This,propvar1,propvar2,ppszDesc1,ppszDesc2)
3144#define IPropertyDescriptionRelatedPropertyInfo_GetSortDescription(This,psd) (This)->lpVtbl->GetSortDescription(This,psd)
3145#define IPropertyDescriptionRelatedPropertyInfo_GetSortDescriptionLabel(This,fDescending,ppszDescription) (This)->lpVtbl->GetSortDescriptionLabel(This,fDescending,ppszDescription)
3146#define IPropertyDescriptionRelatedPropertyInfo_GetAggregationType(This,paggtype) (This)->lpVtbl->GetAggregationType(This,paggtype)
3147#define IPropertyDescriptionRelatedPropertyInfo_GetConditionType(This,pcontype,popDefault) (This)->lpVtbl->GetConditionType(This,pcontype,popDefault)
3148#define IPropertyDescriptionRelatedPropertyInfo_GetEnumTypeList(This,riid,ppv) (This)->lpVtbl->GetEnumTypeList(This,riid,ppv)
3149#define IPropertyDescriptionRelatedPropertyInfo_CoerceToCanonicalValue(This,ppropvar) (This)->lpVtbl->CoerceToCanonicalValue(This,ppropvar)
3150#define IPropertyDescriptionRelatedPropertyInfo_FormatForDisplay(This,propvar,pdfFlags,ppszDisplay) (This)->lpVtbl->FormatForDisplay(This,propvar,pdfFlags,ppszDisplay)
3151#define IPropertyDescriptionRelatedPropertyInfo_IsValueCanonical(This,propvar) (This)->lpVtbl->IsValueCanonical(This,propvar)
3152/*** IPropertyDescriptionRelatedPropertyInfo methods ***/
3153#define IPropertyDescriptionRelatedPropertyInfo_GetRelatedProperty(This,pszRelationshipName,riid,ppv) (This)->lpVtbl->GetRelatedProperty(This,pszRelationshipName,riid,ppv)
3154#else
3155/*** IUnknown methods ***/
3156static FORCEINLINE HRESULT IPropertyDescriptionRelatedPropertyInfo_QueryInterface(IPropertyDescriptionRelatedPropertyInfo* This,REFIID riid,void **ppvObject) {
3157 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3158}
3159static FORCEINLINE ULONG IPropertyDescriptionRelatedPropertyInfo_AddRef(IPropertyDescriptionRelatedPropertyInfo* This) {
3160 return This->lpVtbl->AddRef(This);
3161}
3162static FORCEINLINE ULONG IPropertyDescriptionRelatedPropertyInfo_Release(IPropertyDescriptionRelatedPropertyInfo* This) {
3163 return This->lpVtbl->Release(This);
3164}
3165/*** IPropertyDescription methods ***/
3166static FORCEINLINE HRESULT IPropertyDescriptionRelatedPropertyInfo_GetPropertyKey(IPropertyDescriptionRelatedPropertyInfo* This,PROPERTYKEY *pkey) {
3167 return This->lpVtbl->GetPropertyKey(This,pkey);
3168}
3169static FORCEINLINE HRESULT IPropertyDescriptionRelatedPropertyInfo_GetCanonicalName(IPropertyDescriptionRelatedPropertyInfo* This,LPWSTR *ppszName) {
3170 return This->lpVtbl->GetCanonicalName(This,ppszName);
3171}
3172static FORCEINLINE HRESULT IPropertyDescriptionRelatedPropertyInfo_GetPropertyType(IPropertyDescriptionRelatedPropertyInfo* This,VARTYPE *pvartype) {
3173 return This->lpVtbl->GetPropertyType(This,pvartype);
3174}
3175static FORCEINLINE HRESULT IPropertyDescriptionRelatedPropertyInfo_GetDisplayName(IPropertyDescriptionRelatedPropertyInfo* This,LPWSTR *ppszName) {
3176 return This->lpVtbl->GetDisplayName(This,ppszName);
3177}
3178static FORCEINLINE HRESULT IPropertyDescriptionRelatedPropertyInfo_GetEditInvitation(IPropertyDescriptionRelatedPropertyInfo* This,LPWSTR *ppszInvite) {
3179 return This->lpVtbl->GetEditInvitation(This,ppszInvite);
3180}
3181static FORCEINLINE HRESULT IPropertyDescriptionRelatedPropertyInfo_GetTypeFlags(IPropertyDescriptionRelatedPropertyInfo* This,PROPDESC_TYPE_FLAGS mask,PROPDESC_TYPE_FLAGS *ppdtFlags) {
3182 return This->lpVtbl->GetTypeFlags(This,mask,ppdtFlags);
3183}
3184static FORCEINLINE HRESULT IPropertyDescriptionRelatedPropertyInfo_GetViewFlags(IPropertyDescriptionRelatedPropertyInfo* This,PROPDESC_VIEW_FLAGS *ppdvFlags) {
3185 return This->lpVtbl->GetViewFlags(This,ppdvFlags);
3186}
3187static FORCEINLINE HRESULT IPropertyDescriptionRelatedPropertyInfo_GetDefaultColumnWidth(IPropertyDescriptionRelatedPropertyInfo* This,UINT *pcxChars) {
3188 return This->lpVtbl->GetDefaultColumnWidth(This,pcxChars);
3189}
3190static FORCEINLINE HRESULT IPropertyDescriptionRelatedPropertyInfo_GetDisplayType(IPropertyDescriptionRelatedPropertyInfo* This,PROPDESC_DISPLAYTYPE *pdisplaytype) {
3191 return This->lpVtbl->GetDisplayType(This,pdisplaytype);
3192}
3193static FORCEINLINE HRESULT IPropertyDescriptionRelatedPropertyInfo_GetColumnState(IPropertyDescriptionRelatedPropertyInfo* This,SHCOLSTATEF *pcsFlags) {
3194 return This->lpVtbl->GetColumnState(This,pcsFlags);
3195}
3196static FORCEINLINE HRESULT IPropertyDescriptionRelatedPropertyInfo_GetGroupingRange(IPropertyDescriptionRelatedPropertyInfo* This,PROPDESC_GROUPING_RANGE *pgr) {
3197 return This->lpVtbl->GetGroupingRange(This,pgr);
3198}
3199static FORCEINLINE HRESULT IPropertyDescriptionRelatedPropertyInfo_GetRelativeDescriptionType(IPropertyDescriptionRelatedPropertyInfo* This,PROPDESC_RELATIVEDESCRIPTION_TYPE *prdt) {
3200 return This->lpVtbl->GetRelativeDescriptionType(This,prdt);
3201}
3202static FORCEINLINE HRESULT IPropertyDescriptionRelatedPropertyInfo_GetRelativeDescription(IPropertyDescriptionRelatedPropertyInfo* This,REFPROPVARIANT propvar1,REFPROPVARIANT propvar2,LPWSTR *ppszDesc1,LPWSTR *ppszDesc2) {
3203 return This->lpVtbl->GetRelativeDescription(This,propvar1,propvar2,ppszDesc1,ppszDesc2);
3204}
3205static FORCEINLINE HRESULT IPropertyDescriptionRelatedPropertyInfo_GetSortDescription(IPropertyDescriptionRelatedPropertyInfo* This,PROPDESC_SORTDESCRIPTION *psd) {
3206 return This->lpVtbl->GetSortDescription(This,psd);
3207}
3208static FORCEINLINE HRESULT IPropertyDescriptionRelatedPropertyInfo_GetSortDescriptionLabel(IPropertyDescriptionRelatedPropertyInfo* This,WINBOOL fDescending,LPWSTR *ppszDescription) {
3209 return This->lpVtbl->GetSortDescriptionLabel(This,fDescending,ppszDescription);
3210}
3211static FORCEINLINE HRESULT IPropertyDescriptionRelatedPropertyInfo_GetAggregationType(IPropertyDescriptionRelatedPropertyInfo* This,PROPDESC_AGGREGATION_TYPE *paggtype) {
3212 return This->lpVtbl->GetAggregationType(This,paggtype);
3213}
3214static FORCEINLINE HRESULT IPropertyDescriptionRelatedPropertyInfo_GetConditionType(IPropertyDescriptionRelatedPropertyInfo* This,PROPDESC_CONDITION_TYPE *pcontype,CONDITION_OPERATION *popDefault) {
3215 return This->lpVtbl->GetConditionType(This,pcontype,popDefault);
3216}
3217static FORCEINLINE HRESULT IPropertyDescriptionRelatedPropertyInfo_GetEnumTypeList(IPropertyDescriptionRelatedPropertyInfo* This,REFIID riid,void **ppv) {
3218 return This->lpVtbl->GetEnumTypeList(This,riid,ppv);
3219}
3220static FORCEINLINE HRESULT IPropertyDescriptionRelatedPropertyInfo_CoerceToCanonicalValue(IPropertyDescriptionRelatedPropertyInfo* This,PROPVARIANT *ppropvar) {
3221 return This->lpVtbl->CoerceToCanonicalValue(This,ppropvar);
3222}
3223static FORCEINLINE HRESULT IPropertyDescriptionRelatedPropertyInfo_FormatForDisplay(IPropertyDescriptionRelatedPropertyInfo* This,REFPROPVARIANT propvar,PROPDESC_FORMAT_FLAGS pdfFlags,LPWSTR *ppszDisplay) {
3224 return This->lpVtbl->FormatForDisplay(This,propvar,pdfFlags,ppszDisplay);
3225}
3226static FORCEINLINE HRESULT IPropertyDescriptionRelatedPropertyInfo_IsValueCanonical(IPropertyDescriptionRelatedPropertyInfo* This,REFPROPVARIANT propvar) {
3227 return This->lpVtbl->IsValueCanonical(This,propvar);
3228}
3229/*** IPropertyDescriptionRelatedPropertyInfo methods ***/
3230static FORCEINLINE HRESULT IPropertyDescriptionRelatedPropertyInfo_GetRelatedProperty(IPropertyDescriptionRelatedPropertyInfo* This,LPCWSTR pszRelationshipName,REFIID riid,void **ppv) {
3231 return This->lpVtbl->GetRelatedProperty(This,pszRelationshipName,riid,ppv);
3232}
3233#endif
3234#endif
3235
3236#endif
3237
3238
3239#endif /* __IPropertyDescriptionRelatedPropertyInfo_INTERFACE_DEFINED__ */
3240
3241
3242typedef enum PROPDESC_ENUMFILTER {
3243 PDEF_ALL = 0,
3244 PDEF_SYSTEM = 1,
3245 PDEF_NONSYSTEM = 2,
3246 PDEF_VIEWABLE = 3,
3247 PDEF_QUERYABLE = 4,
3248 PDEF_INFULLTEXTQUERY = 5,
3249 PDEF_COLUMN = 6
3250} PROPDESC_ENUMFILTER;
3251
3252/*****************************************************************************
3253 * IPropertySystem interface
3254 */
3255#ifndef __IPropertySystem_INTERFACE_DEFINED__
3256#define __IPropertySystem_INTERFACE_DEFINED__
3257
3258DEFINE_GUID(IID_IPropertySystem, 0xca724e8a, 0xc3e6, 0x442b, 0x88,0xa4, 0x6f,0xb0,0xdb,0x80,0x35,0xa3);
3259#if defined(__cplusplus) && !defined(CINTERFACE)
3260MIDL_INTERFACE("ca724e8a-c3e6-442b-88a4-6fb0db8035a3")
3261IPropertySystem : public IUnknown
3262{
3263 virtual HRESULT STDMETHODCALLTYPE GetPropertyDescription(
3264 REFPROPERTYKEY propkey,
3265 REFIID riid,
3266 void **ppv) = 0;
3267
3268 virtual HRESULT STDMETHODCALLTYPE GetPropertyDescriptionByName(
3269 LPCWSTR pszCanonicalName,
3270 REFIID riid,
3271 void **ppv) = 0;
3272
3273 virtual HRESULT STDMETHODCALLTYPE GetPropertyDescriptionListFromString(
3274 LPCWSTR pszPropList,
3275 REFIID riid,
3276 void **ppv) = 0;
3277
3278 virtual HRESULT STDMETHODCALLTYPE EnumeratePropertyDescriptions(
3279 PROPDESC_ENUMFILTER filterOn,
3280 REFIID riid,
3281 void **ppv) = 0;
3282
3283 virtual HRESULT STDMETHODCALLTYPE FormatForDisplay(
3284 REFPROPERTYKEY key,
3285 REFPROPVARIANT propvar,
3286 PROPDESC_FORMAT_FLAGS pdff,
3287 LPWSTR pszText,
3288 DWORD cchText) = 0;
3289
3290 virtual HRESULT STDMETHODCALLTYPE FormatForDisplayAlloc(
3291 REFPROPERTYKEY key,
3292 REFPROPVARIANT propvar,
3293 PROPDESC_FORMAT_FLAGS pdff,
3294 LPWSTR *ppszDisplay) = 0;
3295
3296 virtual HRESULT STDMETHODCALLTYPE RegisterPropertySchema(
3297 LPCWSTR pszPath) = 0;
3298
3299 virtual HRESULT STDMETHODCALLTYPE UnregisterPropertySchema(
3300 LPCWSTR pszPath) = 0;
3301
3302 virtual HRESULT STDMETHODCALLTYPE RefreshPropertySchema(
3303 ) = 0;
3304
3305};
3306#ifdef __CRT_UUID_DECL
3307__CRT_UUID_DECL(IPropertySystem, 0xca724e8a, 0xc3e6, 0x442b, 0x88,0xa4, 0x6f,0xb0,0xdb,0x80,0x35,0xa3)
3308#endif
3309#else
3310typedef struct IPropertySystemVtbl {
3311 BEGIN_INTERFACE
3312
3313 /*** IUnknown methods ***/
3314 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3315 IPropertySystem *This,
3316 REFIID riid,
3317 void **ppvObject);
3318
3319 ULONG (STDMETHODCALLTYPE *AddRef)(
3320 IPropertySystem *This);
3321
3322 ULONG (STDMETHODCALLTYPE *Release)(
3323 IPropertySystem *This);
3324
3325 /*** IPropertySystem methods ***/
3326 HRESULT (STDMETHODCALLTYPE *GetPropertyDescription)(
3327 IPropertySystem *This,
3328 REFPROPERTYKEY propkey,
3329 REFIID riid,
3330 void **ppv);
3331
3332 HRESULT (STDMETHODCALLTYPE *GetPropertyDescriptionByName)(
3333 IPropertySystem *This,
3334 LPCWSTR pszCanonicalName,
3335 REFIID riid,
3336 void **ppv);
3337
3338 HRESULT (STDMETHODCALLTYPE *GetPropertyDescriptionListFromString)(
3339 IPropertySystem *This,
3340 LPCWSTR pszPropList,
3341 REFIID riid,
3342 void **ppv);
3343
3344 HRESULT (STDMETHODCALLTYPE *EnumeratePropertyDescriptions)(
3345 IPropertySystem *This,
3346 PROPDESC_ENUMFILTER filterOn,
3347 REFIID riid,
3348 void **ppv);
3349
3350 HRESULT (STDMETHODCALLTYPE *FormatForDisplay)(
3351 IPropertySystem *This,
3352 REFPROPERTYKEY key,
3353 REFPROPVARIANT propvar,
3354 PROPDESC_FORMAT_FLAGS pdff,
3355 LPWSTR pszText,
3356 DWORD cchText);
3357
3358 HRESULT (STDMETHODCALLTYPE *FormatForDisplayAlloc)(
3359 IPropertySystem *This,
3360 REFPROPERTYKEY key,
3361 REFPROPVARIANT propvar,
3362 PROPDESC_FORMAT_FLAGS pdff,
3363 LPWSTR *ppszDisplay);
3364
3365 HRESULT (STDMETHODCALLTYPE *RegisterPropertySchema)(
3366 IPropertySystem *This,
3367 LPCWSTR pszPath);
3368
3369 HRESULT (STDMETHODCALLTYPE *UnregisterPropertySchema)(
3370 IPropertySystem *This,
3371 LPCWSTR pszPath);
3372
3373 HRESULT (STDMETHODCALLTYPE *RefreshPropertySchema)(
3374 IPropertySystem *This);
3375
3376 END_INTERFACE
3377} IPropertySystemVtbl;
3378
3379interface IPropertySystem {
3380 CONST_VTBL IPropertySystemVtbl* lpVtbl;
3381};
3382
3383#ifdef COBJMACROS
3384#ifndef WIDL_C_INLINE_WRAPPERS
3385/*** IUnknown methods ***/
3386#define IPropertySystem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3387#define IPropertySystem_AddRef(This) (This)->lpVtbl->AddRef(This)
3388#define IPropertySystem_Release(This) (This)->lpVtbl->Release(This)
3389/*** IPropertySystem methods ***/
3390#define IPropertySystem_GetPropertyDescription(This,propkey,riid,ppv) (This)->lpVtbl->GetPropertyDescription(This,propkey,riid,ppv)
3391#define IPropertySystem_GetPropertyDescriptionByName(This,pszCanonicalName,riid,ppv) (This)->lpVtbl->GetPropertyDescriptionByName(This,pszCanonicalName,riid,ppv)
3392#define IPropertySystem_GetPropertyDescriptionListFromString(This,pszPropList,riid,ppv) (This)->lpVtbl->GetPropertyDescriptionListFromString(This,pszPropList,riid,ppv)
3393#define IPropertySystem_EnumeratePropertyDescriptions(This,filterOn,riid,ppv) (This)->lpVtbl->EnumeratePropertyDescriptions(This,filterOn,riid,ppv)
3394#define IPropertySystem_FormatForDisplay(This,key,propvar,pdff,pszText,cchText) (This)->lpVtbl->FormatForDisplay(This,key,propvar,pdff,pszText,cchText)
3395#define IPropertySystem_FormatForDisplayAlloc(This,key,propvar,pdff,ppszDisplay) (This)->lpVtbl->FormatForDisplayAlloc(This,key,propvar,pdff,ppszDisplay)
3396#define IPropertySystem_RegisterPropertySchema(This,pszPath) (This)->lpVtbl->RegisterPropertySchema(This,pszPath)
3397#define IPropertySystem_UnregisterPropertySchema(This,pszPath) (This)->lpVtbl->UnregisterPropertySchema(This,pszPath)
3398#define IPropertySystem_RefreshPropertySchema(This) (This)->lpVtbl->RefreshPropertySchema(This)
3399#else
3400/*** IUnknown methods ***/
3401static FORCEINLINE HRESULT IPropertySystem_QueryInterface(IPropertySystem* This,REFIID riid,void **ppvObject) {
3402 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3403}
3404static FORCEINLINE ULONG IPropertySystem_AddRef(IPropertySystem* This) {
3405 return This->lpVtbl->AddRef(This);
3406}
3407static FORCEINLINE ULONG IPropertySystem_Release(IPropertySystem* This) {
3408 return This->lpVtbl->Release(This);
3409}
3410/*** IPropertySystem methods ***/
3411static FORCEINLINE HRESULT IPropertySystem_GetPropertyDescription(IPropertySystem* This,REFPROPERTYKEY propkey,REFIID riid,void **ppv) {
3412 return This->lpVtbl->GetPropertyDescription(This,propkey,riid,ppv);
3413}
3414static FORCEINLINE HRESULT IPropertySystem_GetPropertyDescriptionByName(IPropertySystem* This,LPCWSTR pszCanonicalName,REFIID riid,void **ppv) {
3415 return This->lpVtbl->GetPropertyDescriptionByName(This,pszCanonicalName,riid,ppv);
3416}
3417static FORCEINLINE HRESULT IPropertySystem_GetPropertyDescriptionListFromString(IPropertySystem* This,LPCWSTR pszPropList,REFIID riid,void **ppv) {
3418 return This->lpVtbl->GetPropertyDescriptionListFromString(This,pszPropList,riid,ppv);
3419}
3420static FORCEINLINE HRESULT IPropertySystem_EnumeratePropertyDescriptions(IPropertySystem* This,PROPDESC_ENUMFILTER filterOn,REFIID riid,void **ppv) {
3421 return This->lpVtbl->EnumeratePropertyDescriptions(This,filterOn,riid,ppv);
3422}
3423static FORCEINLINE HRESULT IPropertySystem_FormatForDisplay(IPropertySystem* This,REFPROPERTYKEY key,REFPROPVARIANT propvar,PROPDESC_FORMAT_FLAGS pdff,LPWSTR pszText,DWORD cchText) {
3424 return This->lpVtbl->FormatForDisplay(This,key,propvar,pdff,pszText,cchText);
3425}
3426static FORCEINLINE HRESULT IPropertySystem_FormatForDisplayAlloc(IPropertySystem* This,REFPROPERTYKEY key,REFPROPVARIANT propvar,PROPDESC_FORMAT_FLAGS pdff,LPWSTR *ppszDisplay) {
3427 return This->lpVtbl->FormatForDisplayAlloc(This,key,propvar,pdff,ppszDisplay);
3428}
3429static FORCEINLINE HRESULT IPropertySystem_RegisterPropertySchema(IPropertySystem* This,LPCWSTR pszPath) {
3430 return This->lpVtbl->RegisterPropertySchema(This,pszPath);
3431}
3432static FORCEINLINE HRESULT IPropertySystem_UnregisterPropertySchema(IPropertySystem* This,LPCWSTR pszPath) {
3433 return This->lpVtbl->UnregisterPropertySchema(This,pszPath);
3434}
3435static FORCEINLINE HRESULT IPropertySystem_RefreshPropertySchema(IPropertySystem* This) {
3436 return This->lpVtbl->RefreshPropertySchema(This);
3437}
3438#endif
3439#endif
3440
3441#endif
3442
3443
3444#endif /* __IPropertySystem_INTERFACE_DEFINED__ */
3445
3446
3447/*****************************************************************************
3448 * IPropertyDescriptionList interface
3449 */
3450#ifndef __IPropertyDescriptionList_INTERFACE_DEFINED__
3451#define __IPropertyDescriptionList_INTERFACE_DEFINED__
3452
3453DEFINE_GUID(IID_IPropertyDescriptionList, 0x1f9fc1d0, 0xc39b, 0x4b26, 0x81,0x7f, 0x01,0x19,0x67,0xd3,0x44,0x0e);
3454#if defined(__cplusplus) && !defined(CINTERFACE)
3455MIDL_INTERFACE("1f9fc1d0-c39b-4b26-817f-011967d3440e")
3456IPropertyDescriptionList : public IUnknown
3457{
3458 virtual HRESULT STDMETHODCALLTYPE GetCount(
3459 UINT *pcElem) = 0;
3460
3461 virtual HRESULT STDMETHODCALLTYPE GetAt(
3462 UINT iElem,
3463 REFIID riid,
3464 void **ppv) = 0;
3465
3466};
3467#ifdef __CRT_UUID_DECL
3468__CRT_UUID_DECL(IPropertyDescriptionList, 0x1f9fc1d0, 0xc39b, 0x4b26, 0x81,0x7f, 0x01,0x19,0x67,0xd3,0x44,0x0e)
3469#endif
3470#else
3471typedef struct IPropertyDescriptionListVtbl {
3472 BEGIN_INTERFACE
3473
3474 /*** IUnknown methods ***/
3475 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3476 IPropertyDescriptionList *This,
3477 REFIID riid,
3478 void **ppvObject);
3479
3480 ULONG (STDMETHODCALLTYPE *AddRef)(
3481 IPropertyDescriptionList *This);
3482
3483 ULONG (STDMETHODCALLTYPE *Release)(
3484 IPropertyDescriptionList *This);
3485
3486 /*** IPropertyDescriptionList methods ***/
3487 HRESULT (STDMETHODCALLTYPE *GetCount)(
3488 IPropertyDescriptionList *This,
3489 UINT *pcElem);
3490
3491 HRESULT (STDMETHODCALLTYPE *GetAt)(
3492 IPropertyDescriptionList *This,
3493 UINT iElem,
3494 REFIID riid,
3495 void **ppv);
3496
3497 END_INTERFACE
3498} IPropertyDescriptionListVtbl;
3499
3500interface IPropertyDescriptionList {
3501 CONST_VTBL IPropertyDescriptionListVtbl* lpVtbl;
3502};
3503
3504#ifdef COBJMACROS
3505#ifndef WIDL_C_INLINE_WRAPPERS
3506/*** IUnknown methods ***/
3507#define IPropertyDescriptionList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3508#define IPropertyDescriptionList_AddRef(This) (This)->lpVtbl->AddRef(This)
3509#define IPropertyDescriptionList_Release(This) (This)->lpVtbl->Release(This)
3510/*** IPropertyDescriptionList methods ***/
3511#define IPropertyDescriptionList_GetCount(This,pcElem) (This)->lpVtbl->GetCount(This,pcElem)
3512#define IPropertyDescriptionList_GetAt(This,iElem,riid,ppv) (This)->lpVtbl->GetAt(This,iElem,riid,ppv)
3513#else
3514/*** IUnknown methods ***/
3515static FORCEINLINE HRESULT IPropertyDescriptionList_QueryInterface(IPropertyDescriptionList* This,REFIID riid,void **ppvObject) {
3516 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3517}
3518static FORCEINLINE ULONG IPropertyDescriptionList_AddRef(IPropertyDescriptionList* This) {
3519 return This->lpVtbl->AddRef(This);
3520}
3521static FORCEINLINE ULONG IPropertyDescriptionList_Release(IPropertyDescriptionList* This) {
3522 return This->lpVtbl->Release(This);
3523}
3524/*** IPropertyDescriptionList methods ***/
3525static FORCEINLINE HRESULT IPropertyDescriptionList_GetCount(IPropertyDescriptionList* This,UINT *pcElem) {
3526 return This->lpVtbl->GetCount(This,pcElem);
3527}
3528static FORCEINLINE HRESULT IPropertyDescriptionList_GetAt(IPropertyDescriptionList* This,UINT iElem,REFIID riid,void **ppv) {
3529 return This->lpVtbl->GetAt(This,iElem,riid,ppv);
3530}
3531#endif
3532#endif
3533
3534#endif
3535
3536
3537#endif /* __IPropertyDescriptionList_INTERFACE_DEFINED__ */
3538
3539
3540/*****************************************************************************
3541 * IPropertyStoreFactory interface
3542 */
3543#ifndef __IPropertyStoreFactory_INTERFACE_DEFINED__
3544#define __IPropertyStoreFactory_INTERFACE_DEFINED__
3545
3546DEFINE_GUID(IID_IPropertyStoreFactory, 0xbc110b6d, 0x57e8, 0x4148, 0xa9,0xc6, 0x91,0x01,0x5a,0xb2,0xf3,0xa5);
3547#if defined(__cplusplus) && !defined(CINTERFACE)
3548MIDL_INTERFACE("bc110b6d-57e8-4148-a9c6-91015ab2f3a5")
3549IPropertyStoreFactory : public IUnknown
3550{
3551 virtual HRESULT STDMETHODCALLTYPE GetPropertyStore(
3552 GETPROPERTYSTOREFLAGS flags,
3553 IUnknown *pUnkFactory,
3554 REFIID riid,
3555 void **ppv) = 0;
3556
3557 virtual HRESULT STDMETHODCALLTYPE GetPropertyStoreForKeys(
3558 const PROPERTYKEY *rgKeys,
3559 UINT cKeys,
3560 GETPROPERTYSTOREFLAGS flags,
3561 REFIID riid,
3562 void **ppv) = 0;
3563
3564};
3565#ifdef __CRT_UUID_DECL
3566__CRT_UUID_DECL(IPropertyStoreFactory, 0xbc110b6d, 0x57e8, 0x4148, 0xa9,0xc6, 0x91,0x01,0x5a,0xb2,0xf3,0xa5)
3567#endif
3568#else
3569typedef struct IPropertyStoreFactoryVtbl {
3570 BEGIN_INTERFACE
3571
3572 /*** IUnknown methods ***/
3573 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3574 IPropertyStoreFactory *This,
3575 REFIID riid,
3576 void **ppvObject);
3577
3578 ULONG (STDMETHODCALLTYPE *AddRef)(
3579 IPropertyStoreFactory *This);
3580
3581 ULONG (STDMETHODCALLTYPE *Release)(
3582 IPropertyStoreFactory *This);
3583
3584 /*** IPropertyStoreFactory methods ***/
3585 HRESULT (STDMETHODCALLTYPE *GetPropertyStore)(
3586 IPropertyStoreFactory *This,
3587 GETPROPERTYSTOREFLAGS flags,
3588 IUnknown *pUnkFactory,
3589 REFIID riid,
3590 void **ppv);
3591
3592 HRESULT (STDMETHODCALLTYPE *GetPropertyStoreForKeys)(
3593 IPropertyStoreFactory *This,
3594 const PROPERTYKEY *rgKeys,
3595 UINT cKeys,
3596 GETPROPERTYSTOREFLAGS flags,
3597 REFIID riid,
3598 void **ppv);
3599
3600 END_INTERFACE
3601} IPropertyStoreFactoryVtbl;
3602
3603interface IPropertyStoreFactory {
3604 CONST_VTBL IPropertyStoreFactoryVtbl* lpVtbl;
3605};
3606
3607#ifdef COBJMACROS
3608#ifndef WIDL_C_INLINE_WRAPPERS
3609/*** IUnknown methods ***/
3610#define IPropertyStoreFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3611#define IPropertyStoreFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
3612#define IPropertyStoreFactory_Release(This) (This)->lpVtbl->Release(This)
3613/*** IPropertyStoreFactory methods ***/
3614#define IPropertyStoreFactory_GetPropertyStore(This,flags,pUnkFactory,riid,ppv) (This)->lpVtbl->GetPropertyStore(This,flags,pUnkFactory,riid,ppv)
3615#define IPropertyStoreFactory_GetPropertyStoreForKeys(This,rgKeys,cKeys,flags,riid,ppv) (This)->lpVtbl->GetPropertyStoreForKeys(This,rgKeys,cKeys,flags,riid,ppv)
3616#else
3617/*** IUnknown methods ***/
3618static FORCEINLINE HRESULT IPropertyStoreFactory_QueryInterface(IPropertyStoreFactory* This,REFIID riid,void **ppvObject) {
3619 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3620}
3621static FORCEINLINE ULONG IPropertyStoreFactory_AddRef(IPropertyStoreFactory* This) {
3622 return This->lpVtbl->AddRef(This);
3623}
3624static FORCEINLINE ULONG IPropertyStoreFactory_Release(IPropertyStoreFactory* This) {
3625 return This->lpVtbl->Release(This);
3626}
3627/*** IPropertyStoreFactory methods ***/
3628static FORCEINLINE HRESULT IPropertyStoreFactory_GetPropertyStore(IPropertyStoreFactory* This,GETPROPERTYSTOREFLAGS flags,IUnknown *pUnkFactory,REFIID riid,void **ppv) {
3629 return This->lpVtbl->GetPropertyStore(This,flags,pUnkFactory,riid,ppv);
3630}
3631static FORCEINLINE HRESULT IPropertyStoreFactory_GetPropertyStoreForKeys(IPropertyStoreFactory* This,const PROPERTYKEY *rgKeys,UINT cKeys,GETPROPERTYSTOREFLAGS flags,REFIID riid,void **ppv) {
3632 return This->lpVtbl->GetPropertyStoreForKeys(This,rgKeys,cKeys,flags,riid,ppv);
3633}
3634#endif
3635#endif
3636
3637#endif
3638
3639
3640#endif /* __IPropertyStoreFactory_INTERFACE_DEFINED__ */
3641
3642
3643/*****************************************************************************
3644 * IDelayedPropertyStoreFactory interface
3645 */
3646#ifndef __IDelayedPropertyStoreFactory_INTERFACE_DEFINED__
3647#define __IDelayedPropertyStoreFactory_INTERFACE_DEFINED__
3648
3649DEFINE_GUID(IID_IDelayedPropertyStoreFactory, 0x40d4577f, 0xe237, 0x4bdb, 0xbd,0x69, 0x58,0xf0,0x89,0x43,0x1b,0x6a);
3650#if defined(__cplusplus) && !defined(CINTERFACE)
3651MIDL_INTERFACE("40d4577f-e237-4bdb-bd69-58f089431b6a")
3652IDelayedPropertyStoreFactory : public IPropertyStoreFactory
3653{
3654 virtual HRESULT STDMETHODCALLTYPE GetDelayedPropertyStore(
3655 GETPROPERTYSTOREFLAGS flags,
3656 DWORD dwStoreId,
3657 REFIID riid,
3658 void **ppv) = 0;
3659
3660};
3661#ifdef __CRT_UUID_DECL
3662__CRT_UUID_DECL(IDelayedPropertyStoreFactory, 0x40d4577f, 0xe237, 0x4bdb, 0xbd,0x69, 0x58,0xf0,0x89,0x43,0x1b,0x6a)
3663#endif
3664#else
3665typedef struct IDelayedPropertyStoreFactoryVtbl {
3666 BEGIN_INTERFACE
3667
3668 /*** IUnknown methods ***/
3669 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3670 IDelayedPropertyStoreFactory *This,
3671 REFIID riid,
3672 void **ppvObject);
3673
3674 ULONG (STDMETHODCALLTYPE *AddRef)(
3675 IDelayedPropertyStoreFactory *This);
3676
3677 ULONG (STDMETHODCALLTYPE *Release)(
3678 IDelayedPropertyStoreFactory *This);
3679
3680 /*** IPropertyStoreFactory methods ***/
3681 HRESULT (STDMETHODCALLTYPE *GetPropertyStore)(
3682 IDelayedPropertyStoreFactory *This,
3683 GETPROPERTYSTOREFLAGS flags,
3684 IUnknown *pUnkFactory,
3685 REFIID riid,
3686 void **ppv);
3687
3688 HRESULT (STDMETHODCALLTYPE *GetPropertyStoreForKeys)(
3689 IDelayedPropertyStoreFactory *This,
3690 const PROPERTYKEY *rgKeys,
3691 UINT cKeys,
3692 GETPROPERTYSTOREFLAGS flags,
3693 REFIID riid,
3694 void **ppv);
3695
3696 /*** IDelayedPropertyStoreFactory methods ***/
3697 HRESULT (STDMETHODCALLTYPE *GetDelayedPropertyStore)(
3698 IDelayedPropertyStoreFactory *This,
3699 GETPROPERTYSTOREFLAGS flags,
3700 DWORD dwStoreId,
3701 REFIID riid,
3702 void **ppv);
3703
3704 END_INTERFACE
3705} IDelayedPropertyStoreFactoryVtbl;
3706
3707interface IDelayedPropertyStoreFactory {
3708 CONST_VTBL IDelayedPropertyStoreFactoryVtbl* lpVtbl;
3709};
3710
3711#ifdef COBJMACROS
3712#ifndef WIDL_C_INLINE_WRAPPERS
3713/*** IUnknown methods ***/
3714#define IDelayedPropertyStoreFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3715#define IDelayedPropertyStoreFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
3716#define IDelayedPropertyStoreFactory_Release(This) (This)->lpVtbl->Release(This)
3717/*** IPropertyStoreFactory methods ***/
3718#define IDelayedPropertyStoreFactory_GetPropertyStore(This,flags,pUnkFactory,riid,ppv) (This)->lpVtbl->GetPropertyStore(This,flags,pUnkFactory,riid,ppv)
3719#define IDelayedPropertyStoreFactory_GetPropertyStoreForKeys(This,rgKeys,cKeys,flags,riid,ppv) (This)->lpVtbl->GetPropertyStoreForKeys(This,rgKeys,cKeys,flags,riid,ppv)
3720/*** IDelayedPropertyStoreFactory methods ***/
3721#define IDelayedPropertyStoreFactory_GetDelayedPropertyStore(This,flags,dwStoreId,riid,ppv) (This)->lpVtbl->GetDelayedPropertyStore(This,flags,dwStoreId,riid,ppv)
3722#else
3723/*** IUnknown methods ***/
3724static FORCEINLINE HRESULT IDelayedPropertyStoreFactory_QueryInterface(IDelayedPropertyStoreFactory* This,REFIID riid,void **ppvObject) {
3725 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3726}
3727static FORCEINLINE ULONG IDelayedPropertyStoreFactory_AddRef(IDelayedPropertyStoreFactory* This) {
3728 return This->lpVtbl->AddRef(This);
3729}
3730static FORCEINLINE ULONG IDelayedPropertyStoreFactory_Release(IDelayedPropertyStoreFactory* This) {
3731 return This->lpVtbl->Release(This);
3732}
3733/*** IPropertyStoreFactory methods ***/
3734static FORCEINLINE HRESULT IDelayedPropertyStoreFactory_GetPropertyStore(IDelayedPropertyStoreFactory* This,GETPROPERTYSTOREFLAGS flags,IUnknown *pUnkFactory,REFIID riid,void **ppv) {
3735 return This->lpVtbl->GetPropertyStore(This,flags,pUnkFactory,riid,ppv);
3736}
3737static FORCEINLINE HRESULT IDelayedPropertyStoreFactory_GetPropertyStoreForKeys(IDelayedPropertyStoreFactory* This,const PROPERTYKEY *rgKeys,UINT cKeys,GETPROPERTYSTOREFLAGS flags,REFIID riid,void **ppv) {
3738 return This->lpVtbl->GetPropertyStoreForKeys(This,rgKeys,cKeys,flags,riid,ppv);
3739}
3740/*** IDelayedPropertyStoreFactory methods ***/
3741static FORCEINLINE HRESULT IDelayedPropertyStoreFactory_GetDelayedPropertyStore(IDelayedPropertyStoreFactory* This,GETPROPERTYSTOREFLAGS flags,DWORD dwStoreId,REFIID riid,void **ppv) {
3742 return This->lpVtbl->GetDelayedPropertyStore(This,flags,dwStoreId,riid,ppv);
3743}
3744#endif
3745#endif
3746
3747#endif
3748
3749
3750#endif /* __IDelayedPropertyStoreFactory_INTERFACE_DEFINED__ */
3751
3752
3753enum _PERSIST_SPROPSTORE_FLAGS {
3754 FPSPS_DEFAULT = 0x0,
3755 FPSPS_READONLY = 0x1,
3756 FPSPS_TREAT_NEW_VALUES_AS_DIRTY = 0x2
3757};
3758
3759typedef int PERSIST_SPROPSTORE_FLAGS;
3760typedef struct tagSERIALIZEDPROPSTORAGE SERIALIZEDPROPSTORAGE;
3761typedef SERIALIZEDPROPSTORAGE *PUSERIALIZEDPROPSTORAGE;
3762typedef const SERIALIZEDPROPSTORAGE *PCUSERIALIZEDPROPSTORAGE;
3763
3764/*****************************************************************************
3765 * IPersistSerializedPropStorage interface
3766 */
3767#ifndef __IPersistSerializedPropStorage_INTERFACE_DEFINED__
3768#define __IPersistSerializedPropStorage_INTERFACE_DEFINED__
3769
3770DEFINE_GUID(IID_IPersistSerializedPropStorage, 0xe318ad57, 0x0aa0, 0x450f, 0xac,0xa5, 0x6f,0xab,0x71,0x03,0xd9,0x17);
3771#if defined(__cplusplus) && !defined(CINTERFACE)
3772MIDL_INTERFACE("e318ad57-0aa0-450f-aca5-6fab7103d917")
3773IPersistSerializedPropStorage : public IUnknown
3774{
3775 virtual HRESULT STDMETHODCALLTYPE SetFlags(
3776 PERSIST_SPROPSTORE_FLAGS flags) = 0;
3777
3778 virtual HRESULT STDMETHODCALLTYPE SetPropertyStorage(
3779 PCUSERIALIZEDPROPSTORAGE psps,
3780 DWORD cb) = 0;
3781
3782 virtual HRESULT STDMETHODCALLTYPE GetPropertyStorage(
3783 SERIALIZEDPROPSTORAGE **ppsps,
3784 DWORD *pcb) = 0;
3785
3786};
3787#ifdef __CRT_UUID_DECL
3788__CRT_UUID_DECL(IPersistSerializedPropStorage, 0xe318ad57, 0x0aa0, 0x450f, 0xac,0xa5, 0x6f,0xab,0x71,0x03,0xd9,0x17)
3789#endif
3790#else
3791typedef struct IPersistSerializedPropStorageVtbl {
3792 BEGIN_INTERFACE
3793
3794 /*** IUnknown methods ***/
3795 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3796 IPersistSerializedPropStorage *This,
3797 REFIID riid,
3798 void **ppvObject);
3799
3800 ULONG (STDMETHODCALLTYPE *AddRef)(
3801 IPersistSerializedPropStorage *This);
3802
3803 ULONG (STDMETHODCALLTYPE *Release)(
3804 IPersistSerializedPropStorage *This);
3805
3806 /*** IPersistSerializedPropStorage methods ***/
3807 HRESULT (STDMETHODCALLTYPE *SetFlags)(
3808 IPersistSerializedPropStorage *This,
3809 PERSIST_SPROPSTORE_FLAGS flags);
3810
3811 HRESULT (STDMETHODCALLTYPE *SetPropertyStorage)(
3812 IPersistSerializedPropStorage *This,
3813 PCUSERIALIZEDPROPSTORAGE psps,
3814 DWORD cb);
3815
3816 HRESULT (STDMETHODCALLTYPE *GetPropertyStorage)(
3817 IPersistSerializedPropStorage *This,
3818 SERIALIZEDPROPSTORAGE **ppsps,
3819 DWORD *pcb);
3820
3821 END_INTERFACE
3822} IPersistSerializedPropStorageVtbl;
3823
3824interface IPersistSerializedPropStorage {
3825 CONST_VTBL IPersistSerializedPropStorageVtbl* lpVtbl;
3826};
3827
3828#ifdef COBJMACROS
3829#ifndef WIDL_C_INLINE_WRAPPERS
3830/*** IUnknown methods ***/
3831#define IPersistSerializedPropStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3832#define IPersistSerializedPropStorage_AddRef(This) (This)->lpVtbl->AddRef(This)
3833#define IPersistSerializedPropStorage_Release(This) (This)->lpVtbl->Release(This)
3834/*** IPersistSerializedPropStorage methods ***/
3835#define IPersistSerializedPropStorage_SetFlags(This,flags) (This)->lpVtbl->SetFlags(This,flags)
3836#define IPersistSerializedPropStorage_SetPropertyStorage(This,psps,cb) (This)->lpVtbl->SetPropertyStorage(This,psps,cb)
3837#define IPersistSerializedPropStorage_GetPropertyStorage(This,ppsps,pcb) (This)->lpVtbl->GetPropertyStorage(This,ppsps,pcb)
3838#else
3839/*** IUnknown methods ***/
3840static FORCEINLINE HRESULT IPersistSerializedPropStorage_QueryInterface(IPersistSerializedPropStorage* This,REFIID riid,void **ppvObject) {
3841 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3842}
3843static FORCEINLINE ULONG IPersistSerializedPropStorage_AddRef(IPersistSerializedPropStorage* This) {
3844 return This->lpVtbl->AddRef(This);
3845}
3846static FORCEINLINE ULONG IPersistSerializedPropStorage_Release(IPersistSerializedPropStorage* This) {
3847 return This->lpVtbl->Release(This);
3848}
3849/*** IPersistSerializedPropStorage methods ***/
3850static FORCEINLINE HRESULT IPersistSerializedPropStorage_SetFlags(IPersistSerializedPropStorage* This,PERSIST_SPROPSTORE_FLAGS flags) {
3851 return This->lpVtbl->SetFlags(This,flags);
3852}
3853static FORCEINLINE HRESULT IPersistSerializedPropStorage_SetPropertyStorage(IPersistSerializedPropStorage* This,PCUSERIALIZEDPROPSTORAGE psps,DWORD cb) {
3854 return This->lpVtbl->SetPropertyStorage(This,psps,cb);
3855}
3856static FORCEINLINE HRESULT IPersistSerializedPropStorage_GetPropertyStorage(IPersistSerializedPropStorage* This,SERIALIZEDPROPSTORAGE **ppsps,DWORD *pcb) {
3857 return This->lpVtbl->GetPropertyStorage(This,ppsps,pcb);
3858}
3859#endif
3860#endif
3861
3862#endif
3863
3864
3865#endif /* __IPersistSerializedPropStorage_INTERFACE_DEFINED__ */
3866
3867
3868/*****************************************************************************
3869 * IPersistSerializedPropStorage2 interface
3870 */
3871#ifndef __IPersistSerializedPropStorage2_INTERFACE_DEFINED__
3872#define __IPersistSerializedPropStorage2_INTERFACE_DEFINED__
3873
3874DEFINE_GUID(IID_IPersistSerializedPropStorage2, 0x77effa68, 0x4f98, 0x4366, 0xba,0x72, 0x57,0x3b,0x3d,0x88,0x05,0x71);
3875#if defined(__cplusplus) && !defined(CINTERFACE)
3876MIDL_INTERFACE("77effa68-4f98-4366-ba72-573b3d880571")
3877IPersistSerializedPropStorage2 : public IPersistSerializedPropStorage
3878{
3879 virtual HRESULT STDMETHODCALLTYPE GetPropertyStorageSize(
3880 DWORD *pcb) = 0;
3881
3882 virtual HRESULT STDMETHODCALLTYPE GetPropertyStorageBuffer(
3883 SERIALIZEDPROPSTORAGE *psps,
3884 DWORD cb,
3885 DWORD *pcbWritten) = 0;
3886
3887};
3888#ifdef __CRT_UUID_DECL
3889__CRT_UUID_DECL(IPersistSerializedPropStorage2, 0x77effa68, 0x4f98, 0x4366, 0xba,0x72, 0x57,0x3b,0x3d,0x88,0x05,0x71)
3890#endif
3891#else
3892typedef struct IPersistSerializedPropStorage2Vtbl {
3893 BEGIN_INTERFACE
3894
3895 /*** IUnknown methods ***/
3896 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3897 IPersistSerializedPropStorage2 *This,
3898 REFIID riid,
3899 void **ppvObject);
3900
3901 ULONG (STDMETHODCALLTYPE *AddRef)(
3902 IPersistSerializedPropStorage2 *This);
3903
3904 ULONG (STDMETHODCALLTYPE *Release)(
3905 IPersistSerializedPropStorage2 *This);
3906
3907 /*** IPersistSerializedPropStorage methods ***/
3908 HRESULT (STDMETHODCALLTYPE *SetFlags)(
3909 IPersistSerializedPropStorage2 *This,
3910 PERSIST_SPROPSTORE_FLAGS flags);
3911
3912 HRESULT (STDMETHODCALLTYPE *SetPropertyStorage)(
3913 IPersistSerializedPropStorage2 *This,
3914 PCUSERIALIZEDPROPSTORAGE psps,
3915 DWORD cb);
3916
3917 HRESULT (STDMETHODCALLTYPE *GetPropertyStorage)(
3918 IPersistSerializedPropStorage2 *This,
3919 SERIALIZEDPROPSTORAGE **ppsps,
3920 DWORD *pcb);
3921
3922 /*** IPersistSerializedPropStorage2 methods ***/
3923 HRESULT (STDMETHODCALLTYPE *GetPropertyStorageSize)(
3924 IPersistSerializedPropStorage2 *This,
3925 DWORD *pcb);
3926
3927 HRESULT (STDMETHODCALLTYPE *GetPropertyStorageBuffer)(
3928 IPersistSerializedPropStorage2 *This,
3929 SERIALIZEDPROPSTORAGE *psps,
3930 DWORD cb,
3931 DWORD *pcbWritten);
3932
3933 END_INTERFACE
3934} IPersistSerializedPropStorage2Vtbl;
3935
3936interface IPersistSerializedPropStorage2 {
3937 CONST_VTBL IPersistSerializedPropStorage2Vtbl* lpVtbl;
3938};
3939
3940#ifdef COBJMACROS
3941#ifndef WIDL_C_INLINE_WRAPPERS
3942/*** IUnknown methods ***/
3943#define IPersistSerializedPropStorage2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3944#define IPersistSerializedPropStorage2_AddRef(This) (This)->lpVtbl->AddRef(This)
3945#define IPersistSerializedPropStorage2_Release(This) (This)->lpVtbl->Release(This)
3946/*** IPersistSerializedPropStorage methods ***/
3947#define IPersistSerializedPropStorage2_SetFlags(This,flags) (This)->lpVtbl->SetFlags(This,flags)
3948#define IPersistSerializedPropStorage2_SetPropertyStorage(This,psps,cb) (This)->lpVtbl->SetPropertyStorage(This,psps,cb)
3949#define IPersistSerializedPropStorage2_GetPropertyStorage(This,ppsps,pcb) (This)->lpVtbl->GetPropertyStorage(This,ppsps,pcb)
3950/*** IPersistSerializedPropStorage2 methods ***/
3951#define IPersistSerializedPropStorage2_GetPropertyStorageSize(This,pcb) (This)->lpVtbl->GetPropertyStorageSize(This,pcb)
3952#define IPersistSerializedPropStorage2_GetPropertyStorageBuffer(This,psps,cb,pcbWritten) (This)->lpVtbl->GetPropertyStorageBuffer(This,psps,cb,pcbWritten)
3953#else
3954/*** IUnknown methods ***/
3955static FORCEINLINE HRESULT IPersistSerializedPropStorage2_QueryInterface(IPersistSerializedPropStorage2* This,REFIID riid,void **ppvObject) {
3956 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3957}
3958static FORCEINLINE ULONG IPersistSerializedPropStorage2_AddRef(IPersistSerializedPropStorage2* This) {
3959 return This->lpVtbl->AddRef(This);
3960}
3961static FORCEINLINE ULONG IPersistSerializedPropStorage2_Release(IPersistSerializedPropStorage2* This) {
3962 return This->lpVtbl->Release(This);
3963}
3964/*** IPersistSerializedPropStorage methods ***/
3965static FORCEINLINE HRESULT IPersistSerializedPropStorage2_SetFlags(IPersistSerializedPropStorage2* This,PERSIST_SPROPSTORE_FLAGS flags) {
3966 return This->lpVtbl->SetFlags(This,flags);
3967}
3968static FORCEINLINE HRESULT IPersistSerializedPropStorage2_SetPropertyStorage(IPersistSerializedPropStorage2* This,PCUSERIALIZEDPROPSTORAGE psps,DWORD cb) {
3969 return This->lpVtbl->SetPropertyStorage(This,psps,cb);
3970}
3971static FORCEINLINE HRESULT IPersistSerializedPropStorage2_GetPropertyStorage(IPersistSerializedPropStorage2* This,SERIALIZEDPROPSTORAGE **ppsps,DWORD *pcb) {
3972 return This->lpVtbl->GetPropertyStorage(This,ppsps,pcb);
3973}
3974/*** IPersistSerializedPropStorage2 methods ***/
3975static FORCEINLINE HRESULT IPersistSerializedPropStorage2_GetPropertyStorageSize(IPersistSerializedPropStorage2* This,DWORD *pcb) {
3976 return This->lpVtbl->GetPropertyStorageSize(This,pcb);
3977}
3978static FORCEINLINE HRESULT IPersistSerializedPropStorage2_GetPropertyStorageBuffer(IPersistSerializedPropStorage2* This,SERIALIZEDPROPSTORAGE *psps,DWORD cb,DWORD *pcbWritten) {
3979 return This->lpVtbl->GetPropertyStorageBuffer(This,psps,cb,pcbWritten);
3980}
3981#endif
3982#endif
3983
3984#endif
3985
3986
3987#endif /* __IPersistSerializedPropStorage2_INTERFACE_DEFINED__ */
3988
3989
3990/*****************************************************************************
3991 * IPropertySystemChangeNotify interface
3992 */
3993#ifndef __IPropertySystemChangeNotify_INTERFACE_DEFINED__
3994#define __IPropertySystemChangeNotify_INTERFACE_DEFINED__
3995
3996DEFINE_GUID(IID_IPropertySystemChangeNotify, 0xfa955fd9, 0x38be, 0x4879, 0xa6,0xce, 0x82,0x4c,0xf5,0x2d,0x60,0x9f);
3997#if defined(__cplusplus) && !defined(CINTERFACE)
3998MIDL_INTERFACE("fa955fd9-38be-4879-a6ce-824cf52d609f")
3999IPropertySystemChangeNotify : public IUnknown
4000{
4001 virtual HRESULT STDMETHODCALLTYPE SchemaRefreshed(
4002 ) = 0;
4003
4004};
4005#ifdef __CRT_UUID_DECL
4006__CRT_UUID_DECL(IPropertySystemChangeNotify, 0xfa955fd9, 0x38be, 0x4879, 0xa6,0xce, 0x82,0x4c,0xf5,0x2d,0x60,0x9f)
4007#endif
4008#else
4009typedef struct IPropertySystemChangeNotifyVtbl {
4010 BEGIN_INTERFACE
4011
4012 /*** IUnknown methods ***/
4013 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4014 IPropertySystemChangeNotify *This,
4015 REFIID riid,
4016 void **ppvObject);
4017
4018 ULONG (STDMETHODCALLTYPE *AddRef)(
4019 IPropertySystemChangeNotify *This);
4020
4021 ULONG (STDMETHODCALLTYPE *Release)(
4022 IPropertySystemChangeNotify *This);
4023
4024 /*** IPropertySystemChangeNotify methods ***/
4025 HRESULT (STDMETHODCALLTYPE *SchemaRefreshed)(
4026 IPropertySystemChangeNotify *This);
4027
4028 END_INTERFACE
4029} IPropertySystemChangeNotifyVtbl;
4030
4031interface IPropertySystemChangeNotify {
4032 CONST_VTBL IPropertySystemChangeNotifyVtbl* lpVtbl;
4033};
4034
4035#ifdef COBJMACROS
4036#ifndef WIDL_C_INLINE_WRAPPERS
4037/*** IUnknown methods ***/
4038#define IPropertySystemChangeNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4039#define IPropertySystemChangeNotify_AddRef(This) (This)->lpVtbl->AddRef(This)
4040#define IPropertySystemChangeNotify_Release(This) (This)->lpVtbl->Release(This)
4041/*** IPropertySystemChangeNotify methods ***/
4042#define IPropertySystemChangeNotify_SchemaRefreshed(This) (This)->lpVtbl->SchemaRefreshed(This)
4043#else
4044/*** IUnknown methods ***/
4045static FORCEINLINE HRESULT IPropertySystemChangeNotify_QueryInterface(IPropertySystemChangeNotify* This,REFIID riid,void **ppvObject) {
4046 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4047}
4048static FORCEINLINE ULONG IPropertySystemChangeNotify_AddRef(IPropertySystemChangeNotify* This) {
4049 return This->lpVtbl->AddRef(This);
4050}
4051static FORCEINLINE ULONG IPropertySystemChangeNotify_Release(IPropertySystemChangeNotify* This) {
4052 return This->lpVtbl->Release(This);
4053}
4054/*** IPropertySystemChangeNotify methods ***/
4055static FORCEINLINE HRESULT IPropertySystemChangeNotify_SchemaRefreshed(IPropertySystemChangeNotify* This) {
4056 return This->lpVtbl->SchemaRefreshed(This);
4057}
4058#endif
4059#endif
4060
4061#endif
4062
4063
4064#endif /* __IPropertySystemChangeNotify_INTERFACE_DEFINED__ */
4065
4066
4067/*****************************************************************************
4068 * ICreateObject interface
4069 */
4070#ifndef __ICreateObject_INTERFACE_DEFINED__
4071#define __ICreateObject_INTERFACE_DEFINED__
4072
4073DEFINE_GUID(IID_ICreateObject, 0x75121952, 0xe0d0, 0x43e5, 0x93,0x80, 0x1d,0x80,0x48,0x3a,0xcf,0x72);
4074#if defined(__cplusplus) && !defined(CINTERFACE)
4075MIDL_INTERFACE("75121952-e0d0-43e5-9380-1d80483acf72")
4076ICreateObject : public IUnknown
4077{
4078 virtual HRESULT STDMETHODCALLTYPE CreateObject(
4079 REFCLSID clsid,
4080 IUnknown *pUnkOuter,
4081 REFIID riid,
4082 void **ppv) = 0;
4083
4084};
4085#ifdef __CRT_UUID_DECL
4086__CRT_UUID_DECL(ICreateObject, 0x75121952, 0xe0d0, 0x43e5, 0x93,0x80, 0x1d,0x80,0x48,0x3a,0xcf,0x72)
4087#endif
4088#else
4089typedef struct ICreateObjectVtbl {
4090 BEGIN_INTERFACE
4091
4092 /*** IUnknown methods ***/
4093 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4094 ICreateObject *This,
4095 REFIID riid,
4096 void **ppvObject);
4097
4098 ULONG (STDMETHODCALLTYPE *AddRef)(
4099 ICreateObject *This);
4100
4101 ULONG (STDMETHODCALLTYPE *Release)(
4102 ICreateObject *This);
4103
4104 /*** ICreateObject methods ***/
4105 HRESULT (STDMETHODCALLTYPE *CreateObject)(
4106 ICreateObject *This,
4107 REFCLSID clsid,
4108 IUnknown *pUnkOuter,
4109 REFIID riid,
4110 void **ppv);
4111
4112 END_INTERFACE
4113} ICreateObjectVtbl;
4114
4115interface ICreateObject {
4116 CONST_VTBL ICreateObjectVtbl* lpVtbl;
4117};
4118
4119#ifdef COBJMACROS
4120#ifndef WIDL_C_INLINE_WRAPPERS
4121/*** IUnknown methods ***/
4122#define ICreateObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4123#define ICreateObject_AddRef(This) (This)->lpVtbl->AddRef(This)
4124#define ICreateObject_Release(This) (This)->lpVtbl->Release(This)
4125/*** ICreateObject methods ***/
4126#define ICreateObject_CreateObject(This,clsid,pUnkOuter,riid,ppv) (This)->lpVtbl->CreateObject(This,clsid,pUnkOuter,riid,ppv)
4127#else
4128/*** IUnknown methods ***/
4129static FORCEINLINE HRESULT ICreateObject_QueryInterface(ICreateObject* This,REFIID riid,void **ppvObject) {
4130 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4131}
4132static FORCEINLINE ULONG ICreateObject_AddRef(ICreateObject* This) {
4133 return This->lpVtbl->AddRef(This);
4134}
4135static FORCEINLINE ULONG ICreateObject_Release(ICreateObject* This) {
4136 return This->lpVtbl->Release(This);
4137}
4138/*** ICreateObject methods ***/
4139static FORCEINLINE HRESULT ICreateObject_CreateObject(ICreateObject* This,REFCLSID clsid,IUnknown *pUnkOuter,REFIID riid,void **ppv) {
4140 return This->lpVtbl->CreateObject(This,clsid,pUnkOuter,riid,ppv);
4141}
4142#endif
4143#endif
4144
4145#endif
4146
4147
4148#endif /* __ICreateObject_INTERFACE_DEFINED__ */
4149
4150
4151#define PKEY_PIDSTR_MAX 10
4152#define GUIDSTRING_MAX (39)
4153#define PKEYSTR_MAX (GUIDSTRING_MAX + 1 + PKEY_PIDSTR_MAX)
4154
4155PSSTDAPI PSCoerceToCanonicalValue(REFPROPERTYKEY key, PROPVARIANT *ppropvar);
4156PSSTDAPI PSCreateAdapterFromPropertyStore(IPropertyStore *pps, REFIID riid, void **ppv);
4157PSSTDAPI PSCreateDelayedMultiplexPropertyStore(GETPROPERTYSTOREFLAGS flags, IDelayedPropertyStoreFactory *pdpsf, const DWORD *rgStoreIds, DWORD cStores, REFIID riid, void **ppv);
4158PSSTDAPI PSCreateMemoryPropertyStore(REFIID riid, void **ppv);
4159PSSTDAPI PSCreateMultiplexPropertyStore(IUnknown **prgpunkStores, DWORD cStores, REFIID riid, void **ppv);
4160PSSTDAPI PSCreatePropertyChangeArray(const PROPERTYKEY *rgpropkey, const PKA_FLAGS *rgflags, const PROPVARIANT *rgpropvar, UINT cChanges, REFIID riid, void **ppv);
4161PSSTDAPI PSCreatePropertyStoreFromObject(IUnknown *punk, DWORD grfMode, REFIID riid, void **ppv);
4162PSSTDAPI PSCreatePropertyStoreFromPropertySetStorage(IPropertySetStorage *ppss, DWORD grfMode, REFIID riid, void **ppv);
4163PSSTDAPI PSCreateSimplePropertyChange(PKA_FLAGS flags, REFPROPERTYKEY key, REFPROPVARIANT propvar, REFIID riid, void **ppv);
4164PSSTDAPI PSEnumeratePropertyDescriptions(PROPDESC_ENUMFILTER filterOn, REFIID riid, void **ppv);
4165PSSTDAPI PSFormatForDisplay(REFPROPERTYKEY propkey, REFPROPVARIANT propvar, PROPDESC_FORMAT_FLAGS pdfFlags, LPWSTR pwszText, DWORD cchText);
4166PSSTDAPI PSFormatForDisplayAlloc(REFPROPERTYKEY key, REFPROPVARIANT propvar, PROPDESC_FORMAT_FLAGS pdff, PWSTR *ppszDisplay);
4167PSSTDAPI PSFormatPropertyValue(IPropertyStore *pps, IPropertyDescription *ppd, PROPDESC_FORMAT_FLAGS pdff, LPWSTR *ppszDisplay);
4168PSSTDAPI PSGetImageReferenceForValue(REFPROPERTYKEY propkey, REFPROPVARIANT propvar, PWSTR *ppszImageRes);
4169PSSTDAPI PSGetItemPropertyHandler(IUnknown *punkItem, BOOL fReadWrite, REFIID riid, void **ppv);
4170PSSTDAPI PSGetItemPropertyHandlerWithCreateObject(IUnknown *punkItem, BOOL fReadWrite, IUnknown *punkCreateObject, REFIID riid, void **ppv);
4171PSSTDAPI PSGetNamedPropertyFromPropertyStorage(PCUSERIALIZEDPROPSTORAGE psps, DWORD cb, LPCWSTR pszName, PROPVARIANT *ppropvar);
4172PSSTDAPI PSGetNameFromPropertyKey(REFPROPERTYKEY propkey, PWSTR *ppszCanonicalName);
4173PSSTDAPI PSGetPropertyDescription(REFPROPERTYKEY propkey, REFIID riid, void **ppv);
4174PSSTDAPI PSGetPropertyDescriptionByName(LPCWSTR pszCanonicalName, REFIID riid, void **ppv);
4175PSSTDAPI PSGetPropertyDescriptionListFromString(LPCWSTR pszPropList, REFIID riid, void **ppv);
4176PSSTDAPI PSGetPropertyFromPropertyStorage(PCUSERIALIZEDPROPSTORAGE psps, DWORD cb, REFPROPERTYKEY rpkey, PROPVARIANT *ppropvar);
4177PSSTDAPI PSGetPropertyKeyFromName(PCWSTR pszName, PROPERTYKEY *ppropkey);
4178PSSTDAPI PSGetPropertySystem(REFIID riid, void **ppv);
4179PSSTDAPI PSGetPropertyValue(IPropertyStore *pps, IPropertyDescription *ppd, PROPVARIANT *ppropvar);
4180PSSTDAPI PSLookupPropertyHandlerCLSID(PCWSTR pszFilePath, CLSID *pclsid);
4181PSSTDAPI PSPropertyBag_Delete(IPropertyBag *propBag, LPCWSTR propName);
4182PSSTDAPI PSPropertyBag_ReadBOOL(IPropertyBag *propBag, LPCWSTR propName, BOOL *value);
4183PSSTDAPI PSPropertyBag_ReadBSTR(IPropertyBag *propBag, LPCWSTR propName, BSTR *value);
4184PSSTDAPI PSPropertyBag_ReadDWORD(IPropertyBag *propBag, LPCWSTR propName, DWORD *value);
4185PSSTDAPI PSPropertyBag_ReadGUID(IPropertyBag *propBag, LPCWSTR propName, GUID *value);
4186PSSTDAPI PSPropertyBag_ReadInt(IPropertyBag *propBag, LPCWSTR propName, INT *value);
4187PSSTDAPI PSPropertyBag_ReadLONG(IPropertyBag *propBag, LPCWSTR propName, LONG *value);
4188PSSTDAPI PSPropertyBag_ReadPOINTL(IPropertyBag *propBag, LPCWSTR propName, POINTL *value);
4189PSSTDAPI PSPropertyBag_ReadPOINTS(IPropertyBag *propBag, LPCWSTR propName, POINTS *value);
4190PSSTDAPI PSPropertyBag_ReadPropertyKey(IPropertyBag *propBag, LPCWSTR propName, PROPERTYKEY *value);
4191PSSTDAPI PSPropertyBag_ReadRECTL(IPropertyBag *propBag, LPCWSTR propName, RECTL *value);
4192PSSTDAPI PSPropertyBag_ReadSHORT(IPropertyBag *propBag, LPCWSTR propName, SHORT *value);
4193PSSTDAPI PSPropertyBag_ReadStr(IPropertyBag *propBag, LPCWSTR propName, LPWSTR value, int characterCount);
4194PSSTDAPI PSPropertyBag_ReadStrAlloc(IPropertyBag *propBag, LPCWSTR propName, PWSTR *value);
4195PSSTDAPI PSPropertyBag_ReadStream(IPropertyBag *propBag, LPCWSTR propName, IStream **value);
4196PSSTDAPI PSPropertyBag_ReadType(IPropertyBag *propBag, LPCWSTR propName, VARIANT *var, VARTYPE type);
4197PSSTDAPI PSPropertyBag_ReadULONGLONG(IPropertyBag *propBag, LPCWSTR propName, ULONGLONG *value);
4198PSSTDAPI PSPropertyBag_ReadUnknown(IPropertyBag *propBag, LPCWSTR propName, REFIID riid, void **ppv);
4199PSSTDAPI PSPropertyBag_WriteBOOL(IPropertyBag *propBag, LPCWSTR propName, BOOL value);
4200PSSTDAPI PSPropertyBag_WriteBSTR(IPropertyBag *propBag, LPCWSTR propName, BSTR value);
4201PSSTDAPI PSPropertyBag_WriteDWORD(IPropertyBag *propBag, LPCWSTR propName, DWORD value);
4202PSSTDAPI PSPropertyBag_WriteGUID(IPropertyBag *propBag, LPCWSTR propName, const GUID *value);
4203PSSTDAPI PSPropertyBag_WriteInt(IPropertyBag *propBag, LPCWSTR propName, INT value);
4204PSSTDAPI PSPropertyBag_WriteLONG(IPropertyBag *propBag, LPCWSTR propName, LONG value);
4205PSSTDAPI PSPropertyBag_WritePOINTL(IPropertyBag *propBag, LPCWSTR propName, const POINTL *value);
4206PSSTDAPI PSPropertyBag_WritePOINTS(IPropertyBag *propBag, LPCWSTR propName, const POINTS *value);
4207PSSTDAPI PSPropertyBag_WritePropertyKey(IPropertyBag *propBag, LPCWSTR propName, REFPROPERTYKEY value);
4208PSSTDAPI PSPropertyBag_WriteRECTL(IPropertyBag *propBag, LPCWSTR propName, const RECTL *value);
4209PSSTDAPI PSPropertyBag_WriteSHORT(IPropertyBag *propBag, LPCWSTR propName, SHORT value);
4210PSSTDAPI PSPropertyBag_WriteStr(IPropertyBag *propBag, LPCWSTR propName, LPCWSTR value);
4211PSSTDAPI PSPropertyBag_WriteStream(IPropertyBag *propBag, LPCWSTR propName, IStream *value);
4212PSSTDAPI PSPropertyBag_WriteULONGLONG(IPropertyBag *propBag, LPCWSTR propName, ULONGLONG value);
4213PSSTDAPI PSPropertyBag_WriteUnknown(IPropertyBag *propBag, LPCWSTR propName, IUnknown *punk);
4214PSSTDAPI PSPropertyKeyFromString(LPCWSTR pszString, PROPERTYKEY *pkey);
4215PSSTDAPI PSRefreshPropertySchema(void);
4216PSSTDAPI PSRegisterPropertySchema(PCWSTR pszPath);
4217PSSTDAPI PSSetPropertyValue(IPropertyStore *pps, IPropertyDescription *ppd, REFPROPVARIANT propvar);
4218PSSTDAPI PSStringFromPropertyKey(REFPROPERTYKEY pkey, LPWSTR psz, UINT cch);
4219PSSTDAPI PSUnregisterPropertySchema(PCWSTR pszPath);
4220
4221#ifndef __PropSysObjects_LIBRARY_DEFINED__
4222#define __PropSysObjects_LIBRARY_DEFINED__
4223
4224DEFINE_GUID(LIBID_PropSysObjects, 0x2cda3294, 0x6c4f, 0x4020, 0xb1,0x61, 0x27,0xc5,0x30,0xc8,0x1f,0xa6);
4225
4226/*****************************************************************************
4227 * InMemoryPropertyStore coclass
4228 */
4229
4230DEFINE_GUID(CLSID_InMemoryPropertyStore, 0x9a02e012, 0x6303, 0x4e1e, 0xb9,0xa1, 0x63,0x0f,0x80,0x25,0x92,0xc5);
4231
4232#ifdef __cplusplus
4233class DECLSPEC_UUID("9a02e012-6303-4e1e-b9a1-630f802592c5") InMemoryPropertyStore;
4234#ifdef __CRT_UUID_DECL
4235__CRT_UUID_DECL(InMemoryPropertyStore, 0x9a02e012, 0x6303, 0x4e1e, 0xb9,0xa1, 0x63,0x0f,0x80,0x25,0x92,0xc5)
4236#endif
4237#endif
4238
4239/*****************************************************************************
4240 * PropertySystem coclass
4241 */
4242
4243DEFINE_GUID(CLSID_PropertySystem, 0xb8967f85, 0x58ae, 0x4f46, 0x9f,0xb2, 0x5d,0x79,0x04,0x79,0x8f,0x4b);
4244
4245#ifdef __cplusplus
4246class DECLSPEC_UUID("b8967f85-58ae-4f46-9fb2-5d7904798f4b") PropertySystem;
4247#ifdef __CRT_UUID_DECL
4248__CRT_UUID_DECL(PropertySystem, 0xb8967f85, 0x58ae, 0x4f46, 0x9f,0xb2, 0x5d,0x79,0x04,0x79,0x8f,0x4b)
4249#endif
4250#endif
4251
4252#endif /* __PropSysObjects_LIBRARY_DEFINED__ */
4253#endif
4254/* Begin additional prototypes for all interfaces */
4255
4256ULONG __RPC_USER BSTR_UserSize (ULONG *, ULONG, BSTR *);
4257unsigned char * __RPC_USER BSTR_UserMarshal (ULONG *, unsigned char *, BSTR *);
4258unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
4259void __RPC_USER BSTR_UserFree (ULONG *, BSTR *);
4260ULONG __RPC_USER LPSAFEARRAY_UserSize (ULONG *, ULONG, LPSAFEARRAY *);
4261unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal (ULONG *, unsigned char *, LPSAFEARRAY *);
4262unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal(ULONG *, unsigned char *, LPSAFEARRAY *);
4263void __RPC_USER LPSAFEARRAY_UserFree (ULONG *, LPSAFEARRAY *);
4264
4265/* End additional prototypes */
4266
4267#ifdef __cplusplus
4268}
4269#endif
4270
4271#endif /* __propsys_h__ */
Note: See TracBrowser for help on using the repository browser.