Paul Gofman : wmic: Call _BeginEnumeration() before iterating class object.
Module: wine Branch: master Commit: 85b84a949c08c54a173492664c7d15c98e0dd9a4 URL: https://gitlab.winehq.org/wine/wine/-/commit/85b84a949c08c54a173492664c7d15c... Author: Paul Gofman <pgofman(a)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 );
participants (1)
-
Alexandre Julliard