From: Alistair Leslie-Hughes leslie_alistair@hotmail.com
--- dlls/msado15/recordset.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/dlls/msado15/recordset.c b/dlls/msado15/recordset.c index 84084bee5a7..ac2a511611e 100644 --- a/dlls/msado15/recordset.c +++ b/dlls/msado15/recordset.c @@ -865,7 +865,12 @@ static HRESULT WINAPI fields_QueryInterface( Fields *iface, REFIID riid, void ** struct fields *fields = impl_from_Fields( iface ); TRACE( "%p, %s, %p\n", iface, debugstr_guid(riid), obj );
- if (IsEqualGUID( riid, &IID_Fields ) || IsEqualGUID( riid, &IID_IDispatch ) || + if (IsEqualGUID( riid, &IID_Fields ) || + IsEqualGUID( riid, &IID_Fields20 ) || + IsEqualGUID( riid, &IID_Fields15 ) || + IsEqualGUID( riid, &IID_Fields ) || + IsEqualGUID( riid, &IID__Collection ) || + IsEqualGUID( riid, &IID_IDispatch ) || IsEqualGUID( riid, &IID_IUnknown )) { *obj = iface;
From: Alistair Leslie-Hughes leslie_alistair@hotmail.com
--- dlls/msado15/recordset.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/dlls/msado15/recordset.c b/dlls/msado15/recordset.c index ac2a511611e..2eee5d841d7 100644 --- a/dlls/msado15/recordset.c +++ b/dlls/msado15/recordset.c @@ -123,7 +123,10 @@ static HRESULT WINAPI field_QueryInterface( Field *iface, REFIID riid, void **ob struct field *field = impl_from_Field( iface ); TRACE( "%p, %s, %p\n", iface, debugstr_guid(riid), obj );
- if (IsEqualGUID( riid, &IID_Field ) || IsEqualGUID( riid, &IID_IDispatch ) || + if (IsEqualGUID( riid, &IID_Field ) || + IsEqualGUID( riid, &IID_Field20 ) || + IsEqualGUID( riid, &IID__ADO ) || + IsEqualGUID( riid, &IID_IDispatch ) || IsEqualGUID( riid, &IID_IUnknown )) { *obj = iface;
From: Alistair Leslie-Hughes leslie_alistair@hotmail.com
--- dlls/msado15/connection.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/dlls/msado15/connection.c b/dlls/msado15/connection.c index 278ef1e76f4..bc74cb98e02 100644 --- a/dlls/msado15/connection.c +++ b/dlls/msado15/connection.c @@ -122,7 +122,10 @@ static HRESULT WINAPI connection_QueryInterface( _Connection *iface, REFIID riid
*obj = NULL;
- if (IsEqualGUID( riid, &IID__Connection ) || IsEqualGUID( riid, &IID_IDispatch ) || + if (IsEqualGUID( riid, &IID__Connection ) || + IsEqualGUID( riid, &IID_Connection15) || + IsEqualGUID( riid, &IID__ADO) || + IsEqualGUID( riid, &IID_IDispatch ) || IsEqualGUID( riid, &IID_IUnknown )) { *obj = iface;
Piotr Caban (@piotr) commented about dlls/msado15/recordset.c:
struct fields *fields = impl_from_Fields( iface ); TRACE( "%p, %s, %p\n", iface, debugstr_guid(riid), obj );
- if (IsEqualGUID( riid, &IID_Fields ) || IsEqualGUID( riid, &IID_IDispatch ) ||
- if (IsEqualGUID( riid, &IID_Fields ) ||
IsEqualGUID( riid, &IID_Fields20 ) ||
IsEqualGUID( riid, &IID_Fields15 ) ||
IsEqualGUID( riid, &IID_Fields ) ||
You're checking for `IID_Fields` twice.