Alistair Leslie-Hughes : msdasql: Trace session interfaces.
Alexandre Julliard
julliard at winehq.org
Mon Nov 8 15:45:06 CST 2021
Module: wine
Branch: master
Commit: 7d686c226371b7b333590eb25eb4ed2f4c5c3f13
URL: https://source.winehq.org/git/wine.git/?a=commit;h=7d686c226371b7b333590eb25eb4ed2f4c5c3f13
Author: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
Date: Mon Nov 8 21:29:09 2021 +1100
msdasql: Trace session 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 | 10 ++++++++++
dlls/msdasql/tests/provider.c | 13 +++++++++++++
2 files changed, 23 insertions(+)
diff --git a/dlls/msdasql/session.c b/dlls/msdasql/session.c
index 0298c7e7424..98a1fc50220 100644
--- a/dlls/msdasql/session.c
+++ b/dlls/msdasql/session.c
@@ -102,6 +102,16 @@ static HRESULT WINAPI session_QueryInterface(IUnknown *iface, REFIID riid, void
TRACE("(%p)->(IDBCreateCommand_iface %p)\n", iface, ppv);
*ppv = &session->IDBCreateCommand_iface;
}
+ else if(IsEqualGUID(&IID_IBindResource, riid))
+ {
+ TRACE("(%p)->(IID_IBindResource not support)\n", iface);
+ return E_NOINTERFACE;
+ }
+ else if(IsEqualGUID(&IID_ICreateRow, riid))
+ {
+ TRACE("(%p)->(IID_ICreateRow not support)\n", iface);
+ return E_NOINTERFACE;
+ }
if(*ppv)
{
diff --git a/dlls/msdasql/tests/provider.c b/dlls/msdasql/tests/provider.c
index 6ffe17e7028..d093c3c2087 100644
--- a/dlls/msdasql/tests/provider.c
+++ b/dlls/msdasql/tests/provider.c
@@ -367,6 +367,8 @@ static void test_sessions(void)
IDBCreateCommand *create_command = NULL;
IGetDataSource *datasource = NULL;
ISessionProperties *session_props = NULL;
+ IUnknown *unimplemented = NULL;
+ ITransactionJoin *join = NULL;
IUnknown *cmd = NULL;
HRESULT hr;
BSTR connect_str;
@@ -415,6 +417,17 @@ static void test_sessions(void)
ok(hr == S_OK, "got 0x%08x\n", hr);
IGetDataSource_Release(datasource);
+ hr = IUnknown_QueryInterface(session, &IID_ITransactionJoin, (void**)&join);
+ todo_wine ok(hr == S_OK, "got 0x%08x\n", hr);
+ if(hr == S_OK)
+ ITransactionJoin_Release(join);
+
+ hr = IUnknown_QueryInterface(session, &IID_IBindResource, (void**)&unimplemented);
+ ok(hr == E_NOINTERFACE, "got 0x%08x\n", hr);
+
+ hr = IUnknown_QueryInterface(session, &IID_ICreateRow, (void**)&unimplemented);
+ ok(hr == E_NOINTERFACE, "got 0x%08x\n", hr);
+
hr = IUnknown_QueryInterface(session, &IID_ISessionProperties, (void**)&session_props);
ok(hr == S_OK, "got 0x%08x\n", hr);
ISessionProperties_Release(session_props);
More information about the wine-cvs
mailing list