Module: wine Branch: master Commit: 7d686c226371b7b333590eb25eb4ed2f4c5c3f13 URL: https://source.winehq.org/git/wine.git/?a=commit;h=7d686c226371b7b333590eb25...
Author: Alistair Leslie-Hughes leslie_alistair@hotmail.com Date: Mon Nov 8 21:29:09 2021 +1100
msdasql: Trace session interfaces.
Signed-off-by: Alistair Leslie-Hughes leslie_alistair@hotmail.com Signed-off-by: Alexandre Julliard julliard@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);