Prozesse, Threads und Handles

scope2k3

Grünschnabel
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

Code:
#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);
}
 
Zurück