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) |