Collapse the table of content
Expand the table of content
Important This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer


Sets a new handler mode for malloc.

int _set_new_mode(
   int newhandlermode 



New handler mode for malloc; valid value is 0 or 1.

Returns the previous handler mode set for malloc. 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. If the newhandlermode argument does not equal 0 or 1, returns –1.

The C++ _set_new_mode function sets the new handler mode for malloc. The new handler mode indicates whether, on failure, malloc is to call the new handler routine as set by _set_new_handler. By default, malloc does not call the new handler routine on failure to allocate memory. 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. For more information, see the new and delete operators in the C++ Language Reference. To override the default, call:


early in your program or link with Newmode.obj (see Link Options).

This function validates its parameter. If newhandlermode is anything other than 0 or 1, the function invokes the invalid parameter handler, as described in Parameter Validation. If execution is allowed to continue, _set_new_mode returns -1 and sets errno to EINVAL.

Routine Required header Compatibility



Windows 95, Windows 98, Windows 98 Second Edition, Windows Millennium Edition, Windows NT 4.0, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003

For more compatibility information, see Compatibility in the Introduction.

Not applicable. To call the standard C function, use PInvoke. For more information, see Platform Invoke Examples.

© 2015 Microsoft