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;
}