pdh: Pass parameters through to PdhLookupPerfIndexByNameW for checking.
diff --git a/dlls/pdh/pdh_main.c b/dlls/pdh/pdh_main.c
index f2ecc89..423f033 100644
--- a/dlls/pdh/pdh_main.c
+++ b/dlls/pdh/pdh_main.c
@@ -779,23 +779,22 @@
 PDH_STATUS WINAPI PdhLookupPerfIndexByNameA( LPCSTR machine, LPCSTR name, LPDWORD index )
 {
     PDH_STATUS ret;
+    WCHAR *machineW = NULL;
     WCHAR *nameW;
 
     TRACE("%s %s %p\n", debugstr_a(machine), debugstr_a(name), index);
 
-    if (!name || !index) return PDH_INVALID_ARGUMENT;
+    if (!name) return PDH_INVALID_ARGUMENT;
 
-    if (machine)
-    {
-        FIXME("remote machine not supported\n");
-        return PDH_CSTATUS_NO_MACHINE;
-    }
+    if (machine && !(machineW = pdh_strdup_aw( machine ))) return PDH_MEMORY_ALLOCATION_FAILURE;
+
     if (!(nameW = pdh_strdup_aw( name )))
         return PDH_MEMORY_ALLOCATION_FAILURE;
 
-    ret = PdhLookupPerfIndexByNameW( NULL, nameW, index );
+    ret = PdhLookupPerfIndexByNameW( machineW, nameW, index );
 
     heap_free( nameW );
+    heap_free( machineW );
     return ret;
 }