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,则必须通过调用以下函数之一来递减模拟令牌的引用计数:

  • 适用于 Windows 2000 的 ObDereferenceObject
  • 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