Функция ImpersonateSelf (securitybaseapi.h)

Функция ImpersonateSelf получает маркер доступа , который олицетворяет контекст безопасности вызывающего процесса. Маркер назначается вызывающему потоку.

Синтаксис

BOOL ImpersonateSelf(
  [in] SECURITY_IMPERSONATION_LEVEL ImpersonationLevel
);

Параметры

[in] ImpersonationLevel

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

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

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

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

Комментарии

Функция ImpersonateSelf используется для таких задач, как включение привилегий для одного потока, а не для всего процесса или изменение списка управления доступом по умолчанию (DACL) для одного потока.

Сервер может вызывать функцию RevertToSelf после завершения олицетворения.

Для успешного выполнения этой функции daCL, защищающий маркер процесса, должен предоставить TOKEN_DUPLICATE право на себя.

Требования

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

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

Функции контроль доступа клиента и сервера

Общие сведения о клиенте и сервере контроль доступа

DuplicateToken

ImpersonateNamedPipeClient

RevertToSelf

SECURITY_IMPERSONATION_LEVEL