oleaut32: Convert CustData to use standard linked lists.
[wine.git] / include / msdadc.idl
blobb1954c2072f213dd4426a8614e3e3d621b090844
1 /*
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
19 import "oaidl.idl";
20 import "ocidl.idl";
21 import "oledb.idl";
24 object,
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,
42 [in] DBTYPE wDstType,
43 [in] DBLENGTH cbSrcLength,
44 [in, out] DBLENGTH *pcbDstLength,
45 [in] void *pSrc,
46 [out] void *pDst,
47 [in] DBLENGTH cbDstMaxLength,
48 [in] DBSTATUS dbsSrcStatus,
49 [out] DBSTATUS *pdbsDstStatus,
50 [in] BYTE bPrecision,
51 [in] BYTE bScale,
52 [in] DBDATACONVERT dwFlags);
55 HRESULT CanConvert([in] DBTYPE wSrcType,
56 [in] DBTYPE wDstType);
59 [local] HRESULT GetConversionSize([in] DBTYPE wSrcType,
60 [in] DBTYPE wDstType,
61 [in] DBLENGTH *pcbSrcLength,
62 [out] DBLENGTH *pcbDstLength,
63 [in, size_is(*pcbSrcLength)] void *pSrc);
67 object,
68 pointer_default(unique),
69 uuid(0c733a9c-2a1c-11ce-ade5-00aa0044773d)
71 interface IDCInfo : IUnknown
73 typedef DWORD DCINFOTYPE;
75 enum DCINFOTYPEENUM
77 DCINFOTYPE_VERSION = 1
80 typedef struct tagDCINFO
82 DCINFOTYPE eInfoType;
83 VARIANT vData;
84 } DCINFO;
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[]);