Huw Davies : wbemdisp: Invoke the generic methods and properties as well as the dynamic ones.

Alexandre Julliard julliard at winehq.org
Mon Apr 3 14:01:47 CDT 2017


Module: wine
Branch: master
Commit: a11aed32ca5b326baddd179a2768abd7ce03e9af
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=a11aed32ca5b326baddd179a2768abd7ce03e9af

Author: Huw Davies <huw at codeweavers.com>
Date:   Mon Apr  3 09:57:30 2017 +0100

wbemdisp: Invoke the generic methods and properties as well as the dynamic ones.

Signed-off-by: Huw Davies <huw at codeweavers.com>
Signed-off-by: Hans Leidekker <hans at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/wbemdisp/locator.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/dlls/wbemdisp/locator.c b/dlls/wbemdisp/locator.c
index 74691bc..e6ef02b 100644
--- a/dlls/wbemdisp/locator.c
+++ b/dlls/wbemdisp/locator.c
@@ -300,10 +300,24 @@ static HRESULT WINAPI object_Invoke(
 {
     struct object *object = impl_from_ISWbemObject( iface );
     BSTR name;
+    ITypeInfo *typeinfo;
+    HRESULT hr;
 
     TRACE( "%p, %x, %s, %u, %x, %p, %p, %p, %p\n", object, member, debugstr_guid(riid),
            lcid, flags, params, result, excep_info, arg_err );
 
+    if (member <= DISPID_BASE)
+    {
+        hr = get_typeinfo( ISWbemObject_tid, &typeinfo );
+        if (SUCCEEDED(hr))
+        {
+            hr = ITypeInfo_Invoke( typeinfo, &object->ISWbemObject_iface, member, flags,
+                                   params, result, excep_info, arg_err );
+            ITypeInfo_Release( typeinfo );
+        }
+        return hr;
+    }
+
     if (flags != (DISPATCH_METHOD|DISPATCH_PROPERTYGET))
     {
         FIXME( "flags %x not supported\n", flags );




More information about the wine-cvs mailing list