TlsSetValue-Funktion (processthreadsapi.h)
Speichert einen Wert im threadlokalen Speicherslot (TLS) des aufrufenden Threads für den angegebenen TLS-Index. Jeder Thread eines Prozesses hat seinen eigenen Slot für jeden TLS-Index.
Syntax
BOOL TlsSetValue(
[in] DWORD dwTlsIndex,
[in, optional] LPVOID lpTlsValue
);
Parameter
[in] dwTlsIndex
Der TLS-Index, der von der TlsAlloc-Funktion zugeordnet wurde.
[in, optional] lpTlsValue
Der Wert, der im TLS-Slot des aufrufenden Threads für den Index gespeichert werden soll.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.
Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.
Hinweise
Windows Phone 8.1: Diese Funktion wird für Windows Phone Store-Apps unter Windows Phone 8.1 und höher unterstützt. Wenn eine Windows Phone Store-App diese Funktion aufruft, wird sie durch einen Inlineaufruf von FlsSetValue ersetzt. Informationen zur Funktionsdokumentation finden Sie unter FlsSetValue .
Windows 8.1, Windows Server 2012 R2 und Windows 10, Version 1507: Diese Funktion wird für Windows Store-Apps auf Windows 8.1, Windows Server 2012 R2 und Windows 10 version unterstützt. 1507. Wenn eine Windows Store-App diese Funktion aufruft, wird sie durch einen Inlineaufruf von FlsSetValue ersetzt. Informationen zur Funktionsdokumentation finden Sie unter FlsSetValue .
Windows 10, Version 1511 und Windows 10, Version 1607: Diese Funktion wird für Universelle Windows-Plattform-Apps (UWP) vollständig unterstützt und nicht mehr durch einen Inlineaufruf von FlsSetValue ersetzt.
TLS-Indizes werden normalerweise während der Prozess- oder DLL-Initialisierung von der TlsAlloc-Funktion zugeordnet. Wenn ein TLS-Index zugeordnet wird, werden die Speicherslots auf NULL initialisiert. Nachdem ein TLS-Index zugewiesen wurde, kann jeder Thread des Prozesses ihn verwenden, um auf seinen eigenen TLS-Slot für diesen Index zuzugreifen. Ein Thread gibt einen TLS-Index in einem Aufruf von TlsSetValue an, um einen Wert in seinem Slot zu speichern. Der Thread gibt denselben Index in einem nachfolgenden Aufruf von TlsGetValue an, um den gespeicherten Wert abzurufen.
TlsSetValue wurde mit Geschwindigkeit als primäres Ziel implementiert. Die Funktion führt minimale Parametervalidierung und Fehlerüberprüfung durch. Dies ist insbesondere erfolgreich, wenn dwTlsIndex im Bereich von 0 bis (TLS_MINIMUM_AVAILABLE – 1) liegt. Es liegt am Programmierer, sicherzustellen, dass der Index gültig ist, bevor TlsGetValue aufgerufen wird.
Beispiele
Ein Beispiel finden Sie unter Verwenden des lokalen Threadspeichers oder Verwenden des lokalen Threadspeichers in einer Dynamic-Link-Bibliothek.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows XP [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | processthreadsapi.h (einschließlich Windows.h unter Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2) |
Bibliothek | Kernel32.lib; WindowsPhoneCore.lib unter Windows Phone 8.1 |
DLL | KernelBase.dll am Windows Phone 8.1; Kernel32.dll |