TlsGetValue
The TlsGetValue
function retrieves the value in the calling thread s thread local storage (TLS)
slot for a specified TLS index. Each thread of a process has its own slot for
each TLS index.
LPVOID TlsGetValue(
DWORD dwTlsIndex |
// TLS index to
retrieve value for |
); |
|
Parameters
dwTlsIndex
Specifies a
TLS index that was allocated by the TlsAllocQZKZRO function.
Return Values
If the
function succeeds, the return value is the value stored in the calling thread s
TLS slot associated with the specified index.
If the
function fails, the return value is zero. To get extended error information,
call GetLastError
Note that the
data stored in a TLS slot can have a value of zero. In this case, the return
value is zero and GetLastError returns NO_ERROR.
Remarks
TLS indexes
are typically allocated by the TlsAlloc function during process or DLL
initialization. Once allocated, each thread of the process can use a TLS index
to access its own TLS storage slot for that index. The storage slot for each
thread is initialized to NULL. A thread specifies a TLS index in a call to TlsSetValue
TlsSetValue and TlsGetValue were implemented with speed as
the primary goal. These functions perform minimal parameter validation and
error checking. In particular, this function succeeds if dwTlsIndex is
in the range 0 through (TLS_MINIMUM_AVAILABLE - 1). It is up to the programmer to ensure that the
index is valid.
Win32
functions that return indications of failure call SetLastError when they
fail. They generally do not call SetLastError when they succeed. The TlsGetValue
function is an exception to this general rule. The TlsGetValue function
calls SetLastError to clear a thread s last error when it succeeds. That
allows checking for the error-free retrieval of NULL values.
See Also