widl: Generate helper macros for WinRT implementation.
[wine/zf.git] / include / msdasc.idl
blob6a904ba1d2fb9785e58a21f6fd1ce737975957ef
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
29 typedef LONG_PTR COMPATIBLE_LONG;
32 uuid(2206CEB0-19C1-11D1-89E0-00C04FD7A829),
33 version(1.0)
35 library MSDASC
37 importlib("stdole2.tlb");
39 typedef DWORD DBPROMPTOPTIONS;
41 typedef enum tagDBPROMPTOPTIONSENUM
43 DBPROMPTOPTIONS_NONE = 0x00,
44 DBPROMPTOPTIONS_WIZARDSHEET = 0x01,
45 DBPROMPTOPTIONS_PROPERTYSHEET = 0x02,
46 DBPROMPTOPTIONS_BROWSEONLY = 0x08,
47 DBPROMPTOPTIONS_DISABLE_PROVIDER_SELECTION = 0x10,
48 DBPROMPTOPTIONS_DISABLESAVEPASSWORD = 0x20
49 } DBPROMPTOPTIONSENUM;
52 odl,
53 uuid(2206CCB2-19C1-11D1-89E0-00C04FD7A829),
54 helpstring("OLE DB Service Component Automation Interface"),
55 dual,
56 oleautomation
58 interface IDataSourceLocator : IDispatch
60 [id(0x60020000), propget]
61 HRESULT hWnd([out, retval] COMPATIBLE_LONG* phwndParent);
63 [id(0x60020000), propput]
64 HRESULT hWnd([in] COMPATIBLE_LONG hwndParent);
66 [id(0x60020002), helpstring("PromptNew")]
67 HRESULT PromptNew([out, retval] IDispatch** ppADOConnection);
69 [id(0x60020003), helpstring("PromptEdit")]
70 HRESULT PromptEdit([in, out] IDispatch** ppADOConnection, [out, retval] VARIANT_BOOL* pbSuccess);
74 odl,
75 uuid(2206CCB0-19C1-11D1-89E0-00C04FD7A829),
76 restricted
78 interface IDBPromptInitialize : IUnknown
80 HRESULT _stdcall PromptDataSource([in] IUnknown* pUnkOuter, [in] HWND hWndParent,
81 [in] DBPROMPTOPTIONS dwPromptOptions, [in] ULONG cSourceTypeFilter,
82 [in] DBSOURCETYPE* rgSourceTypeFilter, [in] LPWSTR pwszszzProviderFilter,
83 [in] GUID* riid, [in, out] IUnknown** ppDataSource);
85 HRESULT _stdcall PromptFileName([in] HWND hWndParent, [in] ULONG dwPromptOptions,
86 [in] LPWSTR pwszInitialDirectory, [in] LPWSTR pwszInitialFile, [out] LPWSTR* ppwszSelectedFile);
90 uuid(2206CCB1-19C1-11D1-89E0-00C04FD7A829),
92 interface IDataInitialize : IUnknown
94 HRESULT GetDataSource([in] IUnknown* pUnkOuter, [in] DWORD dwClsCtx,
95 [in] LPWSTR pwszInitializationString, [in] REFIID riid,
96 [in, out] IUnknown** ppDataSource);
98 HRESULT GetInitializationString([in] IUnknown* pDataSource, [in] boolean fIncludePassword,
99 [out] LPWSTR* ppwszInitString);
101 HRESULT CreateDBInstance([in] REFCLSID clsidProvider, [in] IUnknown* pUnkOuter,
102 [in] DWORD dwClsCtx, [in] LPWSTR pwszReserved,
103 [in] REFIID riid, [out] IUnknown** ppDataSource);
105 [local]
106 HRESULT CreateDBInstanceEx([in] REFCLSID clsidProvider, [in] IUnknown* pUnkOuter,
107 [in] DWORD dwClsCtx, [in] LPWSTR pwszReserved, [in] COSERVERINFO* pServerInfo,
108 [in] DWORD cmq, [in, out, size_is(cmq)] MULTI_QI *results);
110 [call_as(CreateDBInstanceEx)]
111 HRESULT RemoteCreateDBInstanceEx([in] REFCLSID clsidProvider, [in] IUnknown* pUnkOuter,
112 [in] DWORD dwClsCtx, [in] LPWSTR pwszReserved, [in] COSERVERINFO* pServerInfo,
113 [in] DWORD cmq, [in, size_is(cmq)] const IID **iids, [out, size_is(cmq)] IUnknown **ifs,
114 [out, size_is(cmq)] HRESULT *hr);
116 HRESULT LoadStringFromStorage([in] LPWSTR pwszFileName, [out] LPWSTR* ppwszInitializationString);
118 HRESULT WriteStringToStorage([in] LPWSTR pwszFileName, [in] LPWSTR pwszInitializationString,
119 [in] DWORD dwCreationDisposition);
123 uuid(2206CDB0-19C1-11D1-89E0-00C04FD7A829),
124 threading(both),
125 progid("MSDASC.MSDAINITIALIZE.1"),
126 vi_progid("MSDASC.MSDAINITIALIZE"),
128 coclass MSDAINITIALIZE
130 [default] interface IDataInitialize;
134 uuid(2206CDB2-19C1-11D1-89E0-00C04FD7A829),
135 threading(both),
136 progid("DataLinks")
138 coclass DataLinks
140 [default] interface IDataSourceLocator;
141 interface IDBPromptInitialize;
142 interface IDataInitialize;