Module: wine Branch: master Commit: 0223f71dc7f5c3bfab724aa39d2e7585b379b68c URL: http://source.winehq.org/git/wine.git/?a=commit;h=0223f71dc7f5c3bfab724aa39d...
Author: Huw Davies huw@codeweavers.com Date: Thu Aug 27 12:34:59 2009 +0100
include: Add msdadc.idl.
---
.gitignore | 1 + include/Makefile.in | 1 + include/dbs.idl | 4 ++ include/msdadc.idl | 92 +++++++++++++++++++++++++++++++++++++++++++++++++++ include/oledb.idl | 1 + 5 files changed, 99 insertions(+), 0 deletions(-)
diff --git a/.gitignore b/.gitignore index 78ae433..049657d 100644 --- a/.gitignore +++ b/.gitignore @@ -139,6 +139,7 @@ include/mlang.h include/mmstream.h include/mscoree.h include/msctf.h +include/msdadc.h include/mshtmhst.h include/mshtml.h include/msinkaut.h diff --git a/include/Makefile.in b/include/Makefile.in index cfcfd54..24c392f 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -45,6 +45,7 @@ PUBLIC_IDL_H_SRCS = \ mmstream.idl \ mscoree.idl \ msctf.idl \ + msdadc.idl \ mshtmhst.idl \ mshtml.idl \ msinkaut.idl \ diff --git a/include/dbs.idl b/include/dbs.idl index 9909c9d..57ccf27 100644 --- a/include/dbs.idl +++ b/include/dbs.idl @@ -109,3 +109,7 @@ typedef struct tagDBIMPLICITSESSION IID *piid; IUnknown *pSession; } DBIMPLICITSESSION; + +typedef WORD DBTYPE; + +typedef DWORD DBSTATUS; diff --git a/include/msdadc.idl b/include/msdadc.idl new file mode 100644 index 0000000..b1954c2 --- /dev/null +++ b/include/msdadc.idl @@ -0,0 +1,92 @@ +/* + * Copyright 2009 Huw Davies + * + * 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"; + +[ + object, + pointer_default(unique), + uuid(0c733a8d-2a1c-11ce-ade5-00aa0044773d) +] +interface IDataConvert : IUnknown +{ + typedef DWORD DBDATACONVERT; + + enum DBDATACONVERTENUM + { + DBDATACONVERT_DEFAULT = 0, + DBDATACONVERT_SETDATABEHAVIOR = 1, + DBDATACONVERT_LENGTHFROMNTS = 2, + DBDATACONVERT_DSTISFIXEDLENGTH = 4, + DBDATACONVERT_DECIMALSCALE = 8 + }; + + [local] HRESULT DataConvert([in] DBTYPE wSrcType, + [in] DBTYPE wDstType, + [in] DBLENGTH cbSrcLength, + [in, out] DBLENGTH *pcbDstLength, + [in] void *pSrc, + [out] void *pDst, + [in] DBLENGTH cbDstMaxLength, + [in] DBSTATUS dbsSrcStatus, + [out] DBSTATUS *pdbsDstStatus, + [in] BYTE bPrecision, + [in] BYTE bScale, + [in] DBDATACONVERT dwFlags); + + + HRESULT CanConvert([in] DBTYPE wSrcType, + [in] DBTYPE wDstType); + + + [local] HRESULT GetConversionSize([in] DBTYPE wSrcType, + [in] DBTYPE wDstType, + [in] DBLENGTH *pcbSrcLength, + [out] DBLENGTH *pcbDstLength, + [in, size_is(*pcbSrcLength)] void *pSrc); +}; + +[ + object, + pointer_default(unique), + uuid(0c733a9c-2a1c-11ce-ade5-00aa0044773d) +] +interface IDCInfo : IUnknown +{ + typedef DWORD DCINFOTYPE; + + enum DCINFOTYPEENUM + { + DCINFOTYPE_VERSION = 1 + }; + + typedef struct tagDCINFO + { + DCINFOTYPE eInfoType; + VARIANT vData; + } DCINFO; + + HRESULT GetInfo([in] ULONG cInfo, + [in, size_is(cInfo)] DCINFOTYPE rgeInfoType[], + [out, size_is(cInfo)] DCINFO **prgInfo); + + HRESULT SetInfo([in] ULONG cInfo, + [in, size_is(cInfo)] DCINFO prgInfo[]); +}; diff --git a/include/oledb.idl b/include/oledb.idl index b973bb9..5c66912 100644 --- a/include/oledb.idl +++ b/include/oledb.idl @@ -30,6 +30,7 @@ import "urlmon.idl";
typedef ULONG DBBYTEOFFSET; typedef ULONG DBCOUNTITEM; +typedef ULONG DBLENGTH;
#include "dbs.idl"