TlsGetValue2 函数(processthreadsapi.h)
重要
某些信息与预发行产品有关,该产品在商业发布之前可能会进行大幅修改。 Microsoft对此处提供的信息不作任何明示或暗示的保证。
检索指定 TLS 索引的调用线程本地存储(TLS)槽中的值。 进程的每个线程都有自己的每个 TLS 索引的槽。
语法
LPVOID TlsGetValue2(
[in] DWORD dwTlsIndex
);
参数
[in] dwTlsIndex
由 TlsAlloc 函数分配的 TLS 索引。
返回值
如果函数成功,则返回值是存储在与指定索引关联的调用线程的 TLS 槽中的值。 如果 dwTlsIndex 是由成功调用 tlsAlloc分配的有效索引,则此函数始终成功。
如果函数失败,则返回值为零。
言论
TLS 索引通常由 TlsAlloc 函数在进程或 DLL 初始化期间分配。 分配 TLS 索引后,进程的每个线程都可以使用它来访问该索引的自己的 TLS 槽。 线程在调用 TlsSetValue 中指定 TLS 索引,以在其槽中存储值。 线程在后续调用中指定相同的索引,TlsGetValue2 以检索存储的值。
TlsGetValue2 以速度作为主要目标实现。 该函数执行最少的参数验证和错误检查。 具体而言,如果 dwTlsIndex 的范围为 0 到(
此函数与 TlsGetValue 相同,只不过它未设置线程的最后一个错误。 调用此函数的应用程序应避免将 0 用作有效值,因为无法调用 GetLastError 来检查函数是否失败。
例子
请参阅
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 11 版本 24H2 |
目标平台 | 窗户 |
标头 | processthreadsapi.h |
库 | Kernel32.lib |
DLL | Kernel32.dll |
另请参阅
VBS enclave 中提供的 Vertdll API