From: Robert Wilhelm robert.wilhelm@gmx.net
--- dlls/wshom.ocx/network.c | 19 ++++++++++++++++++- dlls/wshom.ocx/tests/wshom.c | 2 ++ 2 files changed, 20 insertions(+), 1 deletion(-)
diff --git a/dlls/wshom.ocx/network.c b/dlls/wshom.ocx/network.c index dcc52c02ed7..737a12033f0 100644 --- a/dlls/wshom.ocx/network.c +++ b/dlls/wshom.ocx/network.c @@ -16,6 +16,9 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */
+#define COBJMACROS + +#include "dispex.h" #include "wshom_private.h" #include "wshom.h"
@@ -33,7 +36,21 @@ static HRESULT WINAPI WshNetwork2_QueryInterface(IWshNetwork2 *iface, REFIID rii IsEqualGUID(riid, &IID_IWshNetwork2)) { *ppv = iface; - }else { + } + else if (IsEqualGUID(riid, &IID_IDispatchEx)) + { + TRACE("Interface IDispatchEx not supported - returning NULL\n"); + *ppv = NULL; + return E_NOINTERFACE; + } + else if (IsEqualGUID( riid, &IID_IObjectWithSite )) + { + TRACE("Interface IObjectWithSite not supported - returning NULL\n"); + *ppv = NULL; + return E_NOINTERFACE; + } + else + { FIXME("Unknown iface %s\n", debugstr_guid(riid)); *ppv = NULL; return E_NOINTERFACE; diff --git a/dlls/wshom.ocx/tests/wshom.c b/dlls/wshom.ocx/tests/wshom.c index d84eb0441ff..5b3b7f81720 100644 --- a/dlls/wshom.ocx/tests/wshom.c +++ b/dlls/wshom.ocx/tests/wshom.c @@ -700,6 +700,8 @@ static void test_wshnetwork(void)
check_interface(disp, &IID_IWshNetwork, TRUE); check_interface(disp, &IID_IWshNetwork2, TRUE); + check_interface(disp, &IID_IDispatchEx, FALSE); + check_interface(disp, &IID_IObjectWithSite, FALSE);
IDispatch_Release(disp); }