Função TlsAlloc (processthreadsapi.h)

Aloca um índice TLS (armazenamento local de thread). Qualquer thread do processo pode usar posteriormente esse índice para armazenar e recuperar valores que são locais para o thread, pois cada thread recebe seu próprio slot para o índice.

Sintaxe

DWORD TlsAlloc();

Retornar valor

Se a função for bem-sucedida, o valor retornado será um índice TLS. Os slots para o índice são inicializados como zero.

Se a função falhar, o valor retornado será TLS_OUT_OF_INDEXES. Para obter informações de erro estendidas, chame GetLastError.

Comentários

Windows Phone 8.1: essa função tem suporte para aplicativos Windows Phone Store no Windows Phone 8.1 e posterior. Quando um aplicativo da Windows Phone Store chama essa função, ele é substituído por uma chamada embutida para FlsAlloc. Consulte FlsAlloc para obter a documentação da função.

Windows 8.1, Windows Server 2012 R2 e Windows 10, versão 1507: essa função tem suporte para aplicativos da Windows Store em Windows 8.1, Windows Server 2012 R2 e Windows 10, versão 1507. Quando um aplicativo da Windows Store chama essa função, ela é substituída por uma chamada embutida para FlsAlloc. Consulte FlsAlloc para obter a documentação da função.

Windows 10, versão 1511 e Windows 10, versão 1607: essa função tem suporte total para aplicativos Plataforma Universal do Windows (UWP) e não é mais substituída por uma chamada embutida para FlsAlloc.

Os threads do processo podem usar o índice TLS em chamadas subsequentes para as funções TlsFree, TlsSetValue ou TlsGetValue . O valor do índice TLS deve ser tratado como um valor opaco; não suponha que seja um índice em uma matriz baseada em zero.

Os índices TLS normalmente são alocados durante o processo ou a inicialização da DLL (biblioteca de vínculo dinâmico). Quando um índice TLS é alocado, seus slots de armazenamento são inicializados como NULL. Depois que um índice TLS tiver sido alocado, cada thread do processo poderá usá-lo para acessar seu próprio slot de armazenamento TLS. Para armazenar um valor em seu slot TLS, um thread especifica o índice em uma chamada para TlsSetValue. O thread especifica o mesmo índice em uma chamada subsequente para TlsGetValue, para recuperar o valor armazenado.

Os índices TLS não são válidos entre os limites do processo. Uma DLL não pode assumir que um índice atribuído em um processo é válido em outro processo.

Exemplos

Para obter um exemplo, consulte Usando o armazenamento local do thread ou Usando o armazenamento local de thread em uma biblioteca de Dynamic-Link.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [aplicativos da área de trabalho | aplicativos UWP]
Servidor mínimo com suporte Windows Server 2003 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho processthreadsapi.h (inclua Windows.h no Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2)
Biblioteca Kernel32.lib; WindowsPhoneCore.lib no Windows Phone 8.1
DLL KernelBase.dll no Windows Phone 8.1; Kernel32.dll

Confira também

Funções de thread e processo

Armazenamento local de thread

Tlsfree

Tlsgetvalue

Tlssetvalue

APIs Vertdll disponíveis em enclaves de VBS