cmdtre.idl
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:10k
- //-----------------------------------------------------------------------------
- // File: cmdtre.idl
- //
- // Copyright: Copyright (c) Microsoft Corporation
- //
- // Contents: OLE DB interface definition
- //
- // Comments:
- //
- //-----------------------------------------------------------------------------
- #include "idlmulti.h"
- //
- LOCAL_INTERFACE(0c733a87-2a1c-11ce-ade5-00aa0044773d)
-
- interface ICommandTree : IUnknown {
- typedef DWORD DBCOMMANDREUSE;
- enum DBCOMMANDREUSEENUM {
- DBCOMMANDREUSE_NONE = 0x00,
- DBCOMMANDREUSE_PROPERTIES = 0x01,
- DBCOMMANDREUSE_PARAMETERS = 0x02,
- };
- typedef DWORD DBVALUEKIND;
- enum DBVALUEKINDENUM {
- DBVALUEKIND_BYGUID = 256,
- DBVALUEKIND_COLDESC = DBVALUEKIND_BYGUID + 1,
- DBVALUEKIND_ID = DBVALUEKIND_COLDESC + 1,
- DBVALUEKIND_CONTENT = DBVALUEKIND_ID + 1,
- DBVALUEKIND_CONTENTVECTOR = DBVALUEKIND_CONTENT + 1,
- DBVALUEKIND_GROUPINFO = DBVALUEKIND_CONTENTVECTOR + 1,
- DBVALUEKIND_PARAMETER = DBVALUEKIND_GROUPINFO + 1,
- DBVALUEKIND_PROPERTY = DBVALUEKIND_PARAMETER + 1,
- DBVALUEKIND_SETFUNC = DBVALUEKIND_PROPERTY + 1,
- DBVALUEKIND_SORTINFO = DBVALUEKIND_SETFUNC + 1,
- DBVALUEKIND_TEXT = DBVALUEKIND_SORTINFO + 1,
- DBVALUEKIND_COMMAND = DBVALUEKIND_TEXT + 1,
- DBVALUEKIND_MONIKER = DBVALUEKIND_COMMAND + 1,
- DBVALUEKIND_ROWSET = DBVALUEKIND_MONIKER + 1,
- DBVALUEKIND_LIKE = DBVALUEKIND_ROWSET + 1,
- DBVALUEKIND_CONTENTPROXIMITY= DBVALUEKIND_LIKE + 1,
- DBVALUEKIND_CONTENTSCOPE = DBVALUEKIND_CONTENTPROXIMITY + 1,
- DBVALUEKIND_CONTENTTABLE = DBVALUEKIND_CONTENTSCOPE + 1,
- DBVALUEKIND_IDISPATCH = 9,
- DBVALUEKIND_IUNKNOWN = 13,
- DBVALUEKIND_EMPTY = 0,
- DBVALUEKIND_NULL = 1,
- DBVALUEKIND_I2 = 2,
- DBVALUEKIND_I4 = 3,
- DBVALUEKIND_R4 = 4,
- DBVALUEKIND_R8 = 5,
- DBVALUEKIND_CY = 6,
- DBVALUEKIND_DATE = 7,
- DBVALUEKIND_BSTR = 8,
- DBVALUEKIND_ERROR = 10,
- DBVALUEKIND_BOOL = 11,
- DBVALUEKIND_VARIANT = 12,
- DBVALUEKIND_VECTOR = 0x1000,
- DBVALUEKIND_ARRAY = 0x2000,
- DBVALUEKIND_BYREF = 0x4000,
- DBVALUEKIND_I1 = 16,
- DBVALUEKIND_UI1 = 17,
- DBVALUEKIND_UI2 = 18,
- DBVALUEKIND_UI4 = DBVALUEKIND_UI2 + 1,
- DBVALUEKIND_I8 = DBVALUEKIND_UI4 + 1,
- DBVALUEKIND_UI8 = DBVALUEKIND_I8 + 1,
- DBVALUEKIND_GUID = 72,
- DBVALUEKIND_BYTES = 128,
- DBVALUEKIND_STR = 129,
- DBVALUEKIND_WSTR = 130,
- DBVALUEKIND_NUMERIC = 131,
- DBVALUEKIND_DBDATE = 133,
- DBVALUEKIND_DBTIME = 134,
- DBVALUEKIND_DBTIMESTAMP = 135,
- DBVALUEKIND_PROBABILISTIC = 136,
- DBVALUEKIND_RELEVANTDOCUMENT = 137,
- };
- typedef struct tagDBBYGUID {
- [size_is((ULONG)cbInfo)] BYTE * pbInfo;
- DBLENGTH cbInfo;
- GUID guid;
- } DBBYGUID;
- cpp_quote("#define GENERATE_METHOD_EXACT ( 0 )")
- cpp_quote("#define GENERATE_METHOD_PREFIX ( 1 )")
- cpp_quote("#define GENERATE_METHOD_INFLECT ( 2 )")
- typedef struct tagDBCONTENT {
- LPOLESTR pwszPhrase;
- DWORD dwGenerateMethod;
- LONG lWeight;
- LCID lcid;
- } DBCONTENT;
- cpp_quote("#define SCOPE_FLAG_MASK ( 0x000000ff )")
- cpp_quote("#define SCOPE_FLAG_INCLUDE ( 0x00000001 )")
- cpp_quote("#define SCOPE_FLAG_DEEP ( 0x00000002 )")
- cpp_quote("#define SCOPE_TYPE_MASK ( 0xffffff00 )")
- cpp_quote("#define SCOPE_TYPE_WINPATH ( 0x00000100 )")
- cpp_quote("#define SCOPE_TYPE_VPATH ( 0x00000200 )")
- typedef struct tagDBCONTENTSCOPE {
- DWORD dwFlags;
- LPOLESTR * rgpwszTagName;
- LPOLESTR pwszElementValue;
- } DBCONTENTSCOPE;
- typedef struct tagDBCONTENTTABLE {
- LPOLESTR pwszMachine;
- LPOLESTR pwszCatalog;
- } DBCONTENTTABLE;
- cpp_quote("#define PROPID_QUERY_RANKVECTOR ( 0x2 )")
- cpp_quote("#define PROPID_QUERY_RANK ( 0x3 )")
- cpp_quote("#define PROPID_QUERY_HITCOUNT ( 0x4 )")
- cpp_quote("#define PROPID_QUERY_ALL ( 0x6 )")
- cpp_quote("#define PROPID_STG_CONTENTS ( 0x13 )")
- cpp_quote("#define VECTOR_RANK_MIN ( 0 )")
- cpp_quote("#define VECTOR_RANK_MAX ( 1 )")
- cpp_quote("#define VECTOR_RANK_INNER ( 2 )")
- cpp_quote("#define VECTOR_RANK_DICE ( 3 )")
- cpp_quote("#define VECTOR_RANK_JACCARD ( 4 )")
- typedef struct tagDBCONTENTVECTOR {
- LONG lWeight;
- DWORD dwRankingMethod;
- } DBCONTENTVECTOR;
- typedef struct tagDBGROUPINFO {
- LCID lcid;
- } DBGROUPINFO;
- typedef struct tagDBPARAMETER {
- LPOLESTR pwszName;
- ITypeInfo * pTypeInfo;
- DB_NUMERIC * pNum;
- DBLENGTH cbMaxLength;
- DBPARAMFLAGS dwFlags;
- DBTYPE wType;
- } DBPARAMETER;
- cpp_quote("#define DBSETFUNC_NONE 0x0")
- cpp_quote("#define DBSETFUNC_ALL 0x1")
- cpp_quote("#define DBSETFUNC_DISTINCT 0x2")
- typedef struct tagDBSETFUNC {
- DWORD dwSetQuantifier;
- } DBSETFUNC;
- typedef struct tagDBSORTINFO {
- BOOL fDesc;
- LCID lcid;
- } DBSORTINFO;
- typedef struct tagDBTEXT {
- LPOLESTR pwszText;
- ULONG ulErrorLocator;
- ULONG ulTokenLength;
- GUID guidDialect;
- } DBTEXT;
- typedef struct tagDBLIKE {
- LONG lWeight;
- GUID guidDialect;
- } DBLIKE;
- cpp_quote("#define PROXIMITY_UNIT_WORD ( 0 )")
- cpp_quote("#define PROXIMITY_UNIT_SENTENCE ( 1 )")
- cpp_quote("#define PROXIMITY_UNIT_PARAGRAPH ( 2 )")
- cpp_quote("#define PROXIMITY_UNIT_CHAPTER ( 3 )")
- typedef struct tagDBCONTENTPROXIMITY {
- DWORD dwProximityUnit;
- ULONG ulProximityDistance;
- LONG lWeight;
- } DBCONTENTPROXIMITY;
- typedef struct tagDBPROBABILISTIC {
- LONG lWeight; // Weight of this node in tree
- float flK1; // K1 parameter in BM25
- float flK2; // K2 parameter in BM25 (must be 0)
- float flK3; // K3 parameter in BM25
- float flB; // b parameter in BM25
- } DBPROBABILISTIC;
- typedef struct tagDBRELEVANTDOCUMENT {
- LONG lWeight; // Weight of this node in the tree
- VARIANT vDocument; // Relevant document
- } DBRELEVANTDOCUMENT;
- typedef struct tagDBCOMMANDTREE {
- DBCOMMANDOP op;
- WORD wKind;
- struct tagDBCOMMANDTREE * pctFirstChild;
- struct tagDBCOMMANDTREE * pctNextSibling;
- [switch_type(WORD),switch_is(wKind)] union {
- [case(DBVALUEKIND_I8)] __int64 llValue;
- [case(DBVALUEKIND_UI8)] unsigned __int64 ullValue;
- [case(DBVALUEKIND_BOOL)] BOOL fValue;
- [case(DBVALUEKIND_UI1)] unsigned char uchValue;
- [case(DBVALUEKIND_I1)] signed char schValue;
- [case(DBVALUEKIND_UI2)] unsigned short usValue;
- [case(DBVALUEKIND_I2)] short sValue;
- [case(DBVALUEKIND_WSTR)] LPOLESTR pwszValue;
- [case(DBVALUEKIND_I4)] LONG lValue;
- [case(DBVALUEKIND_UI4)] ULONG ulValue;
- [case(DBVALUEKIND_R4)] float flValue;
- [case(DBVALUEKIND_R8)] double dblValue;
- [case(DBVALUEKIND_CY)] CY cyValue;
- [case(DBVALUEKIND_DATE)] DATE dateValue;
- [case(DBVALUEKIND_DBDATE)] DBDATE dbdateValue;
- [case(DBVALUEKIND_DBTIME)] DBTIME dbtimeValue;
- [case(DBVALUEKIND_ERROR)] SCODE scodeValue;
- [case(DBVALUEKIND_BSTR)] BSTR * pbstrValue;
- [case(DBVALUEKIND_COMMAND)] ICommand * pCommand;
- [case(DBVALUEKIND_IDISPATCH)] IDispatch * pDispatch;
- [case(DBVALUEKIND_MONIKER)] IMoniker * pMoniker;
- [case(DBVALUEKIND_ROWSET)] IRowset * pRowset;
- [case(DBVALUEKIND_IUNKNOWN)] IUnknown * pUnknown;
- [case(DBVALUEKIND_BYGUID)] DBBYGUID * pdbbygdValue;
- [case(DBVALUEKIND_COLDESC)] DBCOLUMNDESC * pcoldescValue;
- [case(DBVALUEKIND_ID)] DBID * pdbidValue;
- [case(DBVALUEKIND_LIKE)] DBLIKE * pdblikeValue;
- [case(DBVALUEKIND_CONTENT)] DBCONTENT * pdbcntntValue;
- [case(DBVALUEKIND_CONTENTSCOPE)] DBCONTENTSCOPE * pdbcntntscpValue;
- [case(DBVALUEKIND_CONTENTTABLE)] DBCONTENTTABLE * pdbcntnttblValue;
- [case(DBVALUEKIND_CONTENTVECTOR)] DBCONTENTVECTOR * pdbcntntvcValue;
- [case(DBVALUEKIND_CONTENTPROXIMITY)] DBCONTENTPROXIMITY * pdbcntntproxValue;
- [case(DBVALUEKIND_GROUPINFO)] DBGROUPINFO * pdbgrpinfValue;
- [case(DBVALUEKIND_PARAMETER)] DBPARAMETER * pdbparamValue;
- [case(DBVALUEKIND_PROPERTY)] DBPROPSET * pdbpropValue;
- [case(DBVALUEKIND_SETFUNC)] DBSETFUNC * pdbstfncValue;
- [case(DBVALUEKIND_SORTINFO)] DBSORTINFO * pdbsrtinfValue;
- [case(DBVALUEKIND_TEXT)] DBTEXT * pdbtxtValue;
- [case(DBVALUEKIND_VECTOR)] DBVECTOR * pdbvectorValue;
- [case(DBVALUEKIND_ARRAY)] SAFEARRAY * parrayValue;
- [case(DBVALUEKIND_VARIANT)] VARIANT * pvarValue;
- [case(DBVALUEKIND_GUID)] GUID * pGuid;
- [case(DBVALUEKIND_BYTES)] BYTE * pbValue;
- [case(DBVALUEKIND_STR)] char * pzValue;
- [case(DBVALUEKIND_NUMERIC)] DB_NUMERIC * pdbnValue;
- [case(DBVALUEKIND_DBTIMESTAMP)] DBTIMESTAMP * pdbtsValue;
- [case(DBVALUEKIND_BYREF)] void * pvValue;
- [case(DBVALUEKIND_PROBABILISTIC)] DBPROBABILISTIC * pdbprobValue;
- [case(DBVALUEKIND_RELEVANTDOCUMENT)] DBRELEVANTDOCUMENT * pdbreldocValue;
- } value;
- HRESULT hrError;
- } DBCOMMANDTREE;
- HRESULT FindErrorNodes(
- [in] const DBCOMMANDTREE * pRoot,
- [out] ULONG * pcErrorNodes,
- [out] DBCOMMANDTREE *** prgErrorNodes
- );
- HRESULT FreeCommandTree(
- [in] DBCOMMANDTREE ** ppRoot
- );
- HRESULT GetCommandTree(
- [out] DBCOMMANDTREE ** ppRoot
- );
- HRESULT SetCommandTree(
- [in] DBCOMMANDTREE ** ppRoot,
- [in] DBCOMMANDREUSE dwCommandReuse,
- [in] BOOL fCopy
- );
- }