Udostępnij za pośrednictwem


_set_new_mode

Ustawia nowy tryb obsługi dla malloc.

int _set_new_mode(
   int newhandlermode 
);

Parametry

  • newhandlermode
    Nowy tryb obsługi dla malloc; Prawidłowe wartości to 0 lub 1.

Wartość zwracana

Zwraca zestaw trybów dla poprzedniego programu obsługi malloc.Zwracana wartość 1 oznacza, że, nie można przydzielić pamięci, malloc uprzednio nazywany nowe procedury obsługi; zwracana wartość wynosząca 0 wskazuje, nie określa.Jeśli newhandlermode argument nie jest równy 0 lub 1, funkcja zwraca –1.

Uwagi

C++ _set_new_mode funkcja ustawia nowy tryb obsługi dla malloc.Nowy tryb obsługi wskazuje, czy w przypadku awarii, malloc jest wywołanie procedury obsługi nowych określone przez _set_new_handler.Domyślnie malloc nie wywołuje nowe procedury obsługi na nie można przydzielić pamięci.Można zastąpić to zachowanie domyślne tak, aby, gdy malloc nie można przydzielić pamięci, malloc wywołuje nowe procedury obsługi w taki sam sposób new operator wykonuje, gdy go nie powiedzie się z tego samego powodu.Aby uzyskać więcej informacji, zobacz Nowy i usunąć operatory w Skorowidz języka C++.Aby zastąpić ustawienia domyślne, należy wywołać:

_set_new_mode(1)

wczesne w programie lub w związku z Newmode.obj (zobacz Opcje łącz).

Funkcja ta sprawdza poprawność jej parametr.Jeśli newhandlermode wszystko inne niż 0 lub 1, funkcja wywołuje obsługi nieprawidłowy parametr, jak opisano w Sprawdzanie poprawności parametru.Jeśli wykonanie jest dozwolone, aby kontynuować, **_**set_new_mode zwraca wartość -1 i ustawia errno do EINVAL.

Wymagania

Rozpoczęto wykonywanie procedury

Wymaganego nagłówka

_set_new_mode

<new.h>

Informacji dotyczących zgodności, zobacz zgodności we wprowadzeniu.

Odpowiednik w programie .NET Framework

Nie dotyczy. Aby wywołać standardowych funkcji C, należy użyć PInvoke. Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy.

Zobacz też

Informacje

Alokacja pamięci

calloc

free

realloc

_query_new_handler

_query_new_mode