Module: wine Branch: master Commit: 85b84a949c08c54a173492664c7d15c98e0dd9a4 URL: https://gitlab.winehq.org/wine/wine/-/commit/85b84a949c08c54a173492664c7d15c...
Author: Paul Gofman pgofman@codeweavers.com Date: Wed Nov 23 12:01:07 2022 -0600
wmic: Call _BeginEnumeration() before iterating class object.
Otherwise enumeration fails on Windows.
---
programs/wmic/main.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/programs/wmic/main.c b/programs/wmic/main.c index 2eb2895031e..72a54c09b57 100644 --- a/programs/wmic/main.c +++ b/programs/wmic/main.c @@ -224,6 +224,7 @@ static int query_prop( const WCHAR *class, const WCHAR *propnames ) IEnumWbemClassObject_Next( result, WBEM_INFINITE, 1, &obj, &count ); if (!count) break;
+ IWbemClassObject_BeginEnumeration( obj, 0 ); while (IWbemClassObject_Next( obj, 0, &name, &v, NULL, NULL ) == S_OK) { VariantChangeType( &v, &v, 0, VT_BSTR ); @@ -241,6 +242,7 @@ static int query_prop( const WCHAR *class, const WCHAR *propnames ) IEnumWbemClassObject_Next( result, WBEM_INFINITE, 1, &obj, &count ); if (count) { + IWbemClassObject_BeginEnumeration( obj, 0 ); while (IWbemClassObject_Next( obj, 0, &name, NULL, NULL, NULL ) == S_OK) { output_text( name, width ); @@ -256,7 +258,7 @@ static int query_prop( const WCHAR *class, const WCHAR *propnames ) { IEnumWbemClassObject_Next( result, WBEM_INFINITE, 1, &obj, &count ); if (!count) break; - + IWbemClassObject_BeginEnumeration( obj, 0 ); while (IWbemClassObject_Next( obj, 0, NULL, &v, NULL, NULL ) == S_OK) { VariantChangeType( &v, &v, 0, VT_BSTR );