getCurrentThread 函数 (processthreadsapi.h)
检索调用线程的伪句柄。
语法
HANDLE GetCurrentThread();
返回值
返回值是当前线程的伪句柄。
注解
伪句柄是被解释为当前线程句柄的特殊常量。 每当需要线程句柄时,调用线程都可以使用此句柄来指定自身。 伪句柄不由子进程继承。
此句柄具有 对 线程对象的THREAD_ALL_ACCESS访问权限。 有关详细信息,请参阅 线程安全和访问权限。
Windows Server 2003 和 Windows XP: 此句柄具有线程的安全描述符允许对进程主令牌的最大访问权限。
一个线程不能使用该函数来创建句柄,其他线程可以使用该句柄来引用第一个线程。 句柄始终被解释为引用正在使用它的线程。 线程可以在调用 DuplicateHandle 函数时将伪句柄指定为源句柄,从而为其自身创建可由其他线程使用或由其他进程继承的“实际”句柄。
不再需要伪句柄时,不需要关闭伪句柄。 使用此句柄调用 CloseHandle 函数不起作用。 如果伪句柄由 DuplicateHandle 复制,则必须关闭重复句柄。
在模拟安全上下文时不要创建线程。 调用将成功,但在调用 GetCurrentThread 时,新创建的线程对自身的访问权限将减少。 授予此线程的访问权限将派生自模拟用户对进程的访问权限。 某些访问权限(包括 THREAD_SET_THREAD_TOKEN 和 THREAD_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 |