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.

340 lines
8.3 KiB

  1. //-----------------------------------------------------------------------------
  2. // File: msdasc.idl
  3. //
  4. // Copyright: Copyright (c) Microsoft Corporation
  5. //
  6. // Contents: IDL source for MSDASC.dll
  7. //
  8. // Comments: This file will be processed by the MIDL tool to
  9. // produce the type library (acm.tlb) and marshalling code.
  10. //
  11. //-----------------------------------------------------------------------------
  12. cpp_quote("//-----------------------------------------------------------------------------")
  13. cpp_quote("// File: .C or .H file generated by msdasc.idl ")
  14. cpp_quote("//")
  15. cpp_quote("// Copyright: Copyright (c) 1998-1999 Microsoft Corporation")
  16. cpp_quote("//")
  17. cpp_quote("// Contents: .C or .H file generated by msdasc.idl")
  18. cpp_quote("//")
  19. cpp_quote("// Comments: ")
  20. cpp_quote("//")
  21. cpp_quote("//-----------------------------------------------------------------------------")
  22. import "oaidl.idl";
  23. import "ocidl.idl";
  24. cpp_quote("")
  25. cpp_quote("#ifdef _WIN64")
  26. cpp_quote("")
  27. cpp_quote("typedef LONGLONG COMPATIBLE_LONG;")
  28. cpp_quote("")
  29. cpp_quote("#else")
  30. cpp_quote("")
  31. typedef LONG COMPATIBLE_LONG;
  32. cpp_quote("#endif // _WIN64")
  33. #ifndef _PROXY_STUB_BUILDER
  34. // For DSL...
  35. //
  36. import "oledb.idl";
  37. typedef enum tagEBindInfoOptions
  38. {
  39. BIO_BINDER = 0x00000001
  40. } EBindInfoOptions;
  41. //
  42. // Additional STGM flags for OLEDB for documents
  43. //
  44. // STGM_COLLECTION: Create a collection rather than a document.
  45. // This flag is valid only if the STGM_CREATE is set.
  46. //
  47. cpp_quote("#define STGM_COLLECTION 0x00002000L")
  48. // STGM_OUTPUT: Open the executed content, and not underlying source file.
  49. //
  50. cpp_quote("#define STGM_OUTPUT 0x00008000L")
  51. // STGM_OPEN: when specified with STGM_WRITE or STGM_READWRITE this flag
  52. // indicates that the resource should be opened if it already exists
  53. //
  54. cpp_quote("#define STGM_OPEN 0x80000000L")
  55. // STGM_RECURSIVE: Any locks acquired with any SHARE_DENY_* flags
  56. // apply to all subcontainers as well if the resource is a collection. If
  57. // the resource is not a collection, STGM_RECURSIVE has no effect.
  58. //
  59. cpp_quote("#define STGM_RECURSIVE 0x01000000L")
  60. // STGM_STRICTOPEN - open but fail if does not exist
  61. //
  62. cpp_quote("#define STGM_STRICTOPEN 0x40000000L")
  63. [
  64. uuid(06210E88-01F5-11D1-B512-0080C781C384),
  65. helpstring("IService Interface"),
  66. pointer_default(unique)
  67. ]
  68. interface IService : IUnknown
  69. {
  70. [local]
  71. HRESULT InvokeService(
  72. [in] IUnknown * pUnkInner);
  73. };
  74. // Type definitions
  75. //
  76. typedef DWORD DBPROMPTOPTIONS;
  77. typedef enum tagDBPROMPTOPTIONSENUM
  78. {
  79. DBPROMPTOPTIONS_NONE = 0x00,
  80. DBPROMPTOPTIONS_WIZARDSHEET = 0x01,
  81. DBPROMPTOPTIONS_PROPERTYSHEET = 0x02,
  82. DBPROMPTOPTIONS_BROWSEONLY = 0x08,
  83. DBPROMPTOPTIONS_DISABLE_PROVIDER_SELECTION = 0x10,
  84. DBPROMPTOPTIONS_DISABLESAVEPASSWORD = 0x20
  85. } DBPROMPTOPTIONSENUM;
  86. // IDBPromptInitialize
  87. //
  88. [
  89. object,
  90. uuid(2206CCB0-19C1-11D1-89E0-00C04FD7A829),
  91. helpstring("IDBPromptInitialize Interface"),
  92. pointer_default(unique),
  93. local,
  94. restricted
  95. ]
  96. interface IDBPromptInitialize : IUnknown
  97. {
  98. [helpstring("Method PromptDataSource"), local]
  99. HRESULT PromptDataSource(
  100. [in] IUnknown * pUnkOuter,
  101. [in] HWND hWndParent,
  102. [in] DBPROMPTOPTIONS dwPromptOptions,
  103. [in] ULONG cSourceTypeFilter,
  104. [in, size_is(cSourceTypeFilter)] DBSOURCETYPE * rgSourceTypeFilter,
  105. [in] LPCOLESTR pwszszzProviderFilter,
  106. [in] REFIID riid,
  107. [in, out, iid_is(riid)] IUnknown ** ppDataSource);
  108. [helpstring("Method PromptFileName")]
  109. HRESULT PromptFileName(
  110. [in] HWND hWndParent,
  111. [in] DBPROMPTOPTIONS dwPromptOptions,
  112. [in] LPCOLESTR pwszInitialDirectory,
  113. [in] LPCOLESTR pwszInitialFile,
  114. [out] LPOLESTR * ppwszSelectedFile);
  115. };
  116. #endif // _PROXY_STUB_BUILDER
  117. // IDataInitialize
  118. //
  119. [
  120. object,
  121. uuid(2206CCB1-19C1-11D1-89E0-00C04FD7A829),
  122. helpstring("IDataInitialize Interface"),
  123. pointer_default(unique)
  124. ]
  125. interface IDataInitialize : IUnknown
  126. {
  127. [helpstring("Method GetDataSource")]
  128. HRESULT GetDataSource(
  129. [in] IUnknown * pUnkOuter,
  130. [in] DWORD dwClsCtx,
  131. [in, unique] LPCOLESTR pwszInitializationString,
  132. [in] REFIID riid,
  133. [in, out, iid_is(riid)] IUnknown ** ppDataSource);
  134. [helpstring("Method GetInitializationString")]
  135. HRESULT GetInitializationString(
  136. [in] IUnknown * pDataSource,
  137. [in] boolean fIncludePassword,
  138. [out] LPOLESTR * ppwszInitString);
  139. [helpstring("Method CreateDBInstance")]
  140. HRESULT CreateDBInstance(
  141. [in] REFCLSID clsidProvider,
  142. [in] IUnknown * pUnkOuter,
  143. [in] DWORD dwClsCtx,
  144. [in, unique] LPOLESTR pwszReserved,
  145. [in] REFIID riid,
  146. [out, iid_is(riid)] IUnknown ** ppDataSource);
  147. [helpstring("Method CreateDBInstanceEx"), local]
  148. HRESULT CreateDBInstanceEx(
  149. [in] REFCLSID clsidProvider,
  150. [in] IUnknown * pUnkOuter,
  151. [in] DWORD dwClsCtx,
  152. [in, unique] LPOLESTR pwszReserved,
  153. [in, unique] COSERVERINFO * pServerInfo,
  154. [in] ULONG cmq,
  155. [in, out, size_is(cmq)] MULTI_QI * rgmqResults);
  156. [call_as(CreateDBInstanceEx)]
  157. HRESULT RemoteCreateDBInstanceEx(
  158. [in] REFCLSID clsidProvider,
  159. [in] IUnknown * pUnkOuter,
  160. [in] DWORD dwClsCtx,
  161. [in, unique] LPOLESTR pwszReserved,
  162. [in, unique] COSERVERINFO * pServerInfo,
  163. [in] ULONG cmq,
  164. [in, size_is(,cmq)] const IID ** rgpIID,
  165. [out, size_is(,cmq)] IUnknown ** rgpItf,
  166. [out, size_is(cmq)] HRESULT * rghr);
  167. [helpstring("Method LoadStringFromStorage")]
  168. HRESULT LoadStringFromStorage(
  169. [in, unique] LPCOLESTR pwszFileName,
  170. [out] LPOLESTR * ppwszInitializationString);
  171. [helpstring("Method WriteStringToStorage")]
  172. HRESULT WriteStringToStorage(
  173. [in, unique] LPCOLESTR pwszFileName,
  174. [in, unique] LPCOLESTR pwszInitializationString,
  175. [in] DWORD dwCreationDisposition);
  176. };
  177. // Service Components private DBPROPIDs
  178. //
  179. #ifndef _PROXY_STUB_BUILDER
  180. // library MSDASC
  181. //
  182. [
  183. uuid(2206CEB0-19C1-11D1-89E0-00C04FD7A829),
  184. version(1.0),
  185. helpstring("Microsoft OLE DB Service Component 1.0 Type Library")
  186. ]
  187. library MSDASC
  188. {
  189. importlib("stdole32.tlb");
  190. importlib("stdole2.tlb");
  191. // Automation Interface (VB, etc.)
  192. //
  193. [
  194. object,
  195. uuid(2206CCB2-19C1-11D1-89E0-00C04FD7A829),
  196. dual,
  197. helpstring("Microsoft OLE DB Service Component Automation Interface"),
  198. pointer_default(unique)
  199. ]
  200. interface IDataSourceLocator : IDispatch
  201. {
  202. // HWND property
  203. //
  204. [propget, helpstring("Returns and sets the parent window.")]
  205. HRESULT hWnd([out, retval] COMPATIBLE_LONG * phwndParent);
  206. [propput, helpstring("Returns and sets the parent window.")]
  207. HRESULT hWnd([in] COMPATIBLE_LONG hwndParent);
  208. // Displays the wizard interface.
  209. //
  210. [helpstring("PromptNew")]
  211. HRESULT PromptNew(
  212. [out, retval] IDispatch ** ppADOConnection);
  213. // Displays the property sheet.
  214. //
  215. [helpstring("PromptEdit")]
  216. HRESULT PromptEdit(
  217. [in, out] IDispatch ** ppADOConnection,
  218. [out, retval] VARIANT_BOOL * pbSuccess);
  219. };
  220. // coclass DataLinks
  221. //
  222. [
  223. uuid(2206CDB2-19C1-11D1-89E0-00C04FD7A829),
  224. helpstring("Microsoft OLE DB Service Component Data Link")
  225. ]
  226. coclass DataLinks
  227. {
  228. [default] interface IDataSourceLocator;
  229. interface IDBPromptInitialize;
  230. interface IDataInitialize;
  231. }
  232. // coclass MSDAINITIALIZE
  233. //
  234. [
  235. uuid(2206CDB0-19C1-11D1-89E0-00C04FD7A829),
  236. helpstring("Microsoft OLE DB Service Component Initialization Component")
  237. ]
  238. coclass MSDAINITIALIZE
  239. {
  240. [default] interface IDataInitialize;
  241. }
  242. [
  243. uuid(CCB4EC60-B9DC-11D1-AC80-00A0C9034873),
  244. helpstring("Persisted Datasource/Pooling Object")
  245. ]
  246. coclass PDPO
  247. {
  248. [default] interface IPersistFile;
  249. }
  250. ///////////////////////////////////////////////////////////////
  251. //
  252. //Root Binder
  253. //
  254. ///////////////////////////////////////////////////////////////
  255. importlib("stdole32.tlb");
  256. importlib("stdole2.tlb");
  257. [
  258. uuid(FF151822-B0BF-11D1-A80D-000000000000),
  259. helpstring("Microsoft OLE DB Root Binder")
  260. ]
  261. coclass RootBinder
  262. {
  263. [default] interface IBindResource;
  264. interface IUnknown;
  265. interface ICreateRow;
  266. interface IRegisterProvider;
  267. interface IDBBinderProperties;
  268. interface IMarshal;
  269. };
  270. }
  271. #endif _PROXY_STUB_BUILDER