source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/cmdtree.h@ 1167

Last change on this file since 1167 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 18.4 KB
Line 
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6#ifndef __REQUIRED_RPCNDR_H_VERSION__
7#define __REQUIRED_RPCNDR_H_VERSION__ 440
8#endif
9
10#include "rpc.h"
11#include "rpcndr.h"
12
13#ifndef __RPCNDR_H_VERSION__
14#error this stub requires an updated version of <rpcndr.h>
15#endif
16
17#ifndef COM_NO_WINDOWS_H
18#include "windows.h"
19#include "ole2.h"
20#endif
21
22#ifndef __cmdtree_h__
23#define __cmdtree_h__
24
25#ifndef __ICommandTree_FWD_DEFINED__
26#define __ICommandTree_FWD_DEFINED__
27typedef struct ICommandTree ICommandTree;
28#endif
29
30#ifndef __IQuery_FWD_DEFINED__
31#define __IQuery_FWD_DEFINED__
32typedef struct IQuery IQuery;
33#endif
34
35#include "oledb.h"
36
37#ifdef __cplusplus
38extern "C"{
39#endif
40
41#ifndef __MIDL_user_allocate_free_DEFINED__
42#define __MIDL_user_allocate_free_DEFINED__
43 void *__RPC_API MIDL_user_allocate(size_t);
44 void __RPC_API MIDL_user_free(void *);
45#endif
46
47#ifdef _WIN64
48#include <pshpack8.h>
49#else
50#include <pshpack2.h>
51#endif
52
53 extern RPC_IF_HANDLE __MIDL_itf_cmdtree_0000_v0_0_c_ifspec;
54 extern RPC_IF_HANDLE __MIDL_itf_cmdtree_0000_v0_0_s_ifspec;
55
56#ifndef __CommandTreeStructureDefinitions_INTERFACE_DEFINED__
57#define __CommandTreeStructureDefinitions_INTERFACE_DEFINED__
58
59 typedef WORD DBCOMMANDOP;
60
61 enum DBCOMMANDOPENUM {
62 DBOP_scalar_constant = 0,DBOP_DEFAULT,DBOP_NULL,DBOP_bookmark_name,
63 DBOP_catalog_name,DBOP_column_name,DBOP_schema_name,
64 DBOP_outall_name,DBOP_qualifier_name,DBOP_qualified_column_name,
65 DBOP_table_name,DBOP_nested_table_name,DBOP_nested_column_name,
66 DBOP_row,DBOP_table,DBOP_sort,DBOP_distinct,DBOP_distinct_order_preserving,
67 DBOP_alias,DBOP_cross_join,DBOP_union_join,DBOP_inner_join,DBOP_left_semi_join,
68 DBOP_right_semi_join,DBOP_left_anti_semi_join,DBOP_right_anti_semi_join,
69 DBOP_left_outer_join,DBOP_right_outer_join,DBOP_full_outer_join,DBOP_natural_join,
70 DBOP_natural_left_outer_join,DBOP_natural_right_outer_join,
71 DBOP_natural_full_outer_join,DBOP_set_intersection,
72 DBOP_set_union,DBOP_set_left_difference,DBOP_set_right_difference,
73 DBOP_set_anti_difference,DBOP_bag_intersection,
74 DBOP_bag_union,DBOP_bag_left_difference,DBOP_bag_right_difference,
75 DBOP_bag_anti_difference,DBOP_division,DBOP_relative_sampling,
76 DBOP_absolute_sampling,DBOP_transitive_closure,
77 DBOP_recursive_union,DBOP_aggregate,DBOP_remote_table,
78 DBOP_select,DBOP_order_preserving_select,DBOP_project,
79 DBOP_project_order_preserving,DBOP_top,DBOP_top_percent,
80 DBOP_top_plus_ties,DBOP_top_percent_plus_ties,DBOP_rank,
81 DBOP_rank_ties_equally,DBOP_rank_ties_equally_and_skip,
82 DBOP_navigate,DBOP_nesting,DBOP_unnesting,
83 DBOP_nested_apply,DBOP_cross_tab,DBOP_is_NULL,DBOP_is_NOT_NULL,
84 DBOP_equal,DBOP_not_equal,DBOP_less,DBOP_less_equal,
85 DBOP_greater,DBOP_greater_equal,DBOP_equal_all,
86 DBOP_not_equal_all,DBOP_less_all,DBOP_less_equal_all,
87 DBOP_greater_all,DBOP_greater_equal_all,DBOP_equal_any,
88 DBOP_not_equal_any,DBOP_less_any,DBOP_less_equal_any,
89 DBOP_greater_any,DBOP_greater_equal_any,DBOP_anybits,
90 DBOP_allbits,DBOP_anybits_any,DBOP_allbits_any,
91 DBOP_anybits_all,DBOP_allbits_all,DBOP_between,
92 DBOP_between_unordered,DBOP_match,DBOP_match_unique,
93 DBOP_match_partial,DBOP_match_partial_unique,DBOP_match_full,
94 DBOP_match_full_unique,DBOP_scalar_parameter,DBOP_scalar_function,
95 DBOP_plus,DBOP_minus,DBOP_times,DBOP_over,DBOP_div,
96 DBOP_modulo,DBOP_power,DBOP_like,DBOP_sounds_like,
97 DBOP_like_any,DBOP_like_all,DBOP_is_INVALID,DBOP_is_TRUE,
98 DBOP_is_FALSE,DBOP_and,DBOP_or,DBOP_xor,DBOP_equivalent,
99 DBOP_not,DBOP_implies,DBOP_overlaps,DBOP_case_condition,
100 DBOP_case_value,DBOP_nullif,DBOP_cast,DBOP_coalesce,
101 DBOP_position,DBOP_extract,DBOP_char_length,DBOP_octet_length,
102 DBOP_bit_length,DBOP_substring,DBOP_upper,DBOP_lower,
103 DBOP_trim,DBOP_translate,DBOP_convert,DBOP_string_concat,
104 DBOP_current_date,DBOP_current_time,DBOP_current_timestamp,
105 DBOP_content_select,DBOP_content,DBOP_content_freetext,
106 DBOP_content_proximity,DBOP_content_vector_or,DBOP_delete,
107 DBOP_update,DBOP_insert,DBOP_min,DBOP_max,DBOP_count,
108 DBOP_sum,DBOP_avg,DBOP_any_sample,DBOP_stddev,DBOP_stddev_pop,
109 DBOP_var,DBOP_var_pop,DBOP_first,DBOP_last,DBOP_in,
110 DBOP_exists,DBOP_unique,DBOP_subset,DBOP_proper_subset,
111 DBOP_superset,DBOP_proper_superset,DBOP_disjoint,
112 DBOP_pass_through,DBOP_defined_by_GUID,DBOP_text_command,
113 DBOP_SQL_select,DBOP_prior_command_tree,DBOP_add_columns,
114 DBOP_column_list_anchor,DBOP_column_list_element,
115 DBOP_command_list_anchor,DBOP_command_list_element,
116 DBOP_from_list_anchor,DBOP_from_list_element,
117 DBOP_project_list_anchor,DBOP_project_list_element,
118 DBOP_row_list_anchor,DBOP_row_list_element,
119 DBOP_scalar_list_anchor,DBOP_scalar_list_element,
120 DBOP_set_list_anchor,DBOP_set_list_element,
121 DBOP_sort_list_anchor,DBOP_sort_list_element,
122 DBOP_alter_character_set,DBOP_alter_collation,
123 DBOP_alter_domain,DBOP_alter_index,DBOP_alter_procedure,
124 DBOP_alter_schema,DBOP_alter_table,DBOP_alter_trigger,
125 DBOP_alter_view,DBOP_coldef_list_anchor,DBOP_coldef_list_element,
126 DBOP_create_assertion,DBOP_create_character_set,
127 DBOP_create_collation,DBOP_create_domain,DBOP_create_index,
128 DBOP_create_procedure,DBOP_create_schema,DBOP_create_synonym,
129 DBOP_create_table,DBOP_create_temporary_table,
130 DBOP_create_translation,DBOP_create_trigger,
131 DBOP_create_view,DBOP_drop_assertion,DBOP_drop_character_set,
132 DBOP_drop_collation,DBOP_drop_domain,DBOP_drop_index,
133 DBOP_drop_procedure,DBOP_drop_schema,DBOP_drop_synonym,
134 DBOP_drop_table,DBOP_drop_translation,DBOP_drop_trigger,
135 DBOP_drop_view,DBOP_foreign_key,DBOP_grant_privileges,
136 DBOP_index_list_anchor,DBOP_index_list_element,
137 DBOP_primary_key,DBOP_property_list_anchor,
138 DBOP_property_list_element,DBOP_referenced_table,
139 DBOP_rename_object,DBOP_revoke_privileges,
140 DBOP_schema_authorization,DBOP_unique_key,DBOP_scope_list_anchor,
141 DBOP_scope_list_element,DBOP_content_table
142 };
143#ifdef DBINITCONSTANTS
144 extern const OLEDBDECLSPEC GUID DBGUID_LIKE_SQL = {0xc8b521f6,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
145 extern const OLEDBDECLSPEC GUID DBGUID_LIKE_DOS = {0xc8b521f7,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
146 extern const OLEDBDECLSPEC GUID DBGUID_LIKE_OFS = {0xc8b521f8,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
147 extern const OLEDBDECLSPEC GUID DBGUID_LIKE_MAPI = {0xc8b521f9,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
148#else
149 extern const GUID DBGUID_LIKE_SQL;
150 extern const GUID DBGUID_LIKE_DOS;
151 extern const GUID DBGUID_LIKE_OFS;
152 extern const GUID DBGUID_LIKE_MAPI;
153#endif
154
155 extern RPC_IF_HANDLE CommandTreeStructureDefinitions_v0_0_c_ifspec;
156 extern RPC_IF_HANDLE CommandTreeStructureDefinitions_v0_0_s_ifspec;
157#endif
158
159#ifndef __ICommandTree_INTERFACE_DEFINED__
160#define __ICommandTree_INTERFACE_DEFINED__
161
162 typedef DWORD DBCOMMANDREUSE;
163 enum DBCOMMANDREUSEENUM {
164 DBCOMMANDREUSE_NONE = 0,DBCOMMANDREUSE_PROPERTIES = 0x1,DBCOMMANDREUSE_PARAMETERS = 0x2
165 };
166 typedef DWORD DBVALUEKIND;
167 enum DBVALUEKINDENUM {
168 DBVALUEKIND_BYGUID = 256,DBVALUEKIND_COLDESC,DBVALUEKIND_ID,
169 DBVALUEKIND_CONTENT,DBVALUEKIND_CONTENTVECTOR,DBVALUEKIND_GROUPINFO,
170 DBVALUEKIND_PARAMETER,DBVALUEKIND_PROPERTY,DBVALUEKIND_SETFUNC,
171 DBVALUEKIND_SORTINFO,DBVALUEKIND_TEXT,DBVALUEKIND_COMMAND,
172 DBVALUEKIND_MONIKER,DBVALUEKIND_ROWSET,DBVALUEKIND_LIKE,
173 DBVALUEKIND_CONTENTPROXIMITY,DBVALUEKIND_CONTENTSCOPE,
174 DBVALUEKIND_CONTENTTABLE,
175 DBVALUEKIND_IDISPATCH = 9,DBVALUEKIND_IUNKNOWN = 13,DBVALUEKIND_EMPTY = 0,
176 DBVALUEKIND_NULL = 1,DBVALUEKIND_I2 = 2,DBVALUEKIND_I4 = 3,DBVALUEKIND_R4 = 4,
177 DBVALUEKIND_R8 = 5,DBVALUEKIND_CY = 6,DBVALUEKIND_DATE = 7,
178 DBVALUEKIND_BSTR = 8,DBVALUEKIND_ERROR = 10,DBVALUEKIND_BOOL = 11,
179 DBVALUEKIND_VARIANT = 12,DBVALUEKIND_VECTOR = 0x1000,DBVALUEKIND_ARRAY = 0x2000, DBVALUEKIND_BYREF = 0x4000,
180 DBVALUEKIND_I1 = 16,DBVALUEKIND_UI1 = 17,DBVALUEKIND_UI2 = 18,
181 DBVALUEKIND_UI4 = 19,DBVALUEKIND_I8 = 20,DBVALUEKIND_UI8 = 21,
182 DBVALUEKIND_GUID = 72,DBVALUEKIND_BYTES = 128,DBVALUEKIND_STR = 129,
183 DBVALUEKIND_WSTR = 130,DBVALUEKIND_NUMERIC = 131,DBVALUEKIND_DBDATE = 133,
184 DBVALUEKIND_DBTIME = 134,DBVALUEKIND_DBTIMESTAMP = 135,
185 DBVALUEKIND_PROBABILISTIC = 136,DBVALUEKIND_RELEVANTDOCUMENT = 137
186 };
187 typedef struct tagDBBYGUID {
188 BYTE *pbInfo;
189 DBLENGTH cbInfo;
190 GUID guid;
191 } DBBYGUID;
192
193#define GENERATE_METHOD_EXACT (0)
194#define GENERATE_METHOD_PREFIX (1)
195#define GENERATE_METHOD_INFLECT (2)
196
197 typedef struct tagDBCONTENT {
198 LPOLESTR pwszPhrase;
199 DWORD dwGenerateMethod;
200 LONG lWeight;
201 LCID lcid;
202 } DBCONTENT;
203
204#define SCOPE_FLAG_MASK (0x000000ff)
205#define SCOPE_FLAG_INCLUDE (0x00000001)
206#define SCOPE_FLAG_DEEP (0x00000002)
207#define SCOPE_TYPE_MASK (0xffffff00)
208#define SCOPE_TYPE_WINPATH (0x00000100)
209#define SCOPE_TYPE_VPATH (0x00000200)
210
211 typedef struct tagDBCONTENTSCOPE {
212 DWORD dwFlags;
213 LPOLESTR *rgpwszTagName;
214 LPOLESTR pwszElementValue;
215 } DBCONTENTSCOPE;
216
217 typedef struct tagDBCONTENTTABLE {
218 LPOLESTR pwszMachine;
219 LPOLESTR pwszCatalog;
220 } DBCONTENTTABLE;
221
222#define PROPID_QUERY_RANKVECTOR (0x2)
223#define PROPID_QUERY_RANK (0x3)
224#define PROPID_QUERY_HITCOUNT (0x4)
225#define PROPID_QUERY_ALL (0x6)
226#define PROPID_STG_CONTENTS (0x13)
227#define VECTOR_RANK_MIN (0)
228#define VECTOR_RANK_MAX (1)
229#define VECTOR_RANK_INNER (2)
230#define VECTOR_RANK_DICE (3)
231#define VECTOR_RANK_JACCARD (4)
232
233 typedef struct tagDBCONTENTVECTOR {
234 LONG lWeight;
235 DWORD dwRankingMethod;
236 } DBCONTENTVECTOR;
237
238 typedef struct tagDBGROUPINFO {
239 LCID lcid;
240 } DBGROUPINFO;
241
242 typedef struct tagDBPARAMETER {
243 LPOLESTR pwszName;
244 ITypeInfo *pTypeInfo;
245 DB_NUMERIC *pNum;
246 DBLENGTH cbMaxLength;
247 DBPARAMFLAGS dwFlags;
248 DBTYPE wType;
249 } DBPARAMETER;
250
251#define DBSETFUNC_NONE 0x0
252#define DBSETFUNC_ALL 0x1
253#define DBSETFUNC_DISTINCT 0x2
254
255 typedef struct tagDBSETFUNC {
256 DWORD dwSetQuantifier;
257 } DBSETFUNC;
258
259 typedef struct tagDBSORTINFO {
260 WINBOOL fDesc;
261 LCID lcid;
262 } DBSORTINFO;
263
264 typedef struct tagDBTEXT {
265 LPOLESTR pwszText;
266 ULONG ulErrorLocator;
267 ULONG ulTokenLength;
268 GUID guidDialect;
269 } DBTEXT;
270
271 typedef struct tagDBLIKE {
272 LONG lWeight;
273 GUID guidDialect;
274 } DBLIKE;
275
276#define PROXIMITY_UNIT_WORD (0)
277#define PROXIMITY_UNIT_SENTENCE (1)
278#define PROXIMITY_UNIT_PARAGRAPH (2)
279#define PROXIMITY_UNIT_CHAPTER (3)
280
281 typedef struct tagDBCONTENTPROXIMITY {
282 DWORD dwProximityUnit;
283 ULONG ulProximityDistance;
284 LONG lWeight;
285 } DBCONTENTPROXIMITY;
286
287 typedef struct tagDBPROBABILISTIC {
288 LONG lWeight;
289 float flK1;
290 float flK2;
291 float flK3;
292 float flB;
293 } DBPROBABILISTIC;
294
295 typedef struct tagDBRELEVANTDOCUMENT {
296 LONG lWeight;
297 VARIANT vDocument;
298 } DBRELEVANTDOCUMENT;
299
300 typedef struct tagDBCOMMANDTREE {
301 DBCOMMANDOP op;
302 WORD wKind;
303 struct tagDBCOMMANDTREE *pctFirstChild;
304 struct tagDBCOMMANDTREE *pctNextSibling;
305 union {
306 __MINGW_EXTENSION __int64 llValue;
307 __MINGW_EXTENSION unsigned __int64 ullValue;
308 WINBOOL fValue;
309 unsigned char uchValue;
310 signed char schValue;
311 unsigned short usValue;
312 short sValue;
313 LPOLESTR pwszValue;
314 LONG lValue;
315 ULONG ulValue;
316 float flValue;
317 double dblValue;
318 CY cyValue;
319 DATE dateValue;
320 DBDATE dbdateValue;
321 DBTIME dbtimeValue;
322 SCODE scodeValue;
323 BSTR *pbstrValue;
324 ICommand *pCommand;
325 IDispatch *pDispatch;
326 IMoniker *pMoniker;
327 IRowset *pRowset;
328 IUnknown *pUnknown;
329 DBBYGUID *pdbbygdValue;
330 DBCOLUMNDESC *pcoldescValue;
331 DBID *pdbidValue;
332 DBLIKE *pdblikeValue;
333 DBCONTENT *pdbcntntValue;
334 DBCONTENTSCOPE *pdbcntntscpValue;
335 DBCONTENTTABLE *pdbcntnttblValue;
336 DBCONTENTVECTOR *pdbcntntvcValue;
337 DBCONTENTPROXIMITY *pdbcntntproxValue;
338 DBGROUPINFO *pdbgrpinfValue;
339 DBPARAMETER *pdbparamValue;
340 DBPROPSET *pdbpropValue;
341 DBSETFUNC *pdbstfncValue;
342 DBSORTINFO *pdbsrtinfValue;
343 DBTEXT *pdbtxtValue;
344 DBVECTOR *pdbvectorValue;
345 SAFEARRAY *parrayValue;
346 VARIANT *pvarValue;
347 GUID *pGuid;
348 BYTE *pbValue;
349 char *pzValue;
350 DB_NUMERIC *pdbnValue;
351 DBTIMESTAMP *pdbtsValue;
352 void *pvValue;
353 DBPROBABILISTIC *pdbprobValue;
354 DBRELEVANTDOCUMENT *pdbreldocValue;
355 } value;
356 HRESULT hrError;
357 } DBCOMMANDTREE;
358
359 EXTERN_C const IID IID_ICommandTree;
360#if defined(__cplusplus) && !defined(CINTERFACE)
361 struct ICommandTree : public IUnknown {
362 public:
363 virtual HRESULT WINAPI FindErrorNodes(const DBCOMMANDTREE *pRoot,ULONG *pcErrorNodes,DBCOMMANDTREE ***prgErrorNodes) = 0;
364 virtual HRESULT WINAPI FreeCommandTree(DBCOMMANDTREE **ppRoot) = 0;
365 virtual HRESULT WINAPI GetCommandTree(DBCOMMANDTREE **ppRoot) = 0;
366 virtual HRESULT WINAPI SetCommandTree(DBCOMMANDTREE **ppRoot,DBCOMMANDREUSE dwCommandReuse,WINBOOL fCopy) = 0;
367 };
368#else
369 typedef struct ICommandTreeVtbl {
370 BEGIN_INTERFACE
371 HRESULT (WINAPI *QueryInterface)(ICommandTree *This,REFIID riid,void **ppvObject);
372 ULONG (WINAPI *AddRef)(ICommandTree *This);
373 ULONG (WINAPI *Release)(ICommandTree *This);
374 HRESULT (WINAPI *FindErrorNodes)(ICommandTree *This,const DBCOMMANDTREE *pRoot,ULONG *pcErrorNodes,DBCOMMANDTREE ***prgErrorNodes);
375 HRESULT (WINAPI *FreeCommandTree)(ICommandTree *This,DBCOMMANDTREE **ppRoot);
376 HRESULT (WINAPI *GetCommandTree)(ICommandTree *This,DBCOMMANDTREE **ppRoot);
377 HRESULT (WINAPI *SetCommandTree)(ICommandTree *This,DBCOMMANDTREE **ppRoot,DBCOMMANDREUSE dwCommandReuse,WINBOOL fCopy);
378 END_INTERFACE
379 } ICommandTreeVtbl;
380 struct ICommandTree {
381 CONST_VTBL struct ICommandTreeVtbl *lpVtbl;
382 };
383#ifdef COBJMACROS
384#define ICommandTree_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
385#define ICommandTree_AddRef(This) (This)->lpVtbl->AddRef(This)
386#define ICommandTree_Release(This) (This)->lpVtbl->Release(This)
387#define ICommandTree_FindErrorNodes(This,pRoot,pcErrorNodes,prgErrorNodes) (This)->lpVtbl->FindErrorNodes(This,pRoot,pcErrorNodes,prgErrorNodes)
388#define ICommandTree_FreeCommandTree(This,ppRoot) (This)->lpVtbl->FreeCommandTree(This,ppRoot)
389#define ICommandTree_GetCommandTree(This,ppRoot) (This)->lpVtbl->GetCommandTree(This,ppRoot)
390#define ICommandTree_SetCommandTree(This,ppRoot,dwCommandReuse,fCopy) (This)->lpVtbl->SetCommandTree(This,ppRoot,dwCommandReuse,fCopy)
391#endif
392#endif
393 HRESULT WINAPI ICommandTree_FindErrorNodes_Proxy(ICommandTree *This,const DBCOMMANDTREE *pRoot,ULONG *pcErrorNodes,DBCOMMANDTREE ***prgErrorNodes);
394 void __RPC_STUB ICommandTree_FindErrorNodes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
395 HRESULT WINAPI ICommandTree_FreeCommandTree_Proxy(ICommandTree *This,DBCOMMANDTREE **ppRoot);
396 void __RPC_STUB ICommandTree_FreeCommandTree_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
397 HRESULT WINAPI ICommandTree_GetCommandTree_Proxy(ICommandTree *This,DBCOMMANDTREE **ppRoot);
398 void __RPC_STUB ICommandTree_GetCommandTree_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
399 HRESULT WINAPI ICommandTree_SetCommandTree_Proxy(ICommandTree *This,DBCOMMANDTREE **ppRoot,DBCOMMANDREUSE dwCommandReuse,WINBOOL fCopy);
400 void __RPC_STUB ICommandTree_SetCommandTree_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
401#endif
402
403#ifndef __IQuery_INTERFACE_DEFINED__
404#define __IQuery_INTERFACE_DEFINED__
405 EXTERN_C const IID IID_IQuery;
406#if defined(__cplusplus) && !defined(CINTERFACE)
407 struct IQuery : public ICommandTree {
408 public:
409 virtual HRESULT WINAPI AddPostProcessing(DBCOMMANDTREE **ppRoot,WINBOOL fCopy) = 0;
410 virtual HRESULT WINAPI GetCardinalityEstimate(DBORDINAL *pulCardinality) = 0;
411 };
412#else
413 typedef struct IQueryVtbl {
414 BEGIN_INTERFACE
415 HRESULT (WINAPI *QueryInterface)(IQuery *This,REFIID riid,void **ppvObject);
416 ULONG (WINAPI *AddRef)(IQuery *This);
417 ULONG (WINAPI *Release)(IQuery *This);
418 HRESULT (WINAPI *FindErrorNodes)(IQuery *This,const DBCOMMANDTREE *pRoot,ULONG *pcErrorNodes,DBCOMMANDTREE ***prgErrorNodes);
419 HRESULT (WINAPI *FreeCommandTree)(IQuery *This,DBCOMMANDTREE **ppRoot);
420 HRESULT (WINAPI *GetCommandTree)(IQuery *This,DBCOMMANDTREE **ppRoot);
421 HRESULT (WINAPI *SetCommandTree)(IQuery *This,DBCOMMANDTREE **ppRoot,DBCOMMANDREUSE dwCommandReuse,WINBOOL fCopy);
422 HRESULT (WINAPI *AddPostProcessing)(IQuery *This,DBCOMMANDTREE **ppRoot,WINBOOL fCopy);
423 HRESULT (WINAPI *GetCardinalityEstimate)(IQuery *This,DBORDINAL *pulCardinality);
424 END_INTERFACE
425 } IQueryVtbl;
426 struct IQuery {
427 CONST_VTBL struct IQueryVtbl *lpVtbl;
428 };
429#ifdef COBJMACROS
430#define IQuery_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
431#define IQuery_AddRef(This) (This)->lpVtbl->AddRef(This)
432#define IQuery_Release(This) (This)->lpVtbl->Release(This)
433#define IQuery_FindErrorNodes(This,pRoot,pcErrorNodes,prgErrorNodes) (This)->lpVtbl->FindErrorNodes(This,pRoot,pcErrorNodes,prgErrorNodes)
434#define IQuery_FreeCommandTree(This,ppRoot) (This)->lpVtbl->FreeCommandTree(This,ppRoot)
435#define IQuery_GetCommandTree(This,ppRoot) (This)->lpVtbl->GetCommandTree(This,ppRoot)
436#define IQuery_SetCommandTree(This,ppRoot,dwCommandReuse,fCopy) (This)->lpVtbl->SetCommandTree(This,ppRoot,dwCommandReuse,fCopy)
437#define IQuery_AddPostProcessing(This,ppRoot,fCopy) (This)->lpVtbl->AddPostProcessing(This,ppRoot,fCopy)
438#define IQuery_GetCardinalityEstimate(This,pulCardinality) (This)->lpVtbl->GetCardinalityEstimate(This,pulCardinality)
439#endif
440#endif
441 HRESULT WINAPI IQuery_AddPostProcessing_Proxy(IQuery *This,DBCOMMANDTREE **ppRoot,WINBOOL fCopy);
442 void __RPC_STUB IQuery_AddPostProcessing_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
443 HRESULT WINAPI IQuery_GetCardinalityEstimate_Proxy(IQuery *This,DBORDINAL *pulCardinality);
444 void __RPC_STUB IQuery_GetCardinalityEstimate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
445#endif
446
447#include <poppack.h>
448
449 extern RPC_IF_HANDLE __MIDL_itf_cmdtree_0359_v0_0_c_ifspec;
450 extern RPC_IF_HANDLE __MIDL_itf_cmdtree_0359_v0_0_s_ifspec;
451
452#ifdef __cplusplus
453}
454#endif
455#endif
Note: See TracBrowser for help on using the repository browser.