STRUCTURE MEMORYSTATUS (winbase.h)

Contient des informations sur l’état actuel de la mémoire physique et virtuelle. La fonction GlobalMemoryStatus stocke des informations dans une structure MEMORYSTATUS .

Syntaxe

typedef struct _MEMORYSTATUS {
  DWORD  dwLength;
  DWORD  dwMemoryLoad;
  SIZE_T dwTotalPhys;
  SIZE_T dwAvailPhys;
  SIZE_T dwTotalPageFile;
  SIZE_T dwAvailPageFile;
  SIZE_T dwTotalVirtual;
  SIZE_T dwAvailVirtual;
} MEMORYSTATUS, *LPMEMORYSTATUS;

Membres

dwLength

Taille de la structure de données MEMORYSTATUS , en octets. Vous n’avez pas besoin de définir ce membre avant d’appeler la fonction GlobalMemoryStatus ; la fonction le définit.

dwMemoryLoad

Nombre compris entre 0 et 100 qui spécifie le pourcentage approximatif de mémoire physique utilisée (0 indique l’absence d’utilisation de la mémoire et 100 indique l’utilisation complète de la mémoire).

dwTotalPhys

Quantité de mémoire physique réelle, en octets.

dwAvailPhys

Quantité de mémoire physique actuellement disponible, en octets. Il s’agit de la quantité de mémoire physique qui peut être réutilisée immédiatement sans avoir à écrire son contenu sur le disque. Il s’agit de la somme de la taille des listes de secours, de disponibilité et de zéro.

dwTotalPageFile

Taille actuelle de la limite de mémoire validée, en octets. Il s’agit de la mémoire physique plus la taille du fichier de page, moins une petite surcharge.

dwAvailPageFile

Quantité maximale de mémoire que le processus actuel peut valider, en octets. Cette valeur doit être inférieure à la validation disponible à l’échelle du système. Pour calculer cette valeur, appelez GetPerformanceInfo et soustrayez la valeur de CommitTotal de CommitLimit.

dwTotalVirtual

Taille de la partie en mode utilisateur de l’espace d’adressage virtuel du processus appelant, en octets. Cette valeur dépend du type de processus, du type de processeur et de la configuration du système d’exploitation. Par exemple, cette valeur est d’environ 2 Go pour la plupart des processus 32 bits sur un processeur x86 et d’environ 3 Go pour les processus 32 bits qui prennent en charge les grandes adresses s’exécutant sur un système avec 4 GT RAM Tuning activé.

dwAvailVirtual

Quantité de mémoire non réservée et non validée actuellement dans la partie en mode utilisateur de l’espace d’adressage virtuel du processus appelant, en octets.

Remarques

MEMORYSTATUS reflète l’état de la mémoire au moment de l’appel. Il reflète également la taille du fichier de pagination à ce moment-là. Le système d’exploitation peut agrandir le fichier de pagination jusqu’à la taille maximale définie par l’administrateur.

Sur les ordinateurs avec plus de 4 Go de mémoire, la structure MEMORYSTATUS peut retourner des informations incorrectes, signalant une valeur de –1 pour indiquer un dépassement de capacité. Si votre application est à risque pour ce comportement, utilisez la fonction GlobalMemoryStatusEx au lieu de la fonction GlobalMemoryStatus .

Exemples

Pour obtenir un exemple, consultez la fonction GlobalMemoryStatus .

Configuration requise

Condition requise Valeur
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 winbase.h (inclure Windows.h)

Voir aussi

GlobalMemoryStatus

GlobalMemoryStatusEx

Informations sur les performances de la mémoire