3.3 跨越进程边界共享内核对象

来源:互联网 发布:黑帽seo怎么学 编辑:程序博客网 时间:2024/05/17 19:15
3.3 跨越进程边界共享内核对象
许多情况下,在不同进程中运行的线程需要共享内核对象。下面是为何需要共享的原因:
• 文件映射对象使你能够在同一台机器上运行的两个进程之间共享数据块。
• 邮箱和指定的管道使得应用程序能够在连网的不同机器上运行的进程之间发送数据块。
• 互斥对象、信标和事件使得不同进程中的线程能够同步它们的连续运行,这与一个应用
程序在完成某项任务时需要将情况通知另一个应用程序的情况相同。
由于内核对象句柄与进程相关,因此这些任务的执行情况是不同的。不过, M i c r o s o f t公司
有若干很好的理由将句柄设计成与进程相关的句柄。最重要的理由是要实现它的健壮性。如果
内核对象句柄是系统范围的值,那么一个进程就能很容易获得另一个进程使用的对象的句柄,
从而对该进程造成很大的破坏。另一个理由是安全性。内核对象是受安全性保护的,进程在试
图操作一个对象之前,首先必须申请获得操作该对象的许可权。对象的创建人只需要拒绝向用
户赋予许可权,就能防止未经授权的用户接触该对象。
在下面的各节中,将要介绍允许进程共享内核对象的3个不同的机制。
原创粉丝点击