_heapset
Kontroly konzistence minimální haldách a nastaví volné položky na zadanou hodnotu.
int _heapset(
unsigned int fill
);
Parametry
- fill
Výplň znaku.
Vrácená hodnota
_heapsetVrátí jednu z následujících konstant manifestu celé číslo definované v Malloc.h.
_HEAPBADBEGIN
Původní hlavička informace nebyl nalezen nebo je neplatný._HEAPBADNODE
Halda poškozená nebo chybné uzel nalezen._HEAPEMPTY
Haldy nebyl inicializován._HEAPOK
Konzistentní se zobrazí haldy.
Kromě toho, pokud dojde k chybě _heapset nastaví errno na ENOSYS.
Poznámky
_heapset Funkce zobrazuje umístění volné paměti nebo uzly, které byly neúmyslně přepsány.
_heapsetZkontroluje konzistenci minimální na haldy a poté nastaví každý bajt volných položek haldě fill hodnotu.Tato známá hodnota zobrazuje umístění paměti haldy obsahovat volné uzly a které obsahují data, která neúmyslně byly zapsány do uvolněné paměti.Pokud operační systém nepodporuje _heapset(například Windows 98), vrátí funkce _HEAPOK a errno na ENOSYS.
Požadavky
Rutina |
Požadované záhlaví |
Volitelné záhlaví |
---|---|---|
_heapset |
<malloc.h> |
<errno.h> |
Další informace o kompatibilitě v tématu Compatibility v úvodu.
Příklad
// 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 );
}
Ekvivalent v rozhraní .NET Framework
Nelze použít Použijte volání funkce standardní C, PInvoke. Další informace naleznete v tématu Příklady vyvolat platformu.