Compartilhar via


_set_new_mode

Define um novo modo de manipulador para malloc.

int _set_new_mode(
   int newhandlermode 
);

Parâmetros

  • newhandlermode
    Novo modo de manipulador para malloc; valor válido é 0 ou 1.

Valor de retorno

Retorna o manipulador anterior para o conjunto de modos malloc.Um valor de retorno 1 indica que, em caso de falha ao alocar memória, malloc anteriormente chamado de rotina manipuladora novo; um valor de retorno 0 indica que não funcionou.Se a newhandlermode argumento não for igual a 0 ou 1, retornará – 1.

Comentários

O C++ _set_new_mode função define o novo modo de manipulador para malloc.O novo modo de manipulador indica se deve, em caso de falha, malloc é chamar a rotina manipuladora de novo conforme definido por _set_new_handler.Por padrão, malloc não chama a rotina manipuladora de novo em caso de falha ao alocar memória.Você pode substituir esse comportamento padrão para que, quando malloc Falha ao alocar memória, malloc chama a rotina manipuladora de novo na mesma maneira que o new operador oferece quando falhar pelo mesmo motivo.Para obter mais informações, consulte o nova e Excluir operadores na Referência da linguagem C++.Para substituir o padrão, ligue para:

_set_new_mode(1)

no início do seu programa ou um link com Newmode.obj (consulte Opções de link).

Esta função valida seu parâmetro.Se newhandlermode é algo diferente de 0 ou 1, a função chama o manipulador de parâmetro inválido, como descrito em Validação de parâmetro.Se a execução terá permissão para continuar, **_**set_new_mode retorna -1 e define errno para EINVAL.

Requisitos

Rotina

Cabeçalho necessário

_set_new_mode

<new.h>

Para obter mais informações de compatibilidade, consulte compatibilidade na introdução.

Equivalência do .NET Framework

Não aplicável. Para chamar a função c padrão, use PInvoke. Para obter mais informações, consulte Exemplos de invocação de plataforma.

Consulte também

Referência

Alocação de memória

calloc

livre

possível realocar

_query_new_handler

_query_new_mode