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