1/*** Autogenerated by WIDL 1.6 from include/structuredquerycondition.idl - Do not edit ***/
2
3#ifndef __REQUIRED_RPCNDR_H_VERSION__
4#define __REQUIRED_RPCNDR_H_VERSION__ 475
5#endif
6
7#include <rpc.h>
8#include <rpcndr.h>
9
10#ifndef COM_NO_WINDOWS_H
11#include <windows.h>
12#include <ole2.h>
13#endif
14
15#ifndef __structuredquerycondition_h__
16#define __structuredquerycondition_h__
17
18/* Forward declarations */
19
20#ifndef __IRichChunk_FWD_DEFINED__
21#define __IRichChunk_FWD_DEFINED__
22typedef interface IRichChunk IRichChunk;
23#endif
24
25#ifndef __ICondition_FWD_DEFINED__
26#define __ICondition_FWD_DEFINED__
27typedef interface ICondition ICondition;
28#endif
29
30#ifndef __ICondition2_FWD_DEFINED__
31#define __ICondition2_FWD_DEFINED__
32typedef interface ICondition2 ICondition2;
33#endif
34
35/* Headers for imported files */
36
37#include <oaidl.h>
38#include <ocidl.h>
39#include <objidl.h>
40#include <propidl.h>
41
42#ifdef __cplusplus
43extern "C" {
44#endif
45
46/**
47 * This file is part of the mingw-w64 runtime package.
48 * No warranty is given; refer to the file DISCLAIMER within this package.
49 */
50
51#include <winapifamily.h>
52
53typedef enum tagCONDITION_TYPE {
54    CT_AND_CONDITION = 0,
55    CT_OR_CONDITION = 1,
56    CT_NOT_CONDITION = 2,
57    CT_LEAF_CONDITION = 3
58} CONDITION_TYPE;
59
60typedef enum tagCONDITION_OPERATION {
61    COP_IMPLICIT = 0,
62    COP_EQUAL = 1,
63    COP_NOTEQUAL = 2,
64    COP_LESSTHAN = 3,
65    COP_GREATERTHAN = 4,
66    COP_LESSTHANOREQUAL = 5,
67    COP_GREATERTHANOREQUAL = 6,
68    COP_VALUE_STARTSWITH = 7,
69    COP_VALUE_ENDSWITH = 8,
70    COP_VALUE_CONTAINS = 9,
71    COP_VALUE_NOTCONTAINS = 10,
72    COP_DOSWILDCARDS = 11,
73    COP_WORD_EQUAL = 12,
74    COP_WORD_STARTSWITH = 13,
75    COP_APPLICATION_SPECIFIC = 14
76} CONDITION_OPERATION;
77
78#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
79/*****************************************************************************
80 * IRichChunk interface
81 */
82#ifndef __IRichChunk_INTERFACE_DEFINED__
83#define __IRichChunk_INTERFACE_DEFINED__
84
85DEFINE_GUID(IID_IRichChunk, 0x4fdef69c, 0xdbc9, 0x454e, 0x99,0x10, 0xb3,0x4f,0x3c,0x64,0xb5,0x10);
86#if defined(__cplusplus) && !defined(CINTERFACE)
87MIDL_INTERFACE("4fdef69c-dbc9-454e-9910-b34f3c64b510")
88IRichChunk : public IUnknown
89{
90    virtual HRESULT STDMETHODCALLTYPE GetData(
91        ULONG *pFirstPos,
92        ULONG *pLength,
93        LPWSTR *ppsz,
94        PROPVARIANT *pValue) = 0;
95
96};
97#ifdef __CRT_UUID_DECL
98__CRT_UUID_DECL(IRichChunk, 0x4fdef69c, 0xdbc9, 0x454e, 0x99,0x10, 0xb3,0x4f,0x3c,0x64,0xb5,0x10)
99#endif
100#else
101typedef struct IRichChunkVtbl {
102    BEGIN_INTERFACE
103
104    /*** IUnknown methods ***/
105    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
106        IRichChunk* This,
107        REFIID riid,
108        void **ppvObject);
109
110    ULONG (STDMETHODCALLTYPE *AddRef)(
111        IRichChunk* This);
112
113    ULONG (STDMETHODCALLTYPE *Release)(
114        IRichChunk* This);
115
116    /*** IRichChunk methods ***/
117    HRESULT (STDMETHODCALLTYPE *GetData)(
118        IRichChunk* This,
119        ULONG *pFirstPos,
120        ULONG *pLength,
121        LPWSTR *ppsz,
122        PROPVARIANT *pValue);
123
124    END_INTERFACE
125} IRichChunkVtbl;
126interface IRichChunk {
127    CONST_VTBL IRichChunkVtbl* lpVtbl;
128};
129
130#ifdef COBJMACROS
131#ifndef WIDL_C_INLINE_WRAPPERS
132/*** IUnknown methods ***/
133#define IRichChunk_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
134#define IRichChunk_AddRef(This) (This)->lpVtbl->AddRef(This)
135#define IRichChunk_Release(This) (This)->lpVtbl->Release(This)
136/*** IRichChunk methods ***/
137#define IRichChunk_GetData(This,pFirstPos,pLength,ppsz,pValue) (This)->lpVtbl->GetData(This,pFirstPos,pLength,ppsz,pValue)
138#else
139/*** IUnknown methods ***/
140static FORCEINLINE HRESULT IRichChunk_QueryInterface(IRichChunk* This,REFIID riid,void **ppvObject) {
141    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
142}
143static FORCEINLINE ULONG IRichChunk_AddRef(IRichChunk* This) {
144    return This->lpVtbl->AddRef(This);
145}
146static FORCEINLINE ULONG IRichChunk_Release(IRichChunk* This) {
147    return This->lpVtbl->Release(This);
148}
149/*** IRichChunk methods ***/
150static FORCEINLINE HRESULT IRichChunk_GetData(IRichChunk* This,ULONG *pFirstPos,ULONG *pLength,LPWSTR *ppsz,PROPVARIANT *pValue) {
151    return This->lpVtbl->GetData(This,pFirstPos,pLength,ppsz,pValue);
152}
153#endif
154#endif
155
156#endif
157
158HRESULT STDMETHODCALLTYPE IRichChunk_RemoteGetData_Proxy(
159    IRichChunk* This,
160    ULONG *pFirstPos,
161    ULONG *pLength,
162    LPWSTR *ppsz,
163    PROPVARIANT *pValue);
164void __RPC_STUB IRichChunk_RemoteGetData_Stub(
165    IRpcStubBuffer* This,
166    IRpcChannelBuffer* pRpcChannelBuffer,
167    PRPC_MESSAGE pRpcMessage,
168    DWORD* pdwStubPhase);
169HRESULT CALLBACK IRichChunk_GetData_Proxy(
170    IRichChunk* This,
171    ULONG *pFirstPos,
172    ULONG *pLength,
173    LPWSTR *ppsz,
174    PROPVARIANT *pValue);
175HRESULT __RPC_STUB IRichChunk_GetData_Stub(
176    IRichChunk* This,
177    ULONG *pFirstPos,
178    ULONG *pLength,
179    LPWSTR *ppsz,
180    PROPVARIANT *pValue);
181
182#endif  /* __IRichChunk_INTERFACE_DEFINED__ */
183
184
185/*****************************************************************************
186 * ICondition interface
187 */
188#ifndef __ICondition_INTERFACE_DEFINED__
189#define __ICondition_INTERFACE_DEFINED__
190
191DEFINE_GUID(IID_ICondition, 0x0fc988d4, 0xc935, 0x4b97, 0xa9,0x73, 0x46,0x28,0x2e,0xa1,0x75,0xc8);
192#if defined(__cplusplus) && !defined(CINTERFACE)
193MIDL_INTERFACE("0fc988d4-c935-4b97-a973-46282ea175c8")
194ICondition : public IPersistStream
195{
196    virtual HRESULT STDMETHODCALLTYPE GetConditionType(
197        CONDITION_TYPE *pNodeType) = 0;
198
199    virtual HRESULT STDMETHODCALLTYPE GetSubConditions(
200        REFIID riid,
201        void **ppv) = 0;
202
203    virtual HRESULT STDMETHODCALLTYPE GetComparisonInfo(
204        LPWSTR *ppszPropertyName,
205        CONDITION_OPERATION *pcop,
206        PROPVARIANT *ppropvar) = 0;
207
208    virtual HRESULT STDMETHODCALLTYPE GetValueType(
209        LPWSTR *ppszValueTypeName) = 0;
210
211    virtual HRESULT STDMETHODCALLTYPE GetValueNormalization(
212        LPWSTR *ppszNormalization) = 0;
213
214    virtual HRESULT STDMETHODCALLTYPE GetInputTerms(
215        IRichChunk **ppPropertyTerm,
216        IRichChunk **ppOperationTerm,
217        IRichChunk **ppValueTerm) = 0;
218
219    virtual HRESULT STDMETHODCALLTYPE Clone(
220        ICondition **ppc) = 0;
221
222};
223#ifdef __CRT_UUID_DECL
224__CRT_UUID_DECL(ICondition, 0x0fc988d4, 0xc935, 0x4b97, 0xa9,0x73, 0x46,0x28,0x2e,0xa1,0x75,0xc8)
225#endif
226#else
227typedef struct IConditionVtbl {
228    BEGIN_INTERFACE
229
230    /*** IUnknown methods ***/
231    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
232        ICondition* This,
233        REFIID riid,
234        void **ppvObject);
235
236    ULONG (STDMETHODCALLTYPE *AddRef)(
237        ICondition* This);
238
239    ULONG (STDMETHODCALLTYPE *Release)(
240        ICondition* This);
241
242    /*** IPersist methods ***/
243    HRESULT (STDMETHODCALLTYPE *GetClassID)(
244        ICondition* This,
245        CLSID *pClassID);
246
247    /*** IPersistStream methods ***/
248    HRESULT (STDMETHODCALLTYPE *IsDirty)(
249        ICondition* This);
250
251    HRESULT (STDMETHODCALLTYPE *Load)(
252        ICondition* This,
253        IStream *pStm);
254
255    HRESULT (STDMETHODCALLTYPE *Save)(
256        ICondition* This,
257        IStream *pStm,
258        WINBOOL fClearDirty);
259
260    HRESULT (STDMETHODCALLTYPE *GetSizeMax)(
261        ICondition* This,
262        ULARGE_INTEGER *pcbSize);
263
264    /*** ICondition methods ***/
265    HRESULT (STDMETHODCALLTYPE *GetConditionType)(
266        ICondition* This,
267        CONDITION_TYPE *pNodeType);
268
269    HRESULT (STDMETHODCALLTYPE *GetSubConditions)(
270        ICondition* This,
271        REFIID riid,
272        void **ppv);
273
274    HRESULT (STDMETHODCALLTYPE *GetComparisonInfo)(
275        ICondition* This,
276        LPWSTR *ppszPropertyName,
277        CONDITION_OPERATION *pcop,
278        PROPVARIANT *ppropvar);
279
280    HRESULT (STDMETHODCALLTYPE *GetValueType)(
281        ICondition* This,
282        LPWSTR *ppszValueTypeName);
283
284    HRESULT (STDMETHODCALLTYPE *GetValueNormalization)(
285        ICondition* This,
286        LPWSTR *ppszNormalization);
287
288    HRESULT (STDMETHODCALLTYPE *GetInputTerms)(
289        ICondition* This,
290        IRichChunk **ppPropertyTerm,
291        IRichChunk **ppOperationTerm,
292        IRichChunk **ppValueTerm);
293
294    HRESULT (STDMETHODCALLTYPE *Clone)(
295        ICondition* This,
296        ICondition **ppc);
297
298    END_INTERFACE
299} IConditionVtbl;
300interface ICondition {
301    CONST_VTBL IConditionVtbl* lpVtbl;
302};
303
304#ifdef COBJMACROS
305#ifndef WIDL_C_INLINE_WRAPPERS
306/*** IUnknown methods ***/
307#define ICondition_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
308#define ICondition_AddRef(This) (This)->lpVtbl->AddRef(This)
309#define ICondition_Release(This) (This)->lpVtbl->Release(This)
310/*** IPersist methods ***/
311#define ICondition_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
312/*** IPersistStream methods ***/
313#define ICondition_IsDirty(This) (This)->lpVtbl->IsDirty(This)
314#define ICondition_Load(This,pStm) (This)->lpVtbl->Load(This,pStm)
315#define ICondition_Save(This,pStm,fClearDirty) (This)->lpVtbl->Save(This,pStm,fClearDirty)
316#define ICondition_GetSizeMax(This,pcbSize) (This)->lpVtbl->GetSizeMax(This,pcbSize)
317/*** ICondition methods ***/
318#define ICondition_GetConditionType(This,pNodeType) (This)->lpVtbl->GetConditionType(This,pNodeType)
319#define ICondition_GetSubConditions(This,riid,ppv) (This)->lpVtbl->GetSubConditions(This,riid,ppv)
320#define ICondition_GetComparisonInfo(This,ppszPropertyName,pcop,ppropvar) (This)->lpVtbl->GetComparisonInfo(This,ppszPropertyName,pcop,ppropvar)
321#define ICondition_GetValueType(This,ppszValueTypeName) (This)->lpVtbl->GetValueType(This,ppszValueTypeName)
322#define ICondition_GetValueNormalization(This,ppszNormalization) (This)->lpVtbl->GetValueNormalization(This,ppszNormalization)
323#define ICondition_GetInputTerms(This,ppPropertyTerm,ppOperationTerm,ppValueTerm) (This)->lpVtbl->GetInputTerms(This,ppPropertyTerm,ppOperationTerm,ppValueTerm)
324#define ICondition_Clone(This,ppc) (This)->lpVtbl->Clone(This,ppc)
325#else
326/*** IUnknown methods ***/
327static FORCEINLINE HRESULT ICondition_QueryInterface(ICondition* This,REFIID riid,void **ppvObject) {
328    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
329}
330static FORCEINLINE ULONG ICondition_AddRef(ICondition* This) {
331    return This->lpVtbl->AddRef(This);
332}
333static FORCEINLINE ULONG ICondition_Release(ICondition* This) {
334    return This->lpVtbl->Release(This);
335}
336/*** IPersist methods ***/
337static FORCEINLINE HRESULT ICondition_GetClassID(ICondition* This,CLSID *pClassID) {
338    return This->lpVtbl->GetClassID(This,pClassID);
339}
340/*** IPersistStream methods ***/
341static FORCEINLINE HRESULT ICondition_IsDirty(ICondition* This) {
342    return This->lpVtbl->IsDirty(This);
343}
344static FORCEINLINE HRESULT ICondition_Load(ICondition* This,IStream *pStm) {
345    return This->lpVtbl->Load(This,pStm);
346}
347static FORCEINLINE HRESULT ICondition_Save(ICondition* This,IStream *pStm,WINBOOL fClearDirty) {
348    return This->lpVtbl->Save(This,pStm,fClearDirty);
349}
350static FORCEINLINE HRESULT ICondition_GetSizeMax(ICondition* This,ULARGE_INTEGER *pcbSize) {
351    return This->lpVtbl->GetSizeMax(This,pcbSize);
352}
353/*** ICondition methods ***/
354static FORCEINLINE HRESULT ICondition_GetConditionType(ICondition* This,CONDITION_TYPE *pNodeType) {
355    return This->lpVtbl->GetConditionType(This,pNodeType);
356}
357static FORCEINLINE HRESULT ICondition_GetSubConditions(ICondition* This,REFIID riid,void **ppv) {
358    return This->lpVtbl->GetSubConditions(This,riid,ppv);
359}
360static FORCEINLINE HRESULT ICondition_GetComparisonInfo(ICondition* This,LPWSTR *ppszPropertyName,CONDITION_OPERATION *pcop,PROPVARIANT *ppropvar) {
361    return This->lpVtbl->GetComparisonInfo(This,ppszPropertyName,pcop,ppropvar);
362}
363static FORCEINLINE HRESULT ICondition_GetValueType(ICondition* This,LPWSTR *ppszValueTypeName) {
364    return This->lpVtbl->GetValueType(This,ppszValueTypeName);
365}
366static FORCEINLINE HRESULT ICondition_GetValueNormalization(ICondition* This,LPWSTR *ppszNormalization) {
367    return This->lpVtbl->GetValueNormalization(This,ppszNormalization);
368}
369static FORCEINLINE HRESULT ICondition_GetInputTerms(ICondition* This,IRichChunk **ppPropertyTerm,IRichChunk **ppOperationTerm,IRichChunk **ppValueTerm) {
370    return This->lpVtbl->GetInputTerms(This,ppPropertyTerm,ppOperationTerm,ppValueTerm);
371}
372static FORCEINLINE HRESULT ICondition_Clone(ICondition* This,ICondition **ppc) {
373    return This->lpVtbl->Clone(This,ppc);
374}
375#endif
376#endif
377
378#endif
379
380HRESULT STDMETHODCALLTYPE ICondition_GetConditionType_Proxy(
381    ICondition* This,
382    CONDITION_TYPE *pNodeType);
383void __RPC_STUB ICondition_GetConditionType_Stub(
384    IRpcStubBuffer* This,
385    IRpcChannelBuffer* pRpcChannelBuffer,
386    PRPC_MESSAGE pRpcMessage,
387    DWORD* pdwStubPhase);
388HRESULT STDMETHODCALLTYPE ICondition_GetSubConditions_Proxy(
389    ICondition* This,
390    REFIID riid,
391    void **ppv);
392void __RPC_STUB ICondition_GetSubConditions_Stub(
393    IRpcStubBuffer* This,
394    IRpcChannelBuffer* pRpcChannelBuffer,
395    PRPC_MESSAGE pRpcMessage,
396    DWORD* pdwStubPhase);
397HRESULT STDMETHODCALLTYPE ICondition_RemoteGetComparisonInfo_Proxy(
398    ICondition* This,
399    LPWSTR *ppszPropertyName,
400    CONDITION_OPERATION *pcop,
401    PROPVARIANT *ppropvar);
402void __RPC_STUB ICondition_RemoteGetComparisonInfo_Stub(
403    IRpcStubBuffer* This,
404    IRpcChannelBuffer* pRpcChannelBuffer,
405    PRPC_MESSAGE pRpcMessage,
406    DWORD* pdwStubPhase);
407HRESULT STDMETHODCALLTYPE ICondition_GetValueType_Proxy(
408    ICondition* This,
409    LPWSTR *ppszValueTypeName);
410void __RPC_STUB ICondition_GetValueType_Stub(
411    IRpcStubBuffer* This,
412    IRpcChannelBuffer* pRpcChannelBuffer,
413    PRPC_MESSAGE pRpcMessage,
414    DWORD* pdwStubPhase);
415HRESULT STDMETHODCALLTYPE ICondition_GetValueNormalization_Proxy(
416    ICondition* This,
417    LPWSTR *ppszNormalization);
418void __RPC_STUB ICondition_GetValueNormalization_Stub(
419    IRpcStubBuffer* This,
420    IRpcChannelBuffer* pRpcChannelBuffer,
421    PRPC_MESSAGE pRpcMessage,
422    DWORD* pdwStubPhase);
423HRESULT STDMETHODCALLTYPE ICondition_RemoteGetInputTerms_Proxy(
424    ICondition* This,
425    IRichChunk **ppPropertyTerm,
426    IRichChunk **ppOperationTerm,
427    IRichChunk **ppValueTerm);
428void __RPC_STUB ICondition_RemoteGetInputTerms_Stub(
429    IRpcStubBuffer* This,
430    IRpcChannelBuffer* pRpcChannelBuffer,
431    PRPC_MESSAGE pRpcMessage,
432    DWORD* pdwStubPhase);
433HRESULT STDMETHODCALLTYPE ICondition_Clone_Proxy(
434    ICondition* This,
435    ICondition **ppc);
436void __RPC_STUB ICondition_Clone_Stub(
437    IRpcStubBuffer* This,
438    IRpcChannelBuffer* pRpcChannelBuffer,
439    PRPC_MESSAGE pRpcMessage,
440    DWORD* pdwStubPhase);
441HRESULT CALLBACK ICondition_GetComparisonInfo_Proxy(
442    ICondition* This,
443    LPWSTR *ppszPropertyName,
444    CONDITION_OPERATION *pcop,
445    PROPVARIANT *ppropvar);
446HRESULT __RPC_STUB ICondition_GetComparisonInfo_Stub(
447    ICondition* This,
448    LPWSTR *ppszPropertyName,
449    CONDITION_OPERATION *pcop,
450    PROPVARIANT *ppropvar);
451HRESULT CALLBACK ICondition_GetInputTerms_Proxy(
452    ICondition* This,
453    IRichChunk **ppPropertyTerm,
454    IRichChunk **ppOperationTerm,
455    IRichChunk **ppValueTerm);
456HRESULT __RPC_STUB ICondition_GetInputTerms_Stub(
457    ICondition* This,
458    IRichChunk **ppPropertyTerm,
459    IRichChunk **ppOperationTerm,
460    IRichChunk **ppValueTerm);
461
462#endif  /* __ICondition_INTERFACE_DEFINED__ */
463
464
465/*****************************************************************************
466 * ICondition2 interface
467 */
468#ifndef __ICondition2_INTERFACE_DEFINED__
469#define __ICondition2_INTERFACE_DEFINED__
470
471DEFINE_GUID(IID_ICondition2, 0x0db8851d, 0x2e5b, 0x47eb, 0x92,0x08, 0xd2,0x8c,0x32,0x5a,0x01,0xd7);
472#if defined(__cplusplus) && !defined(CINTERFACE)
473MIDL_INTERFACE("0db8851d-2e5b-47eb-9208-d28c325a01d7")
474ICondition2 : public ICondition
475{
476    virtual HRESULT STDMETHODCALLTYPE GetLocale(
477        LPWSTR *ppszLocaleName) = 0;
478
479    virtual HRESULT STDMETHODCALLTYPE GetLeafConditionInfo(
480        PROPERTYKEY *ppropkey,
481        CONDITION_OPERATION *pcop,
482        PROPVARIANT *ppropvar) = 0;
483
484};
485#ifdef __CRT_UUID_DECL
486__CRT_UUID_DECL(ICondition2, 0x0db8851d, 0x2e5b, 0x47eb, 0x92,0x08, 0xd2,0x8c,0x32,0x5a,0x01,0xd7)
487#endif
488#else
489typedef struct ICondition2Vtbl {
490    BEGIN_INTERFACE
491
492    /*** IUnknown methods ***/
493    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
494        ICondition2* This,
495        REFIID riid,
496        void **ppvObject);
497
498    ULONG (STDMETHODCALLTYPE *AddRef)(
499        ICondition2* This);
500
501    ULONG (STDMETHODCALLTYPE *Release)(
502        ICondition2* This);
503
504    /*** IPersist methods ***/
505    HRESULT (STDMETHODCALLTYPE *GetClassID)(
506        ICondition2* This,
507        CLSID *pClassID);
508
509    /*** IPersistStream methods ***/
510    HRESULT (STDMETHODCALLTYPE *IsDirty)(
511        ICondition2* This);
512
513    HRESULT (STDMETHODCALLTYPE *Load)(
514        ICondition2* This,
515        IStream *pStm);
516
517    HRESULT (STDMETHODCALLTYPE *Save)(
518        ICondition2* This,
519        IStream *pStm,
520        WINBOOL fClearDirty);
521
522    HRESULT (STDMETHODCALLTYPE *GetSizeMax)(
523        ICondition2* This,
524        ULARGE_INTEGER *pcbSize);
525
526    /*** ICondition methods ***/
527    HRESULT (STDMETHODCALLTYPE *GetConditionType)(
528        ICondition2* This,
529        CONDITION_TYPE *pNodeType);
530
531    HRESULT (STDMETHODCALLTYPE *GetSubConditions)(
532        ICondition2* This,
533        REFIID riid,
534        void **ppv);
535
536    HRESULT (STDMETHODCALLTYPE *GetComparisonInfo)(
537        ICondition2* This,
538        LPWSTR *ppszPropertyName,
539        CONDITION_OPERATION *pcop,
540        PROPVARIANT *ppropvar);
541
542    HRESULT (STDMETHODCALLTYPE *GetValueType)(
543        ICondition2* This,
544        LPWSTR *ppszValueTypeName);
545
546    HRESULT (STDMETHODCALLTYPE *GetValueNormalization)(
547        ICondition2* This,
548        LPWSTR *ppszNormalization);
549
550    HRESULT (STDMETHODCALLTYPE *GetInputTerms)(
551        ICondition2* This,
552        IRichChunk **ppPropertyTerm,
553        IRichChunk **ppOperationTerm,
554        IRichChunk **ppValueTerm);
555
556    HRESULT (STDMETHODCALLTYPE *Clone)(
557        ICondition2* This,
558        ICondition **ppc);
559
560    /*** ICondition2 methods ***/
561    HRESULT (STDMETHODCALLTYPE *GetLocale)(
562        ICondition2* This,
563        LPWSTR *ppszLocaleName);
564
565    HRESULT (STDMETHODCALLTYPE *GetLeafConditionInfo)(
566        ICondition2* This,
567        PROPERTYKEY *ppropkey,
568        CONDITION_OPERATION *pcop,
569        PROPVARIANT *ppropvar);
570
571    END_INTERFACE
572} ICondition2Vtbl;
573interface ICondition2 {
574    CONST_VTBL ICondition2Vtbl* lpVtbl;
575};
576
577#ifdef COBJMACROS
578#ifndef WIDL_C_INLINE_WRAPPERS
579/*** IUnknown methods ***/
580#define ICondition2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
581#define ICondition2_AddRef(This) (This)->lpVtbl->AddRef(This)
582#define ICondition2_Release(This) (This)->lpVtbl->Release(This)
583/*** IPersist methods ***/
584#define ICondition2_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
585/*** IPersistStream methods ***/
586#define ICondition2_IsDirty(This) (This)->lpVtbl->IsDirty(This)
587#define ICondition2_Load(This,pStm) (This)->lpVtbl->Load(This,pStm)
588#define ICondition2_Save(This,pStm,fClearDirty) (This)->lpVtbl->Save(This,pStm,fClearDirty)
589#define ICondition2_GetSizeMax(This,pcbSize) (This)->lpVtbl->GetSizeMax(This,pcbSize)
590/*** ICondition methods ***/
591#define ICondition2_GetConditionType(This,pNodeType) (This)->lpVtbl->GetConditionType(This,pNodeType)
592#define ICondition2_GetSubConditions(This,riid,ppv) (This)->lpVtbl->GetSubConditions(This,riid,ppv)
593#define ICondition2_GetComparisonInfo(This,ppszPropertyName,pcop,ppropvar) (This)->lpVtbl->GetComparisonInfo(This,ppszPropertyName,pcop,ppropvar)
594#define ICondition2_GetValueType(This,ppszValueTypeName) (This)->lpVtbl->GetValueType(This,ppszValueTypeName)
595#define ICondition2_GetValueNormalization(This,ppszNormalization) (This)->lpVtbl->GetValueNormalization(This,ppszNormalization)
596#define ICondition2_GetInputTerms(This,ppPropertyTerm,ppOperationTerm,ppValueTerm) (This)->lpVtbl->GetInputTerms(This,ppPropertyTerm,ppOperationTerm,ppValueTerm)
597#define ICondition2_Clone(This,ppc) (This)->lpVtbl->Clone(This,ppc)
598/*** ICondition2 methods ***/
599#define ICondition2_GetLocale(This,ppszLocaleName) (This)->lpVtbl->GetLocale(This,ppszLocaleName)
600#define ICondition2_GetLeafConditionInfo(This,ppropkey,pcop,ppropvar) (This)->lpVtbl->GetLeafConditionInfo(This,ppropkey,pcop,ppropvar)
601#else
602/*** IUnknown methods ***/
603static FORCEINLINE HRESULT ICondition2_QueryInterface(ICondition2* This,REFIID riid,void **ppvObject) {
604    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
605}
606static FORCEINLINE ULONG ICondition2_AddRef(ICondition2* This) {
607    return This->lpVtbl->AddRef(This);
608}
609static FORCEINLINE ULONG ICondition2_Release(ICondition2* This) {
610    return This->lpVtbl->Release(This);
611}
612/*** IPersist methods ***/
613static FORCEINLINE HRESULT ICondition2_GetClassID(ICondition2* This,CLSID *pClassID) {
614    return This->lpVtbl->GetClassID(This,pClassID);
615}
616/*** IPersistStream methods ***/
617static FORCEINLINE HRESULT ICondition2_IsDirty(ICondition2* This) {
618    return This->lpVtbl->IsDirty(This);
619}
620static FORCEINLINE HRESULT ICondition2_Load(ICondition2* This,IStream *pStm) {
621    return This->lpVtbl->Load(This,pStm);
622}
623static FORCEINLINE HRESULT ICondition2_Save(ICondition2* This,IStream *pStm,WINBOOL fClearDirty) {
624    return This->lpVtbl->Save(This,pStm,fClearDirty);
625}
626static FORCEINLINE HRESULT ICondition2_GetSizeMax(ICondition2* This,ULARGE_INTEGER *pcbSize) {
627    return This->lpVtbl->GetSizeMax(This,pcbSize);
628}
629/*** ICondition methods ***/
630static FORCEINLINE HRESULT ICondition2_GetConditionType(ICondition2* This,CONDITION_TYPE *pNodeType) {
631    return This->lpVtbl->GetConditionType(This,pNodeType);
632}
633static FORCEINLINE HRESULT ICondition2_GetSubConditions(ICondition2* This,REFIID riid,void **ppv) {
634    return This->lpVtbl->GetSubConditions(This,riid,ppv);
635}
636static FORCEINLINE HRESULT ICondition2_GetComparisonInfo(ICondition2* This,LPWSTR *ppszPropertyName,CONDITION_OPERATION *pcop,PROPVARIANT *ppropvar) {
637    return This->lpVtbl->GetComparisonInfo(This,ppszPropertyName,pcop,ppropvar);
638}
639static FORCEINLINE HRESULT ICondition2_GetValueType(ICondition2* This,LPWSTR *ppszValueTypeName) {
640    return This->lpVtbl->GetValueType(This,ppszValueTypeName);
641}
642static FORCEINLINE HRESULT ICondition2_GetValueNormalization(ICondition2* This,LPWSTR *ppszNormalization) {
643    return This->lpVtbl->GetValueNormalization(This,ppszNormalization);
644}
645static FORCEINLINE HRESULT ICondition2_GetInputTerms(ICondition2* This,IRichChunk **ppPropertyTerm,IRichChunk **ppOperationTerm,IRichChunk **ppValueTerm) {
646    return This->lpVtbl->GetInputTerms(This,ppPropertyTerm,ppOperationTerm,ppValueTerm);
647}
648static FORCEINLINE HRESULT ICondition2_Clone(ICondition2* This,ICondition **ppc) {
649    return This->lpVtbl->Clone(This,ppc);
650}
651/*** ICondition2 methods ***/
652static FORCEINLINE HRESULT ICondition2_GetLocale(ICondition2* This,LPWSTR *ppszLocaleName) {
653    return This->lpVtbl->GetLocale(This,ppszLocaleName);
654}
655static FORCEINLINE HRESULT ICondition2_GetLeafConditionInfo(ICondition2* This,PROPERTYKEY *ppropkey,CONDITION_OPERATION *pcop,PROPVARIANT *ppropvar) {
656    return This->lpVtbl->GetLeafConditionInfo(This,ppropkey,pcop,ppropvar);
657}
658#endif
659#endif
660
661#endif
662
663HRESULT STDMETHODCALLTYPE ICondition2_GetLocale_Proxy(
664    ICondition2* This,
665    LPWSTR *ppszLocaleName);
666void __RPC_STUB ICondition2_GetLocale_Stub(
667    IRpcStubBuffer* This,
668    IRpcChannelBuffer* pRpcChannelBuffer,
669    PRPC_MESSAGE pRpcMessage,
670    DWORD* pdwStubPhase);
671HRESULT STDMETHODCALLTYPE ICondition2_RemoteGetLeafConditionInfo_Proxy(
672    ICondition2* This,
673    PROPERTYKEY *ppropkey,
674    CONDITION_OPERATION *pcop,
675    PROPVARIANT *ppropvar);
676void __RPC_STUB ICondition2_RemoteGetLeafConditionInfo_Stub(
677    IRpcStubBuffer* This,
678    IRpcChannelBuffer* pRpcChannelBuffer,
679    PRPC_MESSAGE pRpcMessage,
680    DWORD* pdwStubPhase);
681HRESULT CALLBACK ICondition2_GetLeafConditionInfo_Proxy(
682    ICondition2* This,
683    PROPERTYKEY *ppropkey,
684    CONDITION_OPERATION *pcop,
685    PROPVARIANT *ppropvar);
686HRESULT __RPC_STUB ICondition2_GetLeafConditionInfo_Stub(
687    ICondition2* This,
688    PROPERTYKEY *ppropkey,
689    CONDITION_OPERATION *pcop,
690    PROPVARIANT *ppropvar);
691
692#endif  /* __ICondition2_INTERFACE_DEFINED__ */
693
694#endif
695/* Begin additional prototypes for all interfaces */
696
697ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
698unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
699unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
700void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
701ULONG           __RPC_USER LPSAFEARRAY_UserSize     (ULONG *, ULONG, LPSAFEARRAY *);
702unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal  (ULONG *, unsigned char *, LPSAFEARRAY *);
703unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal(ULONG *, unsigned char *, LPSAFEARRAY *);
704void            __RPC_USER LPSAFEARRAY_UserFree     (ULONG *, LPSAFEARRAY *);
705
706/* End additional prototypes */
707
708#ifdef __cplusplus
709}
710#endif
711
712#endif /* __structuredquerycondition_h__ */
713