_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
関数テーブルを使用して、 atexit
、 at_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 固有の関数です。 互換性の詳細については、「互換性」を参照してください。