IMAGE_TLS_DIRECTORY.html

TLS

IMAGE_TLS_DIRECTORY

TLS技术

线程局部存储技术(Thread Local Storage, TLS),解决了多个线程访问同一变量的冲突问题。

块结构

内容 大小 偏移 说明
StartAddressOfRawData dd 0000h TSL 模板的起始地址
EndAddressOfRawData dd 0004h TLS 模板的结束地址
AddressOfIndex dd 0008h TLS 索引的位置
AddressOfCallBacks dd 000ch TLS 回调函数数组指针
SizeOfZeroFill dd 0010h 填充0的个数
Characteristics dd 0014h 保留

StartAddressOfRawData

双字。表示TLS模板的起始地址。用于对TLS数据进行初始化。每当创建线程时,系统都要复制所有这些数据。

EndAddressOfRawData

双字。表示TLS模板的结束地址。

AddressOfIndex

双字。用于保存TLS索引的位置,索引的具体值由加载器确定。这个位置在普通的数据节中,因此,可以给它取一个容易理解的符号名,便于在程序中访问。

AddressOfCallBacks

双字。这是一个指针,指向由TLS回调函数1组成的数组。这个数组是以NULL结尾的,因此,有回调函数的话,这个字段指向的位置处应该是4个字节的0.

SizeOfZeroFill

双字。TLS模板的大小应该与映像文件中的TLS数据的大小一致。用0填充的数据就是已初始化的非零数据后面的那些数据。

Characteristics

双字。保留未用。


  1. 什么东西,不知道