2
* Copyright 2009 Huw Davies
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
20
* Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
21
* other than GPL or LGPL is available it will apply instead, Oracle elects to use only
22
* the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
23
* a choice of LGPL license versions is made available with the language indicating
24
* that LGPLv2 or any later version may be used, or where a choice of which version
25
* of the LGPL is applied is otherwise unspecified.
34
pointer_default(unique),
35
uuid(0c733a8d-2a1c-11ce-ade5-00aa0044773d)
37
interface IDataConvert : IUnknown
39
typedef DWORD DBDATACONVERT;
41
enum DBDATACONVERTENUM
43
DBDATACONVERT_DEFAULT = 0,
44
DBDATACONVERT_SETDATABEHAVIOR = 1,
45
DBDATACONVERT_LENGTHFROMNTS = 2,
46
DBDATACONVERT_DSTISFIXEDLENGTH = 4,
47
DBDATACONVERT_DECIMALSCALE = 8
50
[local] HRESULT DataConvert([in] DBTYPE wSrcType,
52
[in] DBLENGTH cbSrcLength,
53
[in, out] DBLENGTH *pcbDstLength,
56
[in] DBLENGTH cbDstMaxLength,
57
[in] DBSTATUS dbsSrcStatus,
58
[out] DBSTATUS *pdbsDstStatus,
61
[in] DBDATACONVERT dwFlags);
64
HRESULT CanConvert([in] DBTYPE wSrcType,
65
[in] DBTYPE wDstType);
68
[local] HRESULT GetConversionSize([in] DBTYPE wSrcType,
70
[in] DBLENGTH *pcbSrcLength,
71
[out] DBLENGTH *pcbDstLength,
72
[in, size_is(*pcbSrcLength)] void *pSrc);
77
pointer_default(unique),
78
uuid(0c733a9c-2a1c-11ce-ade5-00aa0044773d)
80
interface IDCInfo : IUnknown
82
typedef DWORD DCINFOTYPE;
86
DCINFOTYPE_VERSION = 1
89
typedef struct tagDCINFO
95
HRESULT GetInfo([in] ULONG cInfo,
96
[in, size_is(cInfo)] DCINFOTYPE rgeInfoType[],
97
[out, size_is(cInfo)] DCINFO **prgInfo);
99
HRESULT SetInfo([in] ULONG cInfo,
100
[in, size_is(cInfo)] DCINFO prgInfo[]);