TlsGetValue (Windows CE 5.0)

Send Feedback

This 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.

LPVOIDTlsGetValue( DWORDdwTlsIndex);

Parameters

  • dwTlsIndex
    [in] Specifies a TLS index that was allocated by the TlsAlloc function.

Return Values

The value stored in the calling thread's TLS slot associated with the specified index indicates success.

Zero indicates failure.

To get extended error information, call GetLastError.

The data stored in a TLS slot can have a value of zero. If so, 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. When 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, to store a value in its slot. The thread specifies the same index in a subsequent call to TlsGetValue, to retrieve the stored value.

For Windows CE 3.0 and later, NULL is returned when TlsGetValue is called before TlsSetValue.

For Windows CE 1.0 through 2.12, the returned value is not guaranteed to be NULL.

The primary goal of TlsSetValue and TlsGetValue is speed. These functions perform minimal parameter validation and error checking. In particular, this function succeeds if dwTlsIndex is in the range zero (0) through (TLS_MINIMUM_AVAILABLE – 1). You must ensure that the index is valid.

Microsoft 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. 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.

Requirements

OS Versions: Windows CE 1.0 and later.
Header: Winbase.h.
Link Library: Coredll.lib.

See Also

SetLastError | TlsAlloc | TlsFree | TlsSetValue

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.