_execute_onexit_table、_initialize_onexit_table、_register_onexit_function

終了時に呼び出されるルーチンを管理します。

構文

int _initialize_onexit_table(
    _onexit_table_t* table
    );

int _register_onexit_function(
    _onexit_table_t* table,
    _onexit_t        function
    );

int _execute_onexit_table(
    _onexit_table_t* table
    );

パラメーター

テーブル
[in, out] onexit 関数テーブルを指すポインター。

function
[in] onexit 関数テーブルに追加する関数を指すポインター。

戻り値

正常に終了した場合、0 を返します。 それ以外の場合は、負の値を返します。

解説

これらの関数は、C ランタイムをサポートするために使用されるインフラストラクチャ実装の詳細であり、ご使用のコードから直接呼び出してはなりません。 C ランタイムでは、onexit 関数テーブルを使用して、atexitat_quick_exit、および _onexit の呼び出しによって登録される関数のシーケンスを表現します。 onexit 関数テーブルのデータ構造は、C ランタイムの不透明な実装の詳細であり、データ メンバーの順番と意味は変わる場合があります。 それらを外部コードによって確認してはなりません。

_initialize_onexit_table 関数は、onexit 関数テーブルをその初期値に初期化します。 この関数は、onexit 関数テーブルを _register_onexit_function または _execute_onexit_table に渡す前に呼び出す必要があります。

_register_onexit_function 関数は、onexit 関数テーブルの末尾に関数を追加します。

_execute_onexit_table 関数は、onexit 関数テーブル内のすべての関数を実行し、テーブルをクリアして、制御を返します。 _execute_onexit_table の呼び出しの後、このテーブルは無効な状態になります。再度使用するには _initialize_onexit_table を呼び出して事前に再初期化しておく必要があります。

既定では、この関数のグローバル状態の適用対象は、アプリケーションになります。 これを変更するには、「CRT でのグローバル状態」を参照してください。

必要条件

ルーチンによって返される値 必須ヘッダー
_initialize_onexit_table function, _register_onexit_function, _execute_onexit_table C、C++: <process.h>

_initialize_onexit_table_register_onexit_function_execute_onexit_table の各関数は、Microsoft 固有の関数です。 互換性の詳細については、「互換性」を参照してください。

関連項目

atexit
終了、_Exit、_exit
_onexit、_onexit_m