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

Voir aussi

Fonctions de processus et de thread

stockage local des threads

TlsAlloc

TlsFree

TlsGetValue

API Vertdll disponibles dans les enclaves VBS