server: Add a common structure to store irp parameters.
[wine.git] / include / msdasc.idl
blobe3efb1da312ac78beb838c7f2bdf9999d2f81f7d
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 HRESULT RemoteCreateDBInstanceEx([in] REFCLSID clsidProvider, [in] IUnknown* pUnkOuter,
106 [in] DWORD dwClsCtx, [in] LPWSTR pwszReserved, [in] COSERVERINFO* pServerInfo,
107 [in] DWORD cmq, [in] GUID** rgpIID, [out] IUnknown** rgpItf,
108 [out] HRESULT* rghr);
110 HRESULT LoadStringFromStorage([in] LPWSTR pwszFileName, [out] LPWSTR* ppwszInitializationString);
112 HRESULT WriteStringToStorage([in] LPWSTR pwszFileName, [in] LPWSTR pwszInitializationString,
113 [in] DWORD dwCreationDisposition);
117 uuid(2206CDB0-19C1-11D1-89E0-00C04FD7A829),
118 threading(both),
119 progid("MSDASC.MSDAINITIALIZE.1"),
120 vi_progid("MSDASC.MSDAINITIALIZE"),
122 coclass MSDAINITIALIZE
124 [default] interface IDataInitialize;
128 uuid(2206CDB2-19C1-11D1-89E0-00C04FD7A829),
129 threading(both),
130 progid("DataLinks")
132 coclass DataLinks
134 [default] interface IDataSourceLocator;
135 interface IDBPromptInitialize;
136 interface IDataInitialize;