Compartilhar via


_set_new_mode

Define um novo modo de manipulador de malloc.

int _set_new_mode(
   int newhandlermode 
);

Parâmetros

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

Valor de retorno

Retorna o modo anterior do manipulador definido para malloc. Um valor de retorno 1 indica que, falha alocar memória, malloc chamado anteriormente a nova rotina do manipulador; um valor de retorno 0 indica que não fez. Se o argumento de newhandlermode não é igual a 0 ou 1, 1 será retornado.

Comentários

A função C++ _set_new_mode define o novo modo de manipulador de malloc. O novo modo de manipulador indica se, em caso de falha, malloc deve chamar a nova rotina do manipulador conforme definido por _set_new_handler. Por padrão, malloc não chama a nova rotina do manipulador em caso de falha para alocar memória. Você pode substituir esse comportamento padrão para que, quando malloc não aloca memória, malloc chama a nova rotina de manipulador da mesma forma que o operador de new faz quando falha pela mesma razão. Para obter mais informações, consulte os operadores de novo e de excluirna referência de linguagem C++. Para substituir a opção, chame:

_set_new_mode(1)

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

Essa função valida seu parâmetro. Se newhandlermode não for 0 ou 1, a função invoca o manipulador inválido do parâmetro, conforme descrito em Validação do parâmetro. Se a execução for permitida continuar, **_**set_new_mode retorna -1 e defina errno a EINVAL.

Requisitos

Rotina

Cabeçalho necessário

_set_new_mode

<new.h>

Para obter mais informações sobre compatibilidade, consulte Compatibilidade na Introdução.

Equivalência do .NET Framework

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

Consulte também

Referência

Alocação de memória

calloc

free

realloc

_query_new_handler

_query_new_mode