Condividi tramite


set_terminate (CRT)

Installa possiedono la routine di chiusura da chiamare da terminate.

terminate_function set_terminate(
   terminate_function termFunction
);

Parametri

  • termFunction
    Puntatore a una funzione di terminare da scrivere.

Valore restituito

Restituisce un puntatore a funzione precedente registrata da set_terminate in modo da poter ripristinare più avanti la funzione precedente.Se nessuna funzione precedente è stata impostata, il valore restituito può essere utilizzato per ripristinare il comportamento predefinito, questo valore può essere NULL.

Note

set_terminate la funzione esegue l'installazione termFunction come la funzione chiamata da terminate.set_terminate viene utilizzato con gestione delle eccezioni C++ e può essere chiamato in qualsiasi punto del programma prima che l'eccezione venga generata un'eccezione.terminate chiamate abort per impostazione predefinita.È possibile modificare questa impostazione predefinita scrivendo diventi proprietaria della funzione di chiusura e chiamando set_terminate con il nome della funzione come argomento.terminate chiama l'ultima funzione fornita come argomento a set_terminate.Dopo aver eseguito le attività si di pulizia, termFunction è necessario uscire dal programma.Se non risulti esterna (se restituisce al relativo chiamante), abort viene chiamato.

In un ambiente multithreading, terminare le funzioni vengono gestiti separatamente per ogni thread.Necessità di ogni nuove thread di installare il proprio terminano la funzione.Quindi, ogni thread è responsabile della gestione di chiusura.

terminate_function il tipo è definito in EH.H come puntatore a una funzione definita dall'utente finale, termFunction che restituisce void.la funzione personalizzata termFunction non può accettare argomenti e non deve restituire al relativo chiamante.In caso affermativo, abort viene chiamato.Un'eccezione non può essere generata da termFunction.

typedef void ( *terminate_function )( );

[!NOTA]

set_terminate la funzione viene eseguita solo all'esterno del debugger.

Esiste un singolo set_terminate gestore per tutte le DLL o EXE collegati in modo dinamico; anche se si chiama set_terminate il gestore può essere sostituito da un altro, oppure sostituire un gestore impostato da un'altra DLL o EXE.

Questa funzione non viene di seguito supportato /clr:pure.

Requisiti

routine

Intestazione di associazione

set_terminate

<eh.h>

per informazioni di compatibilità aggiuntive, vedere compatibilità nell'introduzione.

Esempio

Vedere l'esempio relativo a terminare.

Equivalente .NET Framework

Non applicabile. Per chiamare la funzione c standard, utilizzare PInvoke. Per ulteriori informazioni, vedere Esempi di pinvoke.

Vedere anche

Riferimenti

Routine di gestione delle eccezioni

abort

_get_terminate

set_unexpected (CRT)

terminate (CRT)

unexpected (CRT)