add wmi proc_exe wrapper
This commit is contained in:
parent
2550c6373a
commit
8c1608bb76
|
@ -192,3 +192,33 @@ extern "C" int sigar_proc_args_wmi_get(sigar_t *sigar, sigar_pid_t pid,
|
||||||
|
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extern "C" int sigar_proc_exe_wmi_get(sigar_t *sigar, sigar_pid_t pid,
|
||||||
|
sigar_proc_exe_t *procexe)
|
||||||
|
{
|
||||||
|
int status;
|
||||||
|
TCHAR buf[MAX_PATH+1];
|
||||||
|
WMI *wmi = new WMI();
|
||||||
|
|
||||||
|
if (FAILED(wmi->Open())) {
|
||||||
|
return GetLastError();
|
||||||
|
}
|
||||||
|
|
||||||
|
procexe->name[0] = '\0';
|
||||||
|
|
||||||
|
if (FAILED(wmi->GetProcExecutablePath(pid, buf))) {
|
||||||
|
status = GetLastError();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
status = SIGAR_OK;
|
||||||
|
/* SIGAR_W2A(buf, procexe->name, sizeof(procexe->name)); */
|
||||||
|
WideCharToMultiByte(CP_ACP, 0, buf, -1,
|
||||||
|
(LPSTR)procexe->name, sizeof(procexe->name),
|
||||||
|
NULL, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
wmi->Close();
|
||||||
|
delete wmi;
|
||||||
|
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue