getCurrentThread 函数 (processthreadsapi.h)

检索调用线程的伪句柄。

语法

HANDLE GetCurrentThread();

返回值

返回值是当前线程的伪句柄。

注解

伪句柄是被解释为当前线程句柄的特殊常量。 每当需要线程句柄时,调用线程都可以使用此句柄来指定自身。 伪句柄不由子进程继承。

此句柄具有 线程对象的THREAD_ALL_ACCESS访问权限。 有关详细信息,请参阅 线程安全和访问权限

Windows Server 2003 和 Windows XP: 此句柄具有线程的安全描述符允许对进程主令牌的最大访问权限。

一个线程不能使用该函数来创建句柄,其他线程可以使用该句柄来引用第一个线程。 句柄始终被解释为引用正在使用它的线程。 线程可以在调用 DuplicateHandle 函数时将伪句柄指定为源句柄,从而为其自身创建可由其他线程使用或由其他进程继承的“实际”句柄。

不再需要伪句柄时,不需要关闭伪句柄。 使用此句柄调用 CloseHandle 函数不起作用。 如果伪句柄由 DuplicateHandle 复制,则必须关闭重复句柄。

在模拟安全上下文时不要创建线程。 调用将成功,但在调用 GetCurrentThread 时,新创建的线程对自身的访问权限将减少。 授予此线程的访问权限将派生自模拟用户对进程的访问权限。 某些访问权限(包括 THREAD_SET_THREAD_TOKENTHREAD_GET_CONTEXT )可能不存在,从而导致意外故障。

示例

有关示例,请参阅 检查客户端访问

要求

要求
最低受支持的客户端 Windows XP [桌面应用 | UWP 应用]
最低受支持的服务器 Windows Server 2003 [桌面应用 | UWP 应用]
目标平台 Windows
标头 processthreadsapi.h (包括 Windows Server 2003、Windows Vista、Windows 7、Windows Server 2008 Windows Server 2008 R2)
Library Kernel32.lib
DLL Kernel32.dll

另请参阅

CloseHandle

DuplicateHandle

GetCurrentProcess

GetCurrentThreadId

OpenThread

进程和线程函数

线程

VBS enclave 中可用的 Vertdll API