[PATCH] wbemdisp: Implement ISWbemPropertySet::get_Count.
Hans Leidekker
hans at codeweavers.com
Fri Oct 12 12:17:32 CDT 2018
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=40534
Signed-off-by: Hans Leidekker <hans at codeweavers.com>
---
dlls/wbemdisp/locator.c | 15 +++++++++++++--
dlls/wbemdisp/tests/wbemdisp.c | 6 ++++++
2 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/dlls/wbemdisp/locator.c b/dlls/wbemdisp/locator.c
index 78b81d8551..c307e347cf 100644
--- a/dlls/wbemdisp/locator.c
+++ b/dlls/wbemdisp/locator.c
@@ -438,8 +438,19 @@ static HRESULT WINAPI propertyset_Item( ISWbemPropertySet *iface, BSTR name,
static HRESULT WINAPI propertyset_get_Count( ISWbemPropertySet *iface, LONG *count )
{
- FIXME( "\n" );
- return E_NOTIMPL;
+ static const WCHAR propcountW[] = {'_','_','P','R','O','P','E','R','T','Y','_','C','O','U','N','T',0};
+ struct propertyset *propertyset = impl_from_ISWbemPropertySet( iface );
+ HRESULT hr;
+ VARIANT val;
+
+ TRACE( "%p, %p\n", propertyset, count );
+
+ hr = IWbemClassObject_Get( propertyset->object, propcountW, 0, &val, NULL, NULL );
+ if (SUCCEEDED(hr))
+ {
+ *count = V_I4( &val );
+ }
+ return hr;
}
static HRESULT WINAPI propertyset_Add( ISWbemPropertySet *iface, BSTR name, WbemCimtypeEnum type,
diff --git a/dlls/wbemdisp/tests/wbemdisp.c b/dlls/wbemdisp/tests/wbemdisp.c
index 68c0e3b589..57baf848cc 100644
--- a/dlls/wbemdisp/tests/wbemdisp.c
+++ b/dlls/wbemdisp/tests/wbemdisp.c
@@ -302,6 +302,7 @@ static void test_locator(void)
ISWbemProperty *prop;
ISWbemSecurity *security;
VARIANT var;
+ LONG count;
WbemImpersonationLevelEnum imp_level;
WbemAuthenticationLevelEnum auth_level;
@@ -379,6 +380,11 @@ static void test_locator(void)
ok( hr == S_OK, "got %x\n", hr );
SysFreeString( procid_bstr );
+ count = 0;
+ hr = ISWbemPropertySet_get_Count( prop_set, &count );
+ ok( hr == S_OK, "got %x\n", hr );
+ ok( count > 0, "got %d\n", count );
+
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) );
--
2.11.0
More information about the wine-devel
mailing list