Alistair Leslie-Hughes : msdasql: Trace unsupported rowset interfaces.

Alexandre Julliard julliard at winehq.org
Tue Nov 2 17:27:44 CDT 2021


Module: wine
Branch: master
Commit: 1b443bd516ea0a74303cc69450b2a872b43e8d88
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=1b443bd516ea0a74303cc69450b2a872b43e8d88

Author: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
Date:   Tue Nov  2 13:21:26 2021 +1100

msdasql: Trace unsupported rowset interfaces.

Signed-off-by: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/msdasql/session.c        | 15 +++++++++++++++
 dlls/msdasql/tests/provider.c | 10 ++++++++++
 2 files changed, 25 insertions(+)

diff --git a/dlls/msdasql/session.c b/dlls/msdasql/session.c
index 5345701a35e..0298c7e7424 100644
--- a/dlls/msdasql/session.c
+++ b/dlls/msdasql/session.c
@@ -472,6 +472,21 @@ static HRESULT WINAPI msdasql_rowset_QueryInterface(IRowset *iface, REFIID riid,
     {
          *ppv = &rowset->IColumnsRowset_iface;
     }
+    else if (IsEqualGUID(&IID_IRowsetChange, riid))
+    {
+        TRACE("IID_IRowsetChange not supported\n");
+        return E_NOINTERFACE;
+    }
+    else if (IsEqualGUID(&IID_IRowsetUpdate, riid))
+    {
+        TRACE("IID_IRowsetUpdate not supported\n");
+        return E_NOINTERFACE;
+    }
+    else if (IsEqualGUID(&IID_IRowsetLocate, riid))
+    {
+        TRACE("IID_IRowsetLocate not supported\n");
+        return E_NOINTERFACE;
+    }
 
     if(*ppv)
     {
diff --git a/dlls/msdasql/tests/provider.c b/dlls/msdasql/tests/provider.c
index f10156aacfa..8b076ed4479 100644
--- a/dlls/msdasql/tests/provider.c
+++ b/dlls/msdasql/tests/provider.c
@@ -228,6 +228,7 @@ static void test_rowset_interfaces(IRowset *rowset)
     IColumnsInfo *col_info;
     IColumnsRowset *col_rs;
     IAccessor *accessor;
+    IUnknown *unk;
     HRESULT hr;
 
     hr = IRowset_QueryInterface(rowset, &IID_IRowsetInfo, (void**)&info);
@@ -245,6 +246,15 @@ static void test_rowset_interfaces(IRowset *rowset)
     hr = IRowset_QueryInterface(rowset, &IID_IColumnsRowset, (void**)&col_rs);
     ok(hr == S_OK, "got 0x%08x\n", hr);
     IColumnsRowset_Release(col_rs);
+
+    hr = IRowset_QueryInterface(rowset, &IID_IRowsetChange, (void**)&unk);
+    ok(hr == E_NOINTERFACE, "got 0x%08x\n", hr);
+
+    hr = IRowset_QueryInterface(rowset, &IID_IRowsetUpdate, (void**)&unk);
+    ok(hr == E_NOINTERFACE, "got 0x%08x\n", hr);
+
+    hr = IRowset_QueryInterface(rowset, &IID_IRowsetLocate, (void**)&unk);
+    ok(hr == E_NOINTERFACE, "got 0x%08x\n", hr);
 }
 
 static void test_command_rowset(IUnknown *cmd)




More information about the wine-cvs mailing list