阅读:1849回复:0
用户态程序怎样访问核态创建的Event对象?
我写 video miniport,希望与用户态程序进行通讯,因此在miniport中使用 IoCreateSynchronizationEvent() 创建了 \BaseNamedObjects\MyEvent,创建成功!然后用户态程序执行 OpenEvent(),打开 "MyEvent",却返回0x5(拒绝访问)错误。
使用内核对象察看工具,MyEvent的访问权限为: Administrator: Synchronize 允许 QueryState 允许 System: Delete 允许 Synchronize 允许 QueryState 允许 ModifyState 允许 我的用户程序工作在 Administrator。 1 使用 IoCreateSynchronizationEvent 创建的对象状态是“有信号”,使用 KeClearEvent()好像没有作用。 2 Administrator 没有 ModifyState 权限?? 3 在用户态使用 CreateEvent() 创建了 MyTest 测试,发现mytest的访问为: Administrator: Delete 允许 Synchronize 允许 QueryState 允许 ModifyState 允许 System: Delete 允许 Synchronize 允许 QueryState 允许 ModifyState 允许 4 能否在核态修改访问权限,SeAssignSecurity()没有看懂! 谢谢!!! |
|