_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 関数テーブルを使用して、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 function, _register_onexit_function, _execute_onexit_table |
C、C++: <process.h> |
_initialize_onexit_table、_register_onexit_function、_execute_onexit_table の各関数は、Microsoft 固有の関数です。 互換性の詳細については、「互換性」を参照してください。