diff --git a/bindings/java/src/org/hyperic/sigar/win32/Pdh.java b/bindings/java/src/org/hyperic/sigar/win32/Pdh.java index 29de414a..aecb1fb7 100644 --- a/bindings/java/src/org/hyperic/sigar/win32/Pdh.java +++ b/bindings/java/src/org/hyperic/sigar/win32/Pdh.java @@ -322,8 +322,28 @@ public class Pdh extends Win32 { } } + private static final class InstanceIndex { + long index = 0; + } + public static String[] getInstances(String path) throws Win32Exception { - return pdhGetInstances(getCounterName(path)); + String[] instances = pdhGetInstances(getCounterName(path)); + + /* PdhEnumObjectItems() does not include the instance index */ + HashMap names = new HashMap(instances.length); + for (int i=0; i