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
25 pointer_default(unique),
26 uuid(0c733a8d
-2a1c
-11ce
-ade5
-00aa0044773d
)
28 interface IDataConvert
: IUnknown
30 typedef DWORD DBDATACONVERT
;
32 enum DBDATACONVERTENUM
34 DBDATACONVERT_DEFAULT
= 0,
35 DBDATACONVERT_SETDATABEHAVIOR
= 1,
36 DBDATACONVERT_LENGTHFROMNTS
= 2,
37 DBDATACONVERT_DSTISFIXEDLENGTH
= 4,
38 DBDATACONVERT_DECIMALSCALE
= 8
41 [local] HRESULT DataConvert
([in] DBTYPE wSrcType
,
43 [in] DBLENGTH cbSrcLength
,
44 [in, out] DBLENGTH
*pcbDstLength
,
47 [in] DBLENGTH cbDstMaxLength
,
48 [in] DBSTATUS dbsSrcStatus
,
49 [out] DBSTATUS
*pdbsDstStatus
,
52 [in] DBDATACONVERT dwFlags
);
55 HRESULT CanConvert
([in] DBTYPE wSrcType
,
56 [in] DBTYPE wDstType
);
59 [local] HRESULT GetConversionSize
([in] DBTYPE wSrcType
,
61 [in] DBLENGTH
*pcbSrcLength
,
62 [out] DBLENGTH
*pcbDstLength
,
63 [in, size_is(*pcbSrcLength
)] void *pSrc
);
68 pointer_default(unique),
69 uuid(0c733a9c
-2a1c
-11ce
-ade5
-00aa0044773d
)
71 interface IDCInfo
: IUnknown
73 typedef DWORD DCINFOTYPE
;
77 DCINFOTYPE_VERSION
= 1
80 typedef struct tagDCINFO
86 HRESULT GetInfo
([in] ULONG cInfo
,
87 [in, size_is(cInfo
)] DCINFOTYPE rgeInfoType
[],
88 [out, size_is(cInfo
)] DCINFO
**prgInfo
);
90 HRESULT SetInfo
([in] ULONG cInfo
,
91 [in, size_is(cInfo
)] DCINFO prgInfo
[]);