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.

328 lines
9.5 KiB

  1. //=--------------------------------------------------------------------------=
  2. // ixsso.ODL
  3. //=--------------------------------------------------------------------------=
  4. // Copyright 1996 - 2000 Microsoft Corporation. All Rights Reserved.
  5. //
  6. //=--------------------------------------------------------------------------=
  7. //
  8. // ODL file for the control(s) and automation object(s) in this inproc server
  9. //
  10. #ifndef OLYMPUS_COMPONENT
  11. //=--------------------------------------------------------------------------=
  12. // the libid for this type libray
  13. //
  14. [
  15. uuid(4e469dd1-2b6f-11d0-bfbc-0020f8008024),
  16. helpstring("ixsso Control Library"),
  17. lcid(0x0409),
  18. version(1.0)
  19. ]
  20. library Cisso {
  21. #else
  22. //=--------------------------------------------------------------------------=
  23. // the libid for this type libray
  24. //
  25. [
  26. uuid(4e469dd2-2b6f-11d0-bfbc-0020f8008024),
  27. helpstring("MSSEARCH Control Library"),
  28. lcid(0x0409),
  29. version(1.0)
  30. ]
  31. library Nlsso {
  32. #endif // OLYMPUS_COMPONENT
  33. #include <olectl.h>
  34. //
  35. // standard imports
  36. //
  37. importlib(STDOLE_TLB);
  38. importlib(STDTYPE_TLB);
  39. //
  40. // primary dispatch interface for CissoQuery control
  41. //
  42. [
  43. uuid( f7456c32-6ff0-11d1-a260-0000f8753d7c ),
  44. helpstring("ixssoQuery Control"),
  45. hidden,
  46. dual,
  47. odl
  48. ]
  49. interface IixssoQuery : IDispatch {
  50. //
  51. // properties
  52. //
  53. [propget, helpstring("get/set query restriction")]
  54. HRESULT Query([out, retval] BSTR * val);
  55. [propput, helpstring("get/set query restriction")]
  56. HRESULT Query([in] BSTR val);
  57. [propget]
  58. HRESULT SortBy([out, retval] BSTR * val);
  59. [propput]
  60. HRESULT SortBy([in] BSTR val);
  61. [propget]
  62. HRESULT GroupBy([out, retval] BSTR * val);
  63. [propput]
  64. HRESULT GroupBy([in] BSTR val);
  65. [propget]
  66. HRESULT Columns([out, retval] BSTR * val);
  67. [propput]
  68. HRESULT Columns([in] BSTR val);
  69. [propget]
  70. HRESULT LocaleID([out, retval] LONG * val);
  71. [propput]
  72. HRESULT LocaleID([in] LONG val);
  73. [propget]
  74. HRESULT CodePage([out, retval] LONG * val);
  75. [propput]
  76. HRESULT CodePage([in] LONG val);
  77. [propget]
  78. HRESULT Catalog([out, retval] BSTR * val);
  79. [propput]
  80. HRESULT Catalog([in] BSTR val);
  81. [propget]
  82. HRESULT Dialect([out, retval] BSTR * val);
  83. [propput]
  84. HRESULT Dialect([in] BSTR val);
  85. [propget]
  86. HRESULT OptimizeFor([out, retval] BSTR * val);
  87. [propput]
  88. HRESULT OptimizeFor([in] BSTR val);
  89. [propget]
  90. HRESULT AllowEnumeration([out, retval] VARIANT_BOOL * val);
  91. [propput]
  92. HRESULT AllowEnumeration([in] VARIANT_BOOL val);
  93. [propget]
  94. HRESULT MaxRecords([out, retval] LONG * val);
  95. [propput]
  96. HRESULT MaxRecords([in] LONG val);
  97. [propget]
  98. HRESULT StartHit( [out, retval] VARIANT* val );
  99. [propput]
  100. HRESULT StartHit( [in] VARIANT* val );
  101. [propget]
  102. HRESULT ResourceUseFactor([out, retval] LONG * val);
  103. [propput]
  104. HRESULT ResourceUseFactor([in] LONG val);
  105. //
  106. // read-only properties reflecting query and index state
  107. //
  108. [propget]
  109. HRESULT QueryTimedOut([out, retval] VARIANT_BOOL * val);
  110. [propget]
  111. HRESULT QueryIncomplete([out, retval] VARIANT_BOOL * val);
  112. [propget]
  113. HRESULT OutOfDate([out, retval] VARIANT_BOOL * val);
  114. [propget]
  115. HRESULT CiScope([out, retval] BSTR * val);
  116. [propget]
  117. HRESULT CiFlags([out, retval] BSTR * val);
  118. [propput]
  119. HRESULT CiScope([in] BSTR val);
  120. [propput]
  121. HRESULT CiFlags([in] BSTR val);
  122. //
  123. // methods
  124. //
  125. [helpstring("set query params from URL")]
  126. HRESULT SetQueryFromURL([in] BSTR pwszQuery);
  127. [helpstring("get query params as URL")]
  128. HRESULT QueryToURL([out,retval] BSTR * ppwszQuery);
  129. // NOTE: This is in a private interface for access by the util object
  130. // [helpstring("add scope definition to query")]
  131. // HRESULT AddScopeToQuery([in] BSTR pwszScope,
  132. // [in,optional] BSTR pwszDepth);
  133. [helpstring("define column")]
  134. HRESULT DefineColumn([in] BSTR pwszColDefinition);
  135. [helpstring("execute query, return recordset")]
  136. HRESULT CreateRecordset(
  137. [in] BSTR pwszSequential,
  138. [out,retval] IDispatch * * ppDisp);
  139. [helpstring("reset internal state")]
  140. HRESULT Reset();
  141. [helpstring("Denali support method")]
  142. HRESULT OnStartPage([in] IUnknown * pUnk);
  143. };
  144. //
  145. // extension of primary dispatch interface for CissoQuery control
  146. //
  147. [
  148. uuid( 7d74218f-4858-42f9-99cc-ef2ba840425a ),
  149. helpstring("ixssoQuery ControlEx"),
  150. hidden,
  151. dual,
  152. odl
  153. ]
  154. interface IixssoQueryEx : IixssoQuery {
  155. //
  156. // properties
  157. //
  158. [propget]
  159. HRESULT FirstRows([out, retval] LONG * val);
  160. [propput]
  161. HRESULT FirstRows([in] LONG val);
  162. };
  163. #ifndef OLYMPUS_COMPONENT
  164. //
  165. // coclass for Cixsso controls
  166. //
  167. [
  168. uuid(a4463024-2b6f-11d0-bfbc-0020f8008024),
  169. helpstring("ixsso query control")
  170. ]
  171. coclass CissoQuery {
  172. [default] interface IixssoQuery;
  173. };
  174. //
  175. // coclass for extension of Cixsso controls
  176. //
  177. [
  178. uuid(eafdf8b3-3be5-4e05-bf86-1e486b2fef9d),
  179. helpstring("Extension of ixsso query control")
  180. ]
  181. coclass CissoQueryEx {
  182. [default] interface IixssoQueryEx;
  183. };
  184. #else
  185. //
  186. // coclass for NLSSO controls
  187. //
  188. [
  189. uuid(0b63e352-9ccc-11d0-bcdb-00805fccce04),
  190. helpstring("MSSEARCH query control")
  191. ]
  192. coclass NlssoQuery {
  193. [default] interface IixssoQuery;
  194. };
  195. #endif // OLYMPUS_COMPONENT
  196. //
  197. // primary dispatch interface for CissoUtil control
  198. //
  199. [
  200. uuid( 3b34e346-6cf1-11d1-a260-0000f8753d7c ),
  201. helpstring("ixssoUtil Control"),
  202. hidden,
  203. dual,
  204. odl
  205. ]
  206. interface IixssoUtil : IDispatch {
  207. //
  208. // properties
  209. //
  210. //
  211. // methods
  212. //
  213. midl_pragma warning ( disable:2350 ) // possible invalid member
  214. midl_pragma warning ( disable:2400 ) // optional arg must be VARIANT
  215. [helpstring("add scope restriction to query")]
  216. HRESULT AddScopeToQuery(
  217. [in] IDispatch * pDisp,
  218. [in] BSTR pwszScope,
  219. [in,optional] BSTR pwszDepth);
  220. midl_pragma warning ( default:2400 )
  221. midl_pragma warning ( default:2350 )
  222. [helpstring("convert ISO language code to LCID")]
  223. HRESULT ISOToLocaleID(
  224. [in] BSTR pwszLocale,
  225. [out,retval] LONG * plcid);
  226. [helpstring("convert LCID to ISO language code")]
  227. HRESULT LocaleIDToISO(
  228. [in] LONG lcid,
  229. [out,retval] BSTR * ppwszLocale);
  230. [helpstring("truncate a string at a word break")]
  231. HRESULT TruncateToWhitespace(
  232. [in] BSTR pwszString,
  233. [in] LONG cchLen,
  234. [out,retval] BSTR * ppwszOutput);
  235. [helpstring("access a variant array element")]
  236. HRESULT GetArrayElement(
  237. [in] VARIANT * pVarIn,
  238. [in] LONG iElement,
  239. [out,retval] VARIANT * pVarOut);
  240. [helpstring("encode a string for HTML rendering")]
  241. HRESULT HTMLEncode(
  242. [in] BSTR pwszString,
  243. [in] LONG codepage,
  244. [out,retval] BSTR * ppwszOutput);
  245. [helpstring("encode a string for a URL")]
  246. HRESULT URLEncode(
  247. [in] BSTR pwszString,
  248. [in] LONG codepage,
  249. [out,retval] BSTR * ppwszOutput);
  250. // [helpstring("Denali support method")]
  251. // HRESULT OnStartPage([in] IUnknown * pUnk);
  252. // [helpstring("Denali support method")]
  253. // HRESULT OnEndPage();
  254. };
  255. #ifndef OLYMPUS_COMPONENT
  256. //
  257. // coclasses for utility controls
  258. //
  259. [
  260. uuid( 0c16c27e-a6e7-11d0-bfc3-0020f8008024),
  261. helpstring("ixsso utility control")
  262. ]
  263. coclass CissoUtil {
  264. [default] interface IixssoUtil;
  265. };
  266. #else
  267. [
  268. uuid( ef196b90-e361-11d0-a242-0000f8753d7c),
  269. helpstring("MSSEARCH utility control")
  270. ]
  271. coclass NlssoUtil {
  272. [default] interface IixssoUtil;
  273. };
  274. #endif // OLYMPUS_COMPONENT
  275. };