Funzione GetCurrentThread (processthreadsapi.h)

Recupera uno pseudo handle per il thread chiamante.

Sintassi

HANDLE GetCurrentThread();

Valore restituito

Il valore restituito è uno pseudo handle per il thread corrente.

Commenti

Uno pseudo handle è una costante speciale interpretata come handle di thread corrente. Il thread chiamante può usare questo handle per specificare se stesso ogni volta che è necessario un handle di thread. Gli pseudo handle non vengono ereditati dai processi figlio.

Questo handle ha il diritto di accesso THREAD_ALL_ACCESS all'oggetto thread. Per altre informazioni, vedere Thread Security and Access Rights.For more information, see Thread Security and Access Rights.

Windows Server 2003 e Windows XP: Questo handle ha l'accesso massimo consentito dal descrittore di sicurezza del thread al token primario del processo.

La funzione non può essere usata da un thread per creare un handle che può essere usato da altri thread per fare riferimento al primo thread. L'handle viene sempre interpretato come riferimento al thread che lo usa. Un thread può creare un handle "reale" a se stesso che può essere usato da altri thread o ereditato da altri processi, specificando lo pseudo handle come handle di origine in una chiamata alla funzione DuplicateHandle .

Lo pseudo handle non deve essere chiuso quando non è più necessario. La chiamata alla funzione CloseHandle con questo handle non ha alcun effetto. Se lo pseudo handle viene duplicato da DuplicateHandle, l'handle duplicato deve essere chiuso.

Non creare un thread durante la rappresentazione di un contesto di sicurezza. La chiamata avrà esito positivo, tuttavia il thread appena creato avrà diritti di accesso ridotti a se stesso quando si chiama GetCurrentThread. I diritti di accesso concessi a questo thread verranno derivati dai diritti di accesso che l'utente rappresentato deve eseguire per il processo. Alcuni diritti di accesso, tra cui THREAD_SET_THREAD_TOKEN e THREAD_GET_CONTEXT , potrebbero non essere presenti, causando errori imprevisti.

Esempio

Per un esempio, vedere Controllo dell'accesso client.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [app desktop | App UWP]
Server minimo supportato Windows Server 2003 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione processthreadsapi.h (include Windows.h in Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2)
Libreria Kernel32.lib
DLL Kernel32.dll

Vedere anche

Closehandle

DuplicateHandle

GetCurrentProcess

GetCurrentThreadId

OpenThread

Funzioni di processi e thread

Thread

API Vertdll disponibili nelle enclave VBS