6.6.1 TLSディレクトリ

TLSディレクトリの形式を示します。

オフセット サイズ フィールド 解説
0 4 Raw Data Start VA (Virtual Address) TLSテンプレートの開始アドレス。テンプレートはTLSデータを初期化するために使用されるデータのブロックです。システムはこのデータをスレッドが作成されるたびにすべてコピーし、破壊されないようにします。このアドレスはRVAではありません。.relocセクション内のベース再配置が存在すべきアドレスです。
4 4 Raw Data End VA 埋め文字のゼロを除いた、TLSの最後のバイトのアドレス。Raw Data Start VAと同様、これも仮想アドレスであって、RVAではありません。
8 4 Address of Index ローダが割り当てるTLSインデックスを受け取る位置。この位置は通常のデータ セクションなので、プログラムにアクセス可能なシンボリック名を与えることができます。
12 4 Address of Callbacks TLSコールバック関数の配列へのポインタ。配列はヌルで終了するので、サポートされているコールバック関数がない場合には、このフィールドはゼロがセットされた4バイトを指し示します。これらの関数のプロトタイプはこの後の「TLSコールバック関数」の節で示します。
16 4 Size of Zero Fill テンプレートのバイト単位でのサイズ。Raw Data Start VAおよびRaw Data End VAによって区切られた初期化されたデータを越えた部分。テンプレート全体のサイズはイメージ ファイル内のTLSデータ全体のサイズと同じでなければなりません。ゼロによる埋め文字は初期化されたゼロ以外のデータの後に続くデータの量です。
20 4 Characteristics TLSフラグが将来使用できるように予約されています。


戻る