TlsFree function (processthreadsapi.h)

Releases a thread local storage (TLS) index, making it available for reuse.

Syntax

BOOL TlsFree(
  [in] DWORD dwTlsIndex
);

Parameters

[in] dwTlsIndex

The TLS index that was allocated by the TlsAlloc function.

Return value

If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero. To get extended error information, call GetLastError.

Remarks

Windows Phone 8.1: This function is supported for Windows Phone Store apps on Windows Phone 8.1 and later. When a Windows Phone Store app calls this function, it is replaced with an inline call to FlsFree. Refer to FlsFree for function documentation.

Windows 8.1, Windows Server 2012 R2, and Windows 10, version 1507: This function is supported for Windows Store apps on Windows 8.1, Windows Server 2012 R2, and Windows 10, version 1507. When a Windows Store app calls this function, it is replaced with an inline call to FlsFree. Refer to FlsFree for function documentation.

Windows 10, version 1511 and Windows 10, version 1607: This function is fully supported for Universal Windows Platform (UWP) apps, and is no longer replaced with an inline call to FlsFree.

If the threads of the process have allocated memory and stored a pointer to the memory in a TLS slot, they should free the memory before calling TlsFree. The TlsFree function does not free memory blocks whose addresses have been stored in the TLS slots associated with the TLS index. It is expected that DLLs call this function (if at all) only during DLL_PROCESS_DETACH.

For more information, see Thread Local Storage.

Examples

For an example, see Using Thread Local Storage or Using Thread Local Storage in a Dynamic-Link Library.

Requirements

Requirement Value
Minimum supported client Windows XP [desktop apps | UWP apps]
Minimum supported server Windows Server 2003 [desktop apps | UWP apps]
Target Platform Windows
Header processthreadsapi.h (include Windows.h on Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2)
Library Kernel32.lib; WindowsPhoneCore.lib on Windows Phone 8.1
DLL KernelBase.dll on Windows Phone 8.1; Kernel32.dll

See also

Processes and Threads Overview

Thread Local Storage

TlsAlloc

TlsGetValue

TlsSetValue

Vertdll APIs available in VBS enclaves