_set_new_mode_set_new_mode

Establece un nuevo modo de controlador para malloc.Sets a new handler mode for malloc.

SintaxisSyntax

int _set_new_mode( int newhandlermode );

ParámetrosParameters

newhandlermodenewhandlermode
Nuevo modo de controlador para malloc; el valor válido es 0 o 1.New handler mode for malloc; valid value is 0 or 1.

Valor devueltoReturn Value

Devuelve el modo de controlador anterior establecido para malloc.Returns the previous handler mode set for malloc. Un valor devuelto de 1 indica que, en caso de error de asignación de memoria, malloc anteriormente llamó a la rutina del nuevo controlador. un valor devuelto de 0 indica que no lo hizo.A return value of 1 indicates that, on failure to allocate memory, malloc previously called the new handler routine; a return value of 0 indicates that it did not. Si el argumento newhandlermode no es igual a 0 o 1, devuelve-1.If the newhandlermode argument does not equal 0 or 1, returns -1.

ObservacionesRemarks

La función _set_new_mode de C++ establece el nuevo modo de controlador para malloc.The C++ _set_new_mode function sets the new handler mode for malloc. El nuevo modo de controlador indica si, en caso de error, malloc es llamar a la rutina del nuevo controlador tal y como se establece en _set_new_handler.The new handler mode indicates whether, on failure, malloc is to call the new handler routine as set by _set_new_handler. De forma predeterminada, malloc no llama a la rutina del nuevo controlador en caso de error al asignar memoria.By default, malloc does not call the new handler routine on failure to allocate memory. Puede invalidar este comportamiento predeterminado para que, cuando malloc no pueda asignar memoria, malloc llame a la rutina del nuevo controlador de la misma manera que el new operador cuando se produce un error por la misma razón.You can override this default behavior so that, when malloc fails to allocate memory, malloc calls the new handler routine in the same way that the new operator does when it fails for the same reason. Para obtener más información, vea los operadores new y delete en Referencia de lenguaje C++.For more information, see the new and delete operators in the C++ Language Reference. Para invalidar el valor predeterminado, llame a:To override the default, call:

_set_new_mode(1);

temprano en el programa o vincular con newmode. obj (vea Opciones de vínculo).early in your program or link with Newmode.obj (see Link Options).

Esta función valida su parámetro.This function validates its parameter. Si newhandlermode es distinto de 0 o 1, la función invoca el controlador de parámetros no válidos, tal y como se describe en validación de parámetros.If newhandlermode is anything other than 0 or 1, the function invokes the invalid parameter handler, as described in Parameter Validation. Si la ejecución puede continuar, _set_new_mode devuelve-1 y establece errno en EINVAL .If execution is allowed to continue, _set_new_mode returns -1 and sets errno to EINVAL.

De forma predeterminada, el ámbito de este estado global de esta función es la aplicación.By default, this function's global state is scoped to the application. Para cambiar esto, vea estado global en CRT.To change this, see Global state in the CRT.

RequisitosRequirements

RutinaRoutine Encabezado necesarioRequired header
_set_new_mode_set_new_mode <new.h>

Para obtener más información sobre compatibilidad, vea Compatibility.For more compatibility information, see Compatibility.

Consulta tambiénSee also

Asignación de memoriaMemory Allocation
calloccalloc
freefree
reallocrealloc
_query_new_handler_query_new_handler
_query_new_mode_query_new_mode