GetProcessWorkingSetSize, fonction (memoryapi.h)
Récupère les tailles minimales et maximales du groupe de travail du processus spécifié.
Syntaxe
BOOL GetProcessWorkingSetSize(
[in] HANDLE hProcess,
[out] PSIZE_T lpMinimumWorkingSetSize,
[out] PSIZE_T lpMaximumWorkingSetSize
);
Paramètres
[in] hProcess
Handle du processus dont les tailles de jeu de travail seront obtenues. Le handle doit avoir le droit d’accès PROCESS_QUERY_INFORMATION ou PROCESS_QUERY_LIMITED_INFORMATION . Pour plus d’informations, consultez Droits d’accès et de sécurité des processus.
Windows Server 2003 et Windows XP : Le handle doit avoir le droit d’accès PROCESS_QUERY_INFORMATION .
[out] lpMinimumWorkingSetSize
Pointeur vers une variable qui reçoit la taille minimale du jeu de travail du processus spécifié, en octets. Le gestionnaire de mémoire virtuelle tente de conserver au moins autant de mémoire résidente dans le processus chaque fois que le processus est actif.
[out] lpMaximumWorkingSetSize
Pointeur vers une variable qui reçoit la taille maximale du jeu de travail du processus spécifié, en octets. Le gestionnaire de mémoire virtuelle tente de ne conserver que cette quantité de mémoire résidant dans le processus chaque fois que le processus est actif lorsque la mémoire est insuffisante.
Valeur retournée
Si la fonction réussit, la valeur de retour est différente de zéro.
Si la fonction échoue, la valeur de retour est égale à zéro. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.
Remarques
Le « jeu de travail » d’un processus est l’ensemble de pages mémoire actuellement visibles par le processus dans la mémoire RAM physique. Ces pages résident et peuvent être utilisées par une application sans déclencher de défaillance de page. Les tailles de plage de travail minimale et maximale affectent le comportement de pagination de la mémoire virtuelle d’un processus.
Exemples
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
SIZE_T dwMin, dwMax;
HANDLE hProcess;
if (argc != 2)
{
printf("This program requires a process ID as an argument.\n");
return 1;
}
// Retrieve a handle to the process.
hProcess = OpenProcess( PROCESS_QUERY_INFORMATION,
FALSE, atoi(argv[1]));
if (!hProcess)
{
printf( "OpenProcess failed (%d)\n", GetLastError() );
return 1;
}
// Retrieve the working set size of the process.
if (!GetProcessWorkingSetSize(hProcess, &dwMin, &dwMax))
{
printf("GetProcessWorkingSetSize failed (%d)\n",
GetLastError());
return 1;
}
printf("Process ID: %d\n", atoi(argv[1]));
printf("Minimum working set: %lu KB\n", dwMin/1024);
printf("Maximum working set: %lu KB\n", dwMax/1024);
CloseHandle(hProcess);
return 0;
}
Configuration requise
Client minimal pris en charge | Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
En-tête | memoryapi.h |
Bibliothèque | onecore.lib |
DLL | Kernel32.dll |
Voir aussi
Ensemble de travail de processus