rpcrt4: Free url in error paths (Coverity).
[wine.git] / include / msdasc.idl
blobf3b6a37742fce0ca7cf71cd9f046e38729eb63d8
1 /*
2 * Copyright (C) 2012 Alistair Leslie-Hughes
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 import "oaidl.idl";
20 import "ocidl.idl";
21 import "oledb.idl";
23 #if !defined(progid) && !defined(__WIDL__)
24 #define threading(model)
25 #define progid(str)
26 #define vi_progid(str)
27 #endif
30 uuid(2206CEB0-19C1-11D1-89E0-00C04FD7A829),
31 version(1.0)
33 library MSDASC
35 importlib("stdole2.tlb");
37 typedef DWORD DBPROMPTOPTIONS;
39 typedef enum tagDBPROMPTOPTIONSENUM
41 DBPROMPTOPTIONS_NONE = 0x00,
42 DBPROMPTOPTIONS_WIZARDSHEET = 0x01,
43 DBPROMPTOPTIONS_PROPERTYSHEET = 0x02,
44 DBPROMPTOPTIONS_BROWSEONLY = 0x08,
45 DBPROMPTOPTIONS_DISABLE_PROVIDER_SELECTION = 0x10,
46 DBPROMPTOPTIONS_DISABLESAVEPASSWORD = 0x20
47 } DBPROMPTOPTIONSENUM;
50 odl,
51 uuid(2206CCB2-19C1-11D1-89E0-00C04FD7A829),
52 helpstring("OLE DB Service Component Automation Interface"),
53 dual,
54 oleautomation
56 interface IDataSourceLocator : IDispatch
58 [id(0x60020000), propget]
59 HRESULT hWnd([out, retval] long* phwndParent);
61 [id(0x60020000), propput]
62 HRESULT hWnd([in] long phwndParent);
64 [id(0x60020002), helpstring("PromptNew")]
65 HRESULT PromptNew([out, retval] IDispatch** ppADOConnection);
67 [id(0x60020003), helpstring("PromptEdit")]
68 HRESULT PromptEdit([in, out] IDispatch** ppADOConnection, [out, retval] VARIANT_BOOL* pbSuccess);
72 odl,
73 uuid(2206CCB0-19C1-11D1-89E0-00C04FD7A829),
74 restricted
76 interface IDBPromptInitialize : IUnknown
78 HRESULT _stdcall PromptDataSource([in] IUnknown* pUnkOuter, [in] HWND hWndParent,
79 [in] DBPROMPTOPTIONS dwPromptOptions, [in] ULONG cSourceTypeFilter,
80 [in] DBSOURCETYPE* rgSourceTypeFilter, [in] LPWSTR pwszszzProviderFilter,
81 [in] GUID* riid, [in, out] IUnknown** ppDataSource);
83 HRESULT _stdcall PromptFileName([in] HWND hWndParent, [in] ULONG dwPromptOptions,
84 [in] LPWSTR pwszInitialDirectory, [in] LPWSTR pwszInitialFile, [out] LPWSTR* ppwszSelectedFile);
88 uuid(2206CCB1-19C1-11D1-89E0-00C04FD7A829),
90 interface IDataInitialize : IUnknown
92 HRESULT GetDataSource([in] IUnknown* pUnkOuter, [in] DWORD dwClsCtx,
93 [in] LPWSTR pwszInitializationString, [in] REFIID riid,
94 [in, out] IUnknown** ppDataSource);
96 HRESULT GetInitializationString([in] IUnknown* pDataSource, [in] boolean fIncludePassword,
97 [out] LPWSTR* ppwszInitString);
99 HRESULT CreateDBInstance([in] REFCLSID clsidProvider, [in] IUnknown* pUnkOuter,
100 [in] DWORD dwClsCtx, [in] LPWSTR pwszReserved,
101 [in] REFIID riid, [out] IUnknown** ppDataSource);
103 HRESULT RemoteCreateDBInstanceEx([in] REFCLSID clsidProvider, [in] IUnknown* pUnkOuter,
104 [in] DWORD dwClsCtx, [in] LPWSTR pwszReserved, [in] COSERVERINFO* pServerInfo,
105 [in] DWORD cmq, [in] GUID** rgpIID, [out] IUnknown** rgpItf,
106 [out] HRESULT* rghr);
108 HRESULT LoadStringFromStorage([in] LPWSTR pwszFileName, [out] LPWSTR* ppwszInitializationString);
110 HRESULT WriteStringToStorage([in] LPWSTR pwszFileName, [in] LPWSTR pwszInitializationString,
111 [in] DWORD dwCreationDisposition);
115 uuid(2206CDB0-19C1-11D1-89E0-00C04FD7A829),
116 threading(both),
117 progid("MSDASC.MSDAINITIALIZE.1"),
118 vi_progid("MSDASC.MSDAINITIALIZE"),
120 coclass MSDAINITIALIZE
122 [default] interface IDataInitialize;
126 uuid(2206CDB2-19C1-11D1-89E0-00C04FD7A829),
127 progid("DataLinks")
129 coclass DataLinks
131 [default] interface IDataSourceLocator;
132 interface IDBPromptInitialize;
133 interface IDataInitialize;