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)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI 符合性规则 HwStorPortProhibitedDDI (storport)

另请参阅

ObDereferenceObject

PsDereferenceImpersonationToken

PsImpersonateClient

SECURITY_IMPERSONATION_LEVEL