[1/4] wbemprox: Adapt to the new behavior of NtPowerInformation.

Hans Leidekker hans at codeweavers.com
Mon Sep 17 05:18:46 CDT 2012


---
 dlls/wbemprox/builtin.c |   14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/dlls/wbemprox/builtin.c b/dlls/wbemprox/builtin.c
index c2271c0..30dfd4c 100644
--- a/dlls/wbemprox/builtin.c
+++ b/dlls/wbemprox/builtin.c
@@ -782,9 +782,17 @@ static void get_processor_name( WCHAR *name )
 }
 static UINT get_processor_maxclockspeed( void )
 {
-    PROCESSOR_POWER_INFORMATION info;
-    if (!NtPowerInformation( ProcessorInformation, NULL, 0, &info, sizeof(info) )) return info.MaxMhz;
-    return 1000000;
+    PROCESSOR_POWER_INFORMATION *info;
+    UINT ret = 1000000, size = get_processor_count() * sizeof(PROCESSOR_POWER_INFORMATION);
+    NTSTATUS status;
+
+    if ((info = heap_alloc( size )))
+    {
+        status = NtPowerInformation( ProcessorInformation, NULL, 0, info, size );
+        if (!status) ret = info[0].MaxMhz;
+        heap_free( info );
+    }
+    return ret;
 }
 
 static void fill_processor( struct table *table )
-- 
1.7.10.4







More information about the wine-patches mailing list