6.6.2 TLSコールバック関数

プログラムは、TLSデータ オブジェクトの追加の初期化と終了をサポートする1つまたは複数のTLSコールバック関数(Microsoftのコンパイラは現在はこの機能を使っていませんが)を提供することができます。そのようなコールバック関数を使う典型的な理由は、オブジェクトのコンストラクタとデストラクタを呼び出すためです。

通常は1つよりも多くのコールバック関数はありませんが、コールバックは配列として実装されているので、そうしたければコールバック関数を追加することが可能になっています。1つよりも多くのコールバック関数がある場合には、各関数は配列内に現れるアドレスの順序にしたがって呼び出されます。配列の終わりはヌルポインタです。空のリストを持つことは完全に有効です(サポートされるコールバックがない場合)、その場合には、コールバック配列は正に1つのメンバ、すなわち、ヌルポインタです。

コールバック関数のプロトタイプ(PIMAGE_TLS_CALLBACK型のポインタによって指し示される)はDLLエントリポイント関数と同じパラメータを持ちます。


戻る