Condividi tramite


Funzione TlsAlloc (processthreadsapi.h)

Alloca un indice di archiviazione locale del thread (TLS). Qualsiasi thread del processo può successivamente usare questo indice per archiviare e recuperare valori locali per il thread, perché ogni thread riceve il proprio slot per l'indice.

Sintassi

DWORD TlsAlloc();

Valore restituito

Se la funzione ha esito positivo, il valore restituito è un indice TLS. Gli slot per l'indice vengono inizializzati su zero.

Se la funzione ha esito negativo, il valore restituito viene TLS_OUT_OF_INDEXES. Per informazioni dettagliate sull'errore, chiamare GetLastError.

Commenti

Windows Phone 8.1: questa funzione è supportata per Windows Phone app dello Store in Windows Phone 8.1 e versioni successive. Quando un'app di Windows Phone Store chiama questa funzione, viene sostituita con una chiamata inline a FlsAlloc. Per la documentazione sulle funzioni, vedere FlsAlloc .

Windows 8.1, Windows Server 2012 R2 e Windows 10 versione 1507: questa funzione è supportata per le app di Windows Store in Windows 8.1, Windows Server 2012 R2 e Windows 10, versione 1507. Quando un'app di Windows Store chiama questa funzione, viene sostituita con una chiamata inline a FlsAlloc. Per la documentazione sulle funzioni, vedere FlsAlloc .

Windows 10, versione 1511 e Windows 10, versione 1607: questa funzione è completamente supportata per le app piattaforma UWP (Universal Windows Platform) (UWP) e non viene più sostituita con una chiamata inline a FlsAlloc.

I thread del processo possono usare l'indice TLS nelle chiamate successive alle funzioni TlsFree, TlsSetValue o TlsGetValue . Il valore dell'indice TLS deve essere considerato come un valore opaco; non presupporre che si tratti di un indice in una matrice in base zero.

Gli indici TLS vengono in genere allocati durante l'inizializzazione di processi o DLL (Dynamic Link Library). Quando viene allocato un indice TLS, gli slot di archiviazione vengono inizializzati su NULL. Dopo aver allocato un indice TLS, ogni thread del processo può usarlo per accedere al proprio slot di archiviazione TLS. Per archiviare un valore nello slot TLS, un thread specifica l'indice in una chiamata a TlsSetValue. Il thread specifica lo stesso indice in una chiamata successiva a TlsGetValue per recuperare il valore archiviato.

Gli indici TLS non sono validi attraverso i limiti del processo. Una DLL non può presupporre che un indice assegnato in un processo sia valido in un altro processo.

Esempio

Per un esempio, vedere Uso dell'archiviazione locale dei thread o uso dell'archiviazione locale dei thread in una libreria di Dynamic-Link.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [app desktop | App UWP]
Server minimo supportato Windows Server 2003 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione processthreadsapi.h (include Windows.h in Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2)
Libreria Kernel32.lib; WindowsPhoneCore.lib in Windows Phone 8.1
DLL KernelBase.dll Windows Phone 8,1; Kernel32.dll

Vedi anche

Funzioni di processi e thread

Archiviazione locale thread

TlsFree

TlsGetValue

TlsSetValue

API Vertdll disponibili nelle enclave VBS