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