_set_new_mode

Définit un new mode gestionnaire pour malloc.

Syntaxe

int _set_new_mode( int newhandlermode );

Paramètres

newhandlermode
new mode gestionnaire pour malloc; la valeur valide est 0 ou 1.

Valeur retournée

Retourne le mode de gestionnaire précédent pour malloc. Une valeur de retour de 1 indique que, en cas d’échec de l’allocation de mémoire, malloc précédemment appelée routine du new gestionnaire ; une valeur de retour de 0 indique qu’elle n’a pas été utilisée. Si l’argument newhandlermode n’est pas égal à 0 ou 1, retourne -1.

Notes

La fonction C++ _set_new_mode définit le new mode gestionnaire pour malloc. Le new mode gestionnaire indique si, en cas d’échec, malloc l’appel de la routine du new gestionnaire est défini par _set_new_handler. Par défaut, malloc n’appelle pas la routine du new gestionnaire en cas d’échec de l’allocation de mémoire. Vous pouvez remplacer ce comportement par défaut afin que, lorsqu’il malloc ne parvient pas à allouer de la mémoire, malloc appelle la routine de new gestionnaire de la même façon que l’opérateur new le fait lorsqu’il échoue pour la même raison. Pour plus d’informations, consultez les opérateurs et delete les new opérateurs dans la référence du langage C++. Pour substituer la valeur par défaut, appelez :

_set_new_mode(1);

début de votre programme ou lien avec Newmode.obj (voir options de lien).

Cette fonction valide son paramètre. Si newhandlermode elle est autre que 0 ou 1, la fonction appelle le gestionnaire de paramètres non valide, comme décrit dans la validation des paramètres. Si l’exécution est autorisée à continuer, _set_new_mode retourne -1 et définit la valeur .EINVALerrno

Par défaut, l’état global de cette fonction est limité à l’application. Pour modifier ce comportement, consultez État global dans le CRT.

Spécifications

Routine En-tête requis
_set_new_mode <new.h>

Pour plus d’informations sur la compatibilité, consultez Compatibility.

Voir aussi

Allocation de mémoire
calloc
free
realloc
_query_new_handler
_query_new_mode