Module: wine Branch: master Commit: a11aed32ca5b326baddd179a2768abd7ce03e9af URL: http://source.winehq.org/git/wine.git/?a=commit;h=a11aed32ca5b326baddd179a27...
Author: Huw Davies huw@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@codeweavers.com Signed-off-by: Hans Leidekker hans@codeweavers.com Signed-off-by: Alexandre Julliard julliard@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 );