Partager via


AfxIsMemoryBlock

Teste une adresse mémoire pour s'assurer qu'elle représente le bloc de mémoire actif actuellement actif qui a été alloué par la version de diagnostic de new.

BOOL AfxIsMemoryBlock( 
   const void* p, 
   UINT nBytes, 
   LONG* plRequestNumber = NULL  
);

Paramètres

  • p
    Pointe vers le bloc de mémoire à tester.

  • nBytes
    Contient la longueur du bloc de mémoire en bytes.

  • plRequestNumber
    Pointe vers un entier long qui sera rempli avec le numéro de séquence de l'allocation du bloc de mémoire, ou zéro s'il ne représente pas un bloc de mémoire actuellement actif.

Valeur de retour

Une valeur différente de zéro si le bloc de mémoire actuellement alloué et la longueur sont correct ; sinon 0.

Notes

Cela vérifie également la taille spécifiée par rapport à la taille allouée à l'origine. Si la fonction retourne une valeur différente de zéro, le numéro séquentiel d'allocation est retourné dans plRequestNumber. Ce nombre représente l'ordre dans lequel le bloc a été alloué par rapport à toutes les nouvelles allocations.

Exemple

CAge* pcage = new CAge(21); // CAge is derived from CObject.
ASSERT(AfxIsMemoryBlock(pcage, sizeof(CAge)));

Configuration requise

En-tête : afx.h

Voir aussi

Référence

AfxIsValidAddress

Concepts

macro MFC et Globals