_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. Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.