Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Acces aux infos de la "zone de travail privée" sous XP

1 réponse
Avatar
thibarg.web
Bonjour,

Pour obtenir diverses infos, j'utilise les routines du "performance
counter" (pdh...). Pour la plupart des infos, il n'y a pas de problèmes
(processeur, mémoire globale, ...), mais sous XP seulement, je n'arrive
pas à récupérer le "priovate working set" (taille physique de la mémoire
de mon appli, sur les barrettes)

// __________________________<Code>

DH_HQUERY appMemQueryCounter= NULL;
PDH_HCOUNTER appMemCounter = NULL;
PDH_STATUS pdhStatus;
char counterPath [1024];

// Code construisant le chemin, en utilisant notamment
// PdhLookupPerfNameByIndex pour récupérer les bons libellés
// au bout du compte, counterPath contient:
// \Processus(MonAppli)\Plage de travail - Privée"
// (je ne sais pas comment passent les antislash sur le forum, mais
// le chemin est OK :
// (antislash)Processus(MonAppli)(antislash)Plage de travail - Privée

pdhStatus = PdhOpenQueryH(NULL, NULL, &appMemQueryCounter);
if(pdhStatus == ERROR_SUCCESS && appMemQueryCounter != NULL)
{
dhStatus = PdhAddCounter(appMemQueryCounter, counterPath, NULL,
&appMemCounter );
}

/ __________________________</Code>

Mais PdhAddCounter me renvoie l'erreur 0xC0000BB9, c'est-à-dire
"(PDH_CSTATUS_NO_COUNTER) The specified counter could not be found".

Sous Vista, ça marche sans problème (il faut être admin. ou être dans le
groupe autorisé pour l'accès aux compteurs de performances)

Précision : sur la machine de test, j'ai des droits d'administrateur.

Avez-vous une idée ?

Thibaud

1 réponse

Avatar
Christian ASTOR
thibarg.web wrote:

Pour obtenir diverses infos, j'utilise les routines du "performance
counter" (pdh...). Pour la plupart des infos, il n'y a pas de problèmes
(processeur, mémoire globale, ...), mais sous XP seulement, je n'arrive
pas à récupérer le "priovate working set" (taille physique de la
mémoire de mon appli, sur les barrettes)



WorkingSetPrivateSize, le 3ème champ de SYSTEM_PROCESS_INFORMATION,
n'est pas renseigné dans XP.