This repository has been archived on 2024-12-16. You can view files and clone it, but cannot push or open issues or pull requests.
CodeBlocksPortable/WATCOM/h/nt/strquery.h

658 lines
28 KiB
C
Raw Permalink Normal View History

/*
* strquery.h / structuredquery.h Structured query interfaces
*
* =========================================================================
*
* Open Watcom Project
*
* Copyright (c) 2004-2010 The Open Watcom Contributors. All Rights Reserved.
*
* This file is automatically generated. Do not edit directly.
*
* =========================================================================
*/
#include <rpc.h>
#include <rpcndr.h>
#ifndef COM_NO_WINDOWS_H
#include <windows.h>
#include <ole2.h>
#endif
#ifndef __structuredquery_h__
#define __structuredquery_h__
#ifndef _ENABLE_AUTODEPEND
#pragma read_only_file;
#endif
#include <structuredquerycondition.h>
#include <objectarray.h>
#include <propkeydef.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Forward declarations */
typedef interface IQuerySolution IQuerySolution;
typedef interface ISchemaProvider ISchemaProvider;
typedef interface IEntity IEntity;
typedef interface ITokenCollection ITokenCollection;
typedef interface INamedEntityCollector INamedEntityCollector;
typedef interface IRelationship IRelationship;
typedef interface INamedEntity INamedEntity;
typedef interface ISchemaLocalizerSupport ISchemaLocalizerSupport;
/* Structured query syntax values */
typedef enum tagSTRUCTURED_QUERY_SYNTAX {
SQS_NO_SYNTAX = 0,
SQS_ADVANCED_QUERY_SYNTAX = 1,
SQS_NATURAL_QUERY_SYNTAX = 2
} STRUCTURED_QUERY_SYNTAX;
/* Structured query single options */
typedef enum tagSTRUCTURED_QUERY_SINGLE_OPTION {
SQSO_SCHEMA = 0,
SQSO_LOCALE_WORD_BREAKING = 1,
SQSO_WORD_BREAKER = 2,
SQSO_NATURAL_SYNTAX = 3,
SQSO_AUTOMATIC_WILDCARD = 4,
SQSO_TRACE_LEVEL = 5,
SQSO_LANGUAGE_KEYWORDS = 6,
SQSO_SYNTAX = 7,
SQSO_TIME_ZONE = 8,
SQSO_IMPLICIT_CONNECTOR = 9,
SQSO_CONNECTOR_CASE = 10
} STRUCTURED_QUERY_SINGLE_OPTION;
/* Structured query multioptions */
typedef enum tagSTRUCTURED_QUERY_MULTIOPTION {
SQMO_VIRTUAL_PROPERTY = 0,
SQMO_DEFAULT_PROPERTY = 1,
SQMO_GENERATOR_FOR_TYPE = 2,
SQMO_MAP_PROPERTY = 3
} STRUCTURED_QUERY_MULTIOPTION;
/* Structured query parse error */
typedef enum tagSTRUCTURED_QUERY_PARSE_ERROR {
SQPE_NONE = 0,
SQPE_EXTRA_OPENING_PARENTHESIS = 1,
SQPE_EXTRA_CLOSING_PARENTHESIS = 2,
SQPE_IGNORED_MODIFIER = 3,
SQPE_IGNORED_CONNECTOR = 4,
SQPE_IGNORED_KEYWORD = 5,
SQPE_UNHANDLED = 6
} STRUCTURED_QUERY_PARSE_ERROR;
/* Structured query resolve options */
typedef enum STRUCTURED_QUERY_RESOLVE_OPTION {
SQRO_DEFAULT = 0x00000000,
SQRO_DONT_RESOLVE_DATETIME = 0x00000001,
SQRO_ALWAYS_ONE_INTERVAL = 0x00000002,
SQRO_DONT_SIMPLIFY_CONDITION_TREES = 0x00000004,
SQRO_DONT_MAP_RELATIONS = 0x00000008,
SQRO_DONT_RESOLVE_RANGES = 0x00000010,
SQRO_DONT_REMOVE_UNRESTRICTED_KEYWORDS = 0x00000020,
SQRO_DONT_SPLIT_WORDS = 0x00000040,
SQRO_IGNORE_PHRASE_ORDER = 0x00000080,
SQRO_ADD_VALUE_TYPE_FOR_PLAIN_VALUES = 0x00000100,
SQRO_ADD_ROBUST_ITEM_NAME = 0x00000200
} STRUCTURED_QUERY_RESOLVE_OPTION;
/* Case requirements */
typedef enum CASE_REQUIREMENT {
CASE_REQUIREMENT_ANY = 0,
CASE_REQUIREMENT_UPPER_IF_AQS = 1
} CASE_REQUIREMENT;
/* Condition creation options */
typedef enum CONDITION_CREATION_OPTIONS {
CONDITION_CREATION_DEFAULT = 0x00000000,
CONDITION_CREATION_NONE = 0x00000000,
CONDITION_CREATION_SIMPLIFY = 0x00000001,
CONDITION_CREATION_VECTOR_AND = 0x00000002,
CONDITION_CREATION_VECTOR_OR = 0x00000004,
CONDITION_CREATION_VECTOR_LEAF = 0x00000008,
CONDITION_CREATION_USE_CONTENT_LOCALE = 0x00000010
} CONDITION_CREATION_OPTIONS;
/* Interval limit kinds */
typedef enum tagINTERVAL_LIMIT_KIND {
ILK_EXPLICIT_INCLUDED = 0,
ILK_EXPLICIT_EXCLUDED = 1,
ILK_NEGATIVE_INFINITY = 2,
ILK_POSITIVE_INFINITY = 3
} INTERVAL_LIMIT_KIND;
/* Query parser manager options */
typedef enum tagQUERY_PARSER_MANAGER_OPTION {
QPMO_SCHEMA_BINARY_NAME = 0,
QPMO_PRELOCALIZED_SCHEMA_BINARY_PATH = 1,
QPMO_UNLOCALIZED_SCHEMA_BINARY_PATH = 2,
QPMO_LOCALIZED_SCHEMA_BINARY_PATH = 3,
QPMO_APPEND_LCID_TO_LOCALIZED_PATH = 4,
QPMO_LOCALIZER_SUPPORT = 5
} QUERY_PARSER_MANAGER_OPTION;
/* Named entity certainties */
typedef enum {
NEC_LOW = 0,
NEC_MEDIUM = 1,
NEC_HIGH = 2
} NAMED_ENTITY_CERTAINTY;
/* Hit range */
typedef struct tagHITRANGE {
ULONG iPosition;
ULONG cLength;
} HITRANGE;
/* GUIDs */
EXTERN_C const IID IID_IQueryParser;
EXTERN_C const IID IID_IConditionFactory;
EXTERN_C const IID IID_IConditionFactory2;
EXTERN_C const IID IID_IQuerySolution;
EXTERN_C const IID IID_IConditionGenerator;
EXTERN_C const IID IID_IInterval;
EXTERN_C const IID IID_IMetaData;
EXTERN_C const IID IID_IEntity;
EXTERN_C const IID IID_IRelationship;
EXTERN_C const IID IID_INamedEntity;
EXTERN_C const IID IID_ISchemaProvider;
EXTERN_C const IID IID_ITokenCollection;
EXTERN_C const IID IID_INamedEntityCollector;
EXTERN_C const IID IID_ISchemaLocalizerSupport;
EXTERN_C const IID IID_IQueryParserManager;
EXTERN_C const IID LIBID_StructuredQuery1;
EXTERN_C const CLSID CLSID_QueryParser;
EXTERN_C const CLSID CLSID_NegationCondition;
EXTERN_C const CLSID CLSID_CompoundCondition;
EXTERN_C const CLSID CLSID_LeafCondition;
EXTERN_C const CLSID CLSID_ConditionFactory;
EXTERN_C const CLSID CLSID_Interval;
EXTERN_C const CLSID CLSID_QueryParserManager;
/* IQueryParser interface */
#undef INTERFACE
#define INTERFACE IQueryParser
DECLARE_INTERFACE_( IQueryParser, IUnknown ) {
/* IUnknown methods */
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
STDMETHOD_( ULONG, Release )( THIS ) PURE;
/* IQueryParser methods */
STDMETHOD( Parse )( THIS_ LPCWSTR, IEnumUnknown *, IQuerySolution ** ) PURE;
STDMETHOD( SetOption )( THIS_ STRUCTURED_QUERY_SINGLE_OPTION, const PROPVARIANT * ) PURE;
STDMETHOD( GetOption )( THIS_ STRUCTURED_QUERY_SINGLE_OPTION, PROPVARIANT * ) PURE;
STDMETHOD( SetMultiOption )( THIS_ STRUCTURED_QUERY_MULTIOPTION, LPCWSTR, const PROPVARIANT * ) PURE;
STDMETHOD( GetSchemaProvider )( THIS_ ISchemaProvider ** ) PURE;
STDMETHOD( RestateToString )( THIS_ ICondition *, BOOL, LPWSTR * ) PURE;
STDMETHOD( ParsePropertyValue )( THIS_ LPCWSTR, LPCWSTR, IQuerySolution ** ) PURE;
STDMETHOD( RestatePropertyValueToString )( THIS_ ICondition *, BOOL, LPWSTR *, LPWSTR * ) PURE;
};
/* IConditionFactory interface */
#undef INTERFACE
#define INTERFACE IConditionFactory
DECLARE_INTERFACE_( IConditionFactory, IUnknown ) {
/* IUnknown methods */
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
STDMETHOD_( ULONG, Release )( THIS ) PURE;
/* IConditionFactory methods */
STDMETHOD( MakeNot )( THIS_ ICondition *, BOOL, ICondition ** ) PURE;
STDMETHOD( MakeAndOr )( THIS_ CONDITION_TYPE, IEnumUnknown *, BOOL, ICondition ** ) PURE;
STDMETHOD( MakeLeaf )( THIS_ LPCWSTR, CONDITION_OPERATION, LPCWSTR, const PROPVARIANT *, IRichChunk *, IRichChunk *, IRichChunk *, BOOL, ICondition ** ) PURE;
STDMETHOD( Resolve )( THIS_ ICondition *, STRUCTURED_QUERY_RESOLVE_OPTION, const SYSTEMTIME *, ICondition ** ) PURE;
};
/* IConditionFactory2 interface */
#undef INTERFACE
#define INTERFACE IConditionFactory2
DECLARE_INTERFACE_( IConditionFactory2, IConditionFactory ) {
/* IUnknown methods */
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
STDMETHOD_( ULONG, Release )( THIS ) PURE;
/* IConditionFactory methods */
STDMETHOD( MakeNot )( THIS_ ICondition *, BOOL, ICondition ** ) PURE;
STDMETHOD( MakeAndOr )( THIS_ CONDITION_TYPE, IEnumUnknown *, BOOL, ICondition ** ) PURE;
STDMETHOD( MakeLeaf )( THIS_ LPCWSTR, CONDITION_OPERATION, LPCWSTR, const PROPVARIANT *, IRichChunk *, IRichChunk *, IRichChunk *, BOOL, ICondition ** ) PURE;
STDMETHOD( Resolve )( THIS_ ICondition *, STRUCTURED_QUERY_RESOLVE_OPTION, const SYSTEMTIME *, ICondition ** ) PURE;
/* IConditionFactory2 methods */
STDMETHOD( CreateTrueFalse )( THIS_ BOOL, CONDITION_CREATION_OPTIONS, REFIID, void ** ) PURE;
STDMETHOD( CreateNegation )( THIS_ ICondition *, CONDITION_CREATION_OPTIONS, REFIID, void ** ) PURE;
STDMETHOD( CreateCompoundFromObjectArray )( THIS_ CONDITION_TYPE, IObjectArray *, CONDITION_CREATION_OPTIONS, REFIID, void ** ) PURE;
STDMETHOD( CreateCompoundFromArray )( THIS_ CONDITION_TYPE, ICondition **, ULONG, CONDITION_CREATION_OPTIONS, REFIID, void ** ) PURE;
STDMETHOD( CreateStringLeaf )( THIS_ REFPROPERTYKEY, CONDITION_OPERATION, LPCWSTR, LPCWSTR, CONDITION_CREATION_OPTIONS, REFIID, void ** ) PURE;
STDMETHOD( CreateIntegerLeaf )( THIS_ REFPROPERTYKEY, CONDITION_OPERATION, INT32, CONDITION_CREATION_OPTIONS, REFIID, void ** ) PURE;
STDMETHOD( CreateBooleanLeaf )( THIS_ REFPROPERTYKEY, CONDITION_OPERATION, BOOL, CONDITION_CREATION_OPTIONS, REFIID, void ** ) PURE;
STDMETHOD( CreateLeaf )( THIS_ REFPROPERTYKEY, CONDITION_OPERATION, REFPROPVARIANT, LPCWSTR, LPCWSTR, IRichChunk *, IRichChunk *, IRichChunk *, CONDITION_CREATION_OPTIONS, REFIID, void ** ) PURE;
STDMETHOD( ResolveCondition )( THIS_ ICondition *, STRUCTURED_QUERY_RESOLVE_OPTION, SYSTEMTIME const *, REFIID, void ** ) PURE;
};
/* IQuerySolution interface */
#undef INTERFACE
#define INTERFACE IQuerySolution
DECLARE_INTERFACE_( IQuerySolution, IConditionFactory ) {
/* IUnknown methods */
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
STDMETHOD_( ULONG, Release )( THIS ) PURE;
/* IConditionFactory methods */
STDMETHOD( MakeNot )( THIS_ ICondition *, BOOL, ICondition ** ) PURE;
STDMETHOD( MakeAndOr )( THIS_ CONDITION_TYPE, IEnumUnknown *, BOOL, ICondition ** ) PURE;
STDMETHOD( MakeLeaf )( THIS_ LPCWSTR, CONDITION_OPERATION, LPCWSTR, const PROPVARIANT *, IRichChunk *, IRichChunk *, IRichChunk *, BOOL, ICondition ** ) PURE;
STDMETHOD( Resolve )( THIS_ ICondition *, STRUCTURED_QUERY_RESOLVE_OPTION, const SYSTEMTIME *, ICondition ** ) PURE;
/* IQuerySolution methods */
STDMETHOD( GetQuery )( THIS_ ICondition **, IEntity ** ) PURE;
STDMETHOD( GetErrors )( THIS_ REFIID, void ** ) PURE;
STDMETHOD( GetLexicalData )( THIS_ LPWSTR *, ITokenCollection **, LCID *, IUnknown ** ) PURE;
};
/* IConditionGenerator interface */
#undef INTERFACE
#define INTERFACE IConditionGenerator
DECLARE_INTERFACE_( IConditionGenerator, IUnknown ) {
/* IUnknown methods */
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
STDMETHOD_( ULONG, Release )( THIS ) PURE;
/* IConditionGenerator methods */
STDMETHOD( Initialize )( THIS_ ISchemaProvider * ) PURE;
STDMETHOD( RecognizeNamedEntities )( THIS_ LPCWSTR, LCID, ITokenCollection *, INamedEntityCollector * ) PURE;
STDMETHOD( GenerateForLeaf )( THIS_ IConditionFactory *, LPCWSTR, CONDITION_OPERATION, LPCWSTR, LPCWSTR, LPCWSTR, IRichChunk *, IRichChunk *, IRichChunk *, BOOL, BOOL *, ICondition ** ) PURE;
STDMETHOD( DefaultPhrase )( THIS_ LPCWSTR, const PROPVARIANT *, BOOL, LPWSTR * ) PURE;
};
/* IInterval interface */
#undef INTERFACE
#define INTERFACE IInterval
DECLARE_INTERFACE_( IInterval, IUnknown ) {
/* IUnknown methods */
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
STDMETHOD_( ULONG, Release )( THIS ) PURE;
/* IInterval methods */
STDMETHOD( GetLimits )( THIS_ INTERVAL_LIMIT_KIND *, PROPVARIANT *, INTERVAL_LIMIT_KIND *, PROPVARIANT * ) PURE;
};
/* IMetaData interface */
#undef INTERFACE
#define INTERFACE IMetaData
DECLARE_INTERFACE_( IMetaData, IUnknown ) {
/* IUnknown methods */
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
STDMETHOD_( ULONG, Release )( THIS ) PURE;
/* IMetaData methods */
STDMETHOD( GetData )( THIS_ LPWSTR *, LPWSTR * ) PURE;
};
/* IEntity interface */
#undef INTERFACE
#define INTERFACE IEntity
DECLARE_INTERFACE_( IEntity, IUnknown ) {
/* IUnknown methods */
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
STDMETHOD_( ULONG, Release )( THIS ) PURE;
/* IEntity methods */
STDMETHOD( Name )( THIS_ LPWSTR * ) PURE;
STDMETHOD( Base )( THIS_ IEntity ** ) PURE;
STDMETHOD( Relationships )( THIS_ REFIID, void ** ) PURE;
STDMETHOD( GetRelationship )( THIS_ LPCWSTR, IRelationship ** ) PURE;
STDMETHOD( MetaData )( THIS_ REFIID, void ** ) PURE;
STDMETHOD( NamedEntities )( THIS_ REFIID, void ** ) PURE;
STDMETHOD( GetNamedEntity )( THIS_ LPCWSTR, INamedEntity ** ) PURE;
STDMETHOD( DefaultPhrase )( THIS_ LPWSTR * ) PURE;
};
/* IRelationship interface */
#undef INTERFACE
#define INTERFACE IRelationship
DECLARE_INTERFACE_( IRelationship, IUnknown ) {
/* IUnknown methods */
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
STDMETHOD_( ULONG, Release )( THIS ) PURE;
/* IRelationship methods */
STDMETHOD( Name )( THIS_ LPWSTR * ) PURE;
STDMETHOD( IsReal )( THIS_ BOOL * ) PURE;
STDMETHOD( Destination )( THIS_ IEntity ** ) PURE;
STDMETHOD( MetaData )( THIS_ REFIID, void ** ) PURE;
STDMETHOD( DefaultPhrase )( THIS_ LPWSTR * ) PURE;
};
/* INamedEntity interface */
#undef INTERFACE
#define INTERFACE INamedEntity
DECLARE_INTERFACE_( INamedEntity, IUnknown ) {
/* IUnknown methods */
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
STDMETHOD_( ULONG, Release )( THIS ) PURE;
/* INamedEntity methods */
STDMETHOD( GetValue )( THIS_ LPWSTR * ) PURE;
STDMETHOD( DefaultPhrase )( THIS_ LPWSTR * ) PURE;
};
/* ISchemaProvider interface */
#undef INTERFACE
#define INTERFACE ISchemaProvider
DECLARE_INTERFACE_( ISchemaProvider, IUnknown ) {
/* IUnknown methods */
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
STDMETHOD_( ULONG, Release )( THIS ) PURE;
/* ISchemaProvider methods */
STDMETHOD( Entities )( THIS_ REFIID, void ** ) PURE;
STDMETHOD( RootEntity )( THIS_ IEntity ** ) PURE;
STDMETHOD( GetEntity )( THIS_ LPCWSTR, IEntity ** ) PURE;
STDMETHOD( MetaData )( THIS_ REFIID, void ** ) PURE;
STDMETHOD( Localize )( THIS_ LCID, ISchemaLocalizerSupport * ) PURE;
STDMETHOD( SaveBinary )( THIS_ LPCWSTR ) PURE;
STDMETHOD( LookupAuthoredNamedEntity )( THIS_ IEntity *, LPCWSTR, ITokenCollection *, ULONG, ULONG *, LPWSTR * ) PURE;
};
/* ITokenCollection interface */
#undef INTERFACE
#define INTERFACE ITokenCollection
DECLARE_INTERFACE_( ITokenCollection, IUnknown ) {
/* IUnknown methods */
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
STDMETHOD_( ULONG, Release )( THIS ) PURE;
/* ITokenCollection methods */
STDMETHOD( NumberOfTokens )( THIS_ ULONG * ) PURE;
STDMETHOD( GetToken )( THIS_ ULONG, ULONG *, ULONG *, LPWSTR * ) PURE;
};
/* INamedEntityCollector interface */
#undef INTERFACE
#define INTERFACE INamedEntityCollector
DECLARE_INTERFACE_( INamedEntityCollector, IUnknown ) {
/* IUnknown methods */
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
STDMETHOD_( ULONG, Release )( THIS ) PURE;
/* INamedEntityCollector methods */
STDMETHOD( Add )( THIS_ ULONG, ULONG, ULONG, ULONG, IEntity *, LPCWSTR, NAMED_ENTITY_CERTAINTY ) PURE;
};
/* ISchemaLocalizerSupport interface */
#undef INTERFACE
#define INTERFACE ISchemaLocalizerSupport
DECLARE_INTERFACE_( ISchemaLocalizerSupport, IUnknown ) {
/* IUnknown methods */
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
STDMETHOD_( ULONG, Release )( THIS ) PURE;
/* ISchemaLocalizerSupport methods */
STDMETHOD( Localize )( THIS_ LPCWSTR, LPWSTR * ) PURE;
};
/* IQueryParserManager interface */
#undef INTERFACE
#define INTERFACE IQueryParserManager
DECLARE_INTERFACE_( IQueryParserManager, IUnknown ) {
/* IUnknown methods */
STDMETHOD( QueryInterface )( THIS_ REFIID, void ** ) PURE;
STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
STDMETHOD_( ULONG, Release )( THIS ) PURE;
/* IQueryParserManager methods */
STDMETHOD( CreateLoadedParser )( THIS_ LPCWSTR, LANGID, REFIID, void ** ) PURE;
STDMETHOD( InitializeOptions )( THIS_ BOOL, BOOL, IQueryParser * ) PURE;
STDMETHOD( SetOption )( THIS_ QUERY_PARSER_MANAGER_OPTION, const PROPVARIANT * ) PURE;
};
/* C object macros */
#if (!defined( __cplusplus ) || defined( CINTERFACE )) && defined( COBJMACROS )
#define IQueryParser_QueryInterface( x, p1, p2 ) \
(x)->lpVtbl->QueryInterface( x, p1, p2 )
#define IQueryParser_AddRef( x ) \
(x)->lpVtbl->AddRef( x )
#define IQueryParser_Release( x ) \
(x)->lpVtbl->Release( x )
#define IQueryParser_Parse( x, p1, p2, p3 ) \
(x)->lpVtbl->Parse( x, p1, p2, p3 )
#define IQueryParser_SetOption( x, p1, p2 ) \
(x)->lpVtbl->SetOption( x, p1, p2 )
#define IQueryParser_GetOption( x, p1, p2 ) \
(x)->lpVtbl->GetOption( x, p1, p2 )
#define IQueryParser_SetMultiOption( x, p1, p2, p3 ) \
(x)->lpVtbl->SetMultiOption( x, p1, p2, p3 )
#define IQueryParser_GetSchemaProvider( x, p ) \
(x)->lpVtbl->GetSchemaProvider( x, p )
#define IQueryParser_RestateToString( x, p1, p2, p3 ) \
(x)->lpVtbl->RestateToString( x, p1, p2, p3 )
#define IQueryParser_ParsePropertyValue( x, p1, p2, p3 ) \
(x)->lpVtbl->ParsePropertyValue( x, p1, p2, p3 )
#define IQueryParser_RestatePropertyValueToString( x, p1, p2, p3, p4 ) \
(x)->lpVtbl->RestatePropertyValueToString( x, p1, p2, p3, p4 )
#define IConditionFactory_QueryInterface( x, p1, p2 ) \
(x)->lpVtbl->QueryInterface( x, p1, p2 )
#define IConditionFactory_AddRef( x ) \
(x)->lpVtbl->AddRef( x )
#define IConditionFactory_Release( x ) \
(x)->lpVtbl->Release( x )
#define IConditionFactory_MakeNot( x, p1, p2, p3 ) \
(x)->lpVtbl->MakeNot( x, p1, p2, p3 )
#define IConditionFactory_MakeAndOr( x, p1, p2, p3, p4 ) \
(x)->lpVtbl->MakeAndOr( x, p1, p2, p3, p4 )
#define IConditionFactory_MakeLeaf( x, p1, p2, p3, p4, p5, p6, p7, p8, p9 ) \
(x)->lpVtbl->MakeLeaf( x, p1, p2, p3, p4, p5, p6, p7, p8, p9 )
#define IConditionFactory_Resolve( x, p1, p2, p3, p4 ) \
(x)->lpVtbl->Resolve( x, p1, p2, p3, p4 )
#define IConditionFactory2_QueryInterface( x, p1, p2 ) \
(x)->lpVtbl->QueryInterface( x, p1, p2 )
#define IConditionFactory2_AddRef( x ) \
(x)->lpVtbl->AddRef( x )
#define IConditionFactory2_Release( x ) \
(x)->lpVtbl->Release( x )
#define IConditionFactory2_MakeNot( x, p1, p2, p3 ) \
(x)->lpVtbl->MakeNot( x, p1, p2, p3 )
#define IConditionFactory2_MakeAndOr( x, p1, p2, p3, p4 ) \
(x)->lpVtbl->MakeAndOr( x, p1, p2, p3, p4 )
#define IConditionFactory2_MakeLeaf( x, p1, p2, p3, p4, p5, p6, p7, p8, p9 ) \
(x)->lpVtbl->MakeLeaf( x, p1, p2, p3, p4, p5, p6, p7, p8, p9 )
#define IConditionFactory2_Resolve( x, p1, p2, p3, p4 ) \
(x)->lpVtbl->Resolve( x, p1, p2, p3, p4 )
#define IConditionFactory2_CreateTrueFalse( x, p1, p2, p3, p4 ) \
(x)->lpVtbl->CreateTrueFalse( x, p1, p2, p3, p4 )
#define IConditionFactory2_CreateNegation( x, p1, p2, p3, p4 ) \
(x)->lpVtbl->CreateNegation( x, p1, p2, p3, p4 )
#define IConditionFactory2_CreateCompoundFromObjectArray( x, p1, p2, p3, p4, p5 ) \
(x)->lpVtbl->CreateCompoundFromObjectArray( x, p1, p2, p3, p4, p5 )
#define IConditionFactory2_CreateCompoundFromArray( x, p1, p2, p3, p4, p5, p6 ) \
(x)->lpVtbl->CreateCompoundFromArray( x, p1, p2, p3, p4, p5, p6 )
#define IConditionFactory2_CreateStringLeaf( x, p1, p2, p3, p4, p5, p6, p7 ) \
(x)->lpVtbl->CreateStringLeaf( x, p1, p2, p3, p4, p5, p6, p7 )
#define IConditionFactory2_CreateIntegerLeaf( x, p1, p2, p3, p4, p5, p6 ) \
(x)->lpVtbl->CreateIntegerLeaf( x, p1, p2, p3, p4, p5, p6 )
#define IConditionFactory2_CreateBooleanLeaf( x, p1, p2, p3, p4, p5, p6 ) \
(x)->lpVtbl->CreateBooleanLeaf( x, p1, p2, p3, p4, p5, p6 )
#define IConditionFactory2_CreateLeaf( x, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10 ) \
(x)->lpVtbl->CreateLeaf( x, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10 )
#define IQuerySolution_QueryInterface( x, p1, p2 ) \
(x)->lpVtbl->QueryInterface( x, p1, p2 )
#define IQuerySolution_AddRef( x ) \
(x)->lpVtbl->AddRef( x )
#define IQuerySolution_Release( x ) \
(x)->lpVtbl->Release( x )
#define IQuerySolution_MakeNot( x, p1, p2, p3 ) \
(x)->lpVtbl->MakeNot( x, p1, p2, p3 )
#define IQuerySolution_MakeAndOr( x, p1, p2, p3, p4 ) \
(x)->lpVtbl->MakeAndOr( x, p1, p2, p3, p4 )
#define IQuerySolution_MakeLeaf( x, p1, p2, p3, p4, p5, p6, p7, p8, p9 ) \
(x)->lpVtbl->MakeLeaf( x, p1, p2, p3, p4, p5, p6, p7, p8, p9 )
#define IQuerySolution_Resolve( x, p1, p2, p3, p4 ) \
(x)->lpVtbl->Resolve( x, p1, p2, p3, p4 )
#define IQuerySolution_GetQuery( x, p1, p2 ) \
(x)->lpVtbl->GetQuery( x, p1, p2 )
#define IQuerySolution_GetErrors( x, p1, p2 ) \
(x)->lpVtbl->GetErrors( x, p1, p2 )
#define IQuerySolution_GetLexicalData( x, p1, p2, p3, p4 ) \
(x)->lpVtbl->GetLexicalData( x, p1, p2, p3, p4 )
#define IConditionGenerator_QueryInterface( x, p1, p2 ) \
(x)->lpVtbl->QueryInterface( x, p1, p2 )
#define IConditionGenerator_AddRef( x ) \
(x)->lpVtbl->AddRef( x )
#define IConditionGenerator_Release( x ) \
(x)->lpVtbl->Release( x )
#define IConditionGenerator_Initialize( x, p ) \
(x)->lpVtbl->Initialize( x, p )
#define IConditionGenerator_RecognizeNamedEntities( x, p1, p2, p3, p4 ) \
(x)->lpVtbl->RecognizeNamedEntities( x, p1, p2, p3, p4 )
#define IConditionGenerator_GenerateForLeaf( x, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12 ) \
(x)->lpVtbl->GenerateForLeaf( x, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12 )
#define IConditionGenerator_DefaultPhrase( x, p1, p2, p3, p4 ) \
(x)->lpVtbl->DefaultPhrase( x, p1, p2, p3, p4 )
#define IInterval_QueryInterface( x, p1, p2 ) \
(x)->lpVtbl->QueryInterface( x, p1, p2 )
#define IInterval_AddRef( x ) \
(x)->lpVtbl->AddRef( x )
#define IInterval_Release( x ) \
(x)->lpVtbl->Release( x )
#define IInterval_GetLimits( x, p1, p2, p3, p4 ) \
(x)->lpVtbl->GetLimits( x, p1, p2, p3, p4 )
#define IMetaData_QueryInterface( x, p1, p2 ) \
(x)->lpVtbl->QueryInterface( x, p1, p2 )
#define IMetaData_AddRef( x ) \
(x)->lpVtbl->AddRef( x )
#define IMetaData_Release( x ) \
(x)->lpVtbl->Release( x )
#define IMetaData_GetData( x, p1, p2 ) \
(x)->lpVtbl->GetData( x, p1, p2 )
#define IEntity_QueryInterface( x, p1, p2 ) \
(x)->lpVtbl->QueryInterface( x, p1, p2 )
#define IEntity_AddRef( x ) \
(x)->lpVtbl->AddRef( x )
#define IEntity_Release( x ) \
(x)->lpVtbl->Release( x )
#define IEntity_Name( x, p ) \
(x)->lpVtbl->Name( x, p )
#define IEntity_Base( x, p ) \
(x)->lpVtbl->Base( x, p )
#define IEntity_Relationships( x, p1, p2 ) \
(x)->lpVtbl->Relationships( x, p1, p2 )
#define IEntity_GetRelationship( x, p1, p2 ) \
(x)->lpVtbl->GetRelationship( x, p1, p2 )
#define IEntity_MetaData( x, p1, p2 ) \
(x)->lpVtbl->MetaData( x, p1, p2 )
#define IEntity_NamedEntities( x, p1, p2 ) \
(x)->lpVtbl->NamedEntities( x, p1, p2 )
#define IEntity_GetNamedEntity( x, p1, p2 ) \
(x)->lpVtbl->GetNamedEntity( x, p1, p2 )
#define IEntity_DefaultPhrase( x, p ) \
(x)->lpVtbl->DefaultPhrase( x, p )
#define IRelationship_QueryInterface( x, p1, p2 ) \
(x)->lpVtbl->QueryInterface( x, p1, p2 )
#define IRelationship_AddRef( x ) \
(x)->lpVtbl->AddRef( x )
#define IRelationship_Release( x ) \
(x)->lpVtbl->Release( x )
#define IRelationship_Name( x, p ) \
(x)->lpVtbl->Name( x, p )
#define IRelationship_IsReal( x, p ) \
(x)->lpVtbl->IsReal( x, p )
#define IRelationship_Destination( x, p ) \
(x)->lpVtbl->Destination( x, p )
#define IRelationship_MetaData( x, p1, p2 ) \
(x)->lpVtbl->MetaData( x, p1, p2 )
#define IRelationship_DefaultPhrase( x, p ) \
(x)->lpVtbl->DefaultPhrase( x, p )
#define INamedEntity_QueryInterface( x, p1, p2 ) \
(x)->lpVtbl->QueryInterface( x, p1, p2 )
#define INamedEntity_AddRef( x ) \
(x)->lpVtbl->AddRef( x )
#define INamedEntity_Release( x ) \
(x)->lpVtbl->Release( x )
#define INamedEntity_GetValue( x, p ) \
(x)->lpVtbl->GetValue( x, p )
#define INamedEntity_DefaultPhrase( x, p ) \
(x)->lpVtbl->DefaultPhrase( x, p )
#define ISchemaProvider_QueryInterface( x, p1, p2 ) \
(x)->lpVtbl->QueryInterface( x, p1, p2 )
#define ISchemaProvider_AddRef( x ) \
(x)->lpVtbl->AddRef( x )
#define ISchemaProvider_Release( x ) \
(x)->lpVtbl->Release( x )
#define ISchemaProvider_Entities( x, p1, p2 ) \
(x)->lpVtbl->Entities( x, p1, p2 )
#define ISchemaProvider_RootEntity( x, p ) \
(x)->lpVtbl->RootEntity( x, p )
#define ISchemaProvider_GetEntity( x, p1, p2 ) \
(x)->lpVtbl->GetEntity( x, p1, p2 )
#define ISchemaProvider_MetaData( x, p1, p2 ) \
(x)->lpVtbl->MetaData( x, p1, p2 )
#define ISchemaProvider_Localize( x, p1, p2 ) \
(x)->lpVtbl->Localize( x, p1, p2 )
#define ISchemaProvider_SaveBinary( x, p ) \
(x)->lpVtbl->SaveBinary( x, p )
#define ISchemaProvider_LookupAuthoredNamedEntity( x, p1, p2, p3, p4, p5, p6 ) \
(x)->lpVtbl->LookupAuthoredNamedEntity( x, p1, p2, p3, p4, p5, p6 )
#define ITokenCollection_QueryInterface( x, p1, p2 ) \
(x)->lpVtbl->QueryInterface( x, p1, p2 )
#define ITokenCollection_AddRef( x ) \
(x)->lpVtbl->AddRef( x )
#define ITokenCollection_Release( x ) \
(x)->lpVtbl->Release( x )
#define ITokenCollection_NumberOfTokens( x, p ) \
(x)->lpVtbl->NumberOfTokens( x, p )
#define ITokenCollection_GetToken( x, p1, p2, p3, p4 ) \
(x)->lpVtbl->GetToken( x, p1, p2, p3, p4 )
#define INamedEntityCollector_QueryInterface( x, p1, p2 ) \
(x)->lpVtbl->QueryInterface( x, p1, p2 )
#define INamedEntityCollector_AddRef( x ) \
(x)->lpVtbl->AddRef( x )
#define INamedEntityCollector_Release( x ) \
(x)->lpVtbl->Release( x )
#define INamedEntityCollector_Add( x, p1, p2, p3, p4, p5, p6, p7 ) \
(x)->lpVtbl->Add( x, p1, p2, p3, p4, p5, p6, p7 )
#define ISchemaLocalizerSupport_QueryInterface( x, p1, p2 ) \
(x)->lpVtbl->QueryInterface( x, p1, p2 )
#define ISchemaLocalizerSupport_AddRef( x ) \
(x)->lpVtbl->AddRef( x )
#define ISchemaLocalizerSupport_Release( x ) \
(x)->lpVtbl->Release( x )
#define ISchemaLocalizerSupport_Localize( x, p1, p2 ) \
(x)->lpVtbl->Localize( x, p1, p2 )
#define IQueryParserManager_QueryInterface( x, p1, p2 ) \
(x)->lpVtbl->QueryInterface( x, p1, p2 )
#define IQueryParserManager_AddRef( x ) \
(x)->lpVtbl->AddRef( x )
#define IQueryParserManager_Release( x ) \
(x)->lpVtbl->Release( x )
#define IQueryParserManager_CreateLoadedParser( x, p1, p2, p3, p4 ) \
(x)->lpVtbl->CreateLoadedParser( x, p1, p2, p3, p4 )
#define IQueryParserManager_InitializeOptions( x, p1, p2, p3 ) \
(x)->lpVtbl->InitializeOptions( x, p1, p2, p3 )
#define IQueryParserManager_SetOption( x, p1, p2 ) \
(x)->lpVtbl->SetOption( x, p1, p2 )
#endif
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* __structuredquery_h__ */