CAccessToken::OpenThreadToken

调用此方法将模拟级别然后初始化标记的 CAccessToken 从特定线程。

bool OpenThreadToken(
   DWORD dwDesiredAccess,
   bool bImpersonate = false,
   bool bOpenAsSelf = true,
   SECURITY_IMPERSONATION_LEVEL sil = SecurityImpersonation
) throw(...);

参数

  • dwDesiredAccess
    指定访问的请求的类型访问标记来访问掩码。 这些请求的访问类型与标记的DACL比较来确定授予哪些权限或拒绝。

  • bImpersonate
    如果为true,线程将保留在请求的模拟级别,此方法完成后。 如果错误,线程将还原为其原始模拟级别。

  • bOpenAsSelf
    指示访问检查是否将调用 GetThreadToken 方法的线程的安全性上下文或进程的安全上下文调用的线程。

    如果此参数是错误的,使用调用的线程的安全性上下文,访问检查。 如果线程模拟客户端,此安全上下文可以是客户端进程。 如果此参数为true,使用处理的安全上下文调用的线程,访问进行检查。

  • sil
    指定提供该标记的模拟级别的 SECURITY_IMPERSONATION_LEVEL 枚举类型。

返回值

如果成功,则返回 true;如果失败,则返回 false。

备注

OpenThreadToken 类似于 CAccessToken::GetThreadToken,但是,在初始化从线程访问标记的 CAccessToken 之前设置模拟级别。

CAutoRevertImpersonation选件类 可用于自动还原设置创建的模拟访问令牌 bImpersonate 标志为true。

要求

Header: atlsecurity.h

请参见

参考

CAccessToken选件类

CAccessToken::GetThreadToken