TlsSetValue, fonction (processthreadsapi.h)
Stocke une valeur dans l’emplacement de stockage local (TLS) du thread appelant pour l’index TLS spécifié. Chaque thread d'un processus possède son propre emplacement pour chaque index TLS.
Syntaxe
BOOL TlsSetValue(
[in] DWORD dwTlsIndex,
[in, optional] LPVOID lpTlsValue
);
Paramètres
[in] dwTlsIndex
Index TLS qui a été alloué par la fonction TlsAlloc .
[in, optional] lpTlsValue
Valeur à stocker dans l’emplacement TLS du thread appelant pour l’index.
Valeur retournée
Si la fonction réussit, la valeur de retour est différente de zéro.
Si la fonction échoue, la valeur de retour est égale à zéro. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.
Remarques
Windows Phone 8.1 : cette fonction est prise en charge pour les applications Windows Phone Store sur Windows Phone 8.1 et versions ultérieures. Lorsqu’une application Windows Phone Store appelle cette fonction, elle est remplacée par un appel inline à FlsSetValue. Reportez-vous à FlsSetValue pour la documentation des fonctions.
Windows 8.1, Windows Server 2012 R2 et Windows 10, version 1507 : cette fonction est prise en charge pour les applications du Windows Store sur Windows 8.1, Windows Server 2012 R2 et Windows 10, version 1507. Lorsqu’une application du Windows Store appelle cette fonction, elle est remplacée par un appel inline à FlsSetValue. Reportez-vous à FlsSetValue pour la documentation des fonctions.
Windows 10, version 1511 et Windows 10, version 1607 : cette fonction est entièrement prise en charge pour les applications plateforme Windows universelle (UWP) et n’est plus remplacée par un appel inline à FlsSetValue.
Les index TLS sont généralement alloués par la fonction TlsAlloc pendant l’initialisation du processus ou de la DLL. Lorsqu’un index TLS est alloué, ses emplacements de stockage sont initialisés sur NULL. Une fois qu’un index TLS est alloué, chaque thread du processus peut l’utiliser pour accéder à son propre emplacement TLS pour cet index. Un thread spécifie un index TLS dans un appel à TlsSetValue, pour stocker une valeur dans son emplacement. Le thread spécifie le même index dans un appel ultérieur à TlsGetValue, pour récupérer la valeur stockée.
TlsSetValue a été implémenté avec la vitesse comme objectif principal. La fonction effectue une validation des paramètres et une vérification des erreurs minimales. En particulier, elle réussit si dwTlsIndex se trouve dans la plage comprise entre 0 et (TLS_MINIMUM_AVAILABLE – 1). Il incombe au programmeur de s’assurer que l’index est valide avant d’appeler TlsGetValue.
Exemples
Pour obtenir un exemple, consultez Utilisation du stockage local de thread ou Utilisation du stockage local de threads dans une bibliothèque Dynamic-Link.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows XP [applications de bureau | applications UWP] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau | applications UWP] |
Plateforme cible | Windows |
En-tête | processthreadsapi.h (inclure Windows.h sur Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2) |
Bibliothèque | Kernel32.lib ; WindowsPhoneCore.lib sur Windows Phone 8.1 |
DLL | KernelBase.dll sur Windows Phone 8.1 ; Kernel32.dll |