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


Функция 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 для разработчиков драйверов и документации по этим разделам в пакете SDK для Windows.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000
целевая платформа Всеобщий
заголовка ntifs.h (include FltKernel.h, Ntifs.h)
библиотеки NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
правил соответствия DDI HwStorPortProhibitedDIs(storport)

См. также

ObDereferenceObject

PsDereferenceImpersonationToken

PsImpersonateClient

SECURITY_IMPERSONATION_LEVEL