Signed-off-by: Alistair Leslie-Hughes leslie_alistair@hotmail.com --- 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)