Module: wine Branch: master Commit: a392e14243700b4b3c0afe1490c64cb587d8cb1b URL: http://source.winehq.org/git/wine.git/?a=commit;h=a392e14243700b4b3c0afe1490...
Author: Huw Davies huw@codeweavers.com Date: Mon Apr 3 09:57:33 2017 +0100
wbemdisp: Implement ISWbemProperty::get_Value.
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 | 9 ++++++--- dlls/wbemdisp/tests/wbemdisp.c | 5 +++++ 2 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/dlls/wbemdisp/locator.c b/dlls/wbemdisp/locator.c index 570de5a..6fdd608 100644 --- a/dlls/wbemdisp/locator.c +++ b/dlls/wbemdisp/locator.c @@ -209,10 +209,13 @@ static HRESULT WINAPI property_Invoke( ISWbemProperty *iface, DISPID member, REF return hr; }
-static HRESULT WINAPI property_get_Value( ISWbemProperty *iface, VARIANT *varValue ) +static HRESULT WINAPI property_get_Value( ISWbemProperty *iface, VARIANT *value ) { - FIXME( "\n" ); - return E_NOTIMPL; + struct property *property = impl_from_ISWbemProperty( iface ); + + TRACE( "%p %p\n", property, value ); + + return IWbemClassObject_Get( property->object, property->name, 0, value, NULL, NULL ); }
static HRESULT WINAPI property_put_Value( ISWbemProperty *iface, VARIANT *varValue ) diff --git a/dlls/wbemdisp/tests/wbemdisp.c b/dlls/wbemdisp/tests/wbemdisp.c index bfc81f9..0c426c5 100644 --- a/dlls/wbemdisp/tests/wbemdisp.c +++ b/dlls/wbemdisp/tests/wbemdisp.c @@ -313,6 +313,11 @@ static void test_locator(void) ok( hr == S_OK, "got %x\n", hr ); SysFreeString( procid_bstr );
+ hr = ISWbemProperty_get_Value( prop, &var ); + ok( hr == S_OK, "got %x\n", hr ); + ok( V_VT(&var) == VT_BSTR, "got %x\n", V_VT(&var) ); + VariantClear( &var ); + ISWbemProperty_Release( prop ); ISWbemPropertySet_Release( prop_set ); ISWbemObject_Release( object );