次の方法で共有


_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
    );

パラメーター

table
[入力、出力] 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_register_onexit_function_execute_onexit_table C、C++: <process.h>

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

関連項目

atexit
exit_Exit_exit
_onexit, _onexit_m