PDA

Visualizza la versione completa : [C] Utilizzo dell'API GetPerformanceInfo


buba88
28-08-2005, 18:51
Dato che volevo ottenere l'utilizzo della memoria del pc (un po quello che appare nel task manager in basso a destra) sono andato su msdn.microsoft.com ed oh trovato la funzione GetPerformanceInfo, la quale memorizza dei dati in una struttura di tipo PERFORMANCE_INFORMATION che tra i vari membri include anche la memoria utilizzata.

Quando provo ad usarla, mi dice che questa struttura non esiste, e in effetti nel file psapi.h nn vi traccia. Neanche la funzione sembra esistere, nonostante abbia linkato la libreria necessaria. E' possibile che non esista?? eppure c' la documentazione msdn...

Ecco i link della funzione e della struttura:

Funzione:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/perfmon/base/getprocessmemoryinfo.asp

Struttura:
http://msdn.microsoft.com/library/en-us/perfmon/base/performance_information_str.asp

infinitejustice
28-08-2005, 19:13
Da me c'... ma che compilatore usi?

buba88
28-08-2005, 19:16
Dev-c++

infinitejustice
28-08-2005, 19:27
che sia per quello? :stordita: sulla beta 2 di studio net 2005 c'...

buba88
28-08-2005, 19:33
mmmm per sembra strano....

Per caso c' qualcuno che usa dev-c++ che pu controllare????

bruzzo84
29-08-2005, 09:02
Uso devc++ e non riesco a trovare quella struttura.

daniele_dll
29-08-2005, 11:43
inseriscila e risolvi il problema :zizi:

buba88
29-08-2005, 13:35
beh ma oltre alla struttura mi servirebbe anche la libreria che contiene la funzione. quella del dev-c++ sembra non contenerla... la libreria libpsapi.a

cmq qualcuno che hai il file .h con la struttura PERFORMANCE_INFORMATION me lo pu mandare?
e-mail: m.cotrufo[AT]email[punto]it

infinitejustice
29-08-2005, 13:37
Non per essere ripetitivo, ma tutto dentro quella libreria...

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, PERFORMACE_INFORMATION, *PPERFORMACE_INFORMATION;


:stordita:

edit: te lho mandata

buba88
29-08-2005, 13:47
si avevo pensato anch io di fare un semplice copia incolla nel mio psapi.h, per poi ho pensato che potevaq esserci qualcos altro da inserire oltre alla struttura per farla funzionare bene.
grazie per l header, l ho ricevuto

Loading