Поделиться через


Функция 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
Header processthreadsapi.h (включая Windows.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

Функции процессов и потоков

Потоки

API-интерфейсы Vertdll, доступные в анклавах VBS