_heapset
Les contrôles amasse pour la sécurité minimale et définit les entrées libres à une valeur spécifiée.
int _heapset(
unsigned int fill
);
Paramètres
- fill
caractère de remplissage.
Valeur de retour
retourne un d'_heapset les constantes suivantes de manifeste d'entiers définies dans Malloc.h.
_HEAPBADBEGIN
les informations d'en-tête initiales valides ou introuvables._HEAPBADNODE
Tas endommagé ou incorrect nœud trouvé._HEAPEMPTY
tas non initialisé._HEAPOK
le tas semble être cohérent.
en outre, si une erreur se produit, _heapset définit errno à ENOSYS.
Notes
La fonction d' _heapset montre les emplacements ou les nœuds de mémoire qui ont été remplacés involontairement.
_heapset examine pour vérifier la sécurité minimale sur le tas puis définit chaque octet des entrées libres du tas à la valeur d' fill .L'de cette valeur que les emplacements de mémoire du tas contiennent les nœuds libres et qui contiennent les données qui ont été involontairement écrites dans la mémoire libérée.Si le système d'exploitation ne prend pas en charge _heapset(par exemple, Windows 98), la fonction retourne _HEAPOK et définit errno à ENOSYS.
Configuration requise
routine |
en-tête requis |
en-tête facultatif |
---|---|---|
_heapset |
<malloc.h> |
<errno.h> |
Pour plus d'informations de compatibilité, consultez compatibilité dans l'introduction.
Exemple
// crt_heapset.c
// This program checks the heap and
// fills in free entries with the character 'Z'.
#include <malloc.h>
#include <stdio.h>
#include <stdlib.h>
int main( void )
{
int heapstatus;
char *buffer;
if( (buffer = malloc( 1 )) == NULL ) // Make sure heap is
exit( 0 ); // initialized
heapstatus = _heapset( 'Z' ); // Fill in free entries
switch( heapstatus )
{
case _HEAPOK:
printf( "OK - heap is fine\n" );
break;
case _HEAPEMPTY:
printf( "OK - heap is empty\n" );
break;
case _HEAPBADBEGIN:
printf( "ERROR - bad start of heap\n" );
break;
case _HEAPBADNODE:
printf( "ERROR - bad node in heap\n" );
break;
}
free( buffer );
}
Équivalent .NET Framework
Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez l' exemples d'appel de code non managé.