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) |