Функция OpenThreadToken (processthreadsapi.h)

Функция OpenThreadToken открывает маркер доступа , связанный с потоком.

Синтаксис

BOOL OpenThreadToken(
  [in]  HANDLE  ThreadHandle,
  [in]  DWORD   DesiredAccess,
  [in]  BOOL    OpenAsSelf,
  [out] PHANDLE TokenHandle
);

Параметры

[in] ThreadHandle

Дескриптор потока, для которого открыт маркер доступа.

[in] DesiredAccess

Указывает маску доступа , указывающую запрошенные типы доступа к маркеру доступа. Эти типы запрошенного доступа сопоставляются со списком управления доступом на уровне пользователей (DACL) маркера, чтобы определить, какой доступ предоставляется или запрещается.

Список прав доступа для маркеров доступа см. в разделе Права доступа для объектов Access-Token.

[in] OpenAsSelf

Значение TRUE, если проверка доступа для контекста безопасности на уровне процесса.

False, если проверка доступа для текущего контекста безопасности потока, вызывающего функцию OpenThreadToken.

Параметр OpenAsSelf позволяет вызывающей этой функции открывать маркер доступа указанного потока, когда вызывающий объект олицетворяет маркер на уровне SecurityIdentification . Без этого параметра вызывающий поток не может открыть маркер доступа в указанном потоке, так как невозможно открыть объекты исполнительного уровня с помощью уровня олицетворения SecurityIdentification .

[out] TokenHandle

Указатель на переменную, которая получает дескриптор только что открытого маркера доступа.

Возвращаемое значение

Если функция выполняется успешно, возвращается ненулевое значение.

Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError. Если маркер имеет уровень анонимного олицетворения, он не будет открыт, а OpenThreadToken задает ERROR_CANT_OPEN_ANONYMOUS в качестве ошибки.

Комментарии

Маркеры с уровнем анонимного олицетворения не могут быть открыты.

Закройте дескриптор маркера доступа, возвращенный с помощью параметра TokenHandle , вызвав CloseHandle.

Требования

   
Минимальная версия клиента Windows XP [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2003 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header processthreadsapi.h (включая Windows.h)
Библиотека Advapi32.lib
DLL Advapi32.dll

См. также раздел

Обзор контроль доступа

AccessCheck

AdjustTokenGroups

AdjustTokenPrivileges

Базовые функции контроль доступа

CloseHandle

GetCurrentThreadToken

GetTokenInformation

OpenProcessToken

SECURITY_IMPERSONATION_LEVEL

SetThreadToken

SetTokenInformation