TlsGetValue2-Funktion (processthreadsapi.h)
Wichtig
Einige Informationen beziehen sich auf ein Vorabversionsprodukt, das vor der kommerziellen Veröffentlichung erheblich geändert werden kann. Microsoft übernimmt keine Gewährleistungen, ausdrücklich oder konkludent in Bezug auf die hier bereitgestellten Informationen.
Ruft den Wert im threadlokalen Speicherplatz (TLS) des aufrufenden Threads für den angegebenen TLS-Index ab. Jeder Thread eines Prozesses verfügt über einen eigenen Steckplatz für jeden TLS-Index.
Syntax
LPVOID TlsGetValue2(
[in] DWORD dwTlsIndex
);
Parameter
[in] dwTlsIndex
Der TLS-Index, der von der TlsAlloc-Funktion zugeordnet wurde,.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert der Wert, der im TLS-Steckplatz des aufrufenden Threads gespeichert ist, der dem angegebenen Index zugeordnet ist. Wenn dwTlsIndex- ein gültiger Index ist, der einem erfolgreichen Aufruf von TlsAlloc-zugeordnet ist, ist diese Funktion immer erfolgreich.
Wenn die Funktion fehlschlägt, ist der Rückgabewert null.
Bemerkungen
TLS-Indizes werden in der Regel vom TlsAlloc--Funktion während der Prozess- oder DLL-Initialisierung zugewiesen. Nachdem ein TLS-Index zugewiesen wurde, kann jeder Thread des Prozesses ihn verwenden, um auf einen eigenen TLS-Steckplatz für diesen Index zuzugreifen. Ein Thread gibt einen TLS-Index in einem Aufruf von TlsSetValue- an, um einen Wert im Steckplatz zu speichern. Der Thread gibt denselben Index in einem nachfolgenden Aufruf von TlsGetValue2 an, um den gespeicherten Wert abzurufen.
TlsGetValue2- wurde mit Geschwindigkeit als primäres Ziel implementiert. Die Funktion führt minimale Parameterüberprüfung und Fehlerüberprüfung durch. Insbesondere ist es erfolgreich, wenn dwTlsIndex- sich im Bereich 0 bis (TLS_MINIMUM_AVAILABLE– 1) befindet. Es liegt bei dem Programmierer, sicherzustellen, dass der Index gültig ist und dass der Thread TlsSetValue- aufruft, bevor TlsGetValue2-aufgerufen wird.
Diese Funktion ist identisch mit TlsGetValue- mit der Ausnahme, dass der letzte Fehler des Threads nicht festgelegt wird. Anwendungen, die diese Funktion aufrufen, sollten die Verwendung von 0 als gültigen Wert vermeiden, da GetLastError nicht aufgerufen werden kann, um zu überprüfen, ob die Funktion fehlgeschlagen ist.
Beispiele
Siehe Verwenden des lokalen Threadspeichers oder Verwenden des lokalen Threadspeichers in einer Dynamic-Link Bibliothek.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 11, Version 24H2 |
Zielplattform- | Fenster |
Header- | processthreadsapi.h |
Library | Kernel32.lib |
DLL- | Kernel32.dll |