TlsSetValue函数在调用线程的线程本地存储(TLS)插槽中存储指定TLS索引的值。进程的每个线程都有自己的每个TLS索引的插槽。
BOOL TlsSetValue(
DWORD 【dwTlsIndex】, | //设置值的TLS索引 |
LPVOID 【lpTlsValue】 | //要存储的值 |
); |
参数
【dwTlsIndex】
指定由TlsAlloc功能分配的TLS索引。
【lpTlsValue】
指定要存储在由【dwTlsIndex】指定的调用线程的TLS插槽中的值。
返回值
如果函数成功,返回值不为零。
如果函数失败,返回值为零。要获取扩展错误信息,请调用GetLastError.
备注
在进程或DLL初始化期间,TLS索引通常由TlsAlloc函数分配。一旦分配,进程的每个线程可以使用TLS索引访问该索引的自己的TLS存储槽。每个线程的存储槽被初始化为NULL。一个线程在调用TlsSetValue中指定一个TLS索引,以便在其插槽中存储一个值。线程在后续调用TlsGetValue中指定相同的索引,以检索存储的值。
TlsSetValue和TlsGetValue以速度实现为主要目标。这些功能执行最小的参数验证和错误检查。特别地,如果【dwTlsIndex】的范围为0到(TLS_MINIMUM_AVAILABLE - 1),则此函数成功。程序员必须确保索引有效。
也可以看看