[PATCH 3/5] msdasql: Trace unsupported interfaces.

Alistair Leslie-Hughes leslie_alistair at hotmail.com
Fri Oct 29 01:32:46 CDT 2021


Signed-off-by: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
---
 dlls/msdasql/session.c        | 25 +++++++++++++++++++++++++
 dlls/msdasql/tests/provider.c | 10 ++++++++++
 2 files changed, 35 insertions(+)

diff --git a/dlls/msdasql/session.c b/dlls/msdasql/session.c
index 42b40349f1b..85e79e00108 100644
--- a/dlls/msdasql/session.c
+++ b/dlls/msdasql/session.c
@@ -315,6 +315,31 @@ static HRESULT WINAPI command_QueryInterface(ICommandText *iface, REFIID riid, v
         IUnknown_AddRef((IUnknown*)*ppv);
         return S_OK;
     }
+    else if (IsEqualGUID(&IID_IMultipleResults, riid))
+    {
+        TRACE("IID_IMultipleResults not supported\n");
+        return E_NOINTERFACE;
+    }
+    else if(IsEqualGUID(&IID_ICommandStream, riid))
+    {
+        TRACE("ICommandStream not support\n");
+        return E_NOINTERFACE;
+    }
+    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;
+    }
 
     FIXME("(%p)->(%s %p)\n", iface, debugstr_guid(riid), ppv);
     return E_NOINTERFACE;
diff --git a/dlls/msdasql/tests/provider.c b/dlls/msdasql/tests/provider.c
index 0d9630070b3..184e5d3b1e8 100644
--- a/dlls/msdasql/tests/provider.c
+++ b/dlls/msdasql/tests/provider.c
@@ -119,6 +119,7 @@ static void test_command_interfaces(IUnknown *cmd)
     ICommandStream *commandstream;
     IColumnsInfo *colinfo;
     IMultipleResults *multiple;
+    IUnknown *unk;
 
     hr = IUnknown_QueryInterface(cmd, &IID_ICommandProperties, (void**)&commandProp);
     ok(hr == S_OK, "got 0x%08x\n", hr);
@@ -148,6 +149,15 @@ static void test_command_interfaces(IUnknown *cmd)
 
     hr = IUnknown_QueryInterface(cmd, &IID_IMultipleResults, (void**)&multiple);
     ok(hr == E_NOINTERFACE, "got 0x%08x\n", hr);
+
+    hr = IUnknown_QueryInterface(cmd, &IID_IRowsetChange, (void**)&unk);
+    ok(hr == E_NOINTERFACE, "got 0x%08x\n", hr);
+
+    hr = IUnknown_QueryInterface(cmd, &IID_IRowsetUpdate, (void**)&unk);
+    ok(hr == E_NOINTERFACE, "got 0x%08x\n", hr);
+
+    hr = IUnknown_QueryInterface(cmd, &IID_IRowsetLocate, (void**)&unk);
+    ok(hr == E_NOINTERFACE, "got 0x%08x\n", hr);
 }
 
 static void test_sessions(void)
-- 
2.33.0




More information about the wine-devel mailing list