set_terminate (CRT)set_terminate (CRT)

Terminateによって呼び出される独自の終了ルーチンをインストールします。Installs your own termination routine to be called by terminate.

構文Syntax

terminate_function set_terminate( terminate_function termFunction );

パラメーターParameters

termFunctiontermFunction
作成する終了関数へのポインター。Pointer to a terminate function that you write.

戻り値Return Value

前の関数を後で復元できるように、 set_terminateによって登録された前の関数へのポインターを返します。Returns a pointer to the previous function registered by set_terminate so that the previous function can be restored later. 前の関数が設定されていない場合は、戻り値を使用して既定の動作を復元できます。この値はNULLでもかまいません。If no previous function has been set, the return value may be used to restore the default behavior; this value may be NULL.

RemarksRemarks

Set_terminate関数は、終了によって呼び出される関数としてtermfunctionをインストールします。The set_terminate function installs termFunction as the function called by terminate. set_terminateは例外処理C++で使用され、例外がスローされる前にプログラムの任意の時点で呼び出すことができます。set_terminate is used with C++ exception handling and may be called at any point in your program before the exception is thrown. terminate呼び出しは、既定で中止されます。terminate calls abort by default. 独自の終了関数を記述し、関数の名前を引数として使用してset_terminateを呼び出すことで、この既定値を変更できます。You can change this default by writing your own termination function and calling set_terminate with the name of your function as its argument. terminate set_terminateの引数として指定された最後の関数を呼び出します。terminate calls the last function given as an argument to set_terminate. 必要なクリーンアップタスクを実行した後、 Termfunctionはプログラムを終了する必要があります。After performing any desired cleanup tasks, termFunction should exit the program. 終了しない場合 (呼び出し元に戻る場合)、 abortが呼び出されます。If it does not exit (if it returns to its caller), abort is called.

マルチ スレッド環境では、終了関数はスレッドごとに別々に管理されます。In a multithreaded environment, terminate functions are maintained separately for each thread. 新しいスレッドは各々、それぞれの終了関数をインストールする必要があります。Each new thread needs to install its own terminate function. したがって、各スレッドがそれぞれの終了処理を担当します。Thus, each thread is in charge of its own termination handling.

Terminate_function型は EH で定義されています。ユーザー定義の終了関数へのポインターとしての H。 voidを返すtermfunctionです。The terminate_function type is defined in EH.H as a pointer to a user-defined termination function, termFunction that returns void. カスタム関数Termfunctionは引数を取らず、呼び出し元に戻らないようにする必要があります。Your custom function termFunction can take no arguments and should not return to its caller. この場合、 abortが呼び出されます。If it does, abort is called. Termfunction内から例外がスローされない可能性があります。An exception may not be thrown from within termFunction.

typedef void ( *terminate_function )( );

注意

Set_terminate関数は、デバッガーの外部でのみ機能します。The set_terminate function only works outside the debugger.

動的にリンクされたすべての Dll または Exe に対して1つのset_terminateハンドラーがあります。set_terminateを呼び出す場合でも、ハンドラーは別のハンドラーに置き換えられるか、または別の DLL または EXE によって設定されたハンドラーを置き換えることができます。There is a single set_terminate handler for all dynamically linked DLLs or EXEs; even if you call set_terminate your handler may be replaced by another, or you may be replacing a handler set by another DLL or EXE.

必要条件Requirements

ルーチンによって返される値Routine 必須ヘッダーRequired header
set_terminateset_terminate <eh.h><eh.h>

互換性の詳細については、「 互換性」を参照してください。For additional compatibility information, see Compatibility.

Example

terminate の例をご覧ください。See the example for terminate.

関連項目See also

例外処理ルーチンException Handling Routines
abortabort
_get_terminate_get_terminate
set_unexpectedset_unexpected
terminateterminate
unexpectedunexpected