1 
2 
3 /* this ALWAYS GENERATED file contains the definitions for the interfaces */
4 
5 
6  /* File created by MIDL compiler version 7.00.0499 */
7 /* Compiler settings for structuredquery.idl:
8     Oicf, W1, Zp8, env=Win32 (32b run)
9     protocol : dce , ms_ext, c_ext, robust
10     error checks: allocation ref bounds_check enum stub_data
11     VC __declspec() decoration level:
12          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
13          DECLSPEC_UUID(), MIDL_INTERFACE()
14 */
15 //@@MIDL_FILE_HEADING(  )
16 
17 #pragma warning( disable: 4049 )  /* more than 64k source lines */
18 
19 
20 /* verify that the <rpcndr.h> version is high enough to compile this file*/
21 #ifndef __REQUIRED_RPCNDR_H_VERSION__
22 #define __REQUIRED_RPCNDR_H_VERSION__ 475
23 #endif
24 
25 /* verify that the <rpcsal.h> version is high enough to compile this file*/
26 #ifndef __REQUIRED_RPCSAL_H_VERSION__
27 #define __REQUIRED_RPCSAL_H_VERSION__ 100
28 #endif
29 
30 #include "rpc.h"
31 #include "rpcndr.h"
32 
33 #ifndef __RPCNDR_H_VERSION__
34 #error this stub requires an updated version of <rpcndr.h>
35 #endif // __RPCNDR_H_VERSION__
36 
37 #ifndef COM_NO_WINDOWS_H
38 #include "windows.h"
39 #include "ole2.h"
40 #endif /*COM_NO_WINDOWS_H*/
41 
42 #ifndef __structuredquery_h__
43 #define __structuredquery_h__
44 
45 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
46 #pragma once
47 #endif
48 
49 /* Forward Declarations */
50 
51 #ifndef __IQueryParser_FWD_DEFINED__
52 #define __IQueryParser_FWD_DEFINED__
53 typedef interface IQueryParser IQueryParser;
54 #endif 	/* __IQueryParser_FWD_DEFINED__ */
55 
56 
57 #ifndef __IConditionFactory_FWD_DEFINED__
58 #define __IConditionFactory_FWD_DEFINED__
59 typedef interface IConditionFactory IConditionFactory;
60 #endif 	/* __IConditionFactory_FWD_DEFINED__ */
61 
62 
63 #ifndef __IQuerySolution_FWD_DEFINED__
64 #define __IQuerySolution_FWD_DEFINED__
65 typedef interface IQuerySolution IQuerySolution;
66 #endif 	/* __IQuerySolution_FWD_DEFINED__ */
67 
68 
69 #ifndef __ICondition_FWD_DEFINED__
70 #define __ICondition_FWD_DEFINED__
71 typedef interface ICondition ICondition;
72 #endif 	/* __ICondition_FWD_DEFINED__ */
73 
74 
75 #ifndef __IConditionGenerator_FWD_DEFINED__
76 #define __IConditionGenerator_FWD_DEFINED__
77 typedef interface IConditionGenerator IConditionGenerator;
78 #endif 	/* __IConditionGenerator_FWD_DEFINED__ */
79 
80 
81 #ifndef __IRichChunk_FWD_DEFINED__
82 #define __IRichChunk_FWD_DEFINED__
83 typedef interface IRichChunk IRichChunk;
84 #endif 	/* __IRichChunk_FWD_DEFINED__ */
85 
86 
87 #ifndef __IInterval_FWD_DEFINED__
88 #define __IInterval_FWD_DEFINED__
89 typedef interface IInterval IInterval;
90 #endif 	/* __IInterval_FWD_DEFINED__ */
91 
92 
93 #ifndef __IMetaData_FWD_DEFINED__
94 #define __IMetaData_FWD_DEFINED__
95 typedef interface IMetaData IMetaData;
96 #endif 	/* __IMetaData_FWD_DEFINED__ */
97 
98 
99 #ifndef __IEntity_FWD_DEFINED__
100 #define __IEntity_FWD_DEFINED__
101 typedef interface IEntity IEntity;
102 #endif 	/* __IEntity_FWD_DEFINED__ */
103 
104 
105 #ifndef __IRelationship_FWD_DEFINED__
106 #define __IRelationship_FWD_DEFINED__
107 typedef interface IRelationship IRelationship;
108 #endif 	/* __IRelationship_FWD_DEFINED__ */
109 
110 
111 #ifndef __INamedEntity_FWD_DEFINED__
112 #define __INamedEntity_FWD_DEFINED__
113 typedef interface INamedEntity INamedEntity;
114 #endif 	/* __INamedEntity_FWD_DEFINED__ */
115 
116 
117 #ifndef __ISchemaProvider_FWD_DEFINED__
118 #define __ISchemaProvider_FWD_DEFINED__
119 typedef interface ISchemaProvider ISchemaProvider;
120 #endif 	/* __ISchemaProvider_FWD_DEFINED__ */
121 
122 
123 #ifndef __ITokenCollection_FWD_DEFINED__
124 #define __ITokenCollection_FWD_DEFINED__
125 typedef interface ITokenCollection ITokenCollection;
126 #endif 	/* __ITokenCollection_FWD_DEFINED__ */
127 
128 
129 #ifndef __INamedEntityCollector_FWD_DEFINED__
130 #define __INamedEntityCollector_FWD_DEFINED__
131 typedef interface INamedEntityCollector INamedEntityCollector;
132 #endif 	/* __INamedEntityCollector_FWD_DEFINED__ */
133 
134 
135 #ifndef __ISchemaLocalizerSupport_FWD_DEFINED__
136 #define __ISchemaLocalizerSupport_FWD_DEFINED__
137 typedef interface ISchemaLocalizerSupport ISchemaLocalizerSupport;
138 #endif 	/* __ISchemaLocalizerSupport_FWD_DEFINED__ */
139 
140 
141 #ifndef __IQueryParserManager_FWD_DEFINED__
142 #define __IQueryParserManager_FWD_DEFINED__
143 typedef interface IQueryParserManager IQueryParserManager;
144 #endif 	/* __IQueryParserManager_FWD_DEFINED__ */
145 
146 
147 #ifndef __QueryParser_FWD_DEFINED__
148 #define __QueryParser_FWD_DEFINED__
149 
150 #ifdef __cplusplus
151 typedef class QueryParser QueryParser;
152 #else
153 typedef struct QueryParser QueryParser;
154 #endif /* __cplusplus */
155 
156 #endif 	/* __QueryParser_FWD_DEFINED__ */
157 
158 
159 #ifndef __NegationCondition_FWD_DEFINED__
160 #define __NegationCondition_FWD_DEFINED__
161 
162 #ifdef __cplusplus
163 typedef class NegationCondition NegationCondition;
164 #else
165 typedef struct NegationCondition NegationCondition;
166 #endif /* __cplusplus */
167 
168 #endif 	/* __NegationCondition_FWD_DEFINED__ */
169 
170 
171 #ifndef __CompoundCondition_FWD_DEFINED__
172 #define __CompoundCondition_FWD_DEFINED__
173 
174 #ifdef __cplusplus
175 typedef class CompoundCondition CompoundCondition;
176 #else
177 typedef struct CompoundCondition CompoundCondition;
178 #endif /* __cplusplus */
179 
180 #endif 	/* __CompoundCondition_FWD_DEFINED__ */
181 
182 
183 #ifndef __LeafCondition_FWD_DEFINED__
184 #define __LeafCondition_FWD_DEFINED__
185 
186 #ifdef __cplusplus
187 typedef class LeafCondition LeafCondition;
188 #else
189 typedef struct LeafCondition LeafCondition;
190 #endif /* __cplusplus */
191 
192 #endif 	/* __LeafCondition_FWD_DEFINED__ */
193 
194 
195 #ifndef __ConditionFactory_FWD_DEFINED__
196 #define __ConditionFactory_FWD_DEFINED__
197 
198 #ifdef __cplusplus
199 typedef class ConditionFactory ConditionFactory;
200 #else
201 typedef struct ConditionFactory ConditionFactory;
202 #endif /* __cplusplus */
203 
204 #endif 	/* __ConditionFactory_FWD_DEFINED__ */
205 
206 
207 #ifndef __Interval_FWD_DEFINED__
208 #define __Interval_FWD_DEFINED__
209 
210 #ifdef __cplusplus
211 typedef class Interval Interval;
212 #else
213 typedef struct Interval Interval;
214 #endif /* __cplusplus */
215 
216 #endif 	/* __Interval_FWD_DEFINED__ */
217 
218 
219 #ifndef __QueryParserManager_FWD_DEFINED__
220 #define __QueryParserManager_FWD_DEFINED__
221 
222 #ifdef __cplusplus
223 typedef class QueryParserManager QueryParserManager;
224 #else
225 typedef struct QueryParserManager QueryParserManager;
226 #endif /* __cplusplus */
227 
228 #endif 	/* __QueryParserManager_FWD_DEFINED__ */
229 
230 
231 /* header files for imported files */
232 #include "oaidl.h"
233 #include "ocidl.h"
234 #include "propidl.h"
235 
236 #ifdef __cplusplus
237 extern "C"{
238 #endif
239 
240 
241 /* interface __MIDL_itf_structuredquery_0000_0000 */
242 /* [local] */
243 
244 
245 
246 
247 
248 
249 
250 
251 
252 
253 
254 typedef /* [v1_enum] */
255 enum tagCONDITION_TYPE
256     {	CT_AND_CONDITION	= 0,
257 	CT_OR_CONDITION	= ( CT_AND_CONDITION + 1 ) ,
258 	CT_NOT_CONDITION	= ( CT_OR_CONDITION + 1 ) ,
259 	CT_LEAF_CONDITION	= ( CT_NOT_CONDITION + 1 )
260     } 	CONDITION_TYPE;
261 
262 typedef /* [v1_enum] */
263 enum tagCONDITION_OPERATION
264     {	COP_IMPLICIT	= 0,
265 	COP_EQUAL	= ( COP_IMPLICIT + 1 ) ,
266 	COP_NOTEQUAL	= ( COP_EQUAL + 1 ) ,
267 	COP_LESSTHAN	= ( COP_NOTEQUAL + 1 ) ,
268 	COP_GREATERTHAN	= ( COP_LESSTHAN + 1 ) ,
269 	COP_LESSTHANOREQUAL	= ( COP_GREATERTHAN + 1 ) ,
270 	COP_GREATERTHANOREQUAL	= ( COP_LESSTHANOREQUAL + 1 ) ,
271 	COP_VALUE_STARTSWITH	= ( COP_GREATERTHANOREQUAL + 1 ) ,
272 	COP_VALUE_ENDSWITH	= ( COP_VALUE_STARTSWITH + 1 ) ,
273 	COP_VALUE_CONTAINS	= ( COP_VALUE_ENDSWITH + 1 ) ,
274 	COP_VALUE_NOTCONTAINS	= ( COP_VALUE_CONTAINS + 1 ) ,
275 	COP_DOSWILDCARDS	= ( COP_VALUE_NOTCONTAINS + 1 ) ,
276 	COP_WORD_EQUAL	= ( COP_DOSWILDCARDS + 1 ) ,
277 	COP_WORD_STARTSWITH	= ( COP_WORD_EQUAL + 1 ) ,
278 	COP_APPLICATION_SPECIFIC	= ( COP_WORD_STARTSWITH + 1 )
279     } 	CONDITION_OPERATION;
280 
281 typedef /* [v1_enum] */
282 enum tagSTRUCTURED_QUERY_SINGLE_OPTION
283     {	SQSO_SCHEMA	= 0,
284 	SQSO_LOCALE_WORD_BREAKING	= ( SQSO_SCHEMA + 1 ) ,
285 	SQSO_WORD_BREAKER	= ( SQSO_LOCALE_WORD_BREAKING + 1 ) ,
286 	SQSO_NATURAL_SYNTAX	= ( SQSO_WORD_BREAKER + 1 ) ,
287 	SQSO_AUTOMATIC_WILDCARD	= ( SQSO_NATURAL_SYNTAX + 1 ) ,
288 	SQSO_TRACE_LEVEL	= ( SQSO_AUTOMATIC_WILDCARD + 1 ) ,
289 	SQSO_LANGUAGE_KEYWORDS	= ( SQSO_TRACE_LEVEL + 1 )
290     } 	STRUCTURED_QUERY_SINGLE_OPTION;
291 
292 typedef /* [v1_enum] */
293 enum tagSTRUCTURED_QUERY_MULTIOPTION
294     {	SQMO_VIRTUAL_PROPERTY	= 0,
295 	SQMO_DEFAULT_PROPERTY	= ( SQMO_VIRTUAL_PROPERTY + 1 ) ,
296 	SQMO_GENERATOR_FOR_TYPE	= ( SQMO_DEFAULT_PROPERTY + 1 )
297     } 	STRUCTURED_QUERY_MULTIOPTION;
298 
299 typedef /* [v1_enum] */
300 enum tagSTRUCTURED_QUERY_PARSE_ERROR
301     {	SQPE_NONE	= 0,
302 	SQPE_EXTRA_OPENING_PARENTHESIS	= ( SQPE_NONE + 1 ) ,
303 	SQPE_EXTRA_CLOSING_PARENTHESIS	= ( SQPE_EXTRA_OPENING_PARENTHESIS + 1 ) ,
304 	SQPE_IGNORED_MODIFIER	= ( SQPE_EXTRA_CLOSING_PARENTHESIS + 1 ) ,
305 	SQPE_IGNORED_CONNECTOR	= ( SQPE_IGNORED_MODIFIER + 1 ) ,
306 	SQPE_IGNORED_KEYWORD	= ( SQPE_IGNORED_CONNECTOR + 1 ) ,
307 	SQPE_UNHANDLED	= ( SQPE_IGNORED_KEYWORD + 1 )
308     } 	STRUCTURED_QUERY_PARSE_ERROR;
309 
310 /* [v1_enum] */
311 enum tagSTRUCTURED_QUERY_RESOLVE_OPTION
312     {	SQRO_DONT_RESOLVE_DATETIME	= 0x1,
313 	SQRO_ALWAYS_ONE_INTERVAL	= 0x2,
314 	SQRO_DONT_SIMPLIFY_CONDITION_TREES	= 0x4,
315 	SQRO_DONT_MAP_RELATIONS	= 0x8,
316 	SQRO_DONT_RESOLVE_RANGES	= 0x10,
317 	SQRO_DONT_REMOVE_UNRESTRICTED_KEYWORDS	= 0x20,
318 	SQRO_DONT_SPLIT_WORDS	= 0x40,
319 	SQRO_IGNORE_PHRASE_ORDER	= 0x80
320     } ;
321 typedef int STRUCTURED_QUERY_RESOLVE_OPTION;
322 
323 typedef /* [v1_enum] */
324 enum tagINTERVAL_LIMIT_KIND
325     {	ILK_EXPLICIT_INCLUDED	= 0,
326 	ILK_EXPLICIT_EXCLUDED	= ( ILK_EXPLICIT_INCLUDED + 1 ) ,
327 	ILK_NEGATIVE_INFINITY	= ( ILK_EXPLICIT_EXCLUDED + 1 ) ,
328 	ILK_POSITIVE_INFINITY	= ( ILK_NEGATIVE_INFINITY + 1 )
329     } 	INTERVAL_LIMIT_KIND;
330 
331 typedef /* [v1_enum] */
332 enum tagQUERY_PARSER_MANAGER_OPTION
333     {	QPMO_SCHEMA_BINARY_NAME	= 0,
334 	QPMO_PRELOCALIZED_SCHEMA_BINARY_PATH	= ( QPMO_SCHEMA_BINARY_NAME + 1 ) ,
335 	QPMO_UNLOCALIZED_SCHEMA_BINARY_PATH	= ( QPMO_PRELOCALIZED_SCHEMA_BINARY_PATH + 1 ) ,
336 	QPMO_LOCALIZED_SCHEMA_BINARY_PATH	= ( QPMO_UNLOCALIZED_SCHEMA_BINARY_PATH + 1 ) ,
337 	QPMO_APPEND_LCID_TO_LOCALIZED_PATH	= ( QPMO_LOCALIZED_SCHEMA_BINARY_PATH + 1 ) ,
338 	QPMO_LOCALIZER_SUPPORT	= ( QPMO_APPEND_LCID_TO_LOCALIZED_PATH + 1 )
339     } 	QUERY_PARSER_MANAGER_OPTION;
340 
341 
342 
343 extern RPC_IF_HANDLE __MIDL_itf_structuredquery_0000_0000_v0_0_c_ifspec;
344 extern RPC_IF_HANDLE __MIDL_itf_structuredquery_0000_0000_v0_0_s_ifspec;
345 
346 #ifndef __IQueryParser_INTERFACE_DEFINED__
347 #define __IQueryParser_INTERFACE_DEFINED__
348 
349 /* interface IQueryParser */
350 /* [unique][uuid][object] */
351 
352 
353 EXTERN_C const IID IID_IQueryParser;
354 
355 #if defined(__cplusplus) && !defined(CINTERFACE)
356 
357     MIDL_INTERFACE("2EBDEE67-3505-43f8-9946-EA44ABC8E5B0")
358     IQueryParser : public IUnknown
359     {
360     public:
361         virtual HRESULT STDMETHODCALLTYPE Parse(
362             /* [in] */ __RPC__in LPCWSTR pszInputString,
363             /* [in] */ __RPC__in_opt IEnumUnknown *pCustomProperties,
364             /* [retval][out] */ __RPC__deref_out_opt IQuerySolution **ppSolution) = 0;
365 
366         virtual HRESULT STDMETHODCALLTYPE SetOption(
367             /* [in] */ STRUCTURED_QUERY_SINGLE_OPTION option,
368             /* [in] */ __RPC__in const PROPVARIANT *pOptionValue) = 0;
369 
370         virtual HRESULT STDMETHODCALLTYPE GetOption(
371             /* [in] */ STRUCTURED_QUERY_SINGLE_OPTION option,
372             /* [retval][out] */ __RPC__out PROPVARIANT *pOptionValue) = 0;
373 
374         virtual HRESULT STDMETHODCALLTYPE SetMultiOption(
375             /* [in] */ STRUCTURED_QUERY_MULTIOPTION option,
376             /* [in] */ __RPC__in LPCWSTR pszOptionKey,
377             /* [in] */ __RPC__in const PROPVARIANT *pOptionValue) = 0;
378 
379         virtual HRESULT STDMETHODCALLTYPE GetSchemaProvider(
380             /* [retval][out] */ __RPC__deref_out_opt ISchemaProvider **ppSchemaProvider) = 0;
381 
382         virtual HRESULT STDMETHODCALLTYPE RestateToString(
383             /* [in] */ __RPC__in_opt ICondition *pCondition,
384             /* [in] */ BOOL fUseEnglish,
385             /* [out] */ __RPC__deref_out_opt LPWSTR *ppszQueryString) = 0;
386 
387         virtual HRESULT STDMETHODCALLTYPE ParsePropertyValue(
388             /* [in] */ __RPC__in LPCWSTR pszPropertyName,
389             /* [in] */ __RPC__in LPCWSTR pszInputString,
390             /* [retval][out] */ __RPC__deref_out_opt IQuerySolution **ppSolution) = 0;
391 
392         virtual HRESULT STDMETHODCALLTYPE RestatePropertyValueToString(
393             /* [in] */ __RPC__in_opt ICondition *pCondition,
394             /* [in] */ BOOL fUseEnglish,
395             /* [out] */ __RPC__deref_out_opt LPWSTR *ppszPropertyName,
396             /* [out] */ __RPC__deref_out_opt LPWSTR *ppszQueryString) = 0;
397 
398     };
399 
400 #else 	/* C style interface */
401 
402     typedef struct IQueryParserVtbl
403     {
404         BEGIN_INTERFACE
405 
406         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
407             IQueryParser * This,
408             /* [in] */ __RPC__in REFIID riid,
409             /* [iid_is][out] */
410             __RPC__deref_out  void **ppvObject);
411 
412         ULONG ( STDMETHODCALLTYPE *AddRef )(
413             IQueryParser * This);
414 
415         ULONG ( STDMETHODCALLTYPE *Release )(
416             IQueryParser * This);
417 
418         HRESULT ( STDMETHODCALLTYPE *Parse )(
419             IQueryParser * This,
420             /* [in] */ __RPC__in LPCWSTR pszInputString,
421             /* [in] */ __RPC__in_opt IEnumUnknown *pCustomProperties,
422             /* [retval][out] */ __RPC__deref_out_opt IQuerySolution **ppSolution);
423 
424         HRESULT ( STDMETHODCALLTYPE *SetOption )(
425             IQueryParser * This,
426             /* [in] */ STRUCTURED_QUERY_SINGLE_OPTION option,
427             /* [in] */ __RPC__in const PROPVARIANT *pOptionValue);
428 
429         HRESULT ( STDMETHODCALLTYPE *GetOption )(
430             IQueryParser * This,
431             /* [in] */ STRUCTURED_QUERY_SINGLE_OPTION option,
432             /* [retval][out] */ __RPC__out PROPVARIANT *pOptionValue);
433 
434         HRESULT ( STDMETHODCALLTYPE *SetMultiOption )(
435             IQueryParser * This,
436             /* [in] */ STRUCTURED_QUERY_MULTIOPTION option,
437             /* [in] */ __RPC__in LPCWSTR pszOptionKey,
438             /* [in] */ __RPC__in const PROPVARIANT *pOptionValue);
439 
440         HRESULT ( STDMETHODCALLTYPE *GetSchemaProvider )(
441             IQueryParser * This,
442             /* [retval][out] */ __RPC__deref_out_opt ISchemaProvider **ppSchemaProvider);
443 
444         HRESULT ( STDMETHODCALLTYPE *RestateToString )(
445             IQueryParser * This,
446             /* [in] */ __RPC__in_opt ICondition *pCondition,
447             /* [in] */ BOOL fUseEnglish,
448             /* [out] */ __RPC__deref_out_opt LPWSTR *ppszQueryString);
449 
450         HRESULT ( STDMETHODCALLTYPE *ParsePropertyValue )(
451             IQueryParser * This,
452             /* [in] */ __RPC__in LPCWSTR pszPropertyName,
453             /* [in] */ __RPC__in LPCWSTR pszInputString,
454             /* [retval][out] */ __RPC__deref_out_opt IQuerySolution **ppSolution);
455 
456         HRESULT ( STDMETHODCALLTYPE *RestatePropertyValueToString )(
457             IQueryParser * This,
458             /* [in] */ __RPC__in_opt ICondition *pCondition,
459             /* [in] */ BOOL fUseEnglish,
460             /* [out] */ __RPC__deref_out_opt LPWSTR *ppszPropertyName,
461             /* [out] */ __RPC__deref_out_opt LPWSTR *ppszQueryString);
462 
463         END_INTERFACE
464     } IQueryParserVtbl;
465 
466     interface IQueryParser
467     {
468         CONST_VTBL struct IQueryParserVtbl *lpVtbl;
469     };
470 
471 
472 
473 #ifdef COBJMACROS
474 
475 
476 #define IQueryParser_QueryInterface(This,riid,ppvObject)	\
477     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
478 
479 #define IQueryParser_AddRef(This)	\
480     ( (This)->lpVtbl -> AddRef(This) )
481 
482 #define IQueryParser_Release(This)	\
483     ( (This)->lpVtbl -> Release(This) )
484 
485 
486 #define IQueryParser_Parse(This,pszInputString,pCustomProperties,ppSolution)	\
487     ( (This)->lpVtbl -> Parse(This,pszInputString,pCustomProperties,ppSolution) )
488 
489 #define IQueryParser_SetOption(This,option,pOptionValue)	\
490     ( (This)->lpVtbl -> SetOption(This,option,pOptionValue) )
491 
492 #define IQueryParser_GetOption(This,option,pOptionValue)	\
493     ( (This)->lpVtbl -> GetOption(This,option,pOptionValue) )
494 
495 #define IQueryParser_SetMultiOption(This,option,pszOptionKey,pOptionValue)	\
496     ( (This)->lpVtbl -> SetMultiOption(This,option,pszOptionKey,pOptionValue) )
497 
498 #define IQueryParser_GetSchemaProvider(This,ppSchemaProvider)	\
499     ( (This)->lpVtbl -> GetSchemaProvider(This,ppSchemaProvider) )
500 
501 #define IQueryParser_RestateToString(This,pCondition,fUseEnglish,ppszQueryString)	\
502     ( (This)->lpVtbl -> RestateToString(This,pCondition,fUseEnglish,ppszQueryString) )
503 
504 #define IQueryParser_ParsePropertyValue(This,pszPropertyName,pszInputString,ppSolution)	\
505     ( (This)->lpVtbl -> ParsePropertyValue(This,pszPropertyName,pszInputString,ppSolution) )
506 
507 #define IQueryParser_RestatePropertyValueToString(This,pCondition,fUseEnglish,ppszPropertyName,ppszQueryString)	\
508     ( (This)->lpVtbl -> RestatePropertyValueToString(This,pCondition,fUseEnglish,ppszPropertyName,ppszQueryString) )
509 
510 #endif /* COBJMACROS */
511 
512 
513 #endif 	/* C style interface */
514 
515 
516 
517 
518 #endif 	/* __IQueryParser_INTERFACE_DEFINED__ */
519 
520 
521 #ifndef __IConditionFactory_INTERFACE_DEFINED__
522 #define __IConditionFactory_INTERFACE_DEFINED__
523 
524 /* interface IConditionFactory */
525 /* [unique][uuid][object] */
526 
527 
528 EXTERN_C const IID IID_IConditionFactory;
529 
530 #if defined(__cplusplus) && !defined(CINTERFACE)
531 
532     MIDL_INTERFACE("A5EFE073-B16F-474f-9F3E-9F8B497A3E08")
533     IConditionFactory : public IUnknown
534     {
535     public:
536         virtual HRESULT STDMETHODCALLTYPE MakeNot(
537             /* [in] */ __RPC__in_opt ICondition *pSubCondition,
538             /* [in] */ BOOL simplify,
539             /* [retval][out] */ __RPC__deref_out_opt ICondition **ppResultQuery) = 0;
540 
541         virtual HRESULT STDMETHODCALLTYPE MakeAndOr(
542             /* [in] */ CONDITION_TYPE nodeType,
543             /* [in] */ __RPC__in_opt IEnumUnknown *pSubConditions,
544             /* [in] */ BOOL simplify,
545             /* [retval][out] */ __RPC__deref_out_opt ICondition **ppResultQuery) = 0;
546 
547         virtual HRESULT STDMETHODCALLTYPE MakeLeaf(
548             /* [unique][in] */ __RPC__in_opt LPCWSTR pszPropertyName,
549             /* [in] */ CONDITION_OPERATION op,
550             /* [unique][in] */ __RPC__in_opt LPCWSTR pszValueType,
551             /* [in] */ __RPC__in const PROPVARIANT *pValue,
552             /* [in] */ __RPC__in_opt IRichChunk *pPropertyNameTerm,
553             /* [in] */ __RPC__in_opt IRichChunk *pOperationTerm,
554             /* [in] */ __RPC__in_opt IRichChunk *pValueTerm,
555             /* [in] */ BOOL expand,
556             /* [retval][out] */ __RPC__deref_out_opt ICondition **ppResultQuery) = 0;
557 
558         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Resolve(
559             /* [in] */
560             __in  ICondition *pConditionTree,
561             /* [in] */
562             __in  STRUCTURED_QUERY_RESOLVE_OPTION sqro,
563             /* [ref][in] */
564             __in_opt  const SYSTEMTIME *pstReferenceTime,
565             /* [retval][out] */
566             __out  ICondition **ppResolvedConditionTree) = 0;
567 
568     };
569 
570 #else 	/* C style interface */
571 
572     typedef struct IConditionFactoryVtbl
573     {
574         BEGIN_INTERFACE
575 
576         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
577             IConditionFactory * This,
578             /* [in] */ __RPC__in REFIID riid,
579             /* [iid_is][out] */
580             __RPC__deref_out  void **ppvObject);
581 
582         ULONG ( STDMETHODCALLTYPE *AddRef )(
583             IConditionFactory * This);
584 
585         ULONG ( STDMETHODCALLTYPE *Release )(
586             IConditionFactory * This);
587 
588         HRESULT ( STDMETHODCALLTYPE *MakeNot )(
589             IConditionFactory * This,
590             /* [in] */ __RPC__in_opt ICondition *pSubCondition,
591             /* [in] */ BOOL simplify,
592             /* [retval][out] */ __RPC__deref_out_opt ICondition **ppResultQuery);
593 
594         HRESULT ( STDMETHODCALLTYPE *MakeAndOr )(
595             IConditionFactory * This,
596             /* [in] */ CONDITION_TYPE nodeType,
597             /* [in] */ __RPC__in_opt IEnumUnknown *pSubConditions,
598             /* [in] */ BOOL simplify,
599             /* [retval][out] */ __RPC__deref_out_opt ICondition **ppResultQuery);
600 
601         HRESULT ( STDMETHODCALLTYPE *MakeLeaf )(
602             IConditionFactory * This,
603             /* [unique][in] */ __RPC__in_opt LPCWSTR pszPropertyName,
604             /* [in] */ CONDITION_OPERATION op,
605             /* [unique][in] */ __RPC__in_opt LPCWSTR pszValueType,
606             /* [in] */ __RPC__in const PROPVARIANT *pValue,
607             /* [in] */ __RPC__in_opt IRichChunk *pPropertyNameTerm,
608             /* [in] */ __RPC__in_opt IRichChunk *pOperationTerm,
609             /* [in] */ __RPC__in_opt IRichChunk *pValueTerm,
610             /* [in] */ BOOL expand,
611             /* [retval][out] */ __RPC__deref_out_opt ICondition **ppResultQuery);
612 
613         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Resolve )(
614             IConditionFactory * This,
615             /* [in] */
616             __in  ICondition *pConditionTree,
617             /* [in] */
618             __in  STRUCTURED_QUERY_RESOLVE_OPTION sqro,
619             /* [ref][in] */
620             __in_opt  const SYSTEMTIME *pstReferenceTime,
621             /* [retval][out] */
622             __out  ICondition **ppResolvedConditionTree);
623 
624         END_INTERFACE
625     } IConditionFactoryVtbl;
626 
627     interface IConditionFactory
628     {
629         CONST_VTBL struct IConditionFactoryVtbl *lpVtbl;
630     };
631 
632 
633 
634 #ifdef COBJMACROS
635 
636 
637 #define IConditionFactory_QueryInterface(This,riid,ppvObject)	\
638     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
639 
640 #define IConditionFactory_AddRef(This)	\
641     ( (This)->lpVtbl -> AddRef(This) )
642 
643 #define IConditionFactory_Release(This)	\
644     ( (This)->lpVtbl -> Release(This) )
645 
646 
647 #define IConditionFactory_MakeNot(This,pSubCondition,simplify,ppResultQuery)	\
648     ( (This)->lpVtbl -> MakeNot(This,pSubCondition,simplify,ppResultQuery) )
649 
650 #define IConditionFactory_MakeAndOr(This,nodeType,pSubConditions,simplify,ppResultQuery)	\
651     ( (This)->lpVtbl -> MakeAndOr(This,nodeType,pSubConditions,simplify,ppResultQuery) )
652 
653 #define IConditionFactory_MakeLeaf(This,pszPropertyName,op,pszValueType,pValue,pPropertyNameTerm,pOperationTerm,pValueTerm,expand,ppResultQuery)	\
654     ( (This)->lpVtbl -> MakeLeaf(This,pszPropertyName,op,pszValueType,pValue,pPropertyNameTerm,pOperationTerm,pValueTerm,expand,ppResultQuery) )
655 
656 #define IConditionFactory_Resolve(This,pConditionTree,sqro,pstReferenceTime,ppResolvedConditionTree)	\
657     ( (This)->lpVtbl -> Resolve(This,pConditionTree,sqro,pstReferenceTime,ppResolvedConditionTree) )
658 
659 #endif /* COBJMACROS */
660 
661 
662 #endif 	/* C style interface */
663 
664 
665 
666 
667 #endif 	/* __IConditionFactory_INTERFACE_DEFINED__ */
668 
669 
670 #ifndef __IQuerySolution_INTERFACE_DEFINED__
671 #define __IQuerySolution_INTERFACE_DEFINED__
672 
673 /* interface IQuerySolution */
674 /* [unique][uuid][object] */
675 
676 
677 EXTERN_C const IID IID_IQuerySolution;
678 
679 #if defined(__cplusplus) && !defined(CINTERFACE)
680 
681     MIDL_INTERFACE("D6EBC66B-8921-4193-AFDD-A1789FB7FF57")
682     IQuerySolution : public IConditionFactory
683     {
684     public:
685         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetQuery(
686             /* [out] */
687             __out_opt  ICondition **ppQueryNode,
688             /* [out] */
689             __out_opt  IEntity **ppMainType) = 0;
690 
691         virtual HRESULT STDMETHODCALLTYPE GetErrors(
692             /* [in] */ __RPC__in REFIID riid,
693             /* [iid_is][retval][out] */ __RPC__deref_out_opt void **ppParseErrors) = 0;
694 
695         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetLexicalData(
696             /* [out] */
697             __deref_opt_out  LPWSTR *ppszInputString,
698             /* [out] */
699             __out_opt  ITokenCollection **ppTokens,
700             /* [out] */
701             __out_opt  LCID *pLocale,
702             /* [out] */
703             __out_opt  IUnknown **ppWordBreaker) = 0;
704 
705     };
706 
707 #else 	/* C style interface */
708 
709     typedef struct IQuerySolutionVtbl
710     {
711         BEGIN_INTERFACE
712 
713         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
714             IQuerySolution * This,
715             /* [in] */ __RPC__in REFIID riid,
716             /* [iid_is][out] */
717             __RPC__deref_out  void **ppvObject);
718 
719         ULONG ( STDMETHODCALLTYPE *AddRef )(
720             IQuerySolution * This);
721 
722         ULONG ( STDMETHODCALLTYPE *Release )(
723             IQuerySolution * This);
724 
725         HRESULT ( STDMETHODCALLTYPE *MakeNot )(
726             IQuerySolution * This,
727             /* [in] */ __RPC__in_opt ICondition *pSubCondition,
728             /* [in] */ BOOL simplify,
729             /* [retval][out] */ __RPC__deref_out_opt ICondition **ppResultQuery);
730 
731         HRESULT ( STDMETHODCALLTYPE *MakeAndOr )(
732             IQuerySolution * This,
733             /* [in] */ CONDITION_TYPE nodeType,
734             /* [in] */ __RPC__in_opt IEnumUnknown *pSubConditions,
735             /* [in] */ BOOL simplify,
736             /* [retval][out] */ __RPC__deref_out_opt ICondition **ppResultQuery);
737 
738         HRESULT ( STDMETHODCALLTYPE *MakeLeaf )(
739             IQuerySolution * This,
740             /* [unique][in] */ __RPC__in_opt LPCWSTR pszPropertyName,
741             /* [in] */ CONDITION_OPERATION op,
742             /* [unique][in] */ __RPC__in_opt LPCWSTR pszValueType,
743             /* [in] */ __RPC__in const PROPVARIANT *pValue,
744             /* [in] */ __RPC__in_opt IRichChunk *pPropertyNameTerm,
745             /* [in] */ __RPC__in_opt IRichChunk *pOperationTerm,
746             /* [in] */ __RPC__in_opt IRichChunk *pValueTerm,
747             /* [in] */ BOOL expand,
748             /* [retval][out] */ __RPC__deref_out_opt ICondition **ppResultQuery);
749 
750         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Resolve )(
751             IQuerySolution * This,
752             /* [in] */
753             __in  ICondition *pConditionTree,
754             /* [in] */
755             __in  STRUCTURED_QUERY_RESOLVE_OPTION sqro,
756             /* [ref][in] */
757             __in_opt  const SYSTEMTIME *pstReferenceTime,
758             /* [retval][out] */
759             __out  ICondition **ppResolvedConditionTree);
760 
761         /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetQuery )(
762             IQuerySolution * This,
763             /* [out] */
764             __out_opt  ICondition **ppQueryNode,
765             /* [out] */
766             __out_opt  IEntity **ppMainType);
767 
768         HRESULT ( STDMETHODCALLTYPE *GetErrors )(
769             IQuerySolution * This,
770             /* [in] */ __RPC__in REFIID riid,
771             /* [iid_is][retval][out] */ __RPC__deref_out_opt void **ppParseErrors);
772 
773         /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetLexicalData )(
774             IQuerySolution * This,
775             /* [out] */
776             __deref_opt_out  LPWSTR *ppszInputString,
777             /* [out] */
778             __out_opt  ITokenCollection **ppTokens,
779             /* [out] */
780             __out_opt  LCID *pLocale,
781             /* [out] */
782             __out_opt  IUnknown **ppWordBreaker);
783 
784         END_INTERFACE
785     } IQuerySolutionVtbl;
786 
787     interface IQuerySolution
788     {
789         CONST_VTBL struct IQuerySolutionVtbl *lpVtbl;
790     };
791 
792 
793 
794 #ifdef COBJMACROS
795 
796 
797 #define IQuerySolution_QueryInterface(This,riid,ppvObject)	\
798     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
799 
800 #define IQuerySolution_AddRef(This)	\
801     ( (This)->lpVtbl -> AddRef(This) )
802 
803 #define IQuerySolution_Release(This)	\
804     ( (This)->lpVtbl -> Release(This) )
805 
806 
807 #define IQuerySolution_MakeNot(This,pSubCondition,simplify,ppResultQuery)	\
808     ( (This)->lpVtbl -> MakeNot(This,pSubCondition,simplify,ppResultQuery) )
809 
810 #define IQuerySolution_MakeAndOr(This,nodeType,pSubConditions,simplify,ppResultQuery)	\
811     ( (This)->lpVtbl -> MakeAndOr(This,nodeType,pSubConditions,simplify,ppResultQuery) )
812 
813 #define IQuerySolution_MakeLeaf(This,pszPropertyName,op,pszValueType,pValue,pPropertyNameTerm,pOperationTerm,pValueTerm,expand,ppResultQuery)	\
814     ( (This)->lpVtbl -> MakeLeaf(This,pszPropertyName,op,pszValueType,pValue,pPropertyNameTerm,pOperationTerm,pValueTerm,expand,ppResultQuery) )
815 
816 #define IQuerySolution_Resolve(This,pConditionTree,sqro,pstReferenceTime,ppResolvedConditionTree)	\
817     ( (This)->lpVtbl -> Resolve(This,pConditionTree,sqro,pstReferenceTime,ppResolvedConditionTree) )
818 
819 
820 #define IQuerySolution_GetQuery(This,ppQueryNode,ppMainType)	\
821     ( (This)->lpVtbl -> GetQuery(This,ppQueryNode,ppMainType) )
822 
823 #define IQuerySolution_GetErrors(This,riid,ppParseErrors)	\
824     ( (This)->lpVtbl -> GetErrors(This,riid,ppParseErrors) )
825 
826 #define IQuerySolution_GetLexicalData(This,ppszInputString,ppTokens,pLocale,ppWordBreaker)	\
827     ( (This)->lpVtbl -> GetLexicalData(This,ppszInputString,ppTokens,pLocale,ppWordBreaker) )
828 
829 #endif /* COBJMACROS */
830 
831 
832 #endif 	/* C style interface */
833 
834 
835 
836 
837 #endif 	/* __IQuerySolution_INTERFACE_DEFINED__ */
838 
839 
840 #ifndef __ICondition_INTERFACE_DEFINED__
841 #define __ICondition_INTERFACE_DEFINED__
842 
843 /* interface ICondition */
844 /* [unique][uuid][object] */
845 
846 
847 EXTERN_C const IID IID_ICondition;
848 
849 #if defined(__cplusplus) && !defined(CINTERFACE)
850 
851     MIDL_INTERFACE("0FC988D4-C935-4b97-A973-46282EA175C8")
852     ICondition : public IPersistStream
853     {
854     public:
855         virtual HRESULT STDMETHODCALLTYPE GetConditionType(
856             /* [retval][out] */ __RPC__out CONDITION_TYPE *pNodeType) = 0;
857 
858         virtual HRESULT STDMETHODCALLTYPE GetSubConditions(
859             /* [in] */ __RPC__in REFIID riid,
860             /* [iid_is][retval][out] */ __RPC__deref_out_opt void **ppv) = 0;
861 
862         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetComparisonInfo(
863             /* [out] */
864             __deref_opt_out  LPWSTR *ppszPropertyName,
865             /* [out] */
866             __out_opt  CONDITION_OPERATION *pOperation,
867             /* [out] */
868             __out_opt  PROPVARIANT *pValue) = 0;
869 
870         virtual HRESULT STDMETHODCALLTYPE GetValueType(
871             /* [retval][out] */ __RPC__deref_out_opt LPWSTR *ppszValueTypeName) = 0;
872 
873         virtual HRESULT STDMETHODCALLTYPE GetValueNormalization(
874             /* [retval][out] */ __RPC__deref_out_opt LPWSTR *ppszNormalization) = 0;
875 
876         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetInputTerms(
877             /* [out] */
878             __out_opt  IRichChunk **ppPropertyTerm,
879             /* [out] */
880             __out_opt  IRichChunk **ppOperationTerm,
881             /* [out] */
882             __out_opt  IRichChunk **ppValueTerm) = 0;
883 
884         virtual HRESULT STDMETHODCALLTYPE Clone(
885             /* [retval][out] */ __RPC__deref_out_opt ICondition **ppc) = 0;
886 
887     };
888 
889 #else 	/* C style interface */
890 
891     typedef struct IConditionVtbl
892     {
893         BEGIN_INTERFACE
894 
895         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
896             ICondition * This,
897             /* [in] */ __RPC__in REFIID riid,
898             /* [iid_is][out] */
899             __RPC__deref_out  void **ppvObject);
900 
901         ULONG ( STDMETHODCALLTYPE *AddRef )(
902             ICondition * This);
903 
904         ULONG ( STDMETHODCALLTYPE *Release )(
905             ICondition * This);
906 
907         HRESULT ( STDMETHODCALLTYPE *GetClassID )(
908             ICondition * This,
909             /* [out] */ __RPC__out CLSID *pClassID);
910 
911         HRESULT ( STDMETHODCALLTYPE *IsDirty )(
912             ICondition * This);
913 
914         HRESULT ( STDMETHODCALLTYPE *Load )(
915             ICondition * This,
916             /* [unique][in] */ __RPC__in_opt IStream *pStm);
917 
918         HRESULT ( STDMETHODCALLTYPE *Save )(
919             ICondition * This,
920             /* [unique][in] */ __RPC__in_opt IStream *pStm,
921             /* [in] */ BOOL fClearDirty);
922 
923         HRESULT ( STDMETHODCALLTYPE *GetSizeMax )(
924             ICondition * This,
925             /* [out] */ __RPC__out ULARGE_INTEGER *pcbSize);
926 
927         HRESULT ( STDMETHODCALLTYPE *GetConditionType )(
928             ICondition * This,
929             /* [retval][out] */ __RPC__out CONDITION_TYPE *pNodeType);
930 
931         HRESULT ( STDMETHODCALLTYPE *GetSubConditions )(
932             ICondition * This,
933             /* [in] */ __RPC__in REFIID riid,
934             /* [iid_is][retval][out] */ __RPC__deref_out_opt void **ppv);
935 
936         /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetComparisonInfo )(
937             ICondition * This,
938             /* [out] */
939             __deref_opt_out  LPWSTR *ppszPropertyName,
940             /* [out] */
941             __out_opt  CONDITION_OPERATION *pOperation,
942             /* [out] */
943             __out_opt  PROPVARIANT *pValue);
944 
945         HRESULT ( STDMETHODCALLTYPE *GetValueType )(
946             ICondition * This,
947             /* [retval][out] */ __RPC__deref_out_opt LPWSTR *ppszValueTypeName);
948 
949         HRESULT ( STDMETHODCALLTYPE *GetValueNormalization )(
950             ICondition * This,
951             /* [retval][out] */ __RPC__deref_out_opt LPWSTR *ppszNormalization);
952 
953         /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetInputTerms )(
954             ICondition * This,
955             /* [out] */
956             __out_opt  IRichChunk **ppPropertyTerm,
957             /* [out] */
958             __out_opt  IRichChunk **ppOperationTerm,
959             /* [out] */
960             __out_opt  IRichChunk **ppValueTerm);
961 
962         HRESULT ( STDMETHODCALLTYPE *Clone )(
963             ICondition * This,
964             /* [retval][out] */ __RPC__deref_out_opt ICondition **ppc);
965 
966         END_INTERFACE
967     } IConditionVtbl;
968 
969     interface ICondition
970     {
971         CONST_VTBL struct IConditionVtbl *lpVtbl;
972     };
973 
974 
975 
976 #ifdef COBJMACROS
977 
978 
979 #define ICondition_QueryInterface(This,riid,ppvObject)	\
980     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
981 
982 #define ICondition_AddRef(This)	\
983     ( (This)->lpVtbl -> AddRef(This) )
984 
985 #define ICondition_Release(This)	\
986     ( (This)->lpVtbl -> Release(This) )
987 
988 
989 #define ICondition_GetClassID(This,pClassID)	\
990     ( (This)->lpVtbl -> GetClassID(This,pClassID) )
991 
992 
993 #define ICondition_IsDirty(This)	\
994     ( (This)->lpVtbl -> IsDirty(This) )
995 
996 #define ICondition_Load(This,pStm)	\
997     ( (This)->lpVtbl -> Load(This,pStm) )
998 
999 #define ICondition_Save(This,pStm,fClearDirty)	\
1000     ( (This)->lpVtbl -> Save(This,pStm,fClearDirty) )
1001 
1002 #define ICondition_GetSizeMax(This,pcbSize)	\
1003     ( (This)->lpVtbl -> GetSizeMax(This,pcbSize) )
1004 
1005 
1006 #define ICondition_GetConditionType(This,pNodeType)	\
1007     ( (This)->lpVtbl -> GetConditionType(This,pNodeType) )
1008 
1009 #define ICondition_GetSubConditions(This,riid,ppv)	\
1010     ( (This)->lpVtbl -> GetSubConditions(This,riid,ppv) )
1011 
1012 #define ICondition_GetComparisonInfo(This,ppszPropertyName,pOperation,pValue)	\
1013     ( (This)->lpVtbl -> GetComparisonInfo(This,ppszPropertyName,pOperation,pValue) )
1014 
1015 #define ICondition_GetValueType(This,ppszValueTypeName)	\
1016     ( (This)->lpVtbl -> GetValueType(This,ppszValueTypeName) )
1017 
1018 #define ICondition_GetValueNormalization(This,ppszNormalization)	\
1019     ( (This)->lpVtbl -> GetValueNormalization(This,ppszNormalization) )
1020 
1021 #define ICondition_GetInputTerms(This,ppPropertyTerm,ppOperationTerm,ppValueTerm)	\
1022     ( (This)->lpVtbl -> GetInputTerms(This,ppPropertyTerm,ppOperationTerm,ppValueTerm) )
1023 
1024 #define ICondition_Clone(This,ppc)	\
1025     ( (This)->lpVtbl -> Clone(This,ppc) )
1026 
1027 #endif /* COBJMACROS */
1028 
1029 
1030 #endif 	/* C style interface */
1031 
1032 
1033 
1034 
1035 #endif 	/* __ICondition_INTERFACE_DEFINED__ */
1036 
1037 
1038 #ifndef __IConditionGenerator_INTERFACE_DEFINED__
1039 #define __IConditionGenerator_INTERFACE_DEFINED__
1040 
1041 /* interface IConditionGenerator */
1042 /* [unique][uuid][object] */
1043 
1044 
1045 EXTERN_C const IID IID_IConditionGenerator;
1046 
1047 #if defined(__cplusplus) && !defined(CINTERFACE)
1048 
1049     MIDL_INTERFACE("92D2CC58-4386-45a3-B98C-7E0CE64A4117")
1050     IConditionGenerator : public IUnknown
1051     {
1052     public:
1053         virtual HRESULT STDMETHODCALLTYPE Initialize(
1054             /* [in] */ __RPC__in_opt ISchemaProvider *pSchemaProvider) = 0;
1055 
1056         virtual HRESULT STDMETHODCALLTYPE RecognizeNamedEntities(
1057             /* [in] */ __RPC__in LPCWSTR pszInputString,
1058             /* [in] */ LCID lcid,
1059             /* [in] */ __RPC__in_opt ITokenCollection *pTokenCollection,
1060             /* [out][in] */ __RPC__inout_opt INamedEntityCollector *pNamedEntities) = 0;
1061 
1062         virtual HRESULT STDMETHODCALLTYPE GenerateForLeaf(
1063             /* [in] */ __RPC__in_opt IConditionFactory *pConditionFactory,
1064             /* [unique][in] */ __RPC__in_opt LPCWSTR pszPropertyName,
1065             /* [in] */ CONDITION_OPERATION op,
1066             /* [unique][in] */ __RPC__in_opt LPCWSTR pszValueType,
1067             /* [in] */ __RPC__in LPCWSTR pszValue,
1068             /* [unique][in] */ __RPC__in_opt LPCWSTR pszValue2,
1069             /* [in] */ __RPC__in_opt IRichChunk *pPropertyNameTerm,
1070             /* [in] */ __RPC__in_opt IRichChunk *pOperationTerm,
1071             /* [in] */ __RPC__in_opt IRichChunk *pValueTerm,
1072             /* [in] */ BOOL automaticWildcard,
1073             /* [out] */ __RPC__out BOOL *pNoStringQuery,
1074             /* [retval][out] */ __RPC__deref_out_opt ICondition **ppQueryExpression) = 0;
1075 
1076         virtual /* [local] */ HRESULT STDMETHODCALLTYPE DefaultPhrase(
1077             /* [unique][in] */ LPCWSTR pszValueType,
1078             /* [in] */ const PROPVARIANT *ppropvar,
1079             /* [in] */ BOOL fUseEnglish,
1080             /* [retval][out] */
1081             __deref_opt_out  LPWSTR *ppszPhrase) = 0;
1082 
1083     };
1084 
1085 #else 	/* C style interface */
1086 
1087     typedef struct IConditionGeneratorVtbl
1088     {
1089         BEGIN_INTERFACE
1090 
1091         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1092             IConditionGenerator * This,
1093             /* [in] */ __RPC__in REFIID riid,
1094             /* [iid_is][out] */
1095             __RPC__deref_out  void **ppvObject);
1096 
1097         ULONG ( STDMETHODCALLTYPE *AddRef )(
1098             IConditionGenerator * This);
1099 
1100         ULONG ( STDMETHODCALLTYPE *Release )(
1101             IConditionGenerator * This);
1102 
1103         HRESULT ( STDMETHODCALLTYPE *Initialize )(
1104             IConditionGenerator * This,
1105             /* [in] */ __RPC__in_opt ISchemaProvider *pSchemaProvider);
1106 
1107         HRESULT ( STDMETHODCALLTYPE *RecognizeNamedEntities )(
1108             IConditionGenerator * This,
1109             /* [in] */ __RPC__in LPCWSTR pszInputString,
1110             /* [in] */ LCID lcid,
1111             /* [in] */ __RPC__in_opt ITokenCollection *pTokenCollection,
1112             /* [out][in] */ __RPC__inout_opt INamedEntityCollector *pNamedEntities);
1113 
1114         HRESULT ( STDMETHODCALLTYPE *GenerateForLeaf )(
1115             IConditionGenerator * This,
1116             /* [in] */ __RPC__in_opt IConditionFactory *pConditionFactory,
1117             /* [unique][in] */ __RPC__in_opt LPCWSTR pszPropertyName,
1118             /* [in] */ CONDITION_OPERATION op,
1119             /* [unique][in] */ __RPC__in_opt LPCWSTR pszValueType,
1120             /* [in] */ __RPC__in LPCWSTR pszValue,
1121             /* [unique][in] */ __RPC__in_opt LPCWSTR pszValue2,
1122             /* [in] */ __RPC__in_opt IRichChunk *pPropertyNameTerm,
1123             /* [in] */ __RPC__in_opt IRichChunk *pOperationTerm,
1124             /* [in] */ __RPC__in_opt IRichChunk *pValueTerm,
1125             /* [in] */ BOOL automaticWildcard,
1126             /* [out] */ __RPC__out BOOL *pNoStringQuery,
1127             /* [retval][out] */ __RPC__deref_out_opt ICondition **ppQueryExpression);
1128 
1129         /* [local] */ HRESULT ( STDMETHODCALLTYPE *DefaultPhrase )(
1130             IConditionGenerator * This,
1131             /* [unique][in] */ LPCWSTR pszValueType,
1132             /* [in] */ const PROPVARIANT *ppropvar,
1133             /* [in] */ BOOL fUseEnglish,
1134             /* [retval][out] */
1135             __deref_opt_out  LPWSTR *ppszPhrase);
1136 
1137         END_INTERFACE
1138     } IConditionGeneratorVtbl;
1139 
1140     interface IConditionGenerator
1141     {
1142         CONST_VTBL struct IConditionGeneratorVtbl *lpVtbl;
1143     };
1144 
1145 
1146 
1147 #ifdef COBJMACROS
1148 
1149 
1150 #define IConditionGenerator_QueryInterface(This,riid,ppvObject)	\
1151     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1152 
1153 #define IConditionGenerator_AddRef(This)	\
1154     ( (This)->lpVtbl -> AddRef(This) )
1155 
1156 #define IConditionGenerator_Release(This)	\
1157     ( (This)->lpVtbl -> Release(This) )
1158 
1159 
1160 #define IConditionGenerator_Initialize(This,pSchemaProvider)	\
1161     ( (This)->lpVtbl -> Initialize(This,pSchemaProvider) )
1162 
1163 #define IConditionGenerator_RecognizeNamedEntities(This,pszInputString,lcid,pTokenCollection,pNamedEntities)	\
1164     ( (This)->lpVtbl -> RecognizeNamedEntities(This,pszInputString,lcid,pTokenCollection,pNamedEntities) )
1165 
1166 #define IConditionGenerator_GenerateForLeaf(This,pConditionFactory,pszPropertyName,op,pszValueType,pszValue,pszValue2,pPropertyNameTerm,pOperationTerm,pValueTerm,automaticWildcard,pNoStringQuery,ppQueryExpression)	\
1167     ( (This)->lpVtbl -> GenerateForLeaf(This,pConditionFactory,pszPropertyName,op,pszValueType,pszValue,pszValue2,pPropertyNameTerm,pOperationTerm,pValueTerm,automaticWildcard,pNoStringQuery,ppQueryExpression) )
1168 
1169 #define IConditionGenerator_DefaultPhrase(This,pszValueType,ppropvar,fUseEnglish,ppszPhrase)	\
1170     ( (This)->lpVtbl -> DefaultPhrase(This,pszValueType,ppropvar,fUseEnglish,ppszPhrase) )
1171 
1172 #endif /* COBJMACROS */
1173 
1174 
1175 #endif 	/* C style interface */
1176 
1177 
1178 
1179 
1180 #endif 	/* __IConditionGenerator_INTERFACE_DEFINED__ */
1181 
1182 
1183 #ifndef __IRichChunk_INTERFACE_DEFINED__
1184 #define __IRichChunk_INTERFACE_DEFINED__
1185 
1186 /* interface IRichChunk */
1187 /* [unique][uuid][object] */
1188 
1189 
1190 EXTERN_C const IID IID_IRichChunk;
1191 
1192 #if defined(__cplusplus) && !defined(CINTERFACE)
1193 
1194     MIDL_INTERFACE("4FDEF69C-DBC9-454e-9910-B34F3C64B510")
1195     IRichChunk : public IUnknown
1196     {
1197     public:
1198         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetData(
1199             /* [out] */
1200             __out_opt  ULONG *pFirstPos,
1201             /* [out] */
1202             __out_opt  ULONG *pLength,
1203             /* [out] */
1204             __deref_opt_out  LPWSTR *ppsz,
1205             /* [out] */
1206             __out_opt  PROPVARIANT *pValue) = 0;
1207 
1208     };
1209 
1210 #else 	/* C style interface */
1211 
1212     typedef struct IRichChunkVtbl
1213     {
1214         BEGIN_INTERFACE
1215 
1216         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1217             IRichChunk * This,
1218             /* [in] */ __RPC__in REFIID riid,
1219             /* [iid_is][out] */
1220             __RPC__deref_out  void **ppvObject);
1221 
1222         ULONG ( STDMETHODCALLTYPE *AddRef )(
1223             IRichChunk * This);
1224 
1225         ULONG ( STDMETHODCALLTYPE *Release )(
1226             IRichChunk * This);
1227 
1228         /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetData )(
1229             IRichChunk * This,
1230             /* [out] */
1231             __out_opt  ULONG *pFirstPos,
1232             /* [out] */
1233             __out_opt  ULONG *pLength,
1234             /* [out] */
1235             __deref_opt_out  LPWSTR *ppsz,
1236             /* [out] */
1237             __out_opt  PROPVARIANT *pValue);
1238 
1239         END_INTERFACE
1240     } IRichChunkVtbl;
1241 
1242     interface IRichChunk
1243     {
1244         CONST_VTBL struct IRichChunkVtbl *lpVtbl;
1245     };
1246 
1247 
1248 
1249 #ifdef COBJMACROS
1250 
1251 
1252 #define IRichChunk_QueryInterface(This,riid,ppvObject)	\
1253     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1254 
1255 #define IRichChunk_AddRef(This)	\
1256     ( (This)->lpVtbl -> AddRef(This) )
1257 
1258 #define IRichChunk_Release(This)	\
1259     ( (This)->lpVtbl -> Release(This) )
1260 
1261 
1262 #define IRichChunk_GetData(This,pFirstPos,pLength,ppsz,pValue)	\
1263     ( (This)->lpVtbl -> GetData(This,pFirstPos,pLength,ppsz,pValue) )
1264 
1265 #endif /* COBJMACROS */
1266 
1267 
1268 #endif 	/* C style interface */
1269 
1270 
1271 
1272 
1273 #endif 	/* __IRichChunk_INTERFACE_DEFINED__ */
1274 
1275 
1276 #ifndef __IInterval_INTERFACE_DEFINED__
1277 #define __IInterval_INTERFACE_DEFINED__
1278 
1279 /* interface IInterval */
1280 /* [unique][uuid][object] */
1281 
1282 
1283 EXTERN_C const IID IID_IInterval;
1284 
1285 #if defined(__cplusplus) && !defined(CINTERFACE)
1286 
1287     MIDL_INTERFACE("6BF0A714-3C18-430b-8B5D-83B1C234D3DB")
1288     IInterval : public IUnknown
1289     {
1290     public:
1291         virtual HRESULT STDMETHODCALLTYPE GetLimits(
1292             /* [out] */ __RPC__out INTERVAL_LIMIT_KIND *pilkLower,
1293             /* [out] */ __RPC__out PROPVARIANT *ppropvarLower,
1294             /* [out] */ __RPC__out INTERVAL_LIMIT_KIND *pilkUpper,
1295             /* [out] */ __RPC__out PROPVARIANT *ppropvarUpper) = 0;
1296 
1297     };
1298 
1299 #else 	/* C style interface */
1300 
1301     typedef struct IIntervalVtbl
1302     {
1303         BEGIN_INTERFACE
1304 
1305         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1306             IInterval * This,
1307             /* [in] */ __RPC__in REFIID riid,
1308             /* [iid_is][out] */
1309             __RPC__deref_out  void **ppvObject);
1310 
1311         ULONG ( STDMETHODCALLTYPE *AddRef )(
1312             IInterval * This);
1313 
1314         ULONG ( STDMETHODCALLTYPE *Release )(
1315             IInterval * This);
1316 
1317         HRESULT ( STDMETHODCALLTYPE *GetLimits )(
1318             IInterval * This,
1319             /* [out] */ __RPC__out INTERVAL_LIMIT_KIND *pilkLower,
1320             /* [out] */ __RPC__out PROPVARIANT *ppropvarLower,
1321             /* [out] */ __RPC__out INTERVAL_LIMIT_KIND *pilkUpper,
1322             /* [out] */ __RPC__out PROPVARIANT *ppropvarUpper);
1323 
1324         END_INTERFACE
1325     } IIntervalVtbl;
1326 
1327     interface IInterval
1328     {
1329         CONST_VTBL struct IIntervalVtbl *lpVtbl;
1330     };
1331 
1332 
1333 
1334 #ifdef COBJMACROS
1335 
1336 
1337 #define IInterval_QueryInterface(This,riid,ppvObject)	\
1338     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1339 
1340 #define IInterval_AddRef(This)	\
1341     ( (This)->lpVtbl -> AddRef(This) )
1342 
1343 #define IInterval_Release(This)	\
1344     ( (This)->lpVtbl -> Release(This) )
1345 
1346 
1347 #define IInterval_GetLimits(This,pilkLower,ppropvarLower,pilkUpper,ppropvarUpper)	\
1348     ( (This)->lpVtbl -> GetLimits(This,pilkLower,ppropvarLower,pilkUpper,ppropvarUpper) )
1349 
1350 #endif /* COBJMACROS */
1351 
1352 
1353 #endif 	/* C style interface */
1354 
1355 
1356 
1357 
1358 #endif 	/* __IInterval_INTERFACE_DEFINED__ */
1359 
1360 
1361 #ifndef __IMetaData_INTERFACE_DEFINED__
1362 #define __IMetaData_INTERFACE_DEFINED__
1363 
1364 /* interface IMetaData */
1365 /* [unique][uuid][object][helpstring] */
1366 
1367 
1368 EXTERN_C const IID IID_IMetaData;
1369 
1370 #if defined(__cplusplus) && !defined(CINTERFACE)
1371 
1372     MIDL_INTERFACE("780102B0-C43B-4876-BC7B-5E9BA5C88794")
1373     IMetaData : public IUnknown
1374     {
1375     public:
1376         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetData(
1377             /* [out] */
1378             __deref_opt_out  LPWSTR *ppszKey,
1379             /* [out] */
1380             __deref_opt_out  LPWSTR *ppszValue) = 0;
1381 
1382     };
1383 
1384 #else 	/* C style interface */
1385 
1386     typedef struct IMetaDataVtbl
1387     {
1388         BEGIN_INTERFACE
1389 
1390         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1391             IMetaData * This,
1392             /* [in] */ __RPC__in REFIID riid,
1393             /* [iid_is][out] */
1394             __RPC__deref_out  void **ppvObject);
1395 
1396         ULONG ( STDMETHODCALLTYPE *AddRef )(
1397             IMetaData * This);
1398 
1399         ULONG ( STDMETHODCALLTYPE *Release )(
1400             IMetaData * This);
1401 
1402         /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetData )(
1403             IMetaData * This,
1404             /* [out] */
1405             __deref_opt_out  LPWSTR *ppszKey,
1406             /* [out] */
1407             __deref_opt_out  LPWSTR *ppszValue);
1408 
1409         END_INTERFACE
1410     } IMetaDataVtbl;
1411 
1412     interface IMetaData
1413     {
1414         CONST_VTBL struct IMetaDataVtbl *lpVtbl;
1415     };
1416 
1417 
1418 
1419 #ifdef COBJMACROS
1420 
1421 
1422 #define IMetaData_QueryInterface(This,riid,ppvObject)	\
1423     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1424 
1425 #define IMetaData_AddRef(This)	\
1426     ( (This)->lpVtbl -> AddRef(This) )
1427 
1428 #define IMetaData_Release(This)	\
1429     ( (This)->lpVtbl -> Release(This) )
1430 
1431 
1432 #define IMetaData_GetData(This,ppszKey,ppszValue)	\
1433     ( (This)->lpVtbl -> GetData(This,ppszKey,ppszValue) )
1434 
1435 #endif /* COBJMACROS */
1436 
1437 
1438 #endif 	/* C style interface */
1439 
1440 
1441 
1442 
1443 #endif 	/* __IMetaData_INTERFACE_DEFINED__ */
1444 
1445 
1446 /* interface __MIDL_itf_structuredquery_0000_0008 */
1447 /* [local] */
1448 
1449 
1450 
1451 
1452 extern RPC_IF_HANDLE __MIDL_itf_structuredquery_0000_0008_v0_0_c_ifspec;
1453 extern RPC_IF_HANDLE __MIDL_itf_structuredquery_0000_0008_v0_0_s_ifspec;
1454 
1455 #ifndef __IEntity_INTERFACE_DEFINED__
1456 #define __IEntity_INTERFACE_DEFINED__
1457 
1458 /* interface IEntity */
1459 /* [unique][object][uuid][helpstring] */
1460 
1461 
1462 EXTERN_C const IID IID_IEntity;
1463 
1464 #if defined(__cplusplus) && !defined(CINTERFACE)
1465 
1466     MIDL_INTERFACE("24264891-E80B-4fd3-B7CE-4FF2FAE8931F")
1467     IEntity : public IUnknown
1468     {
1469     public:
1470         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Name(
1471             /* [retval][out] */
1472             __deref_opt_out  LPWSTR *ppszName) = 0;
1473 
1474         virtual HRESULT STDMETHODCALLTYPE Base(
1475             /* [retval][out] */ __RPC__deref_out_opt IEntity **pBaseEntity) = 0;
1476 
1477         virtual HRESULT STDMETHODCALLTYPE Relationships(
1478             /* [in] */ __RPC__in REFIID riid,
1479             /* [iid_is][retval][out] */ __RPC__deref_out_opt void **pRelationships) = 0;
1480 
1481         virtual HRESULT STDMETHODCALLTYPE GetRelationship(
1482             /* [in] */ __RPC__in LPCWSTR pszRelationName,
1483             /* [retval][out] */ __RPC__deref_out_opt IRelationship **pRelationship) = 0;
1484 
1485         virtual HRESULT STDMETHODCALLTYPE MetaData(
1486             /* [in] */ __RPC__in REFIID riid,
1487             /* [iid_is][retval][out] */ __RPC__deref_out_opt void **pMetaData) = 0;
1488 
1489         virtual HRESULT STDMETHODCALLTYPE NamedEntities(
1490             /* [in] */ __RPC__in REFIID riid,
1491             /* [iid_is][retval][out] */ __RPC__deref_out_opt void **pNamedEntities) = 0;
1492 
1493         virtual HRESULT STDMETHODCALLTYPE GetNamedEntity(
1494             /* [in] */ __RPC__in LPCWSTR pszValue,
1495             /* [retval][out] */ __RPC__deref_out_opt INamedEntity **ppNamedEntity) = 0;
1496 
1497         virtual /* [local] */ HRESULT STDMETHODCALLTYPE DefaultPhrase(
1498             /* [retval][out] */
1499             __deref_opt_out  LPWSTR *ppszPhrase) = 0;
1500 
1501     };
1502 
1503 #else 	/* C style interface */
1504 
1505     typedef struct IEntityVtbl
1506     {
1507         BEGIN_INTERFACE
1508 
1509         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1510             IEntity * This,
1511             /* [in] */ __RPC__in REFIID riid,
1512             /* [iid_is][out] */
1513             __RPC__deref_out  void **ppvObject);
1514 
1515         ULONG ( STDMETHODCALLTYPE *AddRef )(
1516             IEntity * This);
1517 
1518         ULONG ( STDMETHODCALLTYPE *Release )(
1519             IEntity * This);
1520 
1521         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Name )(
1522             IEntity * This,
1523             /* [retval][out] */
1524             __deref_opt_out  LPWSTR *ppszName);
1525 
1526         HRESULT ( STDMETHODCALLTYPE *Base )(
1527             IEntity * This,
1528             /* [retval][out] */ __RPC__deref_out_opt IEntity **pBaseEntity);
1529 
1530         HRESULT ( STDMETHODCALLTYPE *Relationships )(
1531             IEntity * This,
1532             /* [in] */ __RPC__in REFIID riid,
1533             /* [iid_is][retval][out] */ __RPC__deref_out_opt void **pRelationships);
1534 
1535         HRESULT ( STDMETHODCALLTYPE *GetRelationship )(
1536             IEntity * This,
1537             /* [in] */ __RPC__in LPCWSTR pszRelationName,
1538             /* [retval][out] */ __RPC__deref_out_opt IRelationship **pRelationship);
1539 
1540         HRESULT ( STDMETHODCALLTYPE *MetaData )(
1541             IEntity * This,
1542             /* [in] */ __RPC__in REFIID riid,
1543             /* [iid_is][retval][out] */ __RPC__deref_out_opt void **pMetaData);
1544 
1545         HRESULT ( STDMETHODCALLTYPE *NamedEntities )(
1546             IEntity * This,
1547             /* [in] */ __RPC__in REFIID riid,
1548             /* [iid_is][retval][out] */ __RPC__deref_out_opt void **pNamedEntities);
1549 
1550         HRESULT ( STDMETHODCALLTYPE *GetNamedEntity )(
1551             IEntity * This,
1552             /* [in] */ __RPC__in LPCWSTR pszValue,
1553             /* [retval][out] */ __RPC__deref_out_opt INamedEntity **ppNamedEntity);
1554 
1555         /* [local] */ HRESULT ( STDMETHODCALLTYPE *DefaultPhrase )(
1556             IEntity * This,
1557             /* [retval][out] */
1558             __deref_opt_out  LPWSTR *ppszPhrase);
1559 
1560         END_INTERFACE
1561     } IEntityVtbl;
1562 
1563     interface IEntity
1564     {
1565         CONST_VTBL struct IEntityVtbl *lpVtbl;
1566     };
1567 
1568 
1569 
1570 #ifdef COBJMACROS
1571 
1572 
1573 #define IEntity_QueryInterface(This,riid,ppvObject)	\
1574     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1575 
1576 #define IEntity_AddRef(This)	\
1577     ( (This)->lpVtbl -> AddRef(This) )
1578 
1579 #define IEntity_Release(This)	\
1580     ( (This)->lpVtbl -> Release(This) )
1581 
1582 
1583 #define IEntity_Name(This,ppszName)	\
1584     ( (This)->lpVtbl -> Name(This,ppszName) )
1585 
1586 #define IEntity_Base(This,pBaseEntity)	\
1587     ( (This)->lpVtbl -> Base(This,pBaseEntity) )
1588 
1589 #define IEntity_Relationships(This,riid,pRelationships)	\
1590     ( (This)->lpVtbl -> Relationships(This,riid,pRelationships) )
1591 
1592 #define IEntity_GetRelationship(This,pszRelationName,pRelationship)	\
1593     ( (This)->lpVtbl -> GetRelationship(This,pszRelationName,pRelationship) )
1594 
1595 #define IEntity_MetaData(This,riid,pMetaData)	\
1596     ( (This)->lpVtbl -> MetaData(This,riid,pMetaData) )
1597 
1598 #define IEntity_NamedEntities(This,riid,pNamedEntities)	\
1599     ( (This)->lpVtbl -> NamedEntities(This,riid,pNamedEntities) )
1600 
1601 #define IEntity_GetNamedEntity(This,pszValue,ppNamedEntity)	\
1602     ( (This)->lpVtbl -> GetNamedEntity(This,pszValue,ppNamedEntity) )
1603 
1604 #define IEntity_DefaultPhrase(This,ppszPhrase)	\
1605     ( (This)->lpVtbl -> DefaultPhrase(This,ppszPhrase) )
1606 
1607 #endif /* COBJMACROS */
1608 
1609 
1610 #endif 	/* C style interface */
1611 
1612 
1613 
1614 
1615 #endif 	/* __IEntity_INTERFACE_DEFINED__ */
1616 
1617 
1618 #ifndef __IRelationship_INTERFACE_DEFINED__
1619 #define __IRelationship_INTERFACE_DEFINED__
1620 
1621 /* interface IRelationship */
1622 /* [unique][object][uuid][helpstring] */
1623 
1624 
1625 EXTERN_C const IID IID_IRelationship;
1626 
1627 #if defined(__cplusplus) && !defined(CINTERFACE)
1628 
1629     MIDL_INTERFACE("2769280B-5108-498c-9C7F-A51239B63147")
1630     IRelationship : public IUnknown
1631     {
1632     public:
1633         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Name(
1634             /* [retval][out] */
1635             __deref_opt_out  LPWSTR *ppszName) = 0;
1636 
1637         virtual HRESULT STDMETHODCALLTYPE IsReal(
1638             /* [retval][out] */ __RPC__out BOOL *pIsReal) = 0;
1639 
1640         virtual HRESULT STDMETHODCALLTYPE Destination(
1641             /* [retval][out] */ __RPC__deref_out_opt IEntity **pDestinationEntity) = 0;
1642 
1643         virtual HRESULT STDMETHODCALLTYPE MetaData(
1644             /* [in] */ __RPC__in REFIID riid,
1645             /* [iid_is][retval][out] */ __RPC__deref_out_opt void **pMetaData) = 0;
1646 
1647         virtual /* [local] */ HRESULT STDMETHODCALLTYPE DefaultPhrase(
1648             /* [retval][out] */
1649             __deref_opt_out  LPWSTR *ppszPhrase) = 0;
1650 
1651     };
1652 
1653 #else 	/* C style interface */
1654 
1655     typedef struct IRelationshipVtbl
1656     {
1657         BEGIN_INTERFACE
1658 
1659         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1660             IRelationship * This,
1661             /* [in] */ __RPC__in REFIID riid,
1662             /* [iid_is][out] */
1663             __RPC__deref_out  void **ppvObject);
1664 
1665         ULONG ( STDMETHODCALLTYPE *AddRef )(
1666             IRelationship * This);
1667 
1668         ULONG ( STDMETHODCALLTYPE *Release )(
1669             IRelationship * This);
1670 
1671         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Name )(
1672             IRelationship * This,
1673             /* [retval][out] */
1674             __deref_opt_out  LPWSTR *ppszName);
1675 
1676         HRESULT ( STDMETHODCALLTYPE *IsReal )(
1677             IRelationship * This,
1678             /* [retval][out] */ __RPC__out BOOL *pIsReal);
1679 
1680         HRESULT ( STDMETHODCALLTYPE *Destination )(
1681             IRelationship * This,
1682             /* [retval][out] */ __RPC__deref_out_opt IEntity **pDestinationEntity);
1683 
1684         HRESULT ( STDMETHODCALLTYPE *MetaData )(
1685             IRelationship * This,
1686             /* [in] */ __RPC__in REFIID riid,
1687             /* [iid_is][retval][out] */ __RPC__deref_out_opt void **pMetaData);
1688 
1689         /* [local] */ HRESULT ( STDMETHODCALLTYPE *DefaultPhrase )(
1690             IRelationship * This,
1691             /* [retval][out] */
1692             __deref_opt_out  LPWSTR *ppszPhrase);
1693 
1694         END_INTERFACE
1695     } IRelationshipVtbl;
1696 
1697     interface IRelationship
1698     {
1699         CONST_VTBL struct IRelationshipVtbl *lpVtbl;
1700     };
1701 
1702 
1703 
1704 #ifdef COBJMACROS
1705 
1706 
1707 #define IRelationship_QueryInterface(This,riid,ppvObject)	\
1708     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1709 
1710 #define IRelationship_AddRef(This)	\
1711     ( (This)->lpVtbl -> AddRef(This) )
1712 
1713 #define IRelationship_Release(This)	\
1714     ( (This)->lpVtbl -> Release(This) )
1715 
1716 
1717 #define IRelationship_Name(This,ppszName)	\
1718     ( (This)->lpVtbl -> Name(This,ppszName) )
1719 
1720 #define IRelationship_IsReal(This,pIsReal)	\
1721     ( (This)->lpVtbl -> IsReal(This,pIsReal) )
1722 
1723 #define IRelationship_Destination(This,pDestinationEntity)	\
1724     ( (This)->lpVtbl -> Destination(This,pDestinationEntity) )
1725 
1726 #define IRelationship_MetaData(This,riid,pMetaData)	\
1727     ( (This)->lpVtbl -> MetaData(This,riid,pMetaData) )
1728 
1729 #define IRelationship_DefaultPhrase(This,ppszPhrase)	\
1730     ( (This)->lpVtbl -> DefaultPhrase(This,ppszPhrase) )
1731 
1732 #endif /* COBJMACROS */
1733 
1734 
1735 #endif 	/* C style interface */
1736 
1737 
1738 
1739 
1740 #endif 	/* __IRelationship_INTERFACE_DEFINED__ */
1741 
1742 
1743 #ifndef __INamedEntity_INTERFACE_DEFINED__
1744 #define __INamedEntity_INTERFACE_DEFINED__
1745 
1746 /* interface INamedEntity */
1747 /* [unique][uuid][object][helpstring] */
1748 
1749 
1750 EXTERN_C const IID IID_INamedEntity;
1751 
1752 #if defined(__cplusplus) && !defined(CINTERFACE)
1753 
1754     MIDL_INTERFACE("ABDBD0B1-7D54-49fb-AB5C-BFF4130004CD")
1755     INamedEntity : public IUnknown
1756     {
1757     public:
1758         virtual HRESULT STDMETHODCALLTYPE GetValue(
1759             /* [retval][out] */ __RPC__deref_out_opt LPWSTR *ppszValue) = 0;
1760 
1761         virtual /* [local] */ HRESULT STDMETHODCALLTYPE DefaultPhrase(
1762             /* [retval][out] */
1763             __deref_opt_out  LPWSTR *ppszPhrase) = 0;
1764 
1765     };
1766 
1767 #else 	/* C style interface */
1768 
1769     typedef struct INamedEntityVtbl
1770     {
1771         BEGIN_INTERFACE
1772 
1773         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1774             INamedEntity * This,
1775             /* [in] */ __RPC__in REFIID riid,
1776             /* [iid_is][out] */
1777             __RPC__deref_out  void **ppvObject);
1778 
1779         ULONG ( STDMETHODCALLTYPE *AddRef )(
1780             INamedEntity * This);
1781 
1782         ULONG ( STDMETHODCALLTYPE *Release )(
1783             INamedEntity * This);
1784 
1785         HRESULT ( STDMETHODCALLTYPE *GetValue )(
1786             INamedEntity * This,
1787             /* [retval][out] */ __RPC__deref_out_opt LPWSTR *ppszValue);
1788 
1789         /* [local] */ HRESULT ( STDMETHODCALLTYPE *DefaultPhrase )(
1790             INamedEntity * This,
1791             /* [retval][out] */
1792             __deref_opt_out  LPWSTR *ppszPhrase);
1793 
1794         END_INTERFACE
1795     } INamedEntityVtbl;
1796 
1797     interface INamedEntity
1798     {
1799         CONST_VTBL struct INamedEntityVtbl *lpVtbl;
1800     };
1801 
1802 
1803 
1804 #ifdef COBJMACROS
1805 
1806 
1807 #define INamedEntity_QueryInterface(This,riid,ppvObject)	\
1808     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1809 
1810 #define INamedEntity_AddRef(This)	\
1811     ( (This)->lpVtbl -> AddRef(This) )
1812 
1813 #define INamedEntity_Release(This)	\
1814     ( (This)->lpVtbl -> Release(This) )
1815 
1816 
1817 #define INamedEntity_GetValue(This,ppszValue)	\
1818     ( (This)->lpVtbl -> GetValue(This,ppszValue) )
1819 
1820 #define INamedEntity_DefaultPhrase(This,ppszPhrase)	\
1821     ( (This)->lpVtbl -> DefaultPhrase(This,ppszPhrase) )
1822 
1823 #endif /* COBJMACROS */
1824 
1825 
1826 #endif 	/* C style interface */
1827 
1828 
1829 
1830 
1831 #endif 	/* __INamedEntity_INTERFACE_DEFINED__ */
1832 
1833 
1834 #ifndef __ISchemaProvider_INTERFACE_DEFINED__
1835 #define __ISchemaProvider_INTERFACE_DEFINED__
1836 
1837 /* interface ISchemaProvider */
1838 /* [unique][object][uuid][helpstring] */
1839 
1840 
1841 EXTERN_C const IID IID_ISchemaProvider;
1842 
1843 #if defined(__cplusplus) && !defined(CINTERFACE)
1844 
1845     MIDL_INTERFACE("8CF89BCB-394C-49b2-AE28-A59DD4ED7F68")
1846     ISchemaProvider : public IUnknown
1847     {
1848     public:
1849         virtual HRESULT STDMETHODCALLTYPE Entities(
1850             /* [in] */ __RPC__in REFIID riid,
1851             /* [iid_is][retval][out] */ __RPC__deref_out_opt void **pEntities) = 0;
1852 
1853         virtual HRESULT STDMETHODCALLTYPE RootEntity(
1854             /* [retval][out] */ __RPC__deref_out_opt IEntity **pRootEntity) = 0;
1855 
1856         virtual HRESULT STDMETHODCALLTYPE GetEntity(
1857             /* [in] */ __RPC__in LPCWSTR pszEntityName,
1858             /* [retval][out] */ __RPC__deref_out_opt IEntity **pEntity) = 0;
1859 
1860         virtual HRESULT STDMETHODCALLTYPE MetaData(
1861             /* [in] */ __RPC__in REFIID riid,
1862             /* [iid_is][retval][out] */ __RPC__deref_out_opt void **pMetaData) = 0;
1863 
1864         virtual HRESULT STDMETHODCALLTYPE Localize(
1865             /* [in] */ LCID lcid,
1866             /* [in] */ __RPC__in_opt ISchemaLocalizerSupport *pSchemaLocalizerSupport) = 0;
1867 
1868         virtual HRESULT STDMETHODCALLTYPE SaveBinary(
1869             /* [in] */ __RPC__in LPCWSTR pszSchemaBinaryPath) = 0;
1870 
1871         virtual HRESULT STDMETHODCALLTYPE LookupAuthoredNamedEntity(
1872             /* [in] */ __RPC__in_opt IEntity *pEntity,
1873             /* [in] */ __RPC__in LPCWSTR pszInputString,
1874             /* [in] */ __RPC__in_opt ITokenCollection *pTokenCollection,
1875             /* [in] */ ULONG cTokensBegin,
1876             /* [out] */ __RPC__out ULONG *pcTokensLength,
1877             /* [out] */ __RPC__deref_out_opt LPWSTR *ppszValue) = 0;
1878 
1879     };
1880 
1881 #else 	/* C style interface */
1882 
1883     typedef struct ISchemaProviderVtbl
1884     {
1885         BEGIN_INTERFACE
1886 
1887         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
1888             ISchemaProvider * This,
1889             /* [in] */ __RPC__in REFIID riid,
1890             /* [iid_is][out] */
1891             __RPC__deref_out  void **ppvObject);
1892 
1893         ULONG ( STDMETHODCALLTYPE *AddRef )(
1894             ISchemaProvider * This);
1895 
1896         ULONG ( STDMETHODCALLTYPE *Release )(
1897             ISchemaProvider * This);
1898 
1899         HRESULT ( STDMETHODCALLTYPE *Entities )(
1900             ISchemaProvider * This,
1901             /* [in] */ __RPC__in REFIID riid,
1902             /* [iid_is][retval][out] */ __RPC__deref_out_opt void **pEntities);
1903 
1904         HRESULT ( STDMETHODCALLTYPE *RootEntity )(
1905             ISchemaProvider * This,
1906             /* [retval][out] */ __RPC__deref_out_opt IEntity **pRootEntity);
1907 
1908         HRESULT ( STDMETHODCALLTYPE *GetEntity )(
1909             ISchemaProvider * This,
1910             /* [in] */ __RPC__in LPCWSTR pszEntityName,
1911             /* [retval][out] */ __RPC__deref_out_opt IEntity **pEntity);
1912 
1913         HRESULT ( STDMETHODCALLTYPE *MetaData )(
1914             ISchemaProvider * This,
1915             /* [in] */ __RPC__in REFIID riid,
1916             /* [iid_is][retval][out] */ __RPC__deref_out_opt void **pMetaData);
1917 
1918         HRESULT ( STDMETHODCALLTYPE *Localize )(
1919             ISchemaProvider * This,
1920             /* [in] */ LCID lcid,
1921             /* [in] */ __RPC__in_opt ISchemaLocalizerSupport *pSchemaLocalizerSupport);
1922 
1923         HRESULT ( STDMETHODCALLTYPE *SaveBinary )(
1924             ISchemaProvider * This,
1925             /* [in] */ __RPC__in LPCWSTR pszSchemaBinaryPath);
1926 
1927         HRESULT ( STDMETHODCALLTYPE *LookupAuthoredNamedEntity )(
1928             ISchemaProvider * This,
1929             /* [in] */ __RPC__in_opt IEntity *pEntity,
1930             /* [in] */ __RPC__in LPCWSTR pszInputString,
1931             /* [in] */ __RPC__in_opt ITokenCollection *pTokenCollection,
1932             /* [in] */ ULONG cTokensBegin,
1933             /* [out] */ __RPC__out ULONG *pcTokensLength,
1934             /* [out] */ __RPC__deref_out_opt LPWSTR *ppszValue);
1935 
1936         END_INTERFACE
1937     } ISchemaProviderVtbl;
1938 
1939     interface ISchemaProvider
1940     {
1941         CONST_VTBL struct ISchemaProviderVtbl *lpVtbl;
1942     };
1943 
1944 
1945 
1946 #ifdef COBJMACROS
1947 
1948 
1949 #define ISchemaProvider_QueryInterface(This,riid,ppvObject)	\
1950     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
1951 
1952 #define ISchemaProvider_AddRef(This)	\
1953     ( (This)->lpVtbl -> AddRef(This) )
1954 
1955 #define ISchemaProvider_Release(This)	\
1956     ( (This)->lpVtbl -> Release(This) )
1957 
1958 
1959 #define ISchemaProvider_Entities(This,riid,pEntities)	\
1960     ( (This)->lpVtbl -> Entities(This,riid,pEntities) )
1961 
1962 #define ISchemaProvider_RootEntity(This,pRootEntity)	\
1963     ( (This)->lpVtbl -> RootEntity(This,pRootEntity) )
1964 
1965 #define ISchemaProvider_GetEntity(This,pszEntityName,pEntity)	\
1966     ( (This)->lpVtbl -> GetEntity(This,pszEntityName,pEntity) )
1967 
1968 #define ISchemaProvider_MetaData(This,riid,pMetaData)	\
1969     ( (This)->lpVtbl -> MetaData(This,riid,pMetaData) )
1970 
1971 #define ISchemaProvider_Localize(This,lcid,pSchemaLocalizerSupport)	\
1972     ( (This)->lpVtbl -> Localize(This,lcid,pSchemaLocalizerSupport) )
1973 
1974 #define ISchemaProvider_SaveBinary(This,pszSchemaBinaryPath)	\
1975     ( (This)->lpVtbl -> SaveBinary(This,pszSchemaBinaryPath) )
1976 
1977 #define ISchemaProvider_LookupAuthoredNamedEntity(This,pEntity,pszInputString,pTokenCollection,cTokensBegin,pcTokensLength,ppszValue)	\
1978     ( (This)->lpVtbl -> LookupAuthoredNamedEntity(This,pEntity,pszInputString,pTokenCollection,cTokensBegin,pcTokensLength,ppszValue) )
1979 
1980 #endif /* COBJMACROS */
1981 
1982 
1983 #endif 	/* C style interface */
1984 
1985 
1986 
1987 
1988 #endif 	/* __ISchemaProvider_INTERFACE_DEFINED__ */
1989 
1990 
1991 #ifndef __ITokenCollection_INTERFACE_DEFINED__
1992 #define __ITokenCollection_INTERFACE_DEFINED__
1993 
1994 /* interface ITokenCollection */
1995 /* [unique][object][uuid][helpstring] */
1996 
1997 
1998 EXTERN_C const IID IID_ITokenCollection;
1999 
2000 #if defined(__cplusplus) && !defined(CINTERFACE)
2001 
2002     MIDL_INTERFACE("22D8B4F2-F577-4adb-A335-C2AE88416FAB")
2003     ITokenCollection : public IUnknown
2004     {
2005     public:
2006         virtual HRESULT STDMETHODCALLTYPE NumberOfTokens(
2007             __RPC__in ULONG *pCount) = 0;
2008 
2009         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetToken(
2010             /* [in] */ ULONG i,
2011             /* [out] */
2012             __out_opt  ULONG *pBegin,
2013             /* [out] */
2014             __out_opt  ULONG *pLength,
2015             /* [out] */
2016             __deref_opt_out  LPWSTR *ppsz) = 0;
2017 
2018     };
2019 
2020 #else 	/* C style interface */
2021 
2022     typedef struct ITokenCollectionVtbl
2023     {
2024         BEGIN_INTERFACE
2025 
2026         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
2027             ITokenCollection * This,
2028             /* [in] */ __RPC__in REFIID riid,
2029             /* [iid_is][out] */
2030             __RPC__deref_out  void **ppvObject);
2031 
2032         ULONG ( STDMETHODCALLTYPE *AddRef )(
2033             ITokenCollection * This);
2034 
2035         ULONG ( STDMETHODCALLTYPE *Release )(
2036             ITokenCollection * This);
2037 
2038         HRESULT ( STDMETHODCALLTYPE *NumberOfTokens )(
2039             ITokenCollection * This,
2040             __RPC__in ULONG *pCount);
2041 
2042         /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetToken )(
2043             ITokenCollection * This,
2044             /* [in] */ ULONG i,
2045             /* [out] */
2046             __out_opt  ULONG *pBegin,
2047             /* [out] */
2048             __out_opt  ULONG *pLength,
2049             /* [out] */
2050             __deref_opt_out  LPWSTR *ppsz);
2051 
2052         END_INTERFACE
2053     } ITokenCollectionVtbl;
2054 
2055     interface ITokenCollection
2056     {
2057         CONST_VTBL struct ITokenCollectionVtbl *lpVtbl;
2058     };
2059 
2060 
2061 
2062 #ifdef COBJMACROS
2063 
2064 
2065 #define ITokenCollection_QueryInterface(This,riid,ppvObject)	\
2066     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
2067 
2068 #define ITokenCollection_AddRef(This)	\
2069     ( (This)->lpVtbl -> AddRef(This) )
2070 
2071 #define ITokenCollection_Release(This)	\
2072     ( (This)->lpVtbl -> Release(This) )
2073 
2074 
2075 #define ITokenCollection_NumberOfTokens(This,pCount)	\
2076     ( (This)->lpVtbl -> NumberOfTokens(This,pCount) )
2077 
2078 #define ITokenCollection_GetToken(This,i,pBegin,pLength,ppsz)	\
2079     ( (This)->lpVtbl -> GetToken(This,i,pBegin,pLength,ppsz) )
2080 
2081 #endif /* COBJMACROS */
2082 
2083 
2084 #endif 	/* C style interface */
2085 
2086 
2087 
2088 
2089 #endif 	/* __ITokenCollection_INTERFACE_DEFINED__ */
2090 
2091 
2092 /* interface __MIDL_itf_structuredquery_0000_0013 */
2093 /* [local] */
2094 
2095 typedef /* [public][public][v1_enum] */
2096 enum __MIDL___MIDL_itf_structuredquery_0000_0013_0001
2097     {	NEC_LOW	= 0,
2098 	NEC_MEDIUM	= ( NEC_LOW + 1 ) ,
2099 	NEC_HIGH	= ( NEC_MEDIUM + 1 )
2100     } 	NAMED_ENTITY_CERTAINTY;
2101 
2102 
2103 
2104 extern RPC_IF_HANDLE __MIDL_itf_structuredquery_0000_0013_v0_0_c_ifspec;
2105 extern RPC_IF_HANDLE __MIDL_itf_structuredquery_0000_0013_v0_0_s_ifspec;
2106 
2107 #ifndef __INamedEntityCollector_INTERFACE_DEFINED__
2108 #define __INamedEntityCollector_INTERFACE_DEFINED__
2109 
2110 /* interface INamedEntityCollector */
2111 /* [unique][object][uuid][helpstring] */
2112 
2113 
2114 EXTERN_C const IID IID_INamedEntityCollector;
2115 
2116 #if defined(__cplusplus) && !defined(CINTERFACE)
2117 
2118     MIDL_INTERFACE("AF2440F6-8AFC-47d0-9A7F-396A0ACFB43D")
2119     INamedEntityCollector : public IUnknown
2120     {
2121     public:
2122         virtual HRESULT STDMETHODCALLTYPE Add(
2123             /* [in] */ ULONG beginSpan,
2124             /* [in] */ ULONG endSpan,
2125             /* [in] */ ULONG beginActual,
2126             /* [in] */ ULONG endActual,
2127             /* [in] */ __RPC__in_opt IEntity *pType,
2128             /* [in] */ __RPC__in LPCWSTR pszValue,
2129             /* [in] */ NAMED_ENTITY_CERTAINTY certainty) = 0;
2130 
2131     };
2132 
2133 #else 	/* C style interface */
2134 
2135     typedef struct INamedEntityCollectorVtbl
2136     {
2137         BEGIN_INTERFACE
2138 
2139         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
2140             INamedEntityCollector * This,
2141             /* [in] */ __RPC__in REFIID riid,
2142             /* [iid_is][out] */
2143             __RPC__deref_out  void **ppvObject);
2144 
2145         ULONG ( STDMETHODCALLTYPE *AddRef )(
2146             INamedEntityCollector * This);
2147 
2148         ULONG ( STDMETHODCALLTYPE *Release )(
2149             INamedEntityCollector * This);
2150 
2151         HRESULT ( STDMETHODCALLTYPE *Add )(
2152             INamedEntityCollector * This,
2153             /* [in] */ ULONG beginSpan,
2154             /* [in] */ ULONG endSpan,
2155             /* [in] */ ULONG beginActual,
2156             /* [in] */ ULONG endActual,
2157             /* [in] */ __RPC__in_opt IEntity *pType,
2158             /* [in] */ __RPC__in LPCWSTR pszValue,
2159             /* [in] */ NAMED_ENTITY_CERTAINTY certainty);
2160 
2161         END_INTERFACE
2162     } INamedEntityCollectorVtbl;
2163 
2164     interface INamedEntityCollector
2165     {
2166         CONST_VTBL struct INamedEntityCollectorVtbl *lpVtbl;
2167     };
2168 
2169 
2170 
2171 #ifdef COBJMACROS
2172 
2173 
2174 #define INamedEntityCollector_QueryInterface(This,riid,ppvObject)	\
2175     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
2176 
2177 #define INamedEntityCollector_AddRef(This)	\
2178     ( (This)->lpVtbl -> AddRef(This) )
2179 
2180 #define INamedEntityCollector_Release(This)	\
2181     ( (This)->lpVtbl -> Release(This) )
2182 
2183 
2184 #define INamedEntityCollector_Add(This,beginSpan,endSpan,beginActual,endActual,pType,pszValue,certainty)	\
2185     ( (This)->lpVtbl -> Add(This,beginSpan,endSpan,beginActual,endActual,pType,pszValue,certainty) )
2186 
2187 #endif /* COBJMACROS */
2188 
2189 
2190 #endif 	/* C style interface */
2191 
2192 
2193 
2194 
2195 #endif 	/* __INamedEntityCollector_INTERFACE_DEFINED__ */
2196 
2197 
2198 #ifndef __ISchemaLocalizerSupport_INTERFACE_DEFINED__
2199 #define __ISchemaLocalizerSupport_INTERFACE_DEFINED__
2200 
2201 /* interface ISchemaLocalizerSupport */
2202 /* [unique][object][uuid] */
2203 
2204 
2205 EXTERN_C const IID IID_ISchemaLocalizerSupport;
2206 
2207 #if defined(__cplusplus) && !defined(CINTERFACE)
2208 
2209     MIDL_INTERFACE("CA3FDCA2-BFBE-4eed-90D7-0CAEF0A1BDA1")
2210     ISchemaLocalizerSupport : public IUnknown
2211     {
2212     public:
2213         virtual HRESULT STDMETHODCALLTYPE Localize(
2214             /* [in] */ __RPC__in LPCWSTR pszGlobalString,
2215             /* [retval][out] */ __RPC__deref_out_opt LPWSTR *ppszLocalString) = 0;
2216 
2217     };
2218 
2219 #else 	/* C style interface */
2220 
2221     typedef struct ISchemaLocalizerSupportVtbl
2222     {
2223         BEGIN_INTERFACE
2224 
2225         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
2226             ISchemaLocalizerSupport * This,
2227             /* [in] */ __RPC__in REFIID riid,
2228             /* [iid_is][out] */
2229             __RPC__deref_out  void **ppvObject);
2230 
2231         ULONG ( STDMETHODCALLTYPE *AddRef )(
2232             ISchemaLocalizerSupport * This);
2233 
2234         ULONG ( STDMETHODCALLTYPE *Release )(
2235             ISchemaLocalizerSupport * This);
2236 
2237         HRESULT ( STDMETHODCALLTYPE *Localize )(
2238             ISchemaLocalizerSupport * This,
2239             /* [in] */ __RPC__in LPCWSTR pszGlobalString,
2240             /* [retval][out] */ __RPC__deref_out_opt LPWSTR *ppszLocalString);
2241 
2242         END_INTERFACE
2243     } ISchemaLocalizerSupportVtbl;
2244 
2245     interface ISchemaLocalizerSupport
2246     {
2247         CONST_VTBL struct ISchemaLocalizerSupportVtbl *lpVtbl;
2248     };
2249 
2250 
2251 
2252 #ifdef COBJMACROS
2253 
2254 
2255 #define ISchemaLocalizerSupport_QueryInterface(This,riid,ppvObject)	\
2256     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
2257 
2258 #define ISchemaLocalizerSupport_AddRef(This)	\
2259     ( (This)->lpVtbl -> AddRef(This) )
2260 
2261 #define ISchemaLocalizerSupport_Release(This)	\
2262     ( (This)->lpVtbl -> Release(This) )
2263 
2264 
2265 #define ISchemaLocalizerSupport_Localize(This,pszGlobalString,ppszLocalString)	\
2266     ( (This)->lpVtbl -> Localize(This,pszGlobalString,ppszLocalString) )
2267 
2268 #endif /* COBJMACROS */
2269 
2270 
2271 #endif 	/* C style interface */
2272 
2273 
2274 
2275 
2276 #endif 	/* __ISchemaLocalizerSupport_INTERFACE_DEFINED__ */
2277 
2278 
2279 #ifndef __IQueryParserManager_INTERFACE_DEFINED__
2280 #define __IQueryParserManager_INTERFACE_DEFINED__
2281 
2282 /* interface IQueryParserManager */
2283 /* [unique][object][uuid] */
2284 
2285 
2286 EXTERN_C const IID IID_IQueryParserManager;
2287 
2288 #if defined(__cplusplus) && !defined(CINTERFACE)
2289 
2290     MIDL_INTERFACE("A879E3C4-AF77-44fb-8F37-EBD1487CF920")
2291     IQueryParserManager : public IUnknown
2292     {
2293     public:
2294         virtual HRESULT STDMETHODCALLTYPE CreateLoadedParser(
2295             /* [in] */ __RPC__in LPCWSTR pszCatalog,
2296             /* [in] */ LANGID langidForKeywords,
2297             /* [in] */ __RPC__in REFIID riid,
2298             /* [iid_is][retval][out] */ __RPC__deref_out_opt void **ppQueryParser) = 0;
2299 
2300         virtual HRESULT STDMETHODCALLTYPE InitializeOptions(
2301             /* [in] */ BOOL fUnderstandNQS,
2302             /* [in] */ BOOL fAutoWildCard,
2303             /* [in] */ __RPC__in_opt IQueryParser *pQueryParser) = 0;
2304 
2305         virtual HRESULT STDMETHODCALLTYPE SetOption(
2306             /* [in] */ QUERY_PARSER_MANAGER_OPTION option,
2307             /* [in] */ __RPC__in const PROPVARIANT *pOptionValue) = 0;
2308 
2309     };
2310 
2311 #else 	/* C style interface */
2312 
2313     typedef struct IQueryParserManagerVtbl
2314     {
2315         BEGIN_INTERFACE
2316 
2317         HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
2318             IQueryParserManager * This,
2319             /* [in] */ __RPC__in REFIID riid,
2320             /* [iid_is][out] */
2321             __RPC__deref_out  void **ppvObject);
2322 
2323         ULONG ( STDMETHODCALLTYPE *AddRef )(
2324             IQueryParserManager * This);
2325 
2326         ULONG ( STDMETHODCALLTYPE *Release )(
2327             IQueryParserManager * This);
2328 
2329         HRESULT ( STDMETHODCALLTYPE *CreateLoadedParser )(
2330             IQueryParserManager * This,
2331             /* [in] */ __RPC__in LPCWSTR pszCatalog,
2332             /* [in] */ LANGID langidForKeywords,
2333             /* [in] */ __RPC__in REFIID riid,
2334             /* [iid_is][retval][out] */ __RPC__deref_out_opt void **ppQueryParser);
2335 
2336         HRESULT ( STDMETHODCALLTYPE *InitializeOptions )(
2337             IQueryParserManager * This,
2338             /* [in] */ BOOL fUnderstandNQS,
2339             /* [in] */ BOOL fAutoWildCard,
2340             /* [in] */ __RPC__in_opt IQueryParser *pQueryParser);
2341 
2342         HRESULT ( STDMETHODCALLTYPE *SetOption )(
2343             IQueryParserManager * This,
2344             /* [in] */ QUERY_PARSER_MANAGER_OPTION option,
2345             /* [in] */ __RPC__in const PROPVARIANT *pOptionValue);
2346 
2347         END_INTERFACE
2348     } IQueryParserManagerVtbl;
2349 
2350     interface IQueryParserManager
2351     {
2352         CONST_VTBL struct IQueryParserManagerVtbl *lpVtbl;
2353     };
2354 
2355 
2356 
2357 #ifdef COBJMACROS
2358 
2359 
2360 #define IQueryParserManager_QueryInterface(This,riid,ppvObject)	\
2361     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
2362 
2363 #define IQueryParserManager_AddRef(This)	\
2364     ( (This)->lpVtbl -> AddRef(This) )
2365 
2366 #define IQueryParserManager_Release(This)	\
2367     ( (This)->lpVtbl -> Release(This) )
2368 
2369 
2370 #define IQueryParserManager_CreateLoadedParser(This,pszCatalog,langidForKeywords,riid,ppQueryParser)	\
2371     ( (This)->lpVtbl -> CreateLoadedParser(This,pszCatalog,langidForKeywords,riid,ppQueryParser) )
2372 
2373 #define IQueryParserManager_InitializeOptions(This,fUnderstandNQS,fAutoWildCard,pQueryParser)	\
2374     ( (This)->lpVtbl -> InitializeOptions(This,fUnderstandNQS,fAutoWildCard,pQueryParser) )
2375 
2376 #define IQueryParserManager_SetOption(This,option,pOptionValue)	\
2377     ( (This)->lpVtbl -> SetOption(This,option,pOptionValue) )
2378 
2379 #endif /* COBJMACROS */
2380 
2381 
2382 #endif 	/* C style interface */
2383 
2384 
2385 
2386 
2387 #endif 	/* __IQueryParserManager_INTERFACE_DEFINED__ */
2388 
2389 
2390 
2391 #ifndef __StructuredQuery1_LIBRARY_DEFINED__
2392 #define __StructuredQuery1_LIBRARY_DEFINED__
2393 
2394 /* library StructuredQuery1 */
2395 /* [version][uuid] */
2396 
2397 
2398 EXTERN_C const IID LIBID_StructuredQuery1;
2399 
2400 EXTERN_C const CLSID CLSID_QueryParser;
2401 
2402 #ifdef __cplusplus
2403 
2404 class DECLSPEC_UUID("B72F8FD8-0FAB-4dd9-BDBF-245A6CE1485B")
2405 QueryParser;
2406 #endif
2407 
2408 EXTERN_C const CLSID CLSID_NegationCondition;
2409 
2410 #ifdef __cplusplus
2411 
2412 class DECLSPEC_UUID("8DE9C74C-605A-4acd-BEE3-2B222AA2D23D")
2413 NegationCondition;
2414 #endif
2415 
2416 EXTERN_C const CLSID CLSID_CompoundCondition;
2417 
2418 #ifdef __cplusplus
2419 
2420 class DECLSPEC_UUID("116F8D13-101E-4fa5-84D4-FF8279381935")
2421 CompoundCondition;
2422 #endif
2423 
2424 EXTERN_C const CLSID CLSID_LeafCondition;
2425 
2426 #ifdef __cplusplus
2427 
2428 class DECLSPEC_UUID("52F15C89-5A17-48e1-BBCD-46A3F89C7CC2")
2429 LeafCondition;
2430 #endif
2431 
2432 EXTERN_C const CLSID CLSID_ConditionFactory;
2433 
2434 #ifdef __cplusplus
2435 
2436 class DECLSPEC_UUID("E03E85B0-7BE3-4000-BA98-6C13DE9FA486")
2437 ConditionFactory;
2438 #endif
2439 
2440 EXTERN_C const CLSID CLSID_Interval;
2441 
2442 #ifdef __cplusplus
2443 
2444 class DECLSPEC_UUID("D957171F-4BF9-4de2-BCD5-C70A7CA55836")
2445 Interval;
2446 #endif
2447 
2448 EXTERN_C const CLSID CLSID_QueryParserManager;
2449 
2450 #ifdef __cplusplus
2451 
2452 class DECLSPEC_UUID("5088B39A-29B4-4d9d-8245-4EE289222F66")
2453 QueryParserManager;
2454 #endif
2455 #endif /* __StructuredQuery1_LIBRARY_DEFINED__ */
2456 
2457 /* Additional Prototypes for ALL interfaces */
2458 
2459 unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * );
2460 unsigned char * __RPC_USER  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * );
2461 unsigned char * __RPC_USER  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * );
2462 void                      __RPC_USER  BSTR_UserFree(     unsigned long *, BSTR * );
2463 
2464 unsigned long             __RPC_USER  LPSAFEARRAY_UserSize(     unsigned long *, unsigned long            , LPSAFEARRAY * );
2465 unsigned char * __RPC_USER  LPSAFEARRAY_UserMarshal(  unsigned long *, unsigned char *, LPSAFEARRAY * );
2466 unsigned char * __RPC_USER  LPSAFEARRAY_UserUnmarshal(unsigned long *, unsigned char *, LPSAFEARRAY * );
2467 void                      __RPC_USER  LPSAFEARRAY_UserFree(     unsigned long *, LPSAFEARRAY * );
2468 
2469 /* end of Additional Prototypes */
2470 
2471 #ifdef __cplusplus
2472 }
2473 #endif
2474 
2475 #endif
2476 
2477 
2478 
2479