_heapset_heapset

Controlla la coerenza minima negli heap e imposta le voci disponibili su un valore specificato.Checks heaps for minimal consistency and sets the free entries to a specified value.

Importante

Questa funzione è obsoleta.This function is obsolete. A partire da Visual Studio 2015 non è disponibile in CRT.Beginning in Visual Studio 2015, it is not available in the CRT.

SintassiSyntax

int _heapset(   
   unsigned int fill   
);  

ParametriParameters

fill
Carattere di riempimento.Fill character.

Valore restituitoReturn Value

_heapset restituisce una delle costanti manifeste di tipo Integer seguenti definite in Malloc.h._heapset returns one of the following integer manifest constants defined in Malloc.h.

_HEAPBADBEGIN
Le informazioni di intestazione iniziali non sono valide o non sono state trovate.Initial header information invalid or not found.

_HEAPBADNODE
L'heap è danneggiato o è stato travato un nodo non valido.Heap damaged or bad node found.

_HEAPEMPTY
L'heap non è stato inizializzato.Heap not initialized.

_HEAPOK
L'heap risulta coerente.Heap appears to be consistent.

Inoltre, se si verifica un errore, _heapset imposta errno su ENOSYS.In addition, if an error occurs, _heapset sets errno to ENOSYS.

NoteRemarks

La funzione _heapset mostra i nodi o le posizioni di memoria disponibili che sono stati sovrascritti accidentalmente.The _heapset function shows free memory locations or nodes that have been unintentionally overwritten.

_heapset verifica la coerenza minima nell'heap e quindi imposta ogni byte delle voci disponibili dell'heap sul valore fill ._heapset checks for minimal consistency on the heap and then sets each byte of the heap's free entries to the fill value. Questo valore noto mostra le posizioni di memoria dell'heap che contengono nodi disponibili e quelle che contengono dati scritti accidentalmente nella memoria liberata.This known value shows which memory locations of the heap contain free nodes and which contain data that were unintentionally written to freed memory. Se il sistema operativo non supporta _heapset(ad esempio, Windows 98), la funzione restituisce _HEAPOK e imposta errno su ENOSYS.If the operating system does not support _heapset(for example, Windows 98), the function returns _HEAPOK and sets errno to ENOSYS.

RequisitiRequirements

RoutineRoutine Intestazione obbligatoriaRequired header Intestazione facoltativaOptional header
_heapset <malloc.h><malloc.h> <errno.h><errno.h>

Per altre informazioni sulla compatibilità, vedere la sezione Compatibilità nell'introduzione.For more compatibility information, see Compatibility in the Introduction.

EsempioExample

// 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 );  
}  
OK - heap is fine  

Vedere ancheSee Also

Allocazione di memoria Memory Allocation
_heapadd _heapadd
_heapchk _heapchk
_heapmin _heapmin
_heapwalk_heapwalk