pdh: Remove unnecessary test done in PdhLookupPerfNameByIndexW.
diff --git a/dlls/pdh/pdh_main.c b/dlls/pdh/pdh_main.c
index a42b931..f2ecc89 100644
--- a/dlls/pdh/pdh_main.c
+++ b/dlls/pdh/pdh_main.c
@@ -832,21 +832,17 @@
 PDH_STATUS WINAPI PdhLookupPerfNameByIndexA( LPCSTR machine, DWORD index, LPSTR buffer, LPDWORD size )
 {
     PDH_STATUS ret;
+    WCHAR *machineW = NULL;
     WCHAR bufferW[PDH_MAX_COUNTER_NAME];
     DWORD sizeW = sizeof(bufferW) / sizeof(WCHAR);
 
     TRACE("%s %d %p %p\n", debugstr_a(machine), index, buffer, size);
 
-    if (machine)
-    {
-        FIXME("remote machine not supported\n");
-        return PDH_CSTATUS_NO_MACHINE;
-    }
-
     if (!buffer || !size) return PDH_INVALID_ARGUMENT;
-    if (!index) return ERROR_SUCCESS;
 
-    if (!(ret = PdhLookupPerfNameByIndexW( NULL, index, bufferW, &sizeW )))
+    if (machine && !(machineW = pdh_strdup_aw( machine ))) return PDH_MEMORY_ALLOCATION_FAILURE;
+
+    if (!(ret = PdhLookupPerfNameByIndexW( machineW, index, bufferW, &sizeW )))
     {
         int required = WideCharToMultiByte( CP_ACP, 0, bufferW, -1, NULL, 0, NULL, NULL );
 
@@ -854,6 +850,7 @@
         else WideCharToMultiByte( CP_ACP, 0, bufferW, -1, buffer, required, NULL, NULL );
         if (size) *size = required;
     }
+    heap_free( machineW );
     return ret;
 }