2

我正在使用共享内存映射进行进程间通信。此映射需要在会话之间可见,因此我尝试在全局命名空间中创建它。我知道正在运行的用户需要 SeCreateGlobalPrivilege 才能使其正常工作。

我已经编辑了本地安全策略(我不在域中)以授予我的用户“创建全局对象”权限,但是当我运行应用程序时,此权限不在访问令牌中。如果我以管理员身份运行,我确实获得了特权。

我错过了什么?为什么我得不到这个特权?

4

2 回答 2

2

在调用之前尝试使用OpenThreadToken()AdjustTokenPrivileges()为调用线程启用权限CreateFileMapping()

在 C++ 中启用和禁用特权

于 2013-08-21T22:39:21.473 回答
0

如果您以管理员身份登录,UAC 将过滤权限,除非您以管理员身份运行。

如果您以普通用户身份登录,您将始终拥有该权限(如果您已从本地安全策略授予它)

于 2015-08-19T11:58:31.193 回答