00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #pragma warning( disable: 4049 )
00018
00019
00020
00021 #ifndef __REQUIRED_RPCNDR_H_VERSION__
00022 #define __REQUIRED_RPCNDR_H_VERSION__ 475
00023 #endif
00024
00025
00026 #ifndef __REQUIRED_RPCSAL_H_VERSION__
00027 #define __REQUIRED_RPCSAL_H_VERSION__ 100
00028 #endif
00029
00030 #include "rpc.h"
00031 #include "rpcndr.h"
00032
00033 #ifndef __RPCNDR_H_VERSION__
00034 #error this stub requires an updated version of <rpcndr.h>
00035 #endif // __RPCNDR_H_VERSION__
00036
00037 #ifndef COM_NO_WINDOWS_H
00038 #include "windows.h"
00039 #include "ole2.h"
00040 #endif
00041
00042 #ifndef __structuredquery_h__
00043 #define __structuredquery_h__
00044
00045 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
00046 #pragma once
00047 #endif
00048
00049
00050
00051 #ifndef __IQueryParser_FWD_DEFINED__
00052 #define __IQueryParser_FWD_DEFINED__
00053 typedef interface IQueryParser IQueryParser;
00054 #endif
00055
00056
00057 #ifndef __IConditionFactory_FWD_DEFINED__
00058 #define __IConditionFactory_FWD_DEFINED__
00059 typedef interface IConditionFactory IConditionFactory;
00060 #endif
00061
00062
00063 #ifndef __IQuerySolution_FWD_DEFINED__
00064 #define __IQuerySolution_FWD_DEFINED__
00065 typedef interface IQuerySolution IQuerySolution;
00066 #endif
00067
00068
00069 #ifndef __ICondition_FWD_DEFINED__
00070 #define __ICondition_FWD_DEFINED__
00071 typedef interface ICondition ICondition;
00072 #endif
00073
00074
00075 #ifndef __IConditionGenerator_FWD_DEFINED__
00076 #define __IConditionGenerator_FWD_DEFINED__
00077 typedef interface IConditionGenerator IConditionGenerator;
00078 #endif
00079
00080
00081 #ifndef __IRichChunk_FWD_DEFINED__
00082 #define __IRichChunk_FWD_DEFINED__
00083 typedef interface IRichChunk IRichChunk;
00084 #endif
00085
00086
00087 #ifndef __IInterval_FWD_DEFINED__
00088 #define __IInterval_FWD_DEFINED__
00089 typedef interface IInterval IInterval;
00090 #endif
00091
00092
00093 #ifndef __IMetaData_FWD_DEFINED__
00094 #define __IMetaData_FWD_DEFINED__
00095 typedef interface IMetaData IMetaData;
00096 #endif
00097
00098
00099 #ifndef __IEntity_FWD_DEFINED__
00100 #define __IEntity_FWD_DEFINED__
00101 typedef interface IEntity IEntity;
00102 #endif
00103
00104
00105 #ifndef __IRelationship_FWD_DEFINED__
00106 #define __IRelationship_FWD_DEFINED__
00107 typedef interface IRelationship IRelationship;
00108 #endif
00109
00110
00111 #ifndef __INamedEntity_FWD_DEFINED__
00112 #define __INamedEntity_FWD_DEFINED__
00113 typedef interface INamedEntity INamedEntity;
00114 #endif
00115
00116
00117 #ifndef __ISchemaProvider_FWD_DEFINED__
00118 #define __ISchemaProvider_FWD_DEFINED__
00119 typedef interface ISchemaProvider ISchemaProvider;
00120 #endif
00121
00122
00123 #ifndef __ITokenCollection_FWD_DEFINED__
00124 #define __ITokenCollection_FWD_DEFINED__
00125 typedef interface ITokenCollection ITokenCollection;
00126 #endif
00127
00128
00129 #ifndef __INamedEntityCollector_FWD_DEFINED__
00130 #define __INamedEntityCollector_FWD_DEFINED__
00131 typedef interface INamedEntityCollector INamedEntityCollector;
00132 #endif
00133
00134
00135 #ifndef __ISchemaLocalizerSupport_FWD_DEFINED__
00136 #define __ISchemaLocalizerSupport_FWD_DEFINED__
00137 typedef interface ISchemaLocalizerSupport ISchemaLocalizerSupport;
00138 #endif
00139
00140
00141 #ifndef __IQueryParserManager_FWD_DEFINED__
00142 #define __IQueryParserManager_FWD_DEFINED__
00143 typedef interface IQueryParserManager IQueryParserManager;
00144 #endif
00145
00146
00147 #ifndef __QueryParser_FWD_DEFINED__
00148 #define __QueryParser_FWD_DEFINED__
00149
00150 #ifdef __cplusplus
00151 typedef class QueryParser QueryParser;
00152 #else
00153 typedef struct QueryParser QueryParser;
00154 #endif
00155
00156 #endif
00157
00158
00159 #ifndef __NegationCondition_FWD_DEFINED__
00160 #define __NegationCondition_FWD_DEFINED__
00161
00162 #ifdef __cplusplus
00163 typedef class NegationCondition NegationCondition;
00164 #else
00165 typedef struct NegationCondition NegationCondition;
00166 #endif
00167
00168 #endif
00169
00170
00171 #ifndef __CompoundCondition_FWD_DEFINED__
00172 #define __CompoundCondition_FWD_DEFINED__
00173
00174 #ifdef __cplusplus
00175 typedef class CompoundCondition CompoundCondition;
00176 #else
00177 typedef struct CompoundCondition CompoundCondition;
00178 #endif
00179
00180 #endif
00181
00182
00183 #ifndef __LeafCondition_FWD_DEFINED__
00184 #define __LeafCondition_FWD_DEFINED__
00185
00186 #ifdef __cplusplus
00187 typedef class LeafCondition LeafCondition;
00188 #else
00189 typedef struct LeafCondition LeafCondition;
00190 #endif
00191
00192 #endif
00193
00194
00195 #ifndef __ConditionFactory_FWD_DEFINED__
00196 #define __ConditionFactory_FWD_DEFINED__
00197
00198 #ifdef __cplusplus
00199 typedef class ConditionFactory ConditionFactory;
00200 #else
00201 typedef struct ConditionFactory ConditionFactory;
00202 #endif
00203
00204 #endif
00205
00206
00207 #ifndef __Interval_FWD_DEFINED__
00208 #define __Interval_FWD_DEFINED__
00209
00210 #ifdef __cplusplus
00211 typedef class Interval Interval;
00212 #else
00213 typedef struct Interval Interval;
00214 #endif
00215
00216 #endif
00217
00218
00219 #ifndef __QueryParserManager_FWD_DEFINED__
00220 #define __QueryParserManager_FWD_DEFINED__
00221
00222 #ifdef __cplusplus
00223 typedef class QueryParserManager QueryParserManager;
00224 #else
00225 typedef struct QueryParserManager QueryParserManager;
00226 #endif
00227
00228 #endif
00229
00230
00231
00232 #include "oaidl.h"
00233 #include "ocidl.h"
00234 #include "propidl.h"
00235
00236 #ifdef __cplusplus
00237 extern "C"{
00238 #endif
00239
00240
00241
00242
00243
00244
00245
00246
00247
00248
00249
00250
00251
00252
00253
00254 typedef
00255 enum tagCONDITION_TYPE
00256 { CT_AND_CONDITION = 0,
00257 CT_OR_CONDITION = ( CT_AND_CONDITION + 1 ) ,
00258 CT_NOT_CONDITION = ( CT_OR_CONDITION + 1 ) ,
00259 CT_LEAF_CONDITION = ( CT_NOT_CONDITION + 1 )
00260 } CONDITION_TYPE;
00261
00262 typedef
00263 enum tagCONDITION_OPERATION
00264 { COP_IMPLICIT = 0,
00265 COP_EQUAL = ( COP_IMPLICIT + 1 ) ,
00266 COP_NOTEQUAL = ( COP_EQUAL + 1 ) ,
00267 COP_LESSTHAN = ( COP_NOTEQUAL + 1 ) ,
00268 COP_GREATERTHAN = ( COP_LESSTHAN + 1 ) ,
00269 COP_LESSTHANOREQUAL = ( COP_GREATERTHAN + 1 ) ,
00270 COP_GREATERTHANOREQUAL = ( COP_LESSTHANOREQUAL + 1 ) ,
00271 COP_VALUE_STARTSWITH = ( COP_GREATERTHANOREQUAL + 1 ) ,
00272 COP_VALUE_ENDSWITH = ( COP_VALUE_STARTSWITH + 1 ) ,
00273 COP_VALUE_CONTAINS = ( COP_VALUE_ENDSWITH + 1 ) ,
00274 COP_VALUE_NOTCONTAINS = ( COP_VALUE_CONTAINS + 1 ) ,
00275 COP_DOSWILDCARDS = ( COP_VALUE_NOTCONTAINS + 1 ) ,
00276 COP_WORD_EQUAL = ( COP_DOSWILDCARDS + 1 ) ,
00277 COP_WORD_STARTSWITH = ( COP_WORD_EQUAL + 1 ) ,
00278 COP_APPLICATION_SPECIFIC = ( COP_WORD_STARTSWITH + 1 )
00279 } CONDITION_OPERATION;
00280
00281 typedef
00282 enum tagSTRUCTURED_QUERY_SINGLE_OPTION
00283 { SQSO_SCHEMA = 0,
00284 SQSO_LOCALE_WORD_BREAKING = ( SQSO_SCHEMA + 1 ) ,
00285 SQSO_WORD_BREAKER = ( SQSO_LOCALE_WORD_BREAKING + 1 ) ,
00286 SQSO_NATURAL_SYNTAX = ( SQSO_WORD_BREAKER + 1 ) ,
00287 SQSO_AUTOMATIC_WILDCARD = ( SQSO_NATURAL_SYNTAX + 1 ) ,
00288 SQSO_TRACE_LEVEL = ( SQSO_AUTOMATIC_WILDCARD + 1 ) ,
00289 SQSO_LANGUAGE_KEYWORDS = ( SQSO_TRACE_LEVEL + 1 )
00290 } STRUCTURED_QUERY_SINGLE_OPTION;
00291
00292 typedef
00293 enum tagSTRUCTURED_QUERY_MULTIOPTION
00294 { SQMO_VIRTUAL_PROPERTY = 0,
00295 SQMO_DEFAULT_PROPERTY = ( SQMO_VIRTUAL_PROPERTY + 1 ) ,
00296 SQMO_GENERATOR_FOR_TYPE = ( SQMO_DEFAULT_PROPERTY + 1 )
00297 } STRUCTURED_QUERY_MULTIOPTION;
00298
00299 typedef
00300 enum tagSTRUCTURED_QUERY_PARSE_ERROR
00301 { SQPE_NONE = 0,
00302 SQPE_EXTRA_OPENING_PARENTHESIS = ( SQPE_NONE + 1 ) ,
00303 SQPE_EXTRA_CLOSING_PARENTHESIS = ( SQPE_EXTRA_OPENING_PARENTHESIS + 1 ) ,
00304 SQPE_IGNORED_MODIFIER = ( SQPE_EXTRA_CLOSING_PARENTHESIS + 1 ) ,
00305 SQPE_IGNORED_CONNECTOR = ( SQPE_IGNORED_MODIFIER + 1 ) ,
00306 SQPE_IGNORED_KEYWORD = ( SQPE_IGNORED_CONNECTOR + 1 ) ,
00307 SQPE_UNHANDLED = ( SQPE_IGNORED_KEYWORD + 1 )
00308 } STRUCTURED_QUERY_PARSE_ERROR;
00309
00310
00311 enum tagSTRUCTURED_QUERY_RESOLVE_OPTION
00312 { SQRO_DONT_RESOLVE_DATETIME = 0x1,
00313 SQRO_ALWAYS_ONE_INTERVAL = 0x2,
00314 SQRO_DONT_SIMPLIFY_CONDITION_TREES = 0x4,
00315 SQRO_DONT_MAP_RELATIONS = 0x8,
00316 SQRO_DONT_RESOLVE_RANGES = 0x10,
00317 SQRO_DONT_REMOVE_UNRESTRICTED_KEYWORDS = 0x20,
00318 SQRO_DONT_SPLIT_WORDS = 0x40,
00319 SQRO_IGNORE_PHRASE_ORDER = 0x80
00320 } ;
00321 typedef int STRUCTURED_QUERY_RESOLVE_OPTION;
00322
00323 typedef
00324 enum tagINTERVAL_LIMIT_KIND
00325 { ILK_EXPLICIT_INCLUDED = 0,
00326 ILK_EXPLICIT_EXCLUDED = ( ILK_EXPLICIT_INCLUDED + 1 ) ,
00327 ILK_NEGATIVE_INFINITY = ( ILK_EXPLICIT_EXCLUDED + 1 ) ,
00328 ILK_POSITIVE_INFINITY = ( ILK_NEGATIVE_INFINITY + 1 )
00329 } INTERVAL_LIMIT_KIND;
00330
00331 typedef
00332 enum tagQUERY_PARSER_MANAGER_OPTION
00333 { QPMO_SCHEMA_BINARY_NAME = 0,
00334 QPMO_PRELOCALIZED_SCHEMA_BINARY_PATH = ( QPMO_SCHEMA_BINARY_NAME + 1 ) ,
00335 QPMO_UNLOCALIZED_SCHEMA_BINARY_PATH = ( QPMO_PRELOCALIZED_SCHEMA_BINARY_PATH + 1 ) ,
00336 QPMO_LOCALIZED_SCHEMA_BINARY_PATH = ( QPMO_UNLOCALIZED_SCHEMA_BINARY_PATH + 1 ) ,
00337 QPMO_APPEND_LCID_TO_LOCALIZED_PATH = ( QPMO_LOCALIZED_SCHEMA_BINARY_PATH + 1 ) ,
00338 QPMO_LOCALIZER_SUPPORT = ( QPMO_APPEND_LCID_TO_LOCALIZED_PATH + 1 )
00339 } QUERY_PARSER_MANAGER_OPTION;
00340
00341
00342
00343 extern RPC_IF_HANDLE __MIDL_itf_structuredquery_0000_0000_v0_0_c_ifspec;
00344 extern RPC_IF_HANDLE __MIDL_itf_structuredquery_0000_0000_v0_0_s_ifspec;
00345
00346 #ifndef __IQueryParser_INTERFACE_DEFINED__
00347 #define __IQueryParser_INTERFACE_DEFINED__
00348
00349
00350
00351
00352
00353 EXTERN_C const IID IID_IQueryParser;
00354
00355 #if defined(__cplusplus) && !defined(CINTERFACE)
00356
00357 MIDL_INTERFACE("2EBDEE67-3505-43f8-9946-EA44ABC8E5B0")
00358 IQueryParser : public IUnknown
00359 {
00360 public:
00361 virtual HRESULT STDMETHODCALLTYPE Parse(
00362 __RPC__in LPCWSTR pszInputString,
00363 __RPC__in_opt IEnumUnknown *pCustomProperties,
00364 __RPC__deref_out_opt IQuerySolution **ppSolution) = 0;
00365
00366 virtual HRESULT STDMETHODCALLTYPE SetOption(
00367 STRUCTURED_QUERY_SINGLE_OPTION option,
00368 __RPC__in const PROPVARIANT *pOptionValue) = 0;
00369
00370 virtual HRESULT STDMETHODCALLTYPE GetOption(
00371 STRUCTURED_QUERY_SINGLE_OPTION option,
00372 __RPC__out PROPVARIANT *pOptionValue) = 0;
00373
00374 virtual HRESULT STDMETHODCALLTYPE SetMultiOption(
00375 STRUCTURED_QUERY_MULTIOPTION option,
00376 __RPC__in LPCWSTR pszOptionKey,
00377 __RPC__in const PROPVARIANT *pOptionValue) = 0;
00378
00379 virtual HRESULT STDMETHODCALLTYPE GetSchemaProvider(
00380 __RPC__deref_out_opt ISchemaProvider **ppSchemaProvider) = 0;
00381
00382 virtual HRESULT STDMETHODCALLTYPE RestateToString(
00383 __RPC__in_opt ICondition *pCondition,
00384 BOOL fUseEnglish,
00385 __RPC__deref_out_opt LPWSTR *ppszQueryString) = 0;
00386
00387 virtual HRESULT STDMETHODCALLTYPE ParsePropertyValue(
00388 __RPC__in LPCWSTR pszPropertyName,
00389 __RPC__in LPCWSTR pszInputString,
00390 __RPC__deref_out_opt IQuerySolution **ppSolution) = 0;
00391
00392 virtual HRESULT STDMETHODCALLTYPE RestatePropertyValueToString(
00393 __RPC__in_opt ICondition *pCondition,
00394 BOOL fUseEnglish,
00395 __RPC__deref_out_opt LPWSTR *ppszPropertyName,
00396 __RPC__deref_out_opt LPWSTR *ppszQueryString) = 0;
00397
00398 };
00399
00400 #else
00401
00402 typedef struct IQueryParserVtbl
00403 {
00404 BEGIN_INTERFACE
00405
00406 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
00407 IQueryParser * This,
00408 __RPC__in REFIID riid,
00409
00410 __RPC__deref_out void **ppvObject);
00411
00412 ULONG ( STDMETHODCALLTYPE *AddRef )(
00413 IQueryParser * This);
00414
00415 ULONG ( STDMETHODCALLTYPE *Release )(
00416 IQueryParser * This);
00417
00418 HRESULT ( STDMETHODCALLTYPE *Parse )(
00419 IQueryParser * This,
00420 __RPC__in LPCWSTR pszInputString,
00421 __RPC__in_opt IEnumUnknown *pCustomProperties,
00422 __RPC__deref_out_opt IQuerySolution **ppSolution);
00423
00424 HRESULT ( STDMETHODCALLTYPE *SetOption )(
00425 IQueryParser * This,
00426 STRUCTURED_QUERY_SINGLE_OPTION option,
00427 __RPC__in const PROPVARIANT *pOptionValue);
00428
00429 HRESULT ( STDMETHODCALLTYPE *GetOption )(
00430 IQueryParser * This,
00431 STRUCTURED_QUERY_SINGLE_OPTION option,
00432 __RPC__out PROPVARIANT *pOptionValue);
00433
00434 HRESULT ( STDMETHODCALLTYPE *SetMultiOption )(
00435 IQueryParser * This,
00436 STRUCTURED_QUERY_MULTIOPTION option,
00437 __RPC__in LPCWSTR pszOptionKey,
00438 __RPC__in const PROPVARIANT *pOptionValue);
00439
00440 HRESULT ( STDMETHODCALLTYPE *GetSchemaProvider )(
00441 IQueryParser * This,
00442 __RPC__deref_out_opt ISchemaProvider **ppSchemaProvider);
00443
00444 HRESULT ( STDMETHODCALLTYPE *RestateToString )(
00445 IQueryParser * This,
00446 __RPC__in_opt ICondition *pCondition,
00447 BOOL fUseEnglish,
00448 __RPC__deref_out_opt LPWSTR *ppszQueryString);
00449
00450 HRESULT ( STDMETHODCALLTYPE *ParsePropertyValue )(
00451 IQueryParser * This,
00452 __RPC__in LPCWSTR pszPropertyName,
00453 __RPC__in LPCWSTR pszInputString,
00454 __RPC__deref_out_opt IQuerySolution **ppSolution);
00455
00456 HRESULT ( STDMETHODCALLTYPE *RestatePropertyValueToString )(
00457 IQueryParser * This,
00458 __RPC__in_opt ICondition *pCondition,
00459 BOOL fUseEnglish,
00460 __RPC__deref_out_opt LPWSTR *ppszPropertyName,
00461 __RPC__deref_out_opt LPWSTR *ppszQueryString);
00462
00463 END_INTERFACE
00464 } IQueryParserVtbl;
00465
00466 interface IQueryParser
00467 {
00468 CONST_VTBL struct IQueryParserVtbl *lpVtbl;
00469 };
00470
00471
00472
00473 #ifdef COBJMACROS
00474
00475
00476 #define IQueryParser_QueryInterface(This,riid,ppvObject) \
00477 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
00478
00479 #define IQueryParser_AddRef(This) \
00480 ( (This)->lpVtbl -> AddRef(This) )
00481
00482 #define IQueryParser_Release(This) \
00483 ( (This)->lpVtbl -> Release(This) )
00484
00485
00486 #define IQueryParser_Parse(This,pszInputString,pCustomProperties,ppSolution) \
00487 ( (This)->lpVtbl -> Parse(This,pszInputString,pCustomProperties,ppSolution) )
00488
00489 #define IQueryParser_SetOption(This,option,pOptionValue) \
00490 ( (This)->lpVtbl -> SetOption(This,option,pOptionValue) )
00491
00492 #define IQueryParser_GetOption(This,option,pOptionValue) \
00493 ( (This)->lpVtbl -> GetOption(This,option,pOptionValue) )
00494
00495 #define IQueryParser_SetMultiOption(This,option,pszOptionKey,pOptionValue) \
00496 ( (This)->lpVtbl -> SetMultiOption(This,option,pszOptionKey,pOptionValue) )
00497
00498 #define IQueryParser_GetSchemaProvider(This,ppSchemaProvider) \
00499 ( (This)->lpVtbl -> GetSchemaProvider(This,ppSchemaProvider) )
00500
00501 #define IQueryParser_RestateToString(This,pCondition,fUseEnglish,ppszQueryString) \
00502 ( (This)->lpVtbl -> RestateToString(This,pCondition,fUseEnglish,ppszQueryString) )
00503
00504 #define IQueryParser_ParsePropertyValue(This,pszPropertyName,pszInputString,ppSolution) \
00505 ( (This)->lpVtbl -> ParsePropertyValue(This,pszPropertyName,pszInputString,ppSolution) )
00506
00507 #define IQueryParser_RestatePropertyValueToString(This,pCondition,fUseEnglish,ppszPropertyName,ppszQueryString) \
00508 ( (This)->lpVtbl -> RestatePropertyValueToString(This,pCondition,fUseEnglish,ppszPropertyName,ppszQueryString) )
00509
00510 #endif
00511
00512
00513 #endif
00514
00515
00516
00517
00518 #endif
00519
00520
00521 #ifndef __IConditionFactory_INTERFACE_DEFINED__
00522 #define __IConditionFactory_INTERFACE_DEFINED__
00523
00524
00525
00526
00527
00528 EXTERN_C const IID IID_IConditionFactory;
00529
00530 #if defined(__cplusplus) && !defined(CINTERFACE)
00531
00532 MIDL_INTERFACE("A5EFE073-B16F-474f-9F3E-9F8B497A3E08")
00533 IConditionFactory : public IUnknown
00534 {
00535 public:
00536 virtual HRESULT STDMETHODCALLTYPE MakeNot(
00537 __RPC__in_opt ICondition *pSubCondition,
00538 BOOL simplify,
00539 __RPC__deref_out_opt ICondition **ppResultQuery) = 0;
00540
00541 virtual HRESULT STDMETHODCALLTYPE MakeAndOr(
00542 CONDITION_TYPE nodeType,
00543 __RPC__in_opt IEnumUnknown *pSubConditions,
00544 BOOL simplify,
00545 __RPC__deref_out_opt ICondition **ppResultQuery) = 0;
00546
00547 virtual HRESULT STDMETHODCALLTYPE MakeLeaf(
00548 __RPC__in_opt LPCWSTR pszPropertyName,
00549 CONDITION_OPERATION op,
00550 __RPC__in_opt LPCWSTR pszValueType,
00551 __RPC__in const PROPVARIANT *pValue,
00552 __RPC__in_opt IRichChunk *pPropertyNameTerm,
00553 __RPC__in_opt IRichChunk *pOperationTerm,
00554 __RPC__in_opt IRichChunk *pValueTerm,
00555 BOOL expand,
00556 __RPC__deref_out_opt ICondition **ppResultQuery) = 0;
00557
00558 virtual HRESULT STDMETHODCALLTYPE Resolve(
00559
00560 __in ICondition *pConditionTree,
00561
00562 __in STRUCTURED_QUERY_RESOLVE_OPTION sqro,
00563
00564 __in_opt const SYSTEMTIME *pstReferenceTime,
00565
00566 __out ICondition **ppResolvedConditionTree) = 0;
00567
00568 };
00569
00570 #else
00571
00572 typedef struct IConditionFactoryVtbl
00573 {
00574 BEGIN_INTERFACE
00575
00576 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
00577 IConditionFactory * This,
00578 __RPC__in REFIID riid,
00579
00580 __RPC__deref_out void **ppvObject);
00581
00582 ULONG ( STDMETHODCALLTYPE *AddRef )(
00583 IConditionFactory * This);
00584
00585 ULONG ( STDMETHODCALLTYPE *Release )(
00586 IConditionFactory * This);
00587
00588 HRESULT ( STDMETHODCALLTYPE *MakeNot )(
00589 IConditionFactory * This,
00590 __RPC__in_opt ICondition *pSubCondition,
00591 BOOL simplify,
00592 __RPC__deref_out_opt ICondition **ppResultQuery);
00593
00594 HRESULT ( STDMETHODCALLTYPE *MakeAndOr )(
00595 IConditionFactory * This,
00596 CONDITION_TYPE nodeType,
00597 __RPC__in_opt IEnumUnknown *pSubConditions,
00598 BOOL simplify,
00599 __RPC__deref_out_opt ICondition **ppResultQuery);
00600
00601 HRESULT ( STDMETHODCALLTYPE *MakeLeaf )(
00602 IConditionFactory * This,
00603 __RPC__in_opt LPCWSTR pszPropertyName,
00604 CONDITION_OPERATION op,
00605 __RPC__in_opt LPCWSTR pszValueType,
00606 __RPC__in const PROPVARIANT *pValue,
00607 __RPC__in_opt IRichChunk *pPropertyNameTerm,
00608 __RPC__in_opt IRichChunk *pOperationTerm,
00609 __RPC__in_opt IRichChunk *pValueTerm,
00610 BOOL expand,
00611 __RPC__deref_out_opt ICondition **ppResultQuery);
00612
00613 HRESULT ( STDMETHODCALLTYPE *Resolve )(
00614 IConditionFactory * This,
00615
00616 __in ICondition *pConditionTree,
00617
00618 __in STRUCTURED_QUERY_RESOLVE_OPTION sqro,
00619
00620 __in_opt const SYSTEMTIME *pstReferenceTime,
00621
00622 __out ICondition **ppResolvedConditionTree);
00623
00624 END_INTERFACE
00625 } IConditionFactoryVtbl;
00626
00627 interface IConditionFactory
00628 {
00629 CONST_VTBL struct IConditionFactoryVtbl *lpVtbl;
00630 };
00631
00632
00633
00634 #ifdef COBJMACROS
00635
00636
00637 #define IConditionFactory_QueryInterface(This,riid,ppvObject) \
00638 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
00639
00640 #define IConditionFactory_AddRef(This) \
00641 ( (This)->lpVtbl -> AddRef(This) )
00642
00643 #define IConditionFactory_Release(This) \
00644 ( (This)->lpVtbl -> Release(This) )
00645
00646
00647 #define IConditionFactory_MakeNot(This,pSubCondition,simplify,ppResultQuery) \
00648 ( (This)->lpVtbl -> MakeNot(This,pSubCondition,simplify,ppResultQuery) )
00649
00650 #define IConditionFactory_MakeAndOr(This,nodeType,pSubConditions,simplify,ppResultQuery) \
00651 ( (This)->lpVtbl -> MakeAndOr(This,nodeType,pSubConditions,simplify,ppResultQuery) )
00652
00653 #define IConditionFactory_MakeLeaf(This,pszPropertyName,op,pszValueType,pValue,pPropertyNameTerm,pOperationTerm,pValueTerm,expand,ppResultQuery) \
00654 ( (This)->lpVtbl -> MakeLeaf(This,pszPropertyName,op,pszValueType,pValue,pPropertyNameTerm,pOperationTerm,pValueTerm,expand,ppResultQuery) )
00655
00656 #define IConditionFactory_Resolve(This,pConditionTree,sqro,pstReferenceTime,ppResolvedConditionTree) \
00657 ( (This)->lpVtbl -> Resolve(This,pConditionTree,sqro,pstReferenceTime,ppResolvedConditionTree) )
00658
00659 #endif
00660
00661
00662 #endif
00663
00664
00665
00666
00667 #endif
00668
00669
00670 #ifndef __IQuerySolution_INTERFACE_DEFINED__
00671 #define __IQuerySolution_INTERFACE_DEFINED__
00672
00673
00674
00675
00676
00677 EXTERN_C const IID IID_IQuerySolution;
00678
00679 #if defined(__cplusplus) && !defined(CINTERFACE)
00680
00681 MIDL_INTERFACE("D6EBC66B-8921-4193-AFDD-A1789FB7FF57")
00682 IQuerySolution : public IConditionFactory
00683 {
00684 public:
00685 virtual HRESULT STDMETHODCALLTYPE GetQuery(
00686
00687 __out_opt ICondition **ppQueryNode,
00688
00689 __out_opt IEntity **ppMainType) = 0;
00690
00691 virtual HRESULT STDMETHODCALLTYPE GetErrors(
00692 __RPC__in REFIID riid,
00693 __RPC__deref_out_opt void **ppParseErrors) = 0;
00694
00695 virtual HRESULT STDMETHODCALLTYPE GetLexicalData(
00696
00697 __deref_opt_out LPWSTR *ppszInputString,
00698
00699 __out_opt ITokenCollection **ppTokens,
00700
00701 __out_opt LCID *pLocale,
00702
00703 __out_opt IUnknown **ppWordBreaker) = 0;
00704
00705 };
00706
00707 #else
00708
00709 typedef struct IQuerySolutionVtbl
00710 {
00711 BEGIN_INTERFACE
00712
00713 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
00714 IQuerySolution * This,
00715 __RPC__in REFIID riid,
00716
00717 __RPC__deref_out void **ppvObject);
00718
00719 ULONG ( STDMETHODCALLTYPE *AddRef )(
00720 IQuerySolution * This);
00721
00722 ULONG ( STDMETHODCALLTYPE *Release )(
00723 IQuerySolution * This);
00724
00725 HRESULT ( STDMETHODCALLTYPE *MakeNot )(
00726 IQuerySolution * This,
00727 __RPC__in_opt ICondition *pSubCondition,
00728 BOOL simplify,
00729 __RPC__deref_out_opt ICondition **ppResultQuery);
00730
00731 HRESULT ( STDMETHODCALLTYPE *MakeAndOr )(
00732 IQuerySolution * This,
00733 CONDITION_TYPE nodeType,
00734 __RPC__in_opt IEnumUnknown *pSubConditions,
00735 BOOL simplify,
00736 __RPC__deref_out_opt ICondition **ppResultQuery);
00737
00738 HRESULT ( STDMETHODCALLTYPE *MakeLeaf )(
00739 IQuerySolution * This,
00740 __RPC__in_opt LPCWSTR pszPropertyName,
00741 CONDITION_OPERATION op,
00742 __RPC__in_opt LPCWSTR pszValueType,
00743 __RPC__in const PROPVARIANT *pValue,
00744 __RPC__in_opt IRichChunk *pPropertyNameTerm,
00745 __RPC__in_opt IRichChunk *pOperationTerm,
00746 __RPC__in_opt IRichChunk *pValueTerm,
00747 BOOL expand,
00748 __RPC__deref_out_opt ICondition **ppResultQuery);
00749
00750 HRESULT ( STDMETHODCALLTYPE *Resolve )(
00751 IQuerySolution * This,
00752
00753 __in ICondition *pConditionTree,
00754
00755 __in STRUCTURED_QUERY_RESOLVE_OPTION sqro,
00756
00757 __in_opt const SYSTEMTIME *pstReferenceTime,
00758
00759 __out ICondition **ppResolvedConditionTree);
00760
00761 HRESULT ( STDMETHODCALLTYPE *GetQuery )(
00762 IQuerySolution * This,
00763
00764 __out_opt ICondition **ppQueryNode,
00765
00766 __out_opt IEntity **ppMainType);
00767
00768 HRESULT ( STDMETHODCALLTYPE *GetErrors )(
00769 IQuerySolution * This,
00770 __RPC__in REFIID riid,
00771 __RPC__deref_out_opt void **ppParseErrors);
00772
00773 HRESULT ( STDMETHODCALLTYPE *GetLexicalData )(
00774 IQuerySolution * This,
00775
00776 __deref_opt_out LPWSTR *ppszInputString,
00777
00778 __out_opt ITokenCollection **ppTokens,
00779
00780 __out_opt LCID *pLocale,
00781
00782 __out_opt IUnknown **ppWordBreaker);
00783
00784 END_INTERFACE
00785 } IQuerySolutionVtbl;
00786
00787 interface IQuerySolution
00788 {
00789 CONST_VTBL struct IQuerySolutionVtbl *lpVtbl;
00790 };
00791
00792
00793
00794 #ifdef COBJMACROS
00795
00796
00797 #define IQuerySolution_QueryInterface(This,riid,ppvObject) \
00798 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
00799
00800 #define IQuerySolution_AddRef(This) \
00801 ( (This)->lpVtbl -> AddRef(This) )
00802
00803 #define IQuerySolution_Release(This) \
00804 ( (This)->lpVtbl -> Release(This) )
00805
00806
00807 #define IQuerySolution_MakeNot(This,pSubCondition,simplify,ppResultQuery) \
00808 ( (This)->lpVtbl -> MakeNot(This,pSubCondition,simplify,ppResultQuery) )
00809
00810 #define IQuerySolution_MakeAndOr(This,nodeType,pSubConditions,simplify,ppResultQuery) \
00811 ( (This)->lpVtbl -> MakeAndOr(This,nodeType,pSubConditions,simplify,ppResultQuery) )
00812
00813 #define IQuerySolution_MakeLeaf(This,pszPropertyName,op,pszValueType,pValue,pPropertyNameTerm,pOperationTerm,pValueTerm,expand,ppResultQuery) \
00814 ( (This)->lpVtbl -> MakeLeaf(This,pszPropertyName,op,pszValueType,pValue,pPropertyNameTerm,pOperationTerm,pValueTerm,expand,ppResultQuery) )
00815
00816 #define IQuerySolution_Resolve(This,pConditionTree,sqro,pstReferenceTime,ppResolvedConditionTree) \
00817 ( (This)->lpVtbl -> Resolve(This,pConditionTree,sqro,pstReferenceTime,ppResolvedConditionTree) )
00818
00819
00820 #define IQuerySolution_GetQuery(This,ppQueryNode,ppMainType) \
00821 ( (This)->lpVtbl -> GetQuery(This,ppQueryNode,ppMainType) )
00822
00823 #define IQuerySolution_GetErrors(This,riid,ppParseErrors) \
00824 ( (This)->lpVtbl -> GetErrors(This,riid,ppParseErrors) )
00825
00826 #define IQuerySolution_GetLexicalData(This,ppszInputString,ppTokens,pLocale,ppWordBreaker) \
00827 ( (This)->lpVtbl -> GetLexicalData(This,ppszInputString,ppTokens,pLocale,ppWordBreaker) )
00828
00829 #endif
00830
00831
00832 #endif
00833
00834
00835
00836
00837 #endif
00838
00839
00840 #ifndef __ICondition_INTERFACE_DEFINED__
00841 #define __ICondition_INTERFACE_DEFINED__
00842
00843
00844
00845
00846
00847 EXTERN_C const IID IID_ICondition;
00848
00849 #if defined(__cplusplus) && !defined(CINTERFACE)
00850
00851 MIDL_INTERFACE("0FC988D4-C935-4b97-A973-46282EA175C8")
00852 ICondition : public IPersistStream
00853 {
00854 public:
00855 virtual HRESULT STDMETHODCALLTYPE GetConditionType(
00856 __RPC__out CONDITION_TYPE *pNodeType) = 0;
00857
00858 virtual HRESULT STDMETHODCALLTYPE GetSubConditions(
00859 __RPC__in REFIID riid,
00860 __RPC__deref_out_opt void **ppv) = 0;
00861
00862 virtual HRESULT STDMETHODCALLTYPE GetComparisonInfo(
00863
00864 __deref_opt_out LPWSTR *ppszPropertyName,
00865
00866 __out_opt CONDITION_OPERATION *pOperation,
00867
00868 __out_opt PROPVARIANT *pValue) = 0;
00869
00870 virtual HRESULT STDMETHODCALLTYPE GetValueType(
00871 __RPC__deref_out_opt LPWSTR *ppszValueTypeName) = 0;
00872
00873 virtual HRESULT STDMETHODCALLTYPE GetValueNormalization(
00874 __RPC__deref_out_opt LPWSTR *ppszNormalization) = 0;
00875
00876 virtual HRESULT STDMETHODCALLTYPE GetInputTerms(
00877
00878 __out_opt IRichChunk **ppPropertyTerm,
00879
00880 __out_opt IRichChunk **ppOperationTerm,
00881
00882 __out_opt IRichChunk **ppValueTerm) = 0;
00883
00884 virtual HRESULT STDMETHODCALLTYPE Clone(
00885 __RPC__deref_out_opt ICondition **ppc) = 0;
00886
00887 };
00888
00889 #else
00890
00891 typedef struct IConditionVtbl
00892 {
00893 BEGIN_INTERFACE
00894
00895 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
00896 ICondition * This,
00897 __RPC__in REFIID riid,
00898
00899 __RPC__deref_out void **ppvObject);
00900
00901 ULONG ( STDMETHODCALLTYPE *AddRef )(
00902 ICondition * This);
00903
00904 ULONG ( STDMETHODCALLTYPE *Release )(
00905 ICondition * This);
00906
00907 HRESULT ( STDMETHODCALLTYPE *GetClassID )(
00908 ICondition * This,
00909 __RPC__out CLSID *pClassID);
00910
00911 HRESULT ( STDMETHODCALLTYPE *IsDirty )(
00912 ICondition * This);
00913
00914 HRESULT ( STDMETHODCALLTYPE *Load )(
00915 ICondition * This,
00916 __RPC__in_opt IStream *pStm);
00917
00918 HRESULT ( STDMETHODCALLTYPE *Save )(
00919 ICondition * This,
00920 __RPC__in_opt IStream *pStm,
00921 BOOL fClearDirty);
00922
00923 HRESULT ( STDMETHODCALLTYPE *GetSizeMax )(
00924 ICondition * This,
00925 __RPC__out ULARGE_INTEGER *pcbSize);
00926
00927 HRESULT ( STDMETHODCALLTYPE *GetConditionType )(
00928 ICondition * This,
00929 __RPC__out CONDITION_TYPE *pNodeType);
00930
00931 HRESULT ( STDMETHODCALLTYPE *GetSubConditions )(
00932 ICondition * This,
00933 __RPC__in REFIID riid,
00934 __RPC__deref_out_opt void **ppv);
00935
00936 HRESULT ( STDMETHODCALLTYPE *GetComparisonInfo )(
00937 ICondition * This,
00938
00939 __deref_opt_out LPWSTR *ppszPropertyName,
00940
00941 __out_opt CONDITION_OPERATION *pOperation,
00942
00943 __out_opt PROPVARIANT *pValue);
00944
00945 HRESULT ( STDMETHODCALLTYPE *GetValueType )(
00946 ICondition * This,
00947 __RPC__deref_out_opt LPWSTR *ppszValueTypeName);
00948
00949 HRESULT ( STDMETHODCALLTYPE *GetValueNormalization )(
00950 ICondition * This,
00951 __RPC__deref_out_opt LPWSTR *ppszNormalization);
00952
00953 HRESULT ( STDMETHODCALLTYPE *GetInputTerms )(
00954 ICondition * This,
00955
00956 __out_opt IRichChunk **ppPropertyTerm,
00957
00958 __out_opt IRichChunk **ppOperationTerm,
00959
00960 __out_opt IRichChunk **ppValueTerm);
00961
00962 HRESULT ( STDMETHODCALLTYPE *Clone )(
00963 ICondition * This,
00964 __RPC__deref_out_opt ICondition **ppc);
00965
00966 END_INTERFACE
00967 } IConditionVtbl;
00968
00969 interface ICondition
00970 {
00971 CONST_VTBL struct IConditionVtbl *lpVtbl;
00972 };
00973
00974
00975
00976 #ifdef COBJMACROS
00977
00978
00979 #define ICondition_QueryInterface(This,riid,ppvObject) \
00980 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
00981
00982 #define ICondition_AddRef(This) \
00983 ( (This)->lpVtbl -> AddRef(This) )
00984
00985 #define ICondition_Release(This) \
00986 ( (This)->lpVtbl -> Release(This) )
00987
00988
00989 #define ICondition_GetClassID(This,pClassID) \
00990 ( (This)->lpVtbl -> GetClassID(This,pClassID) )
00991
00992
00993 #define ICondition_IsDirty(This) \
00994 ( (This)->lpVtbl -> IsDirty(This) )
00995
00996 #define ICondition_Load(This,pStm) \
00997 ( (This)->lpVtbl -> Load(This,pStm) )
00998
00999 #define ICondition_Save(This,pStm,fClearDirty) \
01000 ( (This)->lpVtbl -> Save(This,pStm,fClearDirty) )
01001
01002 #define ICondition_GetSizeMax(This,pcbSize) \
01003 ( (This)->lpVtbl -> GetSizeMax(This,pcbSize) )
01004
01005
01006 #define ICondition_GetConditionType(This,pNodeType) \
01007 ( (This)->lpVtbl -> GetConditionType(This,pNodeType) )
01008
01009 #define ICondition_GetSubConditions(This,riid,ppv) \
01010 ( (This)->lpVtbl -> GetSubConditions(This,riid,ppv) )
01011
01012 #define ICondition_GetComparisonInfo(This,ppszPropertyName,pOperation,pValue) \
01013 ( (This)->lpVtbl -> GetComparisonInfo(This,ppszPropertyName,pOperation,pValue) )
01014
01015 #define ICondition_GetValueType(This,ppszValueTypeName) \
01016 ( (This)->lpVtbl -> GetValueType(This,ppszValueTypeName) )
01017
01018 #define ICondition_GetValueNormalization(This,ppszNormalization) \
01019 ( (This)->lpVtbl -> GetValueNormalization(This,ppszNormalization) )
01020
01021 #define ICondition_GetInputTerms(This,ppPropertyTerm,ppOperationTerm,ppValueTerm) \
01022 ( (This)->lpVtbl -> GetInputTerms(This,ppPropertyTerm,ppOperationTerm,ppValueTerm) )
01023
01024 #define ICondition_Clone(This,ppc) \
01025 ( (This)->lpVtbl -> Clone(This,ppc) )
01026
01027 #endif
01028
01029
01030 #endif
01031
01032
01033
01034
01035 #endif
01036
01037
01038 #ifndef __IConditionGenerator_INTERFACE_DEFINED__
01039 #define __IConditionGenerator_INTERFACE_DEFINED__
01040
01041
01042
01043
01044
01045 EXTERN_C const IID IID_IConditionGenerator;
01046
01047 #if defined(__cplusplus) && !defined(CINTERFACE)
01048
01049 MIDL_INTERFACE("92D2CC58-4386-45a3-B98C-7E0CE64A4117")
01050 IConditionGenerator : public IUnknown
01051 {
01052 public:
01053 virtual HRESULT STDMETHODCALLTYPE Initialize(
01054 __RPC__in_opt ISchemaProvider *pSchemaProvider) = 0;
01055
01056 virtual HRESULT STDMETHODCALLTYPE RecognizeNamedEntities(
01057 __RPC__in LPCWSTR pszInputString,
01058 LCID lcid,
01059 __RPC__in_opt ITokenCollection *pTokenCollection,
01060 __RPC__inout_opt INamedEntityCollector *pNamedEntities) = 0;
01061
01062 virtual HRESULT STDMETHODCALLTYPE GenerateForLeaf(
01063 __RPC__in_opt IConditionFactory *pConditionFactory,
01064 __RPC__in_opt LPCWSTR pszPropertyName,
01065 CONDITION_OPERATION op,
01066 __RPC__in_opt LPCWSTR pszValueType,
01067 __RPC__in LPCWSTR pszValue,
01068 __RPC__in_opt LPCWSTR pszValue2,
01069 __RPC__in_opt IRichChunk *pPropertyNameTerm,
01070 __RPC__in_opt IRichChunk *pOperationTerm,
01071 __RPC__in_opt IRichChunk *pValueTerm,
01072 BOOL automaticWildcard,
01073 __RPC__out BOOL *pNoStringQuery,
01074 __RPC__deref_out_opt ICondition **ppQueryExpression) = 0;
01075
01076 virtual HRESULT STDMETHODCALLTYPE DefaultPhrase(
01077 LPCWSTR pszValueType,
01078 const PROPVARIANT *ppropvar,
01079 BOOL fUseEnglish,
01080
01081 __deref_opt_out LPWSTR *ppszPhrase) = 0;
01082
01083 };
01084
01085 #else
01086
01087 typedef struct IConditionGeneratorVtbl
01088 {
01089 BEGIN_INTERFACE
01090
01091 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
01092 IConditionGenerator * This,
01093 __RPC__in REFIID riid,
01094
01095 __RPC__deref_out void **ppvObject);
01096
01097 ULONG ( STDMETHODCALLTYPE *AddRef )(
01098 IConditionGenerator * This);
01099
01100 ULONG ( STDMETHODCALLTYPE *Release )(
01101 IConditionGenerator * This);
01102
01103 HRESULT ( STDMETHODCALLTYPE *Initialize )(
01104 IConditionGenerator * This,
01105 __RPC__in_opt ISchemaProvider *pSchemaProvider);
01106
01107 HRESULT ( STDMETHODCALLTYPE *RecognizeNamedEntities )(
01108 IConditionGenerator * This,
01109 __RPC__in LPCWSTR pszInputString,
01110 LCID lcid,
01111 __RPC__in_opt ITokenCollection *pTokenCollection,
01112 __RPC__inout_opt INamedEntityCollector *pNamedEntities);
01113
01114 HRESULT ( STDMETHODCALLTYPE *GenerateForLeaf )(
01115 IConditionGenerator * This,
01116 __RPC__in_opt IConditionFactory *pConditionFactory,
01117 __RPC__in_opt LPCWSTR pszPropertyName,
01118 CONDITION_OPERATION op,
01119 __RPC__in_opt LPCWSTR pszValueType,
01120 __RPC__in LPCWSTR pszValue,
01121 __RPC__in_opt LPCWSTR pszValue2,
01122 __RPC__in_opt IRichChunk *pPropertyNameTerm,
01123 __RPC__in_opt IRichChunk *pOperationTerm,
01124 __RPC__in_opt IRichChunk *pValueTerm,
01125 BOOL automaticWildcard,
01126 __RPC__out BOOL *pNoStringQuery,
01127 __RPC__deref_out_opt ICondition **ppQueryExpression);
01128
01129 HRESULT ( STDMETHODCALLTYPE *DefaultPhrase )(
01130 IConditionGenerator * This,
01131 LPCWSTR pszValueType,
01132 const PROPVARIANT *ppropvar,
01133 BOOL fUseEnglish,
01134
01135 __deref_opt_out LPWSTR *ppszPhrase);
01136
01137 END_INTERFACE
01138 } IConditionGeneratorVtbl;
01139
01140 interface IConditionGenerator
01141 {
01142 CONST_VTBL struct IConditionGeneratorVtbl *lpVtbl;
01143 };
01144
01145
01146
01147 #ifdef COBJMACROS
01148
01149
01150 #define IConditionGenerator_QueryInterface(This,riid,ppvObject) \
01151 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
01152
01153 #define IConditionGenerator_AddRef(This) \
01154 ( (This)->lpVtbl -> AddRef(This) )
01155
01156 #define IConditionGenerator_Release(This) \
01157 ( (This)->lpVtbl -> Release(This) )
01158
01159
01160 #define IConditionGenerator_Initialize(This,pSchemaProvider) \
01161 ( (This)->lpVtbl -> Initialize(This,pSchemaProvider) )
01162
01163 #define IConditionGenerator_RecognizeNamedEntities(This,pszInputString,lcid,pTokenCollection,pNamedEntities) \
01164 ( (This)->lpVtbl -> RecognizeNamedEntities(This,pszInputString,lcid,pTokenCollection,pNamedEntities) )
01165
01166 #define IConditionGenerator_GenerateForLeaf(This,pConditionFactory,pszPropertyName,op,pszValueType,pszValue,pszValue2,pPropertyNameTerm,pOperationTerm,pValueTerm,automaticWildcard,pNoStringQuery,ppQueryExpression) \
01167 ( (This)->lpVtbl -> GenerateForLeaf(This,pConditionFactory,pszPropertyName,op,pszValueType,pszValue,pszValue2,pPropertyNameTerm,pOperationTerm,pValueTerm,automaticWildcard,pNoStringQuery,ppQueryExpression) )
01168
01169 #define IConditionGenerator_DefaultPhrase(This,pszValueType,ppropvar,fUseEnglish,ppszPhrase) \
01170 ( (This)->lpVtbl -> DefaultPhrase(This,pszValueType,ppropvar,fUseEnglish,ppszPhrase) )
01171
01172 #endif
01173
01174
01175 #endif
01176
01177
01178
01179
01180 #endif
01181
01182
01183 #ifndef __IRichChunk_INTERFACE_DEFINED__
01184 #define __IRichChunk_INTERFACE_DEFINED__
01185
01186
01187
01188
01189
01190 EXTERN_C const IID IID_IRichChunk;
01191
01192 #if defined(__cplusplus) && !defined(CINTERFACE)
01193
01194 MIDL_INTERFACE("4FDEF69C-DBC9-454e-9910-B34F3C64B510")
01195 IRichChunk : public IUnknown
01196 {
01197 public:
01198 virtual HRESULT STDMETHODCALLTYPE GetData(
01199
01200 __out_opt ULONG *pFirstPos,
01201
01202 __out_opt ULONG *pLength,
01203
01204 __deref_opt_out LPWSTR *ppsz,
01205
01206 __out_opt PROPVARIANT *pValue) = 0;
01207
01208 };
01209
01210 #else
01211
01212 typedef struct IRichChunkVtbl
01213 {
01214 BEGIN_INTERFACE
01215
01216 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
01217 IRichChunk * This,
01218 __RPC__in REFIID riid,
01219
01220 __RPC__deref_out void **ppvObject);
01221
01222 ULONG ( STDMETHODCALLTYPE *AddRef )(
01223 IRichChunk * This);
01224
01225 ULONG ( STDMETHODCALLTYPE *Release )(
01226 IRichChunk * This);
01227
01228 HRESULT ( STDMETHODCALLTYPE *GetData )(
01229 IRichChunk * This,
01230
01231 __out_opt ULONG *pFirstPos,
01232
01233 __out_opt ULONG *pLength,
01234
01235 __deref_opt_out LPWSTR *ppsz,
01236
01237 __out_opt PROPVARIANT *pValue);
01238
01239 END_INTERFACE
01240 } IRichChunkVtbl;
01241
01242 interface IRichChunk
01243 {
01244 CONST_VTBL struct IRichChunkVtbl *lpVtbl;
01245 };
01246
01247
01248
01249 #ifdef COBJMACROS
01250
01251
01252 #define IRichChunk_QueryInterface(This,riid,ppvObject) \
01253 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
01254
01255 #define IRichChunk_AddRef(This) \
01256 ( (This)->lpVtbl -> AddRef(This) )
01257
01258 #define IRichChunk_Release(This) \
01259 ( (This)->lpVtbl -> Release(This) )
01260
01261
01262 #define IRichChunk_GetData(This,pFirstPos,pLength,ppsz,pValue) \
01263 ( (This)->lpVtbl -> GetData(This,pFirstPos,pLength,ppsz,pValue) )
01264
01265 #endif
01266
01267
01268 #endif
01269
01270
01271
01272
01273 #endif
01274
01275
01276 #ifndef __IInterval_INTERFACE_DEFINED__
01277 #define __IInterval_INTERFACE_DEFINED__
01278
01279
01280
01281
01282
01283 EXTERN_C const IID IID_IInterval;
01284
01285 #if defined(__cplusplus) && !defined(CINTERFACE)
01286
01287 MIDL_INTERFACE("6BF0A714-3C18-430b-8B5D-83B1C234D3DB")
01288 IInterval : public IUnknown
01289 {
01290 public:
01291 virtual HRESULT STDMETHODCALLTYPE GetLimits(
01292 __RPC__out INTERVAL_LIMIT_KIND *pilkLower,
01293 __RPC__out PROPVARIANT *ppropvarLower,
01294 __RPC__out INTERVAL_LIMIT_KIND *pilkUpper,
01295 __RPC__out PROPVARIANT *ppropvarUpper) = 0;
01296
01297 };
01298
01299 #else
01300
01301 typedef struct IIntervalVtbl
01302 {
01303 BEGIN_INTERFACE
01304
01305 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
01306 IInterval * This,
01307 __RPC__in REFIID riid,
01308
01309 __RPC__deref_out void **ppvObject);
01310
01311 ULONG ( STDMETHODCALLTYPE *AddRef )(
01312 IInterval * This);
01313
01314 ULONG ( STDMETHODCALLTYPE *Release )(
01315 IInterval * This);
01316
01317 HRESULT ( STDMETHODCALLTYPE *GetLimits )(
01318 IInterval * This,
01319 __RPC__out INTERVAL_LIMIT_KIND *pilkLower,
01320 __RPC__out PROPVARIANT *ppropvarLower,
01321 __RPC__out INTERVAL_LIMIT_KIND *pilkUpper,
01322 __RPC__out PROPVARIANT *ppropvarUpper);
01323
01324 END_INTERFACE
01325 } IIntervalVtbl;
01326
01327 interface IInterval
01328 {
01329 CONST_VTBL struct IIntervalVtbl *lpVtbl;
01330 };
01331
01332
01333
01334 #ifdef COBJMACROS
01335
01336
01337 #define IInterval_QueryInterface(This,riid,ppvObject) \
01338 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
01339
01340 #define IInterval_AddRef(This) \
01341 ( (This)->lpVtbl -> AddRef(This) )
01342
01343 #define IInterval_Release(This) \
01344 ( (This)->lpVtbl -> Release(This) )
01345
01346
01347 #define IInterval_GetLimits(This,pilkLower,ppropvarLower,pilkUpper,ppropvarUpper) \
01348 ( (This)->lpVtbl -> GetLimits(This,pilkLower,ppropvarLower,pilkUpper,ppropvarUpper) )
01349
01350 #endif
01351
01352
01353 #endif
01354
01355
01356
01357
01358 #endif
01359
01360
01361 #ifndef __IMetaData_INTERFACE_DEFINED__
01362 #define __IMetaData_INTERFACE_DEFINED__
01363
01364
01365
01366
01367
01368 EXTERN_C const IID IID_IMetaData;
01369
01370 #if defined(__cplusplus) && !defined(CINTERFACE)
01371
01372 MIDL_INTERFACE("780102B0-C43B-4876-BC7B-5E9BA5C88794")
01373 IMetaData : public IUnknown
01374 {
01375 public:
01376 virtual HRESULT STDMETHODCALLTYPE GetData(
01377
01378 __deref_opt_out LPWSTR *ppszKey,
01379
01380 __deref_opt_out LPWSTR *ppszValue) = 0;
01381
01382 };
01383
01384 #else
01385
01386 typedef struct IMetaDataVtbl
01387 {
01388 BEGIN_INTERFACE
01389
01390 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
01391 IMetaData * This,
01392 __RPC__in REFIID riid,
01393
01394 __RPC__deref_out void **ppvObject);
01395
01396 ULONG ( STDMETHODCALLTYPE *AddRef )(
01397 IMetaData * This);
01398
01399 ULONG ( STDMETHODCALLTYPE *Release )(
01400 IMetaData * This);
01401
01402 HRESULT ( STDMETHODCALLTYPE *GetData )(
01403 IMetaData * This,
01404
01405 __deref_opt_out LPWSTR *ppszKey,
01406
01407 __deref_opt_out LPWSTR *ppszValue);
01408
01409 END_INTERFACE
01410 } IMetaDataVtbl;
01411
01412 interface IMetaData
01413 {
01414 CONST_VTBL struct IMetaDataVtbl *lpVtbl;
01415 };
01416
01417
01418
01419 #ifdef COBJMACROS
01420
01421
01422 #define IMetaData_QueryInterface(This,riid,ppvObject) \
01423 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
01424
01425 #define IMetaData_AddRef(This) \
01426 ( (This)->lpVtbl -> AddRef(This) )
01427
01428 #define IMetaData_Release(This) \
01429 ( (This)->lpVtbl -> Release(This) )
01430
01431
01432 #define IMetaData_GetData(This,ppszKey,ppszValue) \
01433 ( (This)->lpVtbl -> GetData(This,ppszKey,ppszValue) )
01434
01435 #endif
01436
01437
01438 #endif
01439
01440
01441
01442
01443 #endif
01444
01445
01446
01447
01448
01449
01450
01451
01452 extern RPC_IF_HANDLE __MIDL_itf_structuredquery_0000_0008_v0_0_c_ifspec;
01453 extern RPC_IF_HANDLE __MIDL_itf_structuredquery_0000_0008_v0_0_s_ifspec;
01454
01455 #ifndef __IEntity_INTERFACE_DEFINED__
01456 #define __IEntity_INTERFACE_DEFINED__
01457
01458
01459
01460
01461
01462 EXTERN_C const IID IID_IEntity;
01463
01464 #if defined(__cplusplus) && !defined(CINTERFACE)
01465
01466 MIDL_INTERFACE("24264891-E80B-4fd3-B7CE-4FF2FAE8931F")
01467 IEntity : public IUnknown
01468 {
01469 public:
01470 virtual HRESULT STDMETHODCALLTYPE Name(
01471
01472 __deref_opt_out LPWSTR *ppszName) = 0;
01473
01474 virtual HRESULT STDMETHODCALLTYPE Base(
01475 __RPC__deref_out_opt IEntity **pBaseEntity) = 0;
01476
01477 virtual HRESULT STDMETHODCALLTYPE Relationships(
01478 __RPC__in REFIID riid,
01479 __RPC__deref_out_opt void **pRelationships) = 0;
01480
01481 virtual HRESULT STDMETHODCALLTYPE GetRelationship(
01482 __RPC__in LPCWSTR pszRelationName,
01483 __RPC__deref_out_opt IRelationship **pRelationship) = 0;
01484
01485 virtual HRESULT STDMETHODCALLTYPE MetaData(
01486 __RPC__in REFIID riid,
01487 __RPC__deref_out_opt void **pMetaData) = 0;
01488
01489 virtual HRESULT STDMETHODCALLTYPE NamedEntities(
01490 __RPC__in REFIID riid,
01491 __RPC__deref_out_opt void **pNamedEntities) = 0;
01492
01493 virtual HRESULT STDMETHODCALLTYPE GetNamedEntity(
01494 __RPC__in LPCWSTR pszValue,
01495 __RPC__deref_out_opt INamedEntity **ppNamedEntity) = 0;
01496
01497 virtual HRESULT STDMETHODCALLTYPE DefaultPhrase(
01498
01499 __deref_opt_out LPWSTR *ppszPhrase) = 0;
01500
01501 };
01502
01503 #else
01504
01505 typedef struct IEntityVtbl
01506 {
01507 BEGIN_INTERFACE
01508
01509 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
01510 IEntity * This,
01511 __RPC__in REFIID riid,
01512
01513 __RPC__deref_out void **ppvObject);
01514
01515 ULONG ( STDMETHODCALLTYPE *AddRef )(
01516 IEntity * This);
01517
01518 ULONG ( STDMETHODCALLTYPE *Release )(
01519 IEntity * This);
01520
01521 HRESULT ( STDMETHODCALLTYPE *Name )(
01522 IEntity * This,
01523
01524 __deref_opt_out LPWSTR *ppszName);
01525
01526 HRESULT ( STDMETHODCALLTYPE *Base )(
01527 IEntity * This,
01528 __RPC__deref_out_opt IEntity **pBaseEntity);
01529
01530 HRESULT ( STDMETHODCALLTYPE *Relationships )(
01531 IEntity * This,
01532 __RPC__in REFIID riid,
01533 __RPC__deref_out_opt void **pRelationships);
01534
01535 HRESULT ( STDMETHODCALLTYPE *GetRelationship )(
01536 IEntity * This,
01537 __RPC__in LPCWSTR pszRelationName,
01538 __RPC__deref_out_opt IRelationship **pRelationship);
01539
01540 HRESULT ( STDMETHODCALLTYPE *MetaData )(
01541 IEntity * This,
01542 __RPC__in REFIID riid,
01543 __RPC__deref_out_opt void **pMetaData);
01544
01545 HRESULT ( STDMETHODCALLTYPE *NamedEntities )(
01546 IEntity * This,
01547 __RPC__in REFIID riid,
01548 __RPC__deref_out_opt void **pNamedEntities);
01549
01550 HRESULT ( STDMETHODCALLTYPE *GetNamedEntity )(
01551 IEntity * This,
01552 __RPC__in LPCWSTR pszValue,
01553 __RPC__deref_out_opt INamedEntity **ppNamedEntity);
01554
01555 HRESULT ( STDMETHODCALLTYPE *DefaultPhrase )(
01556 IEntity * This,
01557
01558 __deref_opt_out LPWSTR *ppszPhrase);
01559
01560 END_INTERFACE
01561 } IEntityVtbl;
01562
01563 interface IEntity
01564 {
01565 CONST_VTBL struct IEntityVtbl *lpVtbl;
01566 };
01567
01568
01569
01570 #ifdef COBJMACROS
01571
01572
01573 #define IEntity_QueryInterface(This,riid,ppvObject) \
01574 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
01575
01576 #define IEntity_AddRef(This) \
01577 ( (This)->lpVtbl -> AddRef(This) )
01578
01579 #define IEntity_Release(This) \
01580 ( (This)->lpVtbl -> Release(This) )
01581
01582
01583 #define IEntity_Name(This,ppszName) \
01584 ( (This)->lpVtbl -> Name(This,ppszName) )
01585
01586 #define IEntity_Base(This,pBaseEntity) \
01587 ( (This)->lpVtbl -> Base(This,pBaseEntity) )
01588
01589 #define IEntity_Relationships(This,riid,pRelationships) \
01590 ( (This)->lpVtbl -> Relationships(This,riid,pRelationships) )
01591
01592 #define IEntity_GetRelationship(This,pszRelationName,pRelationship) \
01593 ( (This)->lpVtbl -> GetRelationship(This,pszRelationName,pRelationship) )
01594
01595 #define IEntity_MetaData(This,riid,pMetaData) \
01596 ( (This)->lpVtbl -> MetaData(This,riid,pMetaData) )
01597
01598 #define IEntity_NamedEntities(This,riid,pNamedEntities) \
01599 ( (This)->lpVtbl -> NamedEntities(This,riid,pNamedEntities) )
01600
01601 #define IEntity_GetNamedEntity(This,pszValue,ppNamedEntity) \
01602 ( (This)->lpVtbl -> GetNamedEntity(This,pszValue,ppNamedEntity) )
01603
01604 #define IEntity_DefaultPhrase(This,ppszPhrase) \
01605 ( (This)->lpVtbl -> DefaultPhrase(This,ppszPhrase) )
01606
01607 #endif
01608
01609
01610 #endif
01611
01612
01613
01614
01615 #endif
01616
01617
01618 #ifndef __IRelationship_INTERFACE_DEFINED__
01619 #define __IRelationship_INTERFACE_DEFINED__
01620
01621
01622
01623
01624
01625 EXTERN_C const IID IID_IRelationship;
01626
01627 #if defined(__cplusplus) && !defined(CINTERFACE)
01628
01629 MIDL_INTERFACE("2769280B-5108-498c-9C7F-A51239B63147")
01630 IRelationship : public IUnknown
01631 {
01632 public:
01633 virtual HRESULT STDMETHODCALLTYPE Name(
01634
01635 __deref_opt_out LPWSTR *ppszName) = 0;
01636
01637 virtual HRESULT STDMETHODCALLTYPE IsReal(
01638 __RPC__out BOOL *pIsReal) = 0;
01639
01640 virtual HRESULT STDMETHODCALLTYPE Destination(
01641 __RPC__deref_out_opt IEntity **pDestinationEntity) = 0;
01642
01643 virtual HRESULT STDMETHODCALLTYPE MetaData(
01644 __RPC__in REFIID riid,
01645 __RPC__deref_out_opt void **pMetaData) = 0;
01646
01647 virtual HRESULT STDMETHODCALLTYPE DefaultPhrase(
01648
01649 __deref_opt_out LPWSTR *ppszPhrase) = 0;
01650
01651 };
01652
01653 #else
01654
01655 typedef struct IRelationshipVtbl
01656 {
01657 BEGIN_INTERFACE
01658
01659 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
01660 IRelationship * This,
01661 __RPC__in REFIID riid,
01662
01663 __RPC__deref_out void **ppvObject);
01664
01665 ULONG ( STDMETHODCALLTYPE *AddRef )(
01666 IRelationship * This);
01667
01668 ULONG ( STDMETHODCALLTYPE *Release )(
01669 IRelationship * This);
01670
01671 HRESULT ( STDMETHODCALLTYPE *Name )(
01672 IRelationship * This,
01673
01674 __deref_opt_out LPWSTR *ppszName);
01675
01676 HRESULT ( STDMETHODCALLTYPE *IsReal )(
01677 IRelationship * This,
01678 __RPC__out BOOL *pIsReal);
01679
01680 HRESULT ( STDMETHODCALLTYPE *Destination )(
01681 IRelationship * This,
01682 __RPC__deref_out_opt IEntity **pDestinationEntity);
01683
01684 HRESULT ( STDMETHODCALLTYPE *MetaData )(
01685 IRelationship * This,
01686 __RPC__in REFIID riid,
01687 __RPC__deref_out_opt void **pMetaData);
01688
01689 HRESULT ( STDMETHODCALLTYPE *DefaultPhrase )(
01690 IRelationship * This,
01691
01692 __deref_opt_out LPWSTR *ppszPhrase);
01693
01694 END_INTERFACE
01695 } IRelationshipVtbl;
01696
01697 interface IRelationship
01698 {
01699 CONST_VTBL struct IRelationshipVtbl *lpVtbl;
01700 };
01701
01702
01703
01704 #ifdef COBJMACROS
01705
01706
01707 #define IRelationship_QueryInterface(This,riid,ppvObject) \
01708 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
01709
01710 #define IRelationship_AddRef(This) \
01711 ( (This)->lpVtbl -> AddRef(This) )
01712
01713 #define IRelationship_Release(This) \
01714 ( (This)->lpVtbl -> Release(This) )
01715
01716
01717 #define IRelationship_Name(This,ppszName) \
01718 ( (This)->lpVtbl -> Name(This,ppszName) )
01719
01720 #define IRelationship_IsReal(This,pIsReal) \
01721 ( (This)->lpVtbl -> IsReal(This,pIsReal) )
01722
01723 #define IRelationship_Destination(This,pDestinationEntity) \
01724 ( (This)->lpVtbl -> Destination(This,pDestinationEntity) )
01725
01726 #define IRelationship_MetaData(This,riid,pMetaData) \
01727 ( (This)->lpVtbl -> MetaData(This,riid,pMetaData) )
01728
01729 #define IRelationship_DefaultPhrase(This,ppszPhrase) \
01730 ( (This)->lpVtbl -> DefaultPhrase(This,ppszPhrase) )
01731
01732 #endif
01733
01734
01735 #endif
01736
01737
01738
01739
01740 #endif
01741
01742
01743 #ifndef __INamedEntity_INTERFACE_DEFINED__
01744 #define __INamedEntity_INTERFACE_DEFINED__
01745
01746
01747
01748
01749
01750 EXTERN_C const IID IID_INamedEntity;
01751
01752 #if defined(__cplusplus) && !defined(CINTERFACE)
01753
01754 MIDL_INTERFACE("ABDBD0B1-7D54-49fb-AB5C-BFF4130004CD")
01755 INamedEntity : public IUnknown
01756 {
01757 public:
01758 virtual HRESULT STDMETHODCALLTYPE GetValue(
01759 __RPC__deref_out_opt LPWSTR *ppszValue) = 0;
01760
01761 virtual HRESULT STDMETHODCALLTYPE DefaultPhrase(
01762
01763 __deref_opt_out LPWSTR *ppszPhrase) = 0;
01764
01765 };
01766
01767 #else
01768
01769 typedef struct INamedEntityVtbl
01770 {
01771 BEGIN_INTERFACE
01772
01773 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
01774 INamedEntity * This,
01775 __RPC__in REFIID riid,
01776
01777 __RPC__deref_out void **ppvObject);
01778
01779 ULONG ( STDMETHODCALLTYPE *AddRef )(
01780 INamedEntity * This);
01781
01782 ULONG ( STDMETHODCALLTYPE *Release )(
01783 INamedEntity * This);
01784
01785 HRESULT ( STDMETHODCALLTYPE *GetValue )(
01786 INamedEntity * This,
01787 __RPC__deref_out_opt LPWSTR *ppszValue);
01788
01789 HRESULT ( STDMETHODCALLTYPE *DefaultPhrase )(
01790 INamedEntity * This,
01791
01792 __deref_opt_out LPWSTR *ppszPhrase);
01793
01794 END_INTERFACE
01795 } INamedEntityVtbl;
01796
01797 interface INamedEntity
01798 {
01799 CONST_VTBL struct INamedEntityVtbl *lpVtbl;
01800 };
01801
01802
01803
01804 #ifdef COBJMACROS
01805
01806
01807 #define INamedEntity_QueryInterface(This,riid,ppvObject) \
01808 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
01809
01810 #define INamedEntity_AddRef(This) \
01811 ( (This)->lpVtbl -> AddRef(This) )
01812
01813 #define INamedEntity_Release(This) \
01814 ( (This)->lpVtbl -> Release(This) )
01815
01816
01817 #define INamedEntity_GetValue(This,ppszValue) \
01818 ( (This)->lpVtbl -> GetValue(This,ppszValue) )
01819
01820 #define INamedEntity_DefaultPhrase(This,ppszPhrase) \
01821 ( (This)->lpVtbl -> DefaultPhrase(This,ppszPhrase) )
01822
01823 #endif
01824
01825
01826 #endif
01827
01828
01829
01830
01831 #endif
01832
01833
01834 #ifndef __ISchemaProvider_INTERFACE_DEFINED__
01835 #define __ISchemaProvider_INTERFACE_DEFINED__
01836
01837
01838
01839
01840
01841 EXTERN_C const IID IID_ISchemaProvider;
01842
01843 #if defined(__cplusplus) && !defined(CINTERFACE)
01844
01845 MIDL_INTERFACE("8CF89BCB-394C-49b2-AE28-A59DD4ED7F68")
01846 ISchemaProvider : public IUnknown
01847 {
01848 public:
01849 virtual HRESULT STDMETHODCALLTYPE Entities(
01850 __RPC__in REFIID riid,
01851 __RPC__deref_out_opt void **pEntities) = 0;
01852
01853 virtual HRESULT STDMETHODCALLTYPE RootEntity(
01854 __RPC__deref_out_opt IEntity **pRootEntity) = 0;
01855
01856 virtual HRESULT STDMETHODCALLTYPE GetEntity(
01857 __RPC__in LPCWSTR pszEntityName,
01858 __RPC__deref_out_opt IEntity **pEntity) = 0;
01859
01860 virtual HRESULT STDMETHODCALLTYPE MetaData(
01861 __RPC__in REFIID riid,
01862 __RPC__deref_out_opt void **pMetaData) = 0;
01863
01864 virtual HRESULT STDMETHODCALLTYPE Localize(
01865 LCID lcid,
01866 __RPC__in_opt ISchemaLocalizerSupport *pSchemaLocalizerSupport) = 0;
01867
01868 virtual HRESULT STDMETHODCALLTYPE SaveBinary(
01869 __RPC__in LPCWSTR pszSchemaBinaryPath) = 0;
01870
01871 virtual HRESULT STDMETHODCALLTYPE LookupAuthoredNamedEntity(
01872 __RPC__in_opt IEntity *pEntity,
01873 __RPC__in LPCWSTR pszInputString,
01874 __RPC__in_opt ITokenCollection *pTokenCollection,
01875 ULONG cTokensBegin,
01876 __RPC__out ULONG *pcTokensLength,
01877 __RPC__deref_out_opt LPWSTR *ppszValue) = 0;
01878
01879 };
01880
01881 #else
01882
01883 typedef struct ISchemaProviderVtbl
01884 {
01885 BEGIN_INTERFACE
01886
01887 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
01888 ISchemaProvider * This,
01889 __RPC__in REFIID riid,
01890
01891 __RPC__deref_out void **ppvObject);
01892
01893 ULONG ( STDMETHODCALLTYPE *AddRef )(
01894 ISchemaProvider * This);
01895
01896 ULONG ( STDMETHODCALLTYPE *Release )(
01897 ISchemaProvider * This);
01898
01899 HRESULT ( STDMETHODCALLTYPE *Entities )(
01900 ISchemaProvider * This,
01901 __RPC__in REFIID riid,
01902 __RPC__deref_out_opt void **pEntities);
01903
01904 HRESULT ( STDMETHODCALLTYPE *RootEntity )(
01905 ISchemaProvider * This,
01906 __RPC__deref_out_opt IEntity **pRootEntity);
01907
01908 HRESULT ( STDMETHODCALLTYPE *GetEntity )(
01909 ISchemaProvider * This,
01910 __RPC__in LPCWSTR pszEntityName,
01911 __RPC__deref_out_opt IEntity **pEntity);
01912
01913 HRESULT ( STDMETHODCALLTYPE *MetaData )(
01914 ISchemaProvider * This,
01915 __RPC__in REFIID riid,
01916 __RPC__deref_out_opt void **pMetaData);
01917
01918 HRESULT ( STDMETHODCALLTYPE *Localize )(
01919 ISchemaProvider * This,
01920 LCID lcid,
01921 __RPC__in_opt ISchemaLocalizerSupport *pSchemaLocalizerSupport);
01922
01923 HRESULT ( STDMETHODCALLTYPE *SaveBinary )(
01924 ISchemaProvider * This,
01925 __RPC__in LPCWSTR pszSchemaBinaryPath);
01926
01927 HRESULT ( STDMETHODCALLTYPE *LookupAuthoredNamedEntity )(
01928 ISchemaProvider * This,
01929 __RPC__in_opt IEntity *pEntity,
01930 __RPC__in LPCWSTR pszInputString,
01931 __RPC__in_opt ITokenCollection *pTokenCollection,
01932 ULONG cTokensBegin,
01933 __RPC__out ULONG *pcTokensLength,
01934 __RPC__deref_out_opt LPWSTR *ppszValue);
01935
01936 END_INTERFACE
01937 } ISchemaProviderVtbl;
01938
01939 interface ISchemaProvider
01940 {
01941 CONST_VTBL struct ISchemaProviderVtbl *lpVtbl;
01942 };
01943
01944
01945
01946 #ifdef COBJMACROS
01947
01948
01949 #define ISchemaProvider_QueryInterface(This,riid,ppvObject) \
01950 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
01951
01952 #define ISchemaProvider_AddRef(This) \
01953 ( (This)->lpVtbl -> AddRef(This) )
01954
01955 #define ISchemaProvider_Release(This) \
01956 ( (This)->lpVtbl -> Release(This) )
01957
01958
01959 #define ISchemaProvider_Entities(This,riid,pEntities) \
01960 ( (This)->lpVtbl -> Entities(This,riid,pEntities) )
01961
01962 #define ISchemaProvider_RootEntity(This,pRootEntity) \
01963 ( (This)->lpVtbl -> RootEntity(This,pRootEntity) )
01964
01965 #define ISchemaProvider_GetEntity(This,pszEntityName,pEntity) \
01966 ( (This)->lpVtbl -> GetEntity(This,pszEntityName,pEntity) )
01967
01968 #define ISchemaProvider_MetaData(This,riid,pMetaData) \
01969 ( (This)->lpVtbl -> MetaData(This,riid,pMetaData) )
01970
01971 #define ISchemaProvider_Localize(This,lcid,pSchemaLocalizerSupport) \
01972 ( (This)->lpVtbl -> Localize(This,lcid,pSchemaLocalizerSupport) )
01973
01974 #define ISchemaProvider_SaveBinary(This,pszSchemaBinaryPath) \
01975 ( (This)->lpVtbl -> SaveBinary(This,pszSchemaBinaryPath) )
01976
01977 #define ISchemaProvider_LookupAuthoredNamedEntity(This,pEntity,pszInputString,pTokenCollection,cTokensBegin,pcTokensLength,ppszValue) \
01978 ( (This)->lpVtbl -> LookupAuthoredNamedEntity(This,pEntity,pszInputString,pTokenCollection,cTokensBegin,pcTokensLength,ppszValue) )
01979
01980 #endif
01981
01982
01983 #endif
01984
01985
01986
01987
01988 #endif
01989
01990
01991 #ifndef __ITokenCollection_INTERFACE_DEFINED__
01992 #define __ITokenCollection_INTERFACE_DEFINED__
01993
01994
01995
01996
01997
01998 EXTERN_C const IID IID_ITokenCollection;
01999
02000 #if defined(__cplusplus) && !defined(CINTERFACE)
02001
02002 MIDL_INTERFACE("22D8B4F2-F577-4adb-A335-C2AE88416FAB")
02003 ITokenCollection : public IUnknown
02004 {
02005 public:
02006 virtual HRESULT STDMETHODCALLTYPE NumberOfTokens(
02007 __RPC__in ULONG *pCount) = 0;
02008
02009 virtual HRESULT STDMETHODCALLTYPE GetToken(
02010 ULONG i,
02011
02012 __out_opt ULONG *pBegin,
02013
02014 __out_opt ULONG *pLength,
02015
02016 __deref_opt_out LPWSTR *ppsz) = 0;
02017
02018 };
02019
02020 #else
02021
02022 typedef struct ITokenCollectionVtbl
02023 {
02024 BEGIN_INTERFACE
02025
02026 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
02027 ITokenCollection * This,
02028 __RPC__in REFIID riid,
02029
02030 __RPC__deref_out void **ppvObject);
02031
02032 ULONG ( STDMETHODCALLTYPE *AddRef )(
02033 ITokenCollection * This);
02034
02035 ULONG ( STDMETHODCALLTYPE *Release )(
02036 ITokenCollection * This);
02037
02038 HRESULT ( STDMETHODCALLTYPE *NumberOfTokens )(
02039 ITokenCollection * This,
02040 __RPC__in ULONG *pCount);
02041
02042 HRESULT ( STDMETHODCALLTYPE *GetToken )(
02043 ITokenCollection * This,
02044 ULONG i,
02045
02046 __out_opt ULONG *pBegin,
02047
02048 __out_opt ULONG *pLength,
02049
02050 __deref_opt_out LPWSTR *ppsz);
02051
02052 END_INTERFACE
02053 } ITokenCollectionVtbl;
02054
02055 interface ITokenCollection
02056 {
02057 CONST_VTBL struct ITokenCollectionVtbl *lpVtbl;
02058 };
02059
02060
02061
02062 #ifdef COBJMACROS
02063
02064
02065 #define ITokenCollection_QueryInterface(This,riid,ppvObject) \
02066 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
02067
02068 #define ITokenCollection_AddRef(This) \
02069 ( (This)->lpVtbl -> AddRef(This) )
02070
02071 #define ITokenCollection_Release(This) \
02072 ( (This)->lpVtbl -> Release(This) )
02073
02074
02075 #define ITokenCollection_NumberOfTokens(This,pCount) \
02076 ( (This)->lpVtbl -> NumberOfTokens(This,pCount) )
02077
02078 #define ITokenCollection_GetToken(This,i,pBegin,pLength,ppsz) \
02079 ( (This)->lpVtbl -> GetToken(This,i,pBegin,pLength,ppsz) )
02080
02081 #endif
02082
02083
02084 #endif
02085
02086
02087
02088
02089 #endif
02090
02091
02092
02093
02094
02095 typedef
02096 enum __MIDL___MIDL_itf_structuredquery_0000_0013_0001
02097 { NEC_LOW = 0,
02098 NEC_MEDIUM = ( NEC_LOW + 1 ) ,
02099 NEC_HIGH = ( NEC_MEDIUM + 1 )
02100 } NAMED_ENTITY_CERTAINTY;
02101
02102
02103
02104 extern RPC_IF_HANDLE __MIDL_itf_structuredquery_0000_0013_v0_0_c_ifspec;
02105 extern RPC_IF_HANDLE __MIDL_itf_structuredquery_0000_0013_v0_0_s_ifspec;
02106
02107 #ifndef __INamedEntityCollector_INTERFACE_DEFINED__
02108 #define __INamedEntityCollector_INTERFACE_DEFINED__
02109
02110
02111
02112
02113
02114 EXTERN_C const IID IID_INamedEntityCollector;
02115
02116 #if defined(__cplusplus) && !defined(CINTERFACE)
02117
02118 MIDL_INTERFACE("AF2440F6-8AFC-47d0-9A7F-396A0ACFB43D")
02119 INamedEntityCollector : public IUnknown
02120 {
02121 public:
02122 virtual HRESULT STDMETHODCALLTYPE Add(
02123 ULONG beginSpan,
02124 ULONG endSpan,
02125 ULONG beginActual,
02126 ULONG endActual,
02127 __RPC__in_opt IEntity *pType,
02128 __RPC__in LPCWSTR pszValue,
02129 NAMED_ENTITY_CERTAINTY certainty) = 0;
02130
02131 };
02132
02133 #else
02134
02135 typedef struct INamedEntityCollectorVtbl
02136 {
02137 BEGIN_INTERFACE
02138
02139 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
02140 INamedEntityCollector * This,
02141 __RPC__in REFIID riid,
02142
02143 __RPC__deref_out void **ppvObject);
02144
02145 ULONG ( STDMETHODCALLTYPE *AddRef )(
02146 INamedEntityCollector * This);
02147
02148 ULONG ( STDMETHODCALLTYPE *Release )(
02149 INamedEntityCollector * This);
02150
02151 HRESULT ( STDMETHODCALLTYPE *Add )(
02152 INamedEntityCollector * This,
02153 ULONG beginSpan,
02154 ULONG endSpan,
02155 ULONG beginActual,
02156 ULONG endActual,
02157 __RPC__in_opt IEntity *pType,
02158 __RPC__in LPCWSTR pszValue,
02159 NAMED_ENTITY_CERTAINTY certainty);
02160
02161 END_INTERFACE
02162 } INamedEntityCollectorVtbl;
02163
02164 interface INamedEntityCollector
02165 {
02166 CONST_VTBL struct INamedEntityCollectorVtbl *lpVtbl;
02167 };
02168
02169
02170
02171 #ifdef COBJMACROS
02172
02173
02174 #define INamedEntityCollector_QueryInterface(This,riid,ppvObject) \
02175 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
02176
02177 #define INamedEntityCollector_AddRef(This) \
02178 ( (This)->lpVtbl -> AddRef(This) )
02179
02180 #define INamedEntityCollector_Release(This) \
02181 ( (This)->lpVtbl -> Release(This) )
02182
02183
02184 #define INamedEntityCollector_Add(This,beginSpan,endSpan,beginActual,endActual,pType,pszValue,certainty) \
02185 ( (This)->lpVtbl -> Add(This,beginSpan,endSpan,beginActual,endActual,pType,pszValue,certainty) )
02186
02187 #endif
02188
02189
02190 #endif
02191
02192
02193
02194
02195 #endif
02196
02197
02198 #ifndef __ISchemaLocalizerSupport_INTERFACE_DEFINED__
02199 #define __ISchemaLocalizerSupport_INTERFACE_DEFINED__
02200
02201
02202
02203
02204
02205 EXTERN_C const IID IID_ISchemaLocalizerSupport;
02206
02207 #if defined(__cplusplus) && !defined(CINTERFACE)
02208
02209 MIDL_INTERFACE("CA3FDCA2-BFBE-4eed-90D7-0CAEF0A1BDA1")
02210 ISchemaLocalizerSupport : public IUnknown
02211 {
02212 public:
02213 virtual HRESULT STDMETHODCALLTYPE Localize(
02214 __RPC__in LPCWSTR pszGlobalString,
02215 __RPC__deref_out_opt LPWSTR *ppszLocalString) = 0;
02216
02217 };
02218
02219 #else
02220
02221 typedef struct ISchemaLocalizerSupportVtbl
02222 {
02223 BEGIN_INTERFACE
02224
02225 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
02226 ISchemaLocalizerSupport * This,
02227 __RPC__in REFIID riid,
02228
02229 __RPC__deref_out void **ppvObject);
02230
02231 ULONG ( STDMETHODCALLTYPE *AddRef )(
02232 ISchemaLocalizerSupport * This);
02233
02234 ULONG ( STDMETHODCALLTYPE *Release )(
02235 ISchemaLocalizerSupport * This);
02236
02237 HRESULT ( STDMETHODCALLTYPE *Localize )(
02238 ISchemaLocalizerSupport * This,
02239 __RPC__in LPCWSTR pszGlobalString,
02240 __RPC__deref_out_opt LPWSTR *ppszLocalString);
02241
02242 END_INTERFACE
02243 } ISchemaLocalizerSupportVtbl;
02244
02245 interface ISchemaLocalizerSupport
02246 {
02247 CONST_VTBL struct ISchemaLocalizerSupportVtbl *lpVtbl;
02248 };
02249
02250
02251
02252 #ifdef COBJMACROS
02253
02254
02255 #define ISchemaLocalizerSupport_QueryInterface(This,riid,ppvObject) \
02256 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
02257
02258 #define ISchemaLocalizerSupport_AddRef(This) \
02259 ( (This)->lpVtbl -> AddRef(This) )
02260
02261 #define ISchemaLocalizerSupport_Release(This) \
02262 ( (This)->lpVtbl -> Release(This) )
02263
02264
02265 #define ISchemaLocalizerSupport_Localize(This,pszGlobalString,ppszLocalString) \
02266 ( (This)->lpVtbl -> Localize(This,pszGlobalString,ppszLocalString) )
02267
02268 #endif
02269
02270
02271 #endif
02272
02273
02274
02275
02276 #endif
02277
02278
02279 #ifndef __IQueryParserManager_INTERFACE_DEFINED__
02280 #define __IQueryParserManager_INTERFACE_DEFINED__
02281
02282
02283
02284
02285
02286 EXTERN_C const IID IID_IQueryParserManager;
02287
02288 #if defined(__cplusplus) && !defined(CINTERFACE)
02289
02290 MIDL_INTERFACE("A879E3C4-AF77-44fb-8F37-EBD1487CF920")
02291 IQueryParserManager : public IUnknown
02292 {
02293 public:
02294 virtual HRESULT STDMETHODCALLTYPE CreateLoadedParser(
02295 __RPC__in LPCWSTR pszCatalog,
02296 LANGID langidForKeywords,
02297 __RPC__in REFIID riid,
02298 __RPC__deref_out_opt void **ppQueryParser) = 0;
02299
02300 virtual HRESULT STDMETHODCALLTYPE InitializeOptions(
02301 BOOL fUnderstandNQS,
02302 BOOL fAutoWildCard,
02303 __RPC__in_opt IQueryParser *pQueryParser) = 0;
02304
02305 virtual HRESULT STDMETHODCALLTYPE SetOption(
02306 QUERY_PARSER_MANAGER_OPTION option,
02307 __RPC__in const PROPVARIANT *pOptionValue) = 0;
02308
02309 };
02310
02311 #else
02312
02313 typedef struct IQueryParserManagerVtbl
02314 {
02315 BEGIN_INTERFACE
02316
02317 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
02318 IQueryParserManager * This,
02319 __RPC__in REFIID riid,
02320
02321 __RPC__deref_out void **ppvObject);
02322
02323 ULONG ( STDMETHODCALLTYPE *AddRef )(
02324 IQueryParserManager * This);
02325
02326 ULONG ( STDMETHODCALLTYPE *Release )(
02327 IQueryParserManager * This);
02328
02329 HRESULT ( STDMETHODCALLTYPE *CreateLoadedParser )(
02330 IQueryParserManager * This,
02331 __RPC__in LPCWSTR pszCatalog,
02332 LANGID langidForKeywords,
02333 __RPC__in REFIID riid,
02334 __RPC__deref_out_opt void **ppQueryParser);
02335
02336 HRESULT ( STDMETHODCALLTYPE *InitializeOptions )(
02337 IQueryParserManager * This,
02338 BOOL fUnderstandNQS,
02339 BOOL fAutoWildCard,
02340 __RPC__in_opt IQueryParser *pQueryParser);
02341
02342 HRESULT ( STDMETHODCALLTYPE *SetOption )(
02343 IQueryParserManager * This,
02344 QUERY_PARSER_MANAGER_OPTION option,
02345 __RPC__in const PROPVARIANT *pOptionValue);
02346
02347 END_INTERFACE
02348 } IQueryParserManagerVtbl;
02349
02350 interface IQueryParserManager
02351 {
02352 CONST_VTBL struct IQueryParserManagerVtbl *lpVtbl;
02353 };
02354
02355
02356
02357 #ifdef COBJMACROS
02358
02359
02360 #define IQueryParserManager_QueryInterface(This,riid,ppvObject) \
02361 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
02362
02363 #define IQueryParserManager_AddRef(This) \
02364 ( (This)->lpVtbl -> AddRef(This) )
02365
02366 #define IQueryParserManager_Release(This) \
02367 ( (This)->lpVtbl -> Release(This) )
02368
02369
02370 #define IQueryParserManager_CreateLoadedParser(This,pszCatalog,langidForKeywords,riid,ppQueryParser) \
02371 ( (This)->lpVtbl -> CreateLoadedParser(This,pszCatalog,langidForKeywords,riid,ppQueryParser) )
02372
02373 #define IQueryParserManager_InitializeOptions(This,fUnderstandNQS,fAutoWildCard,pQueryParser) \
02374 ( (This)->lpVtbl -> InitializeOptions(This,fUnderstandNQS,fAutoWildCard,pQueryParser) )
02375
02376 #define IQueryParserManager_SetOption(This,option,pOptionValue) \
02377 ( (This)->lpVtbl -> SetOption(This,option,pOptionValue) )
02378
02379 #endif
02380
02381
02382 #endif
02383
02384
02385
02386
02387 #endif
02388
02389
02390
02391 #ifndef __StructuredQuery1_LIBRARY_DEFINED__
02392 #define __StructuredQuery1_LIBRARY_DEFINED__
02393
02394
02395
02396
02397
02398 EXTERN_C const IID LIBID_StructuredQuery1;
02399
02400 EXTERN_C const CLSID CLSID_QueryParser;
02401
02402 #ifdef __cplusplus
02403
02404 class DECLSPEC_UUID("B72F8FD8-0FAB-4dd9-BDBF-245A6CE1485B")
02405 QueryParser;
02406 #endif
02407
02408 EXTERN_C const CLSID CLSID_NegationCondition;
02409
02410 #ifdef __cplusplus
02411
02412 class DECLSPEC_UUID("8DE9C74C-605A-4acd-BEE3-2B222AA2D23D")
02413 NegationCondition;
02414 #endif
02415
02416 EXTERN_C const CLSID CLSID_CompoundCondition;
02417
02418 #ifdef __cplusplus
02419
02420 class DECLSPEC_UUID("116F8D13-101E-4fa5-84D4-FF8279381935")
02421 CompoundCondition;
02422 #endif
02423
02424 EXTERN_C const CLSID CLSID_LeafCondition;
02425
02426 #ifdef __cplusplus
02427
02428 class DECLSPEC_UUID("52F15C89-5A17-48e1-BBCD-46A3F89C7CC2")
02429 LeafCondition;
02430 #endif
02431
02432 EXTERN_C const CLSID CLSID_ConditionFactory;
02433
02434 #ifdef __cplusplus
02435
02436 class DECLSPEC_UUID("E03E85B0-7BE3-4000-BA98-6C13DE9FA486")
02437 ConditionFactory;
02438 #endif
02439
02440 EXTERN_C const CLSID CLSID_Interval;
02441
02442 #ifdef __cplusplus
02443
02444 class DECLSPEC_UUID("D957171F-4BF9-4de2-BCD5-C70A7CA55836")
02445 Interval;
02446 #endif
02447
02448 EXTERN_C const CLSID CLSID_QueryParserManager;
02449
02450 #ifdef __cplusplus
02451
02452 class DECLSPEC_UUID("5088B39A-29B4-4d9d-8245-4EE289222F66")
02453 QueryParserManager;
02454 #endif
02455 #endif
02456
02457
02458
02459 unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * );
02460 unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * );
02461 unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * );
02462 void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * );
02463
02464 unsigned long __RPC_USER LPSAFEARRAY_UserSize( unsigned long *, unsigned long , LPSAFEARRAY * );
02465 unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal( unsigned long *, unsigned char *, LPSAFEARRAY * );
02466 unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal(unsigned long *, unsigned char *, LPSAFEARRAY * );
02467 void __RPC_USER LPSAFEARRAY_UserFree( unsigned long *, LPSAFEARRAY * );
02468
02469
02470
02471 #ifdef __cplusplus
02472 }
02473 #endif
02474
02475 #endif
02476
02477
02478