From ef003f0fa080e259baf90125e8f063dd0c750eed Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Fri, 14 Sep 2012 08:55:59 +1000 Subject: [PATCH] include: Add msdasc.idl. --- .gitignore | 1 + include/Makefile.in | 1 + include/msdasc.idl | 73 +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 75 insertions(+) create mode 100644 include/msdasc.idl diff --git a/.gitignore b/.gitignore index 93d649a248b..6baea7d9258 100644 --- a/.gitignore +++ b/.gitignore @@ -199,6 +199,7 @@ include/mmstream.h include/mscoree.h include/msctf.h include/msdadc.h +include/msdasc.h include/mshtmhst.h include/mshtml.h include/msident.h diff --git a/include/Makefile.in b/include/Makefile.in index 5bc1d1cc410..37f2c627c2c 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -59,6 +59,7 @@ PUBLIC_IDL_H_SRCS = \ mscoree.idl \ msctf.idl \ msdadc.idl \ + msdasc.idl \ mshtmhst.idl \ mshtml.idl \ msident.idl \ diff --git a/include/msdasc.idl b/include/msdasc.idl new file mode 100644 index 00000000000..103351684c6 --- /dev/null +++ b/include/msdasc.idl @@ -0,0 +1,73 @@ +/* + * Copyright (C) 2012 Alistair Leslie-Hughes + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +import "oaidl.idl"; +import "ocidl.idl"; +import "oledb.idl"; + +#if !defined(progid) && !defined(__WIDL__) +#define threading(model) +#define progid(str) +#define vi_progid(str) +#endif + +[ + uuid(2206CEB0-19C1-11D1-89E0-00C04FD7A829), + version(1.0) +] +library MSDASC +{ + importlib("stdole2.tlb"); + + [ + uuid(2206CCB1-19C1-11D1-89E0-00C04FD7A829), + ] + interface IDataInitialize : IUnknown + { + HRESULT GetDataSource([in] IUnknown* pUnkOuter, [in] DWORD dwClsCtx, + [in] LPWSTR pwszInitializationString, [in] REFIID riid, + [in, out] IUnknown** ppDataSource); + + HRESULT GetInitializationString([in] IUnknown* pDataSource, [in] boolean fIncludePassword, + [out] LPWSTR* ppwszInitString); + + HRESULT CreateDBInstance([in] REFCLSID clsidProvider, [in] IUnknown* pUnkOuter, + [in] DWORD dwClsCtx, [in] LPWSTR pwszReserved, + [in] REFIID riid, [out] IUnknown** ppDataSource); + + HRESULT RemoteCreateDBInstanceEx([in] REFCLSID clsidProvider, [in] IUnknown* pUnkOuter, + [in] DWORD dwClsCtx, [in] LPWSTR pwszReserved, [in] COSERVERINFO* pServerInfo, + [in] DWORD cmq, [in] GUID** rgpIID, [out] IUnknown** rgpItf, + [out] HRESULT* rghr); + + HRESULT LoadStringFromStorage([in] LPWSTR pwszFileName, [out] LPWSTR* ppwszInitializationString); + + HRESULT WriteStringToStorage([in] LPWSTR pwszFileName, [in] LPWSTR pwszInitializationString, + [in] DWORD dwCreationDisposition); + } + + [ + uuid(2206CDB0-19C1-11D1-89E0-00C04FD7A829), + progid("MSDASC.MSDAINITIALIZE.1"), + vi_progid("MSDASC.MSDAINITIALIZE.1"), + ] + coclass MSDAINITIALIZE + { + [default] interface IDataInitialize; + } +}