Prozesse, Threads und Handles auslesen
-
Hallo,
ich habe folgendes Problem. Ich würde gerne per JNI die Anzahl der Prozesse, Handles und Threads ausgeben. Bekomme jedoch die Meldung "warning: implicit declaration of function GetPerformanceInfo". Habe leider nicht so große Ahnung, was C/C++ angeht. Wäre wirklich geil, wenn ihr mir helfen könntet. Vielen Dank schonmal im Voraus.
Gruß, Tom
#include <windows.h> #include <jni.h> #include "cpuinfo.h" #include <stdio.h> #include <stdlib.h> #include <psapi.h> typedef struct _PERFORMANCE_INFORMATION { DWORD cb; SIZE_T CommitTotal; SIZE_T CommitLimit; SIZE_T CommitPeak; SIZE_T PhysicalTotal; SIZE_T PhysicalAvailable; SIZE_T SystemCache; SIZE_T KernelTotal; SIZE_T KernelPaged; SIZE_T KernelNonpaged; SIZE_T PageSize; DWORD HandleCount; DWORD ProcessCount; DWORD ThreadCount; } PERFORMANCE_INFORMATION, *PPERFORMANCE_INFORMATION; JNIEXPORT void JNICALL Java_businessLayer_CpuInfo_getThreads (JNIEnv *env, jobject jobj) { PERFORMANCE_INFORMATION pinf; DWORD cb = sizeof(PERFORMANCE_INFORMATION); GetPerformanceInfo(pinf, cb); jclass cls; jfieldID fid; cls = (*env)->GetObjectClass(env, jobj); fid = (*env)->GetFieldID(env, cls, "threads", "I"); if (fid == NULL) return; (*env)->SetIntField(env, jobj, fid, pinf.ThreadCount); }