Condividi tramite


Funzione TlsGetValue2 (processthreadsapi.h)

Importante

Alcune informazioni riguardano un prodotto in versione preliminare che può essere modificato in modo sostanziale prima che venga rilasciato commercialmente. Microsoft non fornisce alcuna garanzia, espressa o implicita, in relazione alle informazioni fornite qui.

Recupera il valore nello slot tls (Thread Local Storage) del thread chiamante per l'indice TLS specificato. Ogni thread di un processo ha un proprio slot per ogni indice TLS.

Sintassi

LPVOID TlsGetValue2(
  [in] DWORD dwTlsIndex
);

Parametri

[in] dwTlsIndex

Indice TLS allocato dalla funzione TlsAlloc .

Valore restituito

Se la funzione ha esito positivo, il valore restituito è il valore archiviato nello slot TLS del thread chiamante associato all'indice specificato. Se dwTlsIndex è un indice valido allocato da una chiamata riuscita a TlsAlloc, questa funzione ha sempre esito positivo.

Se la funzione ha esito negativo, il valore restituito è zero.

Osservazioni

Gli indici TLS vengono in genere allocati dalla funzione tlsAlloc durante l'inizializzazione di processi o DLL. Dopo aver allocato 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 TlsGetValue2 per recuperare il valore archiviato.

il TlsGetValue2 è 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 e che il thread chiami TlsSetValue prima di chiamare TlsGetValue2.

Questa funzione è identica a tlsGetValue ad eccezione del fatto che non imposta l'ultimo errore del thread. Le applicazioni che chiamano questa funzione devono evitare di usare 0 come valore valido, perché GetLastError non può essere chiamato per verificare se la funzione non è riuscita.

Esempi

Vedere Using Thread Local Storage or Using Thread Local Storage in a Dynamic-Link Library.

Fabbisogno

Requisito Valore
client minimo supportato Windows 11, versione 24H2
piattaforma di destinazione Finestre
intestazione processthreadsapi.h
libreria Kernel32.lib
dll Kernel32.dll

Vedere anche

processi e funzioni thread

archiviazione locale thread

TlsAlloc

TlsFree

tlsSetValue

API Vertdll disponibili nelle enclave VBS