Funzione TlsSetValue (processthreadsapi.h)
Archivia un valore nello slot tls (Thread Local Storage) del thread chiamante per l'indice TLS specificato. Ogni thread di un processo dispone del relativo slot per ciascun indice TLS.
Sintassi
BOOL TlsSetValue(
[in] DWORD dwTlsIndex,
[in, optional] LPVOID lpTlsValue
);
Parametri
[in] dwTlsIndex
Indice TLS allocato dalla funzione TlsAlloc .
[in, optional] lpTlsValue
Valore da archiviare nello slot TLS del thread chiamante per l'indice.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è diverso da zero.
Se la funzione ha esito negativo, il valore restituito è zero. 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 dello Store di Windows Phone chiama questa funzione, viene sostituita con una chiamata inline a FlsSetValue. Per la documentazione della funzione, vedere FlsSetValue .
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 FlsSetValue. Per la documentazione della funzione, vedere FlsSetValue .
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 FlsSetValue.
Gli indici TLS vengono in genere allocati dalla funzione TlsAlloc durante l'inizializzazione di processi o DLL. Quando viene allocato un indice TLS, gli slot di archiviazione vengono inizializzati su NULL. Dopo l'allocazione di un indice TLS, ogni thread del processo può usarlo per accedere al proprio slot TLS per tale indice. Un thread specifica un indice TLS in una chiamata a TlsSetValue per archiviare un valore nello slot. Il thread specifica lo stesso indice in una chiamata successiva a TlsGetValue per recuperare il valore archiviato.
TlsSetValue è stato implementato con velocità come obiettivo principale. La funzione esegue la convalida minima dei parametri e il controllo degli errori. In particolare, ha esito positivo se dwTlsIndex è compreso nell'intervallo compreso tra 0 e (TLS_MINIMUM_AVAILABLE - 1). Spetta al programmatore assicurarsi che l'indice sia valido prima di chiamare TlsGetValue.
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 |