Share via


Función GetCurrentThread (processthreadsapi.h)

Recupera un pseudo handle para el subproceso que realiza la llamada.

Sintaxis

HANDLE GetCurrentThread();

Valor devuelto

El valor devuelto es un pseudo handle para el subproceso actual.

Comentarios

Un pseudo handle es una constante especial que se interpreta como el identificador de subproceso actual. El subproceso que realiza la llamada puede usar este identificador para especificarse cada vez que se requiera un identificador de subproceso. Los procesos secundarios no heredan los pseudo handles.

Este identificador tiene el derecho de acceso THREAD_ALL_ACCESS al objeto de subproceso. Para obtener más información, consulte Derechos de acceso y seguridad de subprocesos.

Windows Server 2003 y Windows XP: Este identificador tiene el acceso máximo permitido por el descriptor de seguridad del subproceso al token principal del proceso.

Un subproceso no puede usar la función para crear un identificador que otros subprocesos puedan usar para hacer referencia al primer subproceso. El identificador siempre se interpreta como referencia al subproceso que lo usa. Un subproceso puede crear un identificador "real" para sí mismo que otros subprocesos, o heredados por otros procesos, especificando el pseudo handle como identificador de origen en una llamada a la función DuplicateHandle .

No es necesario cerrar el pseudo handle cuando ya no es necesario. Llamar a la función CloseHandle con este identificador no tiene ningún efecto. Si DuplicateHandle duplica el pseudo handle, se debe cerrar el identificador duplicado.

No cree un subproceso al suplantar un contexto de seguridad. La llamada se realizará correctamente, pero el subproceso recién creado tendrá derechos de acceso reducidos a sí mismo al llamar a GetCurrentThread. Los derechos de acceso concedidos a este subproceso se derivarán de los derechos de acceso que el usuario suplantado tiene para el proceso. Es posible que algunos derechos de acceso, como THREAD_SET_THREAD_TOKEN y THREAD_GET_CONTEXT no estén presentes, lo que provoca errores inesperados.

Ejemplos

Para obtener un ejemplo, consulte Comprobación del acceso de cliente.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [aplicaciones de escritorio | aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2003 [aplicaciones de escritorio | aplicaciones para UWP]
Plataforma de destino Windows
Encabezado processthreadsapi.h (incluya Windows.h en Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2)
Library Kernel32.lib
Archivo DLL Kernel32.dll

Vea también

CloseHandle

DuplicateHandle

GetCurrentProcess

GetCurrentThreadId

OpenThread

Funciones de proceso y subproceso

Subprocesos

API de Vertdll disponibles en enclaves de VBS