Partager via


_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é.

Voir aussi

Référence

Allocation de mémoire

_heapadd

_heapchk

_heapmin

_heapwalk