GetCurrentThread 函式 (processthreadsapi.h)

擷取呼叫線程的虛擬句柄。

Syntax

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)
程式庫 Kernel32.lib
DLL Kernel32.dll

另請參閱

CloseHandle

DuplicateHandle

GetCurrentProcess

GetCurrentThreadId

OpenThread

處理序和執行緒函式

執行緒

VBS 記憶體保護區中可用的 Vertdll API