다음을 통해 공유


_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 연산자가 같은 이유로 실패할 때와 동일한 방식으로 호출할 수 있도록 기본 동작을 재정의할 수 있습니다. 자세한 내용은, C++ Language Reference에서 newdelete 연산자를 참조하십시오. 기본값을 재정의하려면 다음을 호출합니다.

_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

free

realloc

_query_new_handler

_query_new_mode