Huw Davies : oledb32: Add a stub IDCInfo interface.
Alexandre Julliard
julliard at winehq.org
Wed Sep 9 09:58:23 CDT 2009
Module: wine
Branch: master
Commit: e789b1e5c0d27010c1d7edd05420cd56abd5bb19
URL: http://source.winehq.org/git/wine.git/?a=commit;h=e789b1e5c0d27010c1d7edd05420cd56abd5bb19
Author: Huw Davies <huw at codeweavers.com>
Date: Wed Sep 9 10:49:35 2009 +0100
oledb32: Add a stub IDCInfo interface.
---
dlls/oledb32/convert.c | 62 +++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 61 insertions(+), 1 deletions(-)
diff --git a/dlls/oledb32/convert.c b/dlls/oledb32/convert.c
index ca2040c..06d49b0 100644
--- a/dlls/oledb32/convert.c
+++ b/dlls/oledb32/convert.c
@@ -37,6 +37,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(oledb);
typedef struct
{
const struct IDataConvertVtbl *lpVtbl;
+ const struct IDCInfoVtbl *lpDCInfoVtbl;
LONG ref;
} convert;
@@ -46,6 +47,11 @@ static inline convert *impl_from_IDataConvert(IDataConvert *iface)
return (convert *)((char*)iface - FIELD_OFFSET(convert, lpVtbl));
}
+static inline convert *impl_from_IDCInfo(IDCInfo *iface)
+{
+ return (convert *)((char*)iface - FIELD_OFFSET(convert, lpDCInfoVtbl));
+}
+
static HRESULT WINAPI convert_QueryInterface(IDataConvert* iface,
REFIID riid,
void **obj)
@@ -60,6 +66,10 @@ static HRESULT WINAPI convert_QueryInterface(IDataConvert* iface,
{
*obj = iface;
}
+ else if(IsEqualIID(riid, &IID_IDCInfo))
+ {
+ *obj = &This->lpDCInfoVtbl;
+ }
else
{
FIXME("interface %s not implemented\n", debugstr_guid(riid));
@@ -131,7 +141,6 @@ static HRESULT WINAPI convert_GetConversionSize(IDataConvert* iface,
FIXME("(%p)->(%d, %d, %p, %p, %p): stub\n", This, wSrcType, wDstType, pcbSrcLength, pcbDstLength, pSrc);
return E_NOTIMPL;
-
}
static const struct IDataConvertVtbl convert_vtbl =
@@ -144,6 +153,56 @@ static const struct IDataConvertVtbl convert_vtbl =
convert_GetConversionSize
};
+static HRESULT WINAPI dcinfo_QueryInterface(IDCInfo* iface, REFIID riid, void **obj)
+{
+ convert *This = impl_from_IDCInfo(iface);
+
+ return IDataConvert_QueryInterface((IDataConvert *)This, riid, obj);
+}
+
+static ULONG WINAPI dcinfo_AddRef(IDCInfo* iface)
+{
+ convert *This = impl_from_IDCInfo(iface);
+
+ return IDataConvert_AddRef((IDataConvert *)This);
+}
+
+static ULONG WINAPI dcinfo_Release(IDCInfo* iface)
+{
+ convert *This = impl_from_IDCInfo(iface);
+
+ return IDataConvert_Release((IDataConvert *)This);
+}
+
+static HRESULT WINAPI dcinfo_GetInfo(IDCInfo *iface, ULONG num, DCINFOTYPE types[], DCINFO **info)
+{
+ convert *This = impl_from_IDCInfo(iface);
+
+ FIXME("(%p)->(%d, %p, %p): stub\n", This, num, types, info);
+
+ *info = NULL;
+
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI dcinfo_SetInfo(IDCInfo* iface, ULONG num, DCINFO info[])
+{
+ convert *This = impl_from_IDCInfo(iface);
+
+ FIXME("(%p)->(%d, %p): stub\n", This, num, info);
+
+ return E_NOTIMPL;
+}
+
+static const struct IDCInfoVtbl dcinfo_vtbl =
+{
+ dcinfo_QueryInterface,
+ dcinfo_AddRef,
+ dcinfo_Release,
+ dcinfo_GetInfo,
+ dcinfo_SetInfo
+};
+
HRESULT create_oledb_convert(IUnknown *outer, void **obj)
{
convert *This;
@@ -158,6 +217,7 @@ HRESULT create_oledb_convert(IUnknown *outer, void **obj)
if(!This) return E_OUTOFMEMORY;
This->lpVtbl = &convert_vtbl;
+ This->lpDCInfoVtbl = &dcinfo_vtbl;
This->ref = 1;
*obj = &This->lpVtbl;
More information about the wine-cvs
mailing list