Поделиться через


_set_new_mode

Задает новый режим обработчика для malloc.

int _set_new_mode(
   int newhandlermode 
);

Параметры

  • newhandlermode
    Новый режим обработки для malloc; допустимые значения 0 или 1.

Возвращаемое значение

Возвращает предыдущий режим обработки, установленный для malloc. Возвращаемое значение 1 означает, что при сбое выделения памяти malloc ранее вызывал новую процедуру обработчика; возвращаемое значение 0 означает, что он не делал этого. Если аргумент newhandlermode не равен 0 или 1, возвращается –1.

Заметки

Функция C++ _set_new_mode задает новый режим обработчика события malloc. Указывает, может ли новый режим обработки, при сбое вызова malloc, использовать новую процедуру обработчика как набор _set_new_handler. По умолчанию malloc не вызывает новую процедуру обработчика при сбое выделения памяти. Можно переопределить это поведение по умолчанию, чтобы в случае сбоя предоставления памяти методом malloc метод malloc вызывал новую процедуру обработчика таким же образом, как это делает оператор new при сбое по той же причине. Дополнительные сведения см. в разделах new и delete в Справочнике по языку C++. Чтобы переопределить значение по умолчанию, вызовите:

_set_new_mode(1)

на ранних этапах программы или компонуйте с использованием Newmode.obj (см. Параметры ссылок).

Эта функция проверяет свой параметр. Если newhandlermode отлично от 0 или 1, то функция вызывает обработчик недопустимых параметров, как описано в разделе Проверка параметров. Если выполнение может быть продолжено, то **_**set_new_mode возвращает -1 и устанавливает errno в EINVAL.

Требования

Подпрограмма

Обязательный заголовок

_set_new_mode

<new.h>

Дополнительные сведения о совместимости см. в разделе Совместимость во введении.

Эквивалент в .NET Framework

Неприменимо. Для вызова стандартной функции C используйте PInvoke. Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.

См. также

Ссылки

Выделение памяти

calloc

свободные

realloc

_query_new_handler

_query_new_mode