CmdTree.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:31k
源码类别:

模拟服务器

开发平台:

C/C++

  1. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3.  /* File created by MIDL compiler version 6.00.0347 */
  4. /* Compiler settings for cmdtree.idl:
  5.     Oicf, W1, ..., env=Win32 (32b run)
  6.     protocol : dce , ms_ext, c_ext
  7.     error checks: allocation ref bounds_check enum stub_data 
  8.     VC __declspec() decoration level: 
  9.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  10.          DECLSPEC_UUID(), MIDL_INTERFACE()
  11. */
  12. //@@MIDL_FILE_HEADING(  )
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 440
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif // __RPCNDR_H_VERSION__
  22. #ifndef COM_NO_WINDOWS_H
  23. #include "windows.h"
  24. #include "ole2.h"
  25. #endif /*COM_NO_WINDOWS_H*/
  26. #ifndef __cmdtree_h__
  27. #define __cmdtree_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */ 
  32. #ifndef __ICommandTree_FWD_DEFINED__
  33. #define __ICommandTree_FWD_DEFINED__
  34. typedef interface ICommandTree ICommandTree;
  35. #endif  /* __ICommandTree_FWD_DEFINED__ */
  36. #ifndef __IQuery_FWD_DEFINED__
  37. #define __IQuery_FWD_DEFINED__
  38. typedef interface IQuery IQuery;
  39. #endif  /* __IQuery_FWD_DEFINED__ */
  40. /* header files for imported files */
  41. #include "oledb.h"
  42. #ifdef __cplusplus
  43. extern "C"{
  44. #endif 
  45. void * __RPC_USER MIDL_user_allocate(size_t);
  46. void __RPC_USER MIDL_user_free( void * ); 
  47. /* interface __MIDL_itf_cmdtree_0000 */
  48. /* [local] */ 
  49. //+---------------------------------------------------------------------------
  50. //
  51. //  Microsoft OLE DB
  52. //  Copyright (C) Microsoft Corporation, 1994 - 1999.
  53. //
  54. //----------------------------------------------------------------------------
  55. #ifdef _WIN64
  56. #include <pshpack8.h> // 8-byte structure packing
  57. #else
  58. #include <pshpack2.h> // 2-byte structure packing
  59. #endif
  60. extern RPC_IF_HANDLE __MIDL_itf_cmdtree_0000_v0_0_c_ifspec;
  61. extern RPC_IF_HANDLE __MIDL_itf_cmdtree_0000_v0_0_s_ifspec;
  62. #ifndef __CommandTreeStructureDefinitions_INTERFACE_DEFINED__
  63. #define __CommandTreeStructureDefinitions_INTERFACE_DEFINED__
  64. /* interface CommandTreeStructureDefinitions */
  65. /* [auto_handle][unique][uuid] */ 
  66. typedef WORD DBCOMMANDOP;
  67. enum DBCOMMANDOPENUM
  68.     { DBOP_scalar_constant = 0,
  69. DBOP_DEFAULT = DBOP_scalar_constant + 1,
  70. DBOP_NULL = DBOP_DEFAULT + 1,
  71. DBOP_bookmark_name = DBOP_NULL + 1,
  72. DBOP_catalog_name = DBOP_bookmark_name + 1,
  73. DBOP_column_name = DBOP_catalog_name + 1,
  74. DBOP_schema_name = DBOP_column_name + 1,
  75. DBOP_outall_name = DBOP_schema_name + 1,
  76. DBOP_qualifier_name = DBOP_outall_name + 1,
  77. DBOP_qualified_column_name = DBOP_qualifier_name + 1,
  78. DBOP_table_name = DBOP_qualified_column_name + 1,
  79. DBOP_nested_table_name = DBOP_table_name + 1,
  80. DBOP_nested_column_name = DBOP_nested_table_name + 1,
  81. DBOP_row = DBOP_nested_column_name + 1,
  82. DBOP_table = DBOP_row + 1,
  83. DBOP_sort = DBOP_table + 1,
  84. DBOP_distinct = DBOP_sort + 1,
  85. DBOP_distinct_order_preserving = DBOP_distinct + 1,
  86. DBOP_alias = DBOP_distinct_order_preserving + 1,
  87. DBOP_cross_join = DBOP_alias + 1,
  88. DBOP_union_join = DBOP_cross_join + 1,
  89. DBOP_inner_join = DBOP_union_join + 1,
  90. DBOP_left_semi_join = DBOP_inner_join + 1,
  91. DBOP_right_semi_join = DBOP_left_semi_join + 1,
  92. DBOP_left_anti_semi_join = DBOP_right_semi_join + 1,
  93. DBOP_right_anti_semi_join = DBOP_left_anti_semi_join + 1,
  94. DBOP_left_outer_join = DBOP_right_anti_semi_join + 1,
  95. DBOP_right_outer_join = DBOP_left_outer_join + 1,
  96. DBOP_full_outer_join = DBOP_right_outer_join + 1,
  97. DBOP_natural_join = DBOP_full_outer_join + 1,
  98. DBOP_natural_left_outer_join = DBOP_natural_join + 1,
  99. DBOP_natural_right_outer_join = DBOP_natural_left_outer_join + 1,
  100. DBOP_natural_full_outer_join = DBOP_natural_right_outer_join + 1,
  101. DBOP_set_intersection = DBOP_natural_full_outer_join + 1,
  102. DBOP_set_union = DBOP_set_intersection + 1,
  103. DBOP_set_left_difference = DBOP_set_union + 1,
  104. DBOP_set_right_difference = DBOP_set_left_difference + 1,
  105. DBOP_set_anti_difference = DBOP_set_right_difference + 1,
  106. DBOP_bag_intersection = DBOP_set_anti_difference + 1,
  107. DBOP_bag_union = DBOP_bag_intersection + 1,
  108. DBOP_bag_left_difference = DBOP_bag_union + 1,
  109. DBOP_bag_right_difference = DBOP_bag_left_difference + 1,
  110. DBOP_bag_anti_difference = DBOP_bag_right_difference + 1,
  111. DBOP_division = DBOP_bag_anti_difference + 1,
  112. DBOP_relative_sampling = DBOP_division + 1,
  113. DBOP_absolute_sampling = DBOP_relative_sampling + 1,
  114. DBOP_transitive_closure = DBOP_absolute_sampling + 1,
  115. DBOP_recursive_union = DBOP_transitive_closure + 1,
  116. DBOP_aggregate = DBOP_recursive_union + 1,
  117. DBOP_remote_table = DBOP_aggregate + 1,
  118. DBOP_select = DBOP_remote_table + 1,
  119. DBOP_order_preserving_select = DBOP_select + 1,
  120. DBOP_project = DBOP_order_preserving_select + 1,
  121. DBOP_project_order_preserving = DBOP_project + 1,
  122. DBOP_top = DBOP_project_order_preserving + 1,
  123. DBOP_top_percent = DBOP_top + 1,
  124. DBOP_top_plus_ties = DBOP_top_percent + 1,
  125. DBOP_top_percent_plus_ties = DBOP_top_plus_ties + 1,
  126. DBOP_rank = DBOP_top_percent_plus_ties + 1,
  127. DBOP_rank_ties_equally = DBOP_rank + 1,
  128. DBOP_rank_ties_equally_and_skip = DBOP_rank_ties_equally + 1,
  129. DBOP_navigate = DBOP_rank_ties_equally_and_skip + 1,
  130. DBOP_nesting = DBOP_navigate + 1,
  131. DBOP_unnesting = DBOP_nesting + 1,
  132. DBOP_nested_apply = DBOP_unnesting + 1,
  133. DBOP_cross_tab = DBOP_nested_apply + 1,
  134. DBOP_is_NULL = DBOP_cross_tab + 1,
  135. DBOP_is_NOT_NULL = DBOP_is_NULL + 1,
  136. DBOP_equal = DBOP_is_NOT_NULL + 1,
  137. DBOP_not_equal = DBOP_equal + 1,
  138. DBOP_less = DBOP_not_equal + 1,
  139. DBOP_less_equal = DBOP_less + 1,
  140. DBOP_greater = DBOP_less_equal + 1,
  141. DBOP_greater_equal = DBOP_greater + 1,
  142. DBOP_equal_all = DBOP_greater_equal + 1,
  143. DBOP_not_equal_all = DBOP_equal_all + 1,
  144. DBOP_less_all = DBOP_not_equal_all + 1,
  145. DBOP_less_equal_all = DBOP_less_all + 1,
  146. DBOP_greater_all = DBOP_less_equal_all + 1,
  147. DBOP_greater_equal_all = DBOP_greater_all + 1,
  148. DBOP_equal_any = DBOP_greater_equal_all + 1,
  149. DBOP_not_equal_any = DBOP_equal_any + 1,
  150. DBOP_less_any = DBOP_not_equal_any + 1,
  151. DBOP_less_equal_any = DBOP_less_any + 1,
  152. DBOP_greater_any = DBOP_less_equal_any + 1,
  153. DBOP_greater_equal_any = DBOP_greater_any + 1,
  154. DBOP_anybits = DBOP_greater_equal_any + 1,
  155. DBOP_allbits = DBOP_anybits + 1,
  156. DBOP_anybits_any = DBOP_allbits + 1,
  157. DBOP_allbits_any = DBOP_anybits_any + 1,
  158. DBOP_anybits_all = DBOP_allbits_any + 1,
  159. DBOP_allbits_all = DBOP_anybits_all + 1,
  160. DBOP_between = DBOP_allbits_all + 1,
  161. DBOP_between_unordered = DBOP_between + 1,
  162. DBOP_match = DBOP_between_unordered + 1,
  163. DBOP_match_unique = DBOP_match + 1,
  164. DBOP_match_partial = DBOP_match_unique + 1,
  165. DBOP_match_partial_unique = DBOP_match_partial + 1,
  166. DBOP_match_full = DBOP_match_partial_unique + 1,
  167. DBOP_match_full_unique = DBOP_match_full + 1,
  168. DBOP_scalar_parameter = DBOP_match_full_unique + 1,
  169. DBOP_scalar_function = DBOP_scalar_parameter + 1,
  170. DBOP_plus = DBOP_scalar_function + 1,
  171. DBOP_minus = DBOP_plus + 1,
  172. DBOP_times = DBOP_minus + 1,
  173. DBOP_over = DBOP_times + 1,
  174. DBOP_div = DBOP_over + 1,
  175. DBOP_modulo = DBOP_div + 1,
  176. DBOP_power = DBOP_modulo + 1,
  177. DBOP_like = DBOP_power + 1,
  178. DBOP_sounds_like = DBOP_like + 1,
  179. DBOP_like_any = DBOP_sounds_like + 1,
  180. DBOP_like_all = DBOP_like_any + 1,
  181. DBOP_is_INVALID = DBOP_like_all + 1,
  182. DBOP_is_TRUE = DBOP_is_INVALID + 1,
  183. DBOP_is_FALSE = DBOP_is_TRUE + 1,
  184. DBOP_and = DBOP_is_FALSE + 1,
  185. DBOP_or = DBOP_and + 1,
  186. DBOP_xor = DBOP_or + 1,
  187. DBOP_equivalent = DBOP_xor + 1,
  188. DBOP_not = DBOP_equivalent + 1,
  189. DBOP_implies = DBOP_not + 1,
  190. DBOP_overlaps = DBOP_implies + 1,
  191. DBOP_case_condition = DBOP_overlaps + 1,
  192. DBOP_case_value = DBOP_case_condition + 1,
  193. DBOP_nullif = DBOP_case_value + 1,
  194. DBOP_cast = DBOP_nullif + 1,
  195. DBOP_coalesce = DBOP_cast + 1,
  196. DBOP_position = DBOP_coalesce + 1,
  197. DBOP_extract = DBOP_position + 1,
  198. DBOP_char_length = DBOP_extract + 1,
  199. DBOP_octet_length = DBOP_char_length + 1,
  200. DBOP_bit_length = DBOP_octet_length + 1,
  201. DBOP_substring = DBOP_bit_length + 1,
  202. DBOP_upper = DBOP_substring + 1,
  203. DBOP_lower = DBOP_upper + 1,
  204. DBOP_trim = DBOP_lower + 1,
  205. DBOP_translate = DBOP_trim + 1,
  206. DBOP_convert = DBOP_translate + 1,
  207. DBOP_string_concat = DBOP_convert + 1,
  208. DBOP_current_date = DBOP_string_concat + 1,
  209. DBOP_current_time = DBOP_current_date + 1,
  210. DBOP_current_timestamp = DBOP_current_time + 1,
  211. DBOP_content_select = DBOP_current_timestamp + 1,
  212. DBOP_content = DBOP_content_select + 1,
  213. DBOP_content_freetext = DBOP_content + 1,
  214. DBOP_content_proximity = DBOP_content_freetext + 1,
  215. DBOP_content_vector_or = DBOP_content_proximity + 1,
  216. DBOP_delete = DBOP_content_vector_or + 1,
  217. DBOP_update = DBOP_delete + 1,
  218. DBOP_insert = DBOP_update + 1,
  219. DBOP_min = DBOP_insert + 1,
  220. DBOP_max = DBOP_min + 1,
  221. DBOP_count = DBOP_max + 1,
  222. DBOP_sum = DBOP_count + 1,
  223. DBOP_avg = DBOP_sum + 1,
  224. DBOP_any_sample = DBOP_avg + 1,
  225. DBOP_stddev = DBOP_any_sample + 1,
  226. DBOP_stddev_pop = DBOP_stddev + 1,
  227. DBOP_var = DBOP_stddev_pop + 1,
  228. DBOP_var_pop = DBOP_var + 1,
  229. DBOP_first = DBOP_var_pop + 1,
  230. DBOP_last = DBOP_first + 1,
  231. DBOP_in = DBOP_last + 1,
  232. DBOP_exists = DBOP_in + 1,
  233. DBOP_unique = DBOP_exists + 1,
  234. DBOP_subset = DBOP_unique + 1,
  235. DBOP_proper_subset = DBOP_subset + 1,
  236. DBOP_superset = DBOP_proper_subset + 1,
  237. DBOP_proper_superset = DBOP_superset + 1,
  238. DBOP_disjoint = DBOP_proper_superset + 1,
  239. DBOP_pass_through = DBOP_disjoint + 1,
  240. DBOP_defined_by_GUID = DBOP_pass_through + 1,
  241. DBOP_text_command = DBOP_defined_by_GUID + 1,
  242. DBOP_SQL_select = DBOP_text_command + 1,
  243. DBOP_prior_command_tree = DBOP_SQL_select + 1,
  244. DBOP_add_columns = DBOP_prior_command_tree + 1,
  245. DBOP_column_list_anchor = DBOP_add_columns + 1,
  246. DBOP_column_list_element = DBOP_column_list_anchor + 1,
  247. DBOP_command_list_anchor = DBOP_column_list_element + 1,
  248. DBOP_command_list_element = DBOP_command_list_anchor + 1,
  249. DBOP_from_list_anchor = DBOP_command_list_element + 1,
  250. DBOP_from_list_element = DBOP_from_list_anchor + 1,
  251. DBOP_project_list_anchor = DBOP_from_list_element + 1,
  252. DBOP_project_list_element = DBOP_project_list_anchor + 1,
  253. DBOP_row_list_anchor = DBOP_project_list_element + 1,
  254. DBOP_row_list_element = DBOP_row_list_anchor + 1,
  255. DBOP_scalar_list_anchor = DBOP_row_list_element + 1,
  256. DBOP_scalar_list_element = DBOP_scalar_list_anchor + 1,
  257. DBOP_set_list_anchor = DBOP_scalar_list_element + 1,
  258. DBOP_set_list_element = DBOP_set_list_anchor + 1,
  259. DBOP_sort_list_anchor = DBOP_set_list_element + 1,
  260. DBOP_sort_list_element = DBOP_sort_list_anchor + 1,
  261. DBOP_alter_character_set = DBOP_sort_list_element + 1,
  262. DBOP_alter_collation = DBOP_alter_character_set + 1,
  263. DBOP_alter_domain = DBOP_alter_collation + 1,
  264. DBOP_alter_index = DBOP_alter_domain + 1,
  265. DBOP_alter_procedure = DBOP_alter_index + 1,
  266. DBOP_alter_schema = DBOP_alter_procedure + 1,
  267. DBOP_alter_table = DBOP_alter_schema + 1,
  268. DBOP_alter_trigger = DBOP_alter_table + 1,
  269. DBOP_alter_view = DBOP_alter_trigger + 1,
  270. DBOP_coldef_list_anchor = DBOP_alter_view + 1,
  271. DBOP_coldef_list_element = DBOP_coldef_list_anchor + 1,
  272. DBOP_create_assertion = DBOP_coldef_list_element + 1,
  273. DBOP_create_character_set = DBOP_create_assertion + 1,
  274. DBOP_create_collation = DBOP_create_character_set + 1,
  275. DBOP_create_domain = DBOP_create_collation + 1,
  276. DBOP_create_index = DBOP_create_domain + 1,
  277. DBOP_create_procedure = DBOP_create_index + 1,
  278. DBOP_create_schema = DBOP_create_procedure + 1,
  279. DBOP_create_synonym = DBOP_create_schema + 1,
  280. DBOP_create_table = DBOP_create_synonym + 1,
  281. DBOP_create_temporary_table = DBOP_create_table + 1,
  282. DBOP_create_translation = DBOP_create_temporary_table + 1,
  283. DBOP_create_trigger = DBOP_create_translation + 1,
  284. DBOP_create_view = DBOP_create_trigger + 1,
  285. DBOP_drop_assertion = DBOP_create_view + 1,
  286. DBOP_drop_character_set = DBOP_drop_assertion + 1,
  287. DBOP_drop_collation = DBOP_drop_character_set + 1,
  288. DBOP_drop_domain = DBOP_drop_collation + 1,
  289. DBOP_drop_index = DBOP_drop_domain + 1,
  290. DBOP_drop_procedure = DBOP_drop_index + 1,
  291. DBOP_drop_schema = DBOP_drop_procedure + 1,
  292. DBOP_drop_synonym = DBOP_drop_schema + 1,
  293. DBOP_drop_table = DBOP_drop_synonym + 1,
  294. DBOP_drop_translation = DBOP_drop_table + 1,
  295. DBOP_drop_trigger = DBOP_drop_translation + 1,
  296. DBOP_drop_view = DBOP_drop_trigger + 1,
  297. DBOP_foreign_key = DBOP_drop_view + 1,
  298. DBOP_grant_privileges = DBOP_foreign_key + 1,
  299. DBOP_index_list_anchor = DBOP_grant_privileges + 1,
  300. DBOP_index_list_element = DBOP_index_list_anchor + 1,
  301. DBOP_primary_key = DBOP_index_list_element + 1,
  302. DBOP_property_list_anchor = DBOP_primary_key + 1,
  303. DBOP_property_list_element = DBOP_property_list_anchor + 1,
  304. DBOP_referenced_table = DBOP_property_list_element + 1,
  305. DBOP_rename_object = DBOP_referenced_table + 1,
  306. DBOP_revoke_privileges = DBOP_rename_object + 1,
  307. DBOP_schema_authorization = DBOP_revoke_privileges + 1,
  308. DBOP_unique_key = DBOP_schema_authorization + 1,
  309. DBOP_scope_list_anchor = DBOP_unique_key + 1,
  310. DBOP_scope_list_element = DBOP_scope_list_anchor + 1,
  311. DBOP_content_table = DBOP_scope_list_element + 1
  312.     } ;
  313. #ifdef DBINITCONSTANTS
  314. extern const OLEDBDECLSPEC GUID DBGUID_LIKE_SQL                        = {0xc8b521f6,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  315. extern const OLEDBDECLSPEC GUID DBGUID_LIKE_DOS                        = {0xc8b521f7,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  316. extern const OLEDBDECLSPEC GUID DBGUID_LIKE_OFS                        = {0xc8b521f8,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  317. extern const OLEDBDECLSPEC GUID DBGUID_LIKE_MAPI                       = {0xc8b521f9,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};
  318. #else // !DBINITCONSTANTS
  319. extern const GUID DBGUID_LIKE_SQL;
  320. extern const GUID DBGUID_LIKE_DOS;
  321. extern const GUID DBGUID_LIKE_OFS;
  322. extern const GUID DBGUID_LIKE_MAPI;
  323. #endif // DBINITCONSTANTS
  324. extern RPC_IF_HANDLE CommandTreeStructureDefinitions_v0_0_c_ifspec;
  325. extern RPC_IF_HANDLE CommandTreeStructureDefinitions_v0_0_s_ifspec;
  326. #endif /* __CommandTreeStructureDefinitions_INTERFACE_DEFINED__ */
  327. #ifndef __ICommandTree_INTERFACE_DEFINED__
  328. #define __ICommandTree_INTERFACE_DEFINED__
  329. /* interface ICommandTree */
  330. /* [unique][uuid][object][local] */ 
  331. typedef DWORD DBCOMMANDREUSE;
  332. enum DBCOMMANDREUSEENUM
  333.     { DBCOMMANDREUSE_NONE = 0,
  334. DBCOMMANDREUSE_PROPERTIES = 0x1,
  335. DBCOMMANDREUSE_PARAMETERS = 0x2
  336.     } ;
  337. typedef DWORD DBVALUEKIND;
  338. enum DBVALUEKINDENUM
  339.     { DBVALUEKIND_BYGUID = 256,
  340. DBVALUEKIND_COLDESC = DBVALUEKIND_BYGUID + 1,
  341. DBVALUEKIND_ID = DBVALUEKIND_COLDESC + 1,
  342. DBVALUEKIND_CONTENT = DBVALUEKIND_ID + 1,
  343. DBVALUEKIND_CONTENTVECTOR = DBVALUEKIND_CONTENT + 1,
  344. DBVALUEKIND_GROUPINFO = DBVALUEKIND_CONTENTVECTOR + 1,
  345. DBVALUEKIND_PARAMETER = DBVALUEKIND_GROUPINFO + 1,
  346. DBVALUEKIND_PROPERTY = DBVALUEKIND_PARAMETER + 1,
  347. DBVALUEKIND_SETFUNC = DBVALUEKIND_PROPERTY + 1,
  348. DBVALUEKIND_SORTINFO = DBVALUEKIND_SETFUNC + 1,
  349. DBVALUEKIND_TEXT = DBVALUEKIND_SORTINFO + 1,
  350. DBVALUEKIND_COMMAND = DBVALUEKIND_TEXT + 1,
  351. DBVALUEKIND_MONIKER = DBVALUEKIND_COMMAND + 1,
  352. DBVALUEKIND_ROWSET = DBVALUEKIND_MONIKER + 1,
  353. DBVALUEKIND_LIKE = DBVALUEKIND_ROWSET + 1,
  354. DBVALUEKIND_CONTENTPROXIMITY = DBVALUEKIND_LIKE + 1,
  355. DBVALUEKIND_CONTENTSCOPE = DBVALUEKIND_CONTENTPROXIMITY + 1,
  356. DBVALUEKIND_CONTENTTABLE = DBVALUEKIND_CONTENTSCOPE + 1,
  357. DBVALUEKIND_IDISPATCH = 9,
  358. DBVALUEKIND_IUNKNOWN = 13,
  359. DBVALUEKIND_EMPTY = 0,
  360. DBVALUEKIND_NULL = 1,
  361. DBVALUEKIND_I2 = 2,
  362. DBVALUEKIND_I4 = 3,
  363. DBVALUEKIND_R4 = 4,
  364. DBVALUEKIND_R8 = 5,
  365. DBVALUEKIND_CY = 6,
  366. DBVALUEKIND_DATE = 7,
  367. DBVALUEKIND_BSTR = 8,
  368. DBVALUEKIND_ERROR = 10,
  369. DBVALUEKIND_BOOL = 11,
  370. DBVALUEKIND_VARIANT = 12,
  371. DBVALUEKIND_VECTOR = 0x1000,
  372. DBVALUEKIND_ARRAY = 0x2000,
  373. DBVALUEKIND_BYREF = 0x4000,
  374. DBVALUEKIND_I1 = 16,
  375. DBVALUEKIND_UI1 = 17,
  376. DBVALUEKIND_UI2 = 18,
  377. DBVALUEKIND_UI4 = DBVALUEKIND_UI2 + 1,
  378. DBVALUEKIND_I8 = DBVALUEKIND_UI4 + 1,
  379. DBVALUEKIND_UI8 = DBVALUEKIND_I8 + 1,
  380. DBVALUEKIND_GUID = 72,
  381. DBVALUEKIND_BYTES = 128,
  382. DBVALUEKIND_STR = 129,
  383. DBVALUEKIND_WSTR = 130,
  384. DBVALUEKIND_NUMERIC = 131,
  385. DBVALUEKIND_DBDATE = 133,
  386. DBVALUEKIND_DBTIME = 134,
  387. DBVALUEKIND_DBTIMESTAMP = 135,
  388. DBVALUEKIND_PROBABILISTIC = 136,
  389. DBVALUEKIND_RELEVANTDOCUMENT = 137
  390.     } ;
  391. typedef struct tagDBBYGUID
  392.     {
  393.     /* [size_is] */ BYTE *pbInfo;
  394.     DBLENGTH cbInfo;
  395.     GUID guid;
  396.     }  DBBYGUID;
  397. #define GENERATE_METHOD_EXACT    ( 0 )
  398. #define GENERATE_METHOD_PREFIX   ( 1 )
  399. #define GENERATE_METHOD_INFLECT  ( 2 )
  400. typedef struct tagDBCONTENT
  401.     {
  402.     LPOLESTR pwszPhrase;
  403.     DWORD dwGenerateMethod;
  404.     LONG lWeight;
  405.     LCID lcid;
  406.     }  DBCONTENT;
  407. #define SCOPE_FLAG_MASK      ( 0x000000ff )
  408. #define SCOPE_FLAG_INCLUDE   ( 0x00000001 )
  409. #define SCOPE_FLAG_DEEP      ( 0x00000002 )
  410. #define SCOPE_TYPE_MASK      ( 0xffffff00 )
  411. #define SCOPE_TYPE_WINPATH   ( 0x00000100 )
  412. #define SCOPE_TYPE_VPATH     ( 0x00000200 )
  413. typedef struct tagDBCONTENTSCOPE
  414.     {
  415.     DWORD dwFlags;
  416.     LPOLESTR *rgpwszTagName;
  417.     LPOLESTR pwszElementValue;
  418.     }  DBCONTENTSCOPE;
  419. typedef struct tagDBCONTENTTABLE
  420.     {
  421.     LPOLESTR pwszMachine;
  422.     LPOLESTR pwszCatalog;
  423.     }  DBCONTENTTABLE;
  424. #define PROPID_QUERY_RANKVECTOR  ( 0x2 )
  425. #define PROPID_QUERY_RANK        ( 0x3 )
  426. #define PROPID_QUERY_HITCOUNT    ( 0x4 )
  427. #define PROPID_QUERY_ALL         ( 0x6 )
  428. #define PROPID_STG_CONTENTS      ( 0x13 )
  429. #define VECTOR_RANK_MIN          ( 0 )
  430. #define VECTOR_RANK_MAX          ( 1 )
  431. #define VECTOR_RANK_INNER        ( 2 )
  432. #define VECTOR_RANK_DICE         ( 3 )
  433. #define VECTOR_RANK_JACCARD      ( 4 )
  434. typedef struct tagDBCONTENTVECTOR
  435.     {
  436.     LONG lWeight;
  437.     DWORD dwRankingMethod;
  438.     }  DBCONTENTVECTOR;
  439. typedef struct tagDBGROUPINFO
  440.     {
  441.     LCID lcid;
  442.     }  DBGROUPINFO;
  443. typedef struct tagDBPARAMETER
  444.     {
  445.     LPOLESTR pwszName;
  446.     ITypeInfo *pTypeInfo;
  447.     DB_NUMERIC *pNum;
  448.     DBLENGTH cbMaxLength;
  449.     DBPARAMFLAGS dwFlags;
  450.     DBTYPE wType;
  451.     }  DBPARAMETER;
  452. #define DBSETFUNC_NONE       0x0
  453. #define DBSETFUNC_ALL        0x1
  454. #define DBSETFUNC_DISTINCT   0x2
  455. typedef struct tagDBSETFUNC
  456.     {
  457.     DWORD dwSetQuantifier;
  458.     }  DBSETFUNC;
  459. typedef struct tagDBSORTINFO
  460.     {
  461.     BOOL fDesc;
  462.     LCID lcid;
  463.     }  DBSORTINFO;
  464. typedef struct tagDBTEXT
  465.     {
  466.     LPOLESTR pwszText;
  467.     ULONG ulErrorLocator;
  468.     ULONG ulTokenLength;
  469.     GUID guidDialect;
  470.     }  DBTEXT;
  471. typedef struct tagDBLIKE
  472.     {
  473.     LONG lWeight;
  474.     GUID guidDialect;
  475.     }  DBLIKE;
  476. #define PROXIMITY_UNIT_WORD           ( 0 )
  477. #define PROXIMITY_UNIT_SENTENCE       ( 1 )
  478. #define PROXIMITY_UNIT_PARAGRAPH      ( 2 )
  479. #define PROXIMITY_UNIT_CHAPTER        ( 3 )
  480. typedef struct tagDBCONTENTPROXIMITY
  481.     {
  482.     DWORD dwProximityUnit;
  483.     ULONG ulProximityDistance;
  484.     LONG lWeight;
  485.     }  DBCONTENTPROXIMITY;
  486. typedef struct tagDBPROBABILISTIC
  487.     {
  488.     LONG lWeight;
  489.     float flK1;
  490.     float flK2;
  491.     float flK3;
  492.     float flB;
  493.     }  DBPROBABILISTIC;
  494. typedef struct tagDBRELEVANTDOCUMENT
  495.     {
  496.     LONG lWeight;
  497.     VARIANT vDocument;
  498.     }  DBRELEVANTDOCUMENT;
  499. typedef struct tagDBCOMMANDTREE
  500.     {
  501.     DBCOMMANDOP op;
  502.     WORD wKind;
  503.     struct tagDBCOMMANDTREE *pctFirstChild;
  504.     struct tagDBCOMMANDTREE *pctNextSibling;
  505.     /* [switch_is][switch_type] */ union 
  506.         {
  507.         /* [case()] */ __int64 llValue;
  508.         /* [case()] */ unsigned __int64 ullValue;
  509.         /* [case()] */ BOOL fValue;
  510.         /* [case()] */ unsigned char uchValue;
  511.         /* [case()] */ signed char schValue;
  512.         /* [case()] */ unsigned short usValue;
  513.         /* [case()] */ short sValue;
  514.         /* [case()] */ LPOLESTR pwszValue;
  515.         /* [case()] */ LONG lValue;
  516.         /* [case()] */ ULONG ulValue;
  517.         /* [case()] */ float flValue;
  518.         /* [case()] */ double dblValue;
  519.         /* [case()] */ CY cyValue;
  520.         /* [case()] */ DATE dateValue;
  521.         /* [case()] */ DBDATE dbdateValue;
  522.         /* [case()] */ DBTIME dbtimeValue;
  523.         /* [case()] */ SCODE scodeValue;
  524.         /* [case()] */ BSTR *pbstrValue;
  525.         /* [case()] */ ICommand *pCommand;
  526.         /* [case()] */ IDispatch *pDispatch;
  527.         /* [case()] */ IMoniker *pMoniker;
  528.         /* [case()] */ IRowset *pRowset;
  529.         /* [case()] */ IUnknown *pUnknown;
  530.         /* [case()] */ DBBYGUID *pdbbygdValue;
  531.         /* [case()] */ DBCOLUMNDESC *pcoldescValue;
  532.         /* [case()] */ DBID *pdbidValue;
  533.         /* [case()] */ DBLIKE *pdblikeValue;
  534.         /* [case()] */ DBCONTENT *pdbcntntValue;
  535.         /* [case()] */ DBCONTENTSCOPE *pdbcntntscpValue;
  536.         /* [case()] */ DBCONTENTTABLE *pdbcntnttblValue;
  537.         /* [case()] */ DBCONTENTVECTOR *pdbcntntvcValue;
  538.         /* [case()] */ DBCONTENTPROXIMITY *pdbcntntproxValue;
  539.         /* [case()] */ DBGROUPINFO *pdbgrpinfValue;
  540.         /* [case()] */ DBPARAMETER *pdbparamValue;
  541.         /* [case()] */ DBPROPSET *pdbpropValue;
  542.         /* [case()] */ DBSETFUNC *pdbstfncValue;
  543.         /* [case()] */ DBSORTINFO *pdbsrtinfValue;
  544.         /* [case()] */ DBTEXT *pdbtxtValue;
  545.         /* [case()] */ DBVECTOR *pdbvectorValue;
  546.         /* [case()] */ SAFEARRAY *parrayValue;
  547.         /* [case()] */ VARIANT *pvarValue;
  548.         /* [case()] */ GUID *pGuid;
  549.         /* [case()] */ BYTE *pbValue;
  550.         /* [case()] */ char *pzValue;
  551.         /* [case()] */ DB_NUMERIC *pdbnValue;
  552.         /* [case()] */ DBTIMESTAMP *pdbtsValue;
  553.         /* [case()] */ void *pvValue;
  554.         /* [case()] */ DBPROBABILISTIC *pdbprobValue;
  555.         /* [case()] */ DBRELEVANTDOCUMENT *pdbreldocValue;
  556.         }  value;
  557.     HRESULT hrError;
  558.     }  DBCOMMANDTREE;
  559. EXTERN_C const IID IID_ICommandTree;
  560. #if defined(__cplusplus) && !defined(CINTERFACE)
  561.     
  562.     MIDL_INTERFACE("0c733a87-2a1c-11ce-ade5-00aa0044773d")
  563.     ICommandTree : public IUnknown
  564.     {
  565.     public:
  566.         virtual HRESULT STDMETHODCALLTYPE FindErrorNodes( 
  567.             /* [in] */ const DBCOMMANDTREE *pRoot,
  568.             /* [out] */ ULONG *pcErrorNodes,
  569.             /* [out] */ DBCOMMANDTREE ***prgErrorNodes) = 0;
  570.         
  571.         virtual HRESULT STDMETHODCALLTYPE FreeCommandTree( 
  572.             /* [in] */ DBCOMMANDTREE **ppRoot) = 0;
  573.         
  574.         virtual HRESULT STDMETHODCALLTYPE GetCommandTree( 
  575.             /* [out] */ DBCOMMANDTREE **ppRoot) = 0;
  576.         
  577.         virtual HRESULT STDMETHODCALLTYPE SetCommandTree( 
  578.             /* [in] */ DBCOMMANDTREE **ppRoot,
  579.             /* [in] */ DBCOMMANDREUSE dwCommandReuse,
  580.             /* [in] */ BOOL fCopy) = 0;
  581.         
  582.     };
  583.     
  584. #else  /* C style interface */
  585.     typedef struct ICommandTreeVtbl
  586.     {
  587.         BEGIN_INTERFACE
  588.         
  589.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  590.             ICommandTree * This,
  591.             /* [in] */ REFIID riid,
  592.             /* [iid_is][out] */ void **ppvObject);
  593.         
  594.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  595.             ICommandTree * This);
  596.         
  597.         ULONG ( STDMETHODCALLTYPE *Release )( 
  598.             ICommandTree * This);
  599.         
  600.         HRESULT ( STDMETHODCALLTYPE *FindErrorNodes )( 
  601.             ICommandTree * This,
  602.             /* [in] */ const DBCOMMANDTREE *pRoot,
  603.             /* [out] */ ULONG *pcErrorNodes,
  604.             /* [out] */ DBCOMMANDTREE ***prgErrorNodes);
  605.         
  606.         HRESULT ( STDMETHODCALLTYPE *FreeCommandTree )( 
  607.             ICommandTree * This,
  608.             /* [in] */ DBCOMMANDTREE **ppRoot);
  609.         
  610.         HRESULT ( STDMETHODCALLTYPE *GetCommandTree )( 
  611.             ICommandTree * This,
  612.             /* [out] */ DBCOMMANDTREE **ppRoot);
  613.         
  614.         HRESULT ( STDMETHODCALLTYPE *SetCommandTree )( 
  615.             ICommandTree * This,
  616.             /* [in] */ DBCOMMANDTREE **ppRoot,
  617.             /* [in] */ DBCOMMANDREUSE dwCommandReuse,
  618.             /* [in] */ BOOL fCopy);
  619.         
  620.         END_INTERFACE
  621.     } ICommandTreeVtbl;
  622.     interface ICommandTree
  623.     {
  624.         CONST_VTBL struct ICommandTreeVtbl *lpVtbl;
  625.     };
  626.     
  627. #ifdef COBJMACROS
  628. #define ICommandTree_QueryInterface(This,riid,ppvObject)
  629.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  630. #define ICommandTree_AddRef(This)
  631.     (This)->lpVtbl -> AddRef(This)
  632. #define ICommandTree_Release(This)
  633.     (This)->lpVtbl -> Release(This)
  634. #define ICommandTree_FindErrorNodes(This,pRoot,pcErrorNodes,prgErrorNodes)
  635.     (This)->lpVtbl -> FindErrorNodes(This,pRoot,pcErrorNodes,prgErrorNodes)
  636. #define ICommandTree_FreeCommandTree(This,ppRoot)
  637.     (This)->lpVtbl -> FreeCommandTree(This,ppRoot)
  638. #define ICommandTree_GetCommandTree(This,ppRoot)
  639.     (This)->lpVtbl -> GetCommandTree(This,ppRoot)
  640. #define ICommandTree_SetCommandTree(This,ppRoot,dwCommandReuse,fCopy)
  641.     (This)->lpVtbl -> SetCommandTree(This,ppRoot,dwCommandReuse,fCopy)
  642. #endif /* COBJMACROS */
  643. #endif  /* C style interface */
  644. HRESULT STDMETHODCALLTYPE ICommandTree_FindErrorNodes_Proxy( 
  645.     ICommandTree * This,
  646.     /* [in] */ const DBCOMMANDTREE *pRoot,
  647.     /* [out] */ ULONG *pcErrorNodes,
  648.     /* [out] */ DBCOMMANDTREE ***prgErrorNodes);
  649. void __RPC_STUB ICommandTree_FindErrorNodes_Stub(
  650.     IRpcStubBuffer *This,
  651.     IRpcChannelBuffer *_pRpcChannelBuffer,
  652.     PRPC_MESSAGE _pRpcMessage,
  653.     DWORD *_pdwStubPhase);
  654. HRESULT STDMETHODCALLTYPE ICommandTree_FreeCommandTree_Proxy( 
  655.     ICommandTree * This,
  656.     /* [in] */ DBCOMMANDTREE **ppRoot);
  657. void __RPC_STUB ICommandTree_FreeCommandTree_Stub(
  658.     IRpcStubBuffer *This,
  659.     IRpcChannelBuffer *_pRpcChannelBuffer,
  660.     PRPC_MESSAGE _pRpcMessage,
  661.     DWORD *_pdwStubPhase);
  662. HRESULT STDMETHODCALLTYPE ICommandTree_GetCommandTree_Proxy( 
  663.     ICommandTree * This,
  664.     /* [out] */ DBCOMMANDTREE **ppRoot);
  665. void __RPC_STUB ICommandTree_GetCommandTree_Stub(
  666.     IRpcStubBuffer *This,
  667.     IRpcChannelBuffer *_pRpcChannelBuffer,
  668.     PRPC_MESSAGE _pRpcMessage,
  669.     DWORD *_pdwStubPhase);
  670. HRESULT STDMETHODCALLTYPE ICommandTree_SetCommandTree_Proxy( 
  671.     ICommandTree * This,
  672.     /* [in] */ DBCOMMANDTREE **ppRoot,
  673.     /* [in] */ DBCOMMANDREUSE dwCommandReuse,
  674.     /* [in] */ BOOL fCopy);
  675. void __RPC_STUB ICommandTree_SetCommandTree_Stub(
  676.     IRpcStubBuffer *This,
  677.     IRpcChannelBuffer *_pRpcChannelBuffer,
  678.     PRPC_MESSAGE _pRpcMessage,
  679.     DWORD *_pdwStubPhase);
  680. #endif  /* __ICommandTree_INTERFACE_DEFINED__ */
  681. #ifndef __IQuery_INTERFACE_DEFINED__
  682. #define __IQuery_INTERFACE_DEFINED__
  683. /* interface IQuery */
  684. /* [unique][uuid][object][local] */ 
  685. EXTERN_C const IID IID_IQuery;
  686. #if defined(__cplusplus) && !defined(CINTERFACE)
  687.     
  688.     MIDL_INTERFACE("0c733a51-2a1c-11ce-ade5-00aa0044773d")
  689.     IQuery : public ICommandTree
  690.     {
  691.     public:
  692.         virtual HRESULT STDMETHODCALLTYPE AddPostProcessing( 
  693.             /* [in] */ DBCOMMANDTREE **ppRoot,
  694.             /* [in] */ BOOL fCopy) = 0;
  695.         
  696.         virtual HRESULT STDMETHODCALLTYPE GetCardinalityEstimate( 
  697.             /* [out] */ DBORDINAL *pulCardinality) = 0;
  698.         
  699.     };
  700.     
  701. #else  /* C style interface */
  702.     typedef struct IQueryVtbl
  703.     {
  704.         BEGIN_INTERFACE
  705.         
  706.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  707.             IQuery * This,
  708.             /* [in] */ REFIID riid,
  709.             /* [iid_is][out] */ void **ppvObject);
  710.         
  711.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  712.             IQuery * This);
  713.         
  714.         ULONG ( STDMETHODCALLTYPE *Release )( 
  715.             IQuery * This);
  716.         
  717.         HRESULT ( STDMETHODCALLTYPE *FindErrorNodes )( 
  718.             IQuery * This,
  719.             /* [in] */ const DBCOMMANDTREE *pRoot,
  720.             /* [out] */ ULONG *pcErrorNodes,
  721.             /* [out] */ DBCOMMANDTREE ***prgErrorNodes);
  722.         
  723.         HRESULT ( STDMETHODCALLTYPE *FreeCommandTree )( 
  724.             IQuery * This,
  725.             /* [in] */ DBCOMMANDTREE **ppRoot);
  726.         
  727.         HRESULT ( STDMETHODCALLTYPE *GetCommandTree )( 
  728.             IQuery * This,
  729.             /* [out] */ DBCOMMANDTREE **ppRoot);
  730.         
  731.         HRESULT ( STDMETHODCALLTYPE *SetCommandTree )( 
  732.             IQuery * This,
  733.             /* [in] */ DBCOMMANDTREE **ppRoot,
  734.             /* [in] */ DBCOMMANDREUSE dwCommandReuse,
  735.             /* [in] */ BOOL fCopy);
  736.         
  737.         HRESULT ( STDMETHODCALLTYPE *AddPostProcessing )( 
  738.             IQuery * This,
  739.             /* [in] */ DBCOMMANDTREE **ppRoot,
  740.             /* [in] */ BOOL fCopy);
  741.         
  742.         HRESULT ( STDMETHODCALLTYPE *GetCardinalityEstimate )( 
  743.             IQuery * This,
  744.             /* [out] */ DBORDINAL *pulCardinality);
  745.         
  746.         END_INTERFACE
  747.     } IQueryVtbl;
  748.     interface IQuery
  749.     {
  750.         CONST_VTBL struct IQueryVtbl *lpVtbl;
  751.     };
  752.     
  753. #ifdef COBJMACROS
  754. #define IQuery_QueryInterface(This,riid,ppvObject)
  755.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  756. #define IQuery_AddRef(This)
  757.     (This)->lpVtbl -> AddRef(This)
  758. #define IQuery_Release(This)
  759.     (This)->lpVtbl -> Release(This)
  760. #define IQuery_FindErrorNodes(This,pRoot,pcErrorNodes,prgErrorNodes)
  761.     (This)->lpVtbl -> FindErrorNodes(This,pRoot,pcErrorNodes,prgErrorNodes)
  762. #define IQuery_FreeCommandTree(This,ppRoot)
  763.     (This)->lpVtbl -> FreeCommandTree(This,ppRoot)
  764. #define IQuery_GetCommandTree(This,ppRoot)
  765.     (This)->lpVtbl -> GetCommandTree(This,ppRoot)
  766. #define IQuery_SetCommandTree(This,ppRoot,dwCommandReuse,fCopy)
  767.     (This)->lpVtbl -> SetCommandTree(This,ppRoot,dwCommandReuse,fCopy)
  768. #define IQuery_AddPostProcessing(This,ppRoot,fCopy)
  769.     (This)->lpVtbl -> AddPostProcessing(This,ppRoot,fCopy)
  770. #define IQuery_GetCardinalityEstimate(This,pulCardinality)
  771.     (This)->lpVtbl -> GetCardinalityEstimate(This,pulCardinality)
  772. #endif /* COBJMACROS */
  773. #endif  /* C style interface */
  774. HRESULT STDMETHODCALLTYPE IQuery_AddPostProcessing_Proxy( 
  775.     IQuery * This,
  776.     /* [in] */ DBCOMMANDTREE **ppRoot,
  777.     /* [in] */ BOOL fCopy);
  778. void __RPC_STUB IQuery_AddPostProcessing_Stub(
  779.     IRpcStubBuffer *This,
  780.     IRpcChannelBuffer *_pRpcChannelBuffer,
  781.     PRPC_MESSAGE _pRpcMessage,
  782.     DWORD *_pdwStubPhase);
  783. HRESULT STDMETHODCALLTYPE IQuery_GetCardinalityEstimate_Proxy( 
  784.     IQuery * This,
  785.     /* [out] */ DBORDINAL *pulCardinality);
  786. void __RPC_STUB IQuery_GetCardinalityEstimate_Stub(
  787.     IRpcStubBuffer *This,
  788.     IRpcChannelBuffer *_pRpcChannelBuffer,
  789.     PRPC_MESSAGE _pRpcMessage,
  790.     DWORD *_pdwStubPhase);
  791. #endif  /* __IQuery_INTERFACE_DEFINED__ */
  792. /* interface __MIDL_itf_cmdtree_0353 */
  793. /* [local] */ 
  794. #include <poppack.h>     // restore original structure packing
  795. extern RPC_IF_HANDLE __MIDL_itf_cmdtree_0353_v0_0_c_ifspec;
  796. extern RPC_IF_HANDLE __MIDL_itf_cmdtree_0353_v0_0_s_ifspec;
  797. /* Additional Prototypes for ALL interfaces */
  798. /* end of Additional Prototypes */
  799. #ifdef __cplusplus
  800. }
  801. #endif
  802. #endif