我正在使用共享内存映射进行进程间通信。此映射需要在会话之间可见,因此我尝试在全局命名空间中创建它。我知道正在运行的用户需要SeCreateGlobalPrivilege才能使其正常工作。
我编辑了本地安全策略(我不在域上)以授予我的用户“创建全局对象”权限,但是当我运行应用程序时,此权限不在访问令牌中。如果我以管理员身份运行,我就会获得该权限。
我错过了什么?为什么我没有获得这个特权?
答案 0 :(得分:2)
在调用OpenThreadToken()
之前,请尝试使用AdjustTokenPrivileges()
和CreateFileMapping()
启用调用线程的权限。
答案 1 :(得分:0)
如果您以管理员身份登录,则除非您以管理员身份运行,否则UAC将过滤该权限。
如果您以普通用户身份登录,则您将始终拥有该权限(如果您已通过本地安全策略授予该权限)