658 lines
28 KiB
C
658 lines
28 KiB
C
|
/*
|
||
|
* 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__ */
|