windows内核使用对象的引用计数。这个
TOKEN
也是一个对象。将令牌分配给线程时(通过
SetThreadToken
)指向的指针
代币
ETHREAD
对象和附加引用添加到
对象。当然,内核不能依赖于是否关闭原始句柄(引用)
代币
A
存储指向的指针
B
在self-it中添加对
B
,因为有效期至
A
使用
B
. 该令牌将一直有效,直到您的线程没有模拟另一个令牌,或者结束模拟或退出。无论如何,在您将令牌分配给线程之后,您可以关闭它的句柄-令牌仍然有效
设置线程令牌
工作:
设置线程令牌
NtSetInformationThread
具有
ThreadImpersonationToken
信息类。从内核端
implementation
打电话
PsAssignImpersonationToken
ntifs.h公司
implementation
call
PsImpersonateClient
哪个和
传递的令牌。结果,它成为分配给线程的有效util
服务器线程可能已经在模拟客户端
参考
计数
表示该客户机的令牌上的。
参考计数
. 如果指向保存在线程中的令牌的指针-这个令牌在被线程使用之前当然必须是有效的。结果它引用了。当线程停止使用此令牌(更改指针或退出)时-令牌被取消引用