Функция 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 |