Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

943 lines
31 KiB

  1. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  2. /* File created by MIDL compiler version 6.00.0361 */
  3. /* Compiler settings for cmdtree.idl:
  4. Oicf, W1, ..., env=Win32 (32b run)
  5. protocol : dce , ms_ext, c_ext, robust
  6. error checks: allocation ref bounds_check enum stub_data
  7. VC __declspec() decoration level:
  8. __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  9. DECLSPEC_UUID(), MIDL_INTERFACE()
  10. */
  11. //@@MIDL_FILE_HEADING( )
  12. #pragma warning( disable: 4049 ) /* more than 64k source lines */
  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__ 475
  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. MIDL_INTERFACE("0c733a87-2a1c-11ce-ade5-00aa0044773d")
  562. ICommandTree : public IUnknown
  563. {
  564. public:
  565. virtual HRESULT STDMETHODCALLTYPE FindErrorNodes(
  566. /* [in] */ const DBCOMMANDTREE *pRoot,
  567. /* [out] */ ULONG *pcErrorNodes,
  568. /* [out] */ DBCOMMANDTREE ***prgErrorNodes) = 0;
  569. virtual HRESULT STDMETHODCALLTYPE FreeCommandTree(
  570. /* [in] */ DBCOMMANDTREE **ppRoot) = 0;
  571. virtual HRESULT STDMETHODCALLTYPE GetCommandTree(
  572. /* [out] */ DBCOMMANDTREE **ppRoot) = 0;
  573. virtual HRESULT STDMETHODCALLTYPE SetCommandTree(
  574. /* [in] */ DBCOMMANDTREE **ppRoot,
  575. /* [in] */ DBCOMMANDREUSE dwCommandReuse,
  576. /* [in] */ BOOL fCopy) = 0;
  577. };
  578. #else /* C style interface */
  579. typedef struct ICommandTreeVtbl
  580. {
  581. BEGIN_INTERFACE
  582. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  583. ICommandTree * This,
  584. /* [in] */ REFIID riid,
  585. /* [iid_is][out] */ void **ppvObject);
  586. ULONG ( STDMETHODCALLTYPE *AddRef )(
  587. ICommandTree * This);
  588. ULONG ( STDMETHODCALLTYPE *Release )(
  589. ICommandTree * This);
  590. HRESULT ( STDMETHODCALLTYPE *FindErrorNodes )(
  591. ICommandTree * This,
  592. /* [in] */ const DBCOMMANDTREE *pRoot,
  593. /* [out] */ ULONG *pcErrorNodes,
  594. /* [out] */ DBCOMMANDTREE ***prgErrorNodes);
  595. HRESULT ( STDMETHODCALLTYPE *FreeCommandTree )(
  596. ICommandTree * This,
  597. /* [in] */ DBCOMMANDTREE **ppRoot);
  598. HRESULT ( STDMETHODCALLTYPE *GetCommandTree )(
  599. ICommandTree * This,
  600. /* [out] */ DBCOMMANDTREE **ppRoot);
  601. HRESULT ( STDMETHODCALLTYPE *SetCommandTree )(
  602. ICommandTree * This,
  603. /* [in] */ DBCOMMANDTREE **ppRoot,
  604. /* [in] */ DBCOMMANDREUSE dwCommandReuse,
  605. /* [in] */ BOOL fCopy);
  606. END_INTERFACE
  607. } ICommandTreeVtbl;
  608. interface ICommandTree
  609. {
  610. CONST_VTBL struct ICommandTreeVtbl *lpVtbl;
  611. };
  612. #ifdef COBJMACROS
  613. #define ICommandTree_QueryInterface(This,riid,ppvObject) \
  614. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  615. #define ICommandTree_AddRef(This) \
  616. (This)->lpVtbl -> AddRef(This)
  617. #define ICommandTree_Release(This) \
  618. (This)->lpVtbl -> Release(This)
  619. #define ICommandTree_FindErrorNodes(This,pRoot,pcErrorNodes,prgErrorNodes) \
  620. (This)->lpVtbl -> FindErrorNodes(This,pRoot,pcErrorNodes,prgErrorNodes)
  621. #define ICommandTree_FreeCommandTree(This,ppRoot) \
  622. (This)->lpVtbl -> FreeCommandTree(This,ppRoot)
  623. #define ICommandTree_GetCommandTree(This,ppRoot) \
  624. (This)->lpVtbl -> GetCommandTree(This,ppRoot)
  625. #define ICommandTree_SetCommandTree(This,ppRoot,dwCommandReuse,fCopy) \
  626. (This)->lpVtbl -> SetCommandTree(This,ppRoot,dwCommandReuse,fCopy)
  627. #endif /* COBJMACROS */
  628. #endif /* C style interface */
  629. HRESULT STDMETHODCALLTYPE ICommandTree_FindErrorNodes_Proxy(
  630. ICommandTree * This,
  631. /* [in] */ const DBCOMMANDTREE *pRoot,
  632. /* [out] */ ULONG *pcErrorNodes,
  633. /* [out] */ DBCOMMANDTREE ***prgErrorNodes);
  634. void __RPC_STUB ICommandTree_FindErrorNodes_Stub(
  635. IRpcStubBuffer *This,
  636. IRpcChannelBuffer *_pRpcChannelBuffer,
  637. PRPC_MESSAGE _pRpcMessage,
  638. DWORD *_pdwStubPhase);
  639. HRESULT STDMETHODCALLTYPE ICommandTree_FreeCommandTree_Proxy(
  640. ICommandTree * This,
  641. /* [in] */ DBCOMMANDTREE **ppRoot);
  642. void __RPC_STUB ICommandTree_FreeCommandTree_Stub(
  643. IRpcStubBuffer *This,
  644. IRpcChannelBuffer *_pRpcChannelBuffer,
  645. PRPC_MESSAGE _pRpcMessage,
  646. DWORD *_pdwStubPhase);
  647. HRESULT STDMETHODCALLTYPE ICommandTree_GetCommandTree_Proxy(
  648. ICommandTree * This,
  649. /* [out] */ DBCOMMANDTREE **ppRoot);
  650. void __RPC_STUB ICommandTree_GetCommandTree_Stub(
  651. IRpcStubBuffer *This,
  652. IRpcChannelBuffer *_pRpcChannelBuffer,
  653. PRPC_MESSAGE _pRpcMessage,
  654. DWORD *_pdwStubPhase);
  655. HRESULT STDMETHODCALLTYPE ICommandTree_SetCommandTree_Proxy(
  656. ICommandTree * This,
  657. /* [in] */ DBCOMMANDTREE **ppRoot,
  658. /* [in] */ DBCOMMANDREUSE dwCommandReuse,
  659. /* [in] */ BOOL fCopy);
  660. void __RPC_STUB ICommandTree_SetCommandTree_Stub(
  661. IRpcStubBuffer *This,
  662. IRpcChannelBuffer *_pRpcChannelBuffer,
  663. PRPC_MESSAGE _pRpcMessage,
  664. DWORD *_pdwStubPhase);
  665. #endif /* __ICommandTree_INTERFACE_DEFINED__ */
  666. #ifndef __IQuery_INTERFACE_DEFINED__
  667. #define __IQuery_INTERFACE_DEFINED__
  668. /* interface IQuery */
  669. /* [unique][uuid][object][local] */
  670. EXTERN_C const IID IID_IQuery;
  671. #if defined(__cplusplus) && !defined(CINTERFACE)
  672. MIDL_INTERFACE("0c733a51-2a1c-11ce-ade5-00aa0044773d")
  673. IQuery : public ICommandTree
  674. {
  675. public:
  676. virtual HRESULT STDMETHODCALLTYPE AddPostProcessing(
  677. /* [in] */ DBCOMMANDTREE **ppRoot,
  678. /* [in] */ BOOL fCopy) = 0;
  679. virtual HRESULT STDMETHODCALLTYPE GetCardinalityEstimate(
  680. /* [out] */ DBORDINAL *pulCardinality) = 0;
  681. };
  682. #else /* C style interface */
  683. typedef struct IQueryVtbl
  684. {
  685. BEGIN_INTERFACE
  686. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  687. IQuery * This,
  688. /* [in] */ REFIID riid,
  689. /* [iid_is][out] */ void **ppvObject);
  690. ULONG ( STDMETHODCALLTYPE *AddRef )(
  691. IQuery * This);
  692. ULONG ( STDMETHODCALLTYPE *Release )(
  693. IQuery * This);
  694. HRESULT ( STDMETHODCALLTYPE *FindErrorNodes )(
  695. IQuery * This,
  696. /* [in] */ const DBCOMMANDTREE *pRoot,
  697. /* [out] */ ULONG *pcErrorNodes,
  698. /* [out] */ DBCOMMANDTREE ***prgErrorNodes);
  699. HRESULT ( STDMETHODCALLTYPE *FreeCommandTree )(
  700. IQuery * This,
  701. /* [in] */ DBCOMMANDTREE **ppRoot);
  702. HRESULT ( STDMETHODCALLTYPE *GetCommandTree )(
  703. IQuery * This,
  704. /* [out] */ DBCOMMANDTREE **ppRoot);
  705. HRESULT ( STDMETHODCALLTYPE *SetCommandTree )(
  706. IQuery * This,
  707. /* [in] */ DBCOMMANDTREE **ppRoot,
  708. /* [in] */ DBCOMMANDREUSE dwCommandReuse,
  709. /* [in] */ BOOL fCopy);
  710. HRESULT ( STDMETHODCALLTYPE *AddPostProcessing )(
  711. IQuery * This,
  712. /* [in] */ DBCOMMANDTREE **ppRoot,
  713. /* [in] */ BOOL fCopy);
  714. HRESULT ( STDMETHODCALLTYPE *GetCardinalityEstimate )(
  715. IQuery * This,
  716. /* [out] */ DBORDINAL *pulCardinality);
  717. END_INTERFACE
  718. } IQueryVtbl;
  719. interface IQuery
  720. {
  721. CONST_VTBL struct IQueryVtbl *lpVtbl;
  722. };
  723. #ifdef COBJMACROS
  724. #define IQuery_QueryInterface(This,riid,ppvObject) \
  725. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  726. #define IQuery_AddRef(This) \
  727. (This)->lpVtbl -> AddRef(This)
  728. #define IQuery_Release(This) \
  729. (This)->lpVtbl -> Release(This)
  730. #define IQuery_FindErrorNodes(This,pRoot,pcErrorNodes,prgErrorNodes) \
  731. (This)->lpVtbl -> FindErrorNodes(This,pRoot,pcErrorNodes,prgErrorNodes)
  732. #define IQuery_FreeCommandTree(This,ppRoot) \
  733. (This)->lpVtbl -> FreeCommandTree(This,ppRoot)
  734. #define IQuery_GetCommandTree(This,ppRoot) \
  735. (This)->lpVtbl -> GetCommandTree(This,ppRoot)
  736. #define IQuery_SetCommandTree(This,ppRoot,dwCommandReuse,fCopy) \
  737. (This)->lpVtbl -> SetCommandTree(This,ppRoot,dwCommandReuse,fCopy)
  738. #define IQuery_AddPostProcessing(This,ppRoot,fCopy) \
  739. (This)->lpVtbl -> AddPostProcessing(This,ppRoot,fCopy)
  740. #define IQuery_GetCardinalityEstimate(This,pulCardinality) \
  741. (This)->lpVtbl -> GetCardinalityEstimate(This,pulCardinality)
  742. #endif /* COBJMACROS */
  743. #endif /* C style interface */
  744. HRESULT STDMETHODCALLTYPE IQuery_AddPostProcessing_Proxy(
  745. IQuery * This,
  746. /* [in] */ DBCOMMANDTREE **ppRoot,
  747. /* [in] */ BOOL fCopy);
  748. void __RPC_STUB IQuery_AddPostProcessing_Stub(
  749. IRpcStubBuffer *This,
  750. IRpcChannelBuffer *_pRpcChannelBuffer,
  751. PRPC_MESSAGE _pRpcMessage,
  752. DWORD *_pdwStubPhase);
  753. HRESULT STDMETHODCALLTYPE IQuery_GetCardinalityEstimate_Proxy(
  754. IQuery * This,
  755. /* [out] */ DBORDINAL *pulCardinality);
  756. void __RPC_STUB IQuery_GetCardinalityEstimate_Stub(
  757. IRpcStubBuffer *This,
  758. IRpcChannelBuffer *_pRpcChannelBuffer,
  759. PRPC_MESSAGE _pRpcMessage,
  760. DWORD *_pdwStubPhase);
  761. #endif /* __IQuery_INTERFACE_DEFINED__ */
  762. /* interface __MIDL_itf_cmdtree_0359 */
  763. /* [local] */
  764. #include <poppack.h> // restore original structure packing
  765. extern RPC_IF_HANDLE __MIDL_itf_cmdtree_0359_v0_0_c_ifspec;
  766. extern RPC_IF_HANDLE __MIDL_itf_cmdtree_0359_v0_0_s_ifspec;
  767. /* Additional Prototypes for ALL interfaces */
  768. /* end of Additional Prototypes */
  769. #ifdef __cplusplus
  770. }
  771. #endif
  772. #endif