Функция PsReferenceImpersonationToken (ntifs.h)

Подпрограмма PsReferenceImpersonationToken увеличивает количество ссылок маркера олицетворения для указанного потока.

Синтаксис

PACCESS_TOKEN PsReferenceImpersonationToken(
  [in, out] PETHREAD                      Thread,
  [out]     PBOOLEAN                      CopyOnOpen,
  [out]     PBOOLEAN                      EffectiveOnly,
  [out]     PSECURITY_IMPERSONATION_LEVEL ImpersonationLevel
);

Параметры

[in, out] Thread

Адрес потока, для которого необходимо увеличить число ссылок маркера олицетворения.

[out] CopyOnOpen

Указатель на логическую переменную, выделенную вызывающим объектом. При возврате этот параметр получает значение TRUE, если маркер не может быть открыт напрямую. В этом случае маркер должен быть дублирован, а вместо него следует использовать повторяющийся маркер. Если маркер можно открыть напрямую, этот параметр получает значение FALSE.

[out] EffectiveOnly

Указатель на логическую переменную, выделенную вызывающим объектом. При возврате этот параметр получает значение FALSE, если потоку разрешено включать группы и привилегии, которые в настоящее время отключены в контексте безопасности клиента, в противном случае — TRUE.

[out] ImpersonationLevel

Указатель на переменную SECURITY_IMPERSONATION_LEVEL, выделенную вызывающим объектом. При возврате этот параметр получает значение, указывающее уровень олицетворения, на котором потоку разрешен доступ к маркеру.

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

PsReferenceImpersonationToken возвращает указатель на токен олицетворения для заданного потока. Если поток в настоящее время не олицетворение клиента, возвращается указатель NULL.

Комментарии

Если поток в настоящее время олицетворение клиента, PsReferenceImpersonationToken увеличивает количество ссылок маркера олицетворения и возвращает указатель на маркер. Если возвращаемый указатель не равен NULL, количество ссылок маркера олицетворения должно быть уменьшено путем вызова одной из следующих функций:

  • ObDereferenceObject для Windows 2000
  • PsDereferenceImpersonationToken для Microsoft Windows XP или более поздней версии

Дополнительные сведения о безопасности и управлении доступом см. в статье Модель безопасности Windows для разработчиков драйверов и в документации по этим темам в Windows SDK.

Требования

Требование Значение
Минимальная версия клиента Windows 2000
Целевая платформа Универсальное
Верхняя часть ntifs.h (включая FltKernel.h, Ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Правила соответствия DDI HwStorPortProhibitedDIs(storport)

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

ObDereferenceObject

PsDereferenceImpersonationToken

PsImpersonateClient

SECURITY_IMPERSONATION_LEVEL