[PATCH] oledb32: Silence interfaces for IDataSourceLocator QI
Alistair Leslie-Hughes
leslie_alistair at hotmail.com
Tue Jan 2 22:21:53 CST 2018
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
---
dlls/oledb32/dslocator.c | 15 +++++++++++++++
dlls/oledb32/tests/database.c | 12 ++++++++++++
2 files changed, 27 insertions(+)
diff --git a/dlls/oledb32/dslocator.c b/dlls/oledb32/dslocator.c
index 5c4bdad..f530d2e 100644
--- a/dlls/oledb32/dslocator.c
+++ b/dlls/oledb32/dslocator.c
@@ -78,6 +78,21 @@ static HRESULT WINAPI dslocator_QueryInterface(IDataSourceLocator *iface, REFIID
TRACE("IID_IRunnableObject returning NULL\n");
return E_NOINTERFACE;
}
+ else if (IsEqualIID(riid, &IID_IProvideClassInfo))
+ {
+ TRACE("IID_IProvideClassInfo returning NULL\n");
+ return E_NOINTERFACE;
+ }
+ else if (IsEqualIID(riid, &IID_IMarshal))
+ {
+ TRACE("IID_IMarshal returning NULL\n");
+ return E_NOINTERFACE;
+ }
+ else if (IsEqualIID(riid, &IID_IRpcOptions))
+ {
+ TRACE("IID_IRpcOptions returning NULL\n");
+ return E_NOINTERFACE;
+ }
if(*ppvoid)
{
diff --git a/dlls/oledb32/tests/database.c b/dlls/oledb32/tests/database.c
index b8c0e61..8ff55b9 100644
--- a/dlls/oledb32/tests/database.c
+++ b/dlls/oledb32/tests/database.c
@@ -886,6 +886,9 @@ static void test_dslocator(void)
{
IDataInitialize *datainit, *datainit2;
IRunnableObject *runable;
+ IProvideClassInfo *info;
+ IMarshal *marshal;
+ IRpcOptions *opts;
COMPATIBLE_LONG hwnd = 0;
if (0) /* Crashes under Window 7 */
@@ -928,6 +931,15 @@ static void test_dslocator(void)
hr = IDataSourceLocator_QueryInterface(dslocator, &IID_IRunnableObject, (void **)&runable);
ok(hr == E_NOINTERFACE, "got %08x\n", hr);
+ hr = IDataSourceLocator_QueryInterface(dslocator, &IID_IMarshal, (void **)&marshal);
+ ok(hr == E_NOINTERFACE, "got %08x\n", hr);
+
+ hr = IDataSourceLocator_QueryInterface(dslocator, &IID_IProvideClassInfo, (void **)&info);
+ ok(hr == E_NOINTERFACE, "got %08x\n", hr);
+
+ hr = IDataSourceLocator_QueryInterface(dslocator, &IID_IRpcOptions, (void **)&opts);
+ ok(hr == E_NOINTERFACE, "got %08x\n", hr);
+
IDataInitialize_Release(datainit2);
IDataInitialize_Release(datainit);
--
1.9.1
More information about the wine-devel
mailing list