本地过程调用

✍ dations ◷ 2025-11-23 19:47:05 #进程间通信

本地过程调用(LPC,Local Procedure Call,通常也被称为轻量过程调用或者本地进程间通信) 是一种由Windows NT内核提供的内部进程间通信方式。通过这一方式,同一计算机上的进程可以进行轻量的通信。在Windows Vista中,ALPC(Advanced Local Procedure Call,高级本地进程通信)替代了LPC。ALPC提供了一个高速可度量的通信机制,这样便于实现需要在用户模式下高速通信的用户模式驱动程序框架(UMDF,User-Mode Driver Framework)。

本地过程调用接口是Windows NT未公开原生API的一部分。这样的API不能够直接使用,但是可以通过如下方式间接使用:

LPC由内核的“端口”对象实现,这样可以确保安全(由访问控制表规定持有特定的安全标识符才可以访问)并可以验证链接另一端进程的身份。程序也可以对每一个信息设定安全标识符,并测试对应信息的变化,以实现每一条消息的安全性。

服务端和客户端之间典型的连接由下列过程表示:

本地过程调用支持以下三种交换信息的方式:

高级本地过程调用(ALPC)拥有比以往的本地过程调用(LPC)更优的性能。因为LPC只能通过同步请求/应答机制通信,而ALPC还可以使用IOCP实现通信。这样,ALPC就可以在消息数量和进程数量间保持一定平衡,保证了端口的高速通信。此外,ALPC还允许信息的批量传输,减少了进程在用户模式和内核模式之间的切换次数。

本地过程调用在Windows NT及其衍生系统中得到了广泛应用。在Win32子系统中,LPC应用于客户端和子系统服务器之间的通信(CSRSS)。在Windows NT 3.51版本中引入了快速LPC以提高调用速度。然而由于NT4.0中将部分关键服务端移入内核模式(win32k.sys)以提高系统效能,这一方法已基本被摒弃。

本地安全认证子系统服务(LSASS),会话管理器(SMSS)以及服务控制管理器均使用LPC端口和客户进程直接通信。Winlogon和安全引用监视器与LSASS进程之间的通信同样使用了LPC。

正如前文提到的,当消息在同一计算机内传输时,Microsoft RPC将调用LPC进行通信。许多仅在同一计算机内进行通信的服务采用LPC作为唯一的通信方式。远程对象连接与嵌入和分布式组件对象模型的实现也在很多地方使用了LPC作为本地通信的方式。

相关

  • 外星生命入侵外星生命入侵或外星人入侵(Alien Invasion)是科幻作品里常见的一种要素,故事大多是描写低等的外星生物或具高度文明的外星人来到了地球,并对地球上的生物和人构成威胁,到最后地球
  • 睑结膜结膜(conjunctiva)为眼部的一部分,位于眼睑内,并被覆于巩膜(眼白)表层。结膜在组织学上属于复层柱状上皮,并含有杯状细胞。结膜可分泌黏液和泪液来润滑眼球,然而其分泌的泪液量比泪
  • 郭 昌郭昌,西汉将军,云中郡(治今内蒙古托克托东北)人。汉武帝时,郭昌以校尉的身份跟随大将军卫青攻打匈奴。元鼎六年(前111年)为中郎将,与卫广率兵攻打阻绝滇道的且兰。元封二年(前109年)任
  • 财务长首席财务官(英语:Chief Financial Officer,英文缩写:CFO),又称首席财务長或首席财务官,公司三长之一(另二为董事长、执行长),是许多企业的职衔,尤其美式企业中,是一个企业集团或财阀中负
  • 旅级战斗队旅级战斗队(英语:Brigade combat team, BCT)是美国陆军的一种基础部署单位。一支旅级战斗队通常包含多个兵种,单位大小多与旅相同,而且配有支援与火力单位;指挥官多为上校,但在某些
  • 孤立语言孤立语言,一般指与其他任何语言不存在亲属关系的自然语言,无法分类到任何已知语系中。知名的孤立语言如朝鲜语和日语(上述两者均存在争议)。孤立语言可以看做特殊的未分类语言,即
  • 人称人称是与语言中的行为动作相关的话语角色。“妈妈喂宝宝吃饭”和“我喂你吃饭”,意思可能相同,但前者是用有词汇意义的名词来表示与“喂”相关的人的具体身份,后者才是用功能性
  • 兰迪·谢克曼兰迪·韦恩·谢克曼(英语:Randy Wayne Schekman,1948年12月30日-),美国细胞生物学家,加州大学伯克利分校教授,曾任《美国国家科学院院刊》主编。2011年,他被宣布为《eLife》的编辑,《e
  • 交错 (几何)在几何学中,交错是一种将多边形、多面体、密铺、镶嵌或更高维的多胞体交替地去除顶点的一种多面体变换 。考克斯特符号将交错变换记为h。由于交错变换会导致每个面的顶点数都
  • 孔斯孔苏(英语:Khonsu)是埃及神话中的第一代月神。他有漫游者、拥抱者、寻路者与保护者的称号,是光与夜晚之神,人们命运的创造者。他保护人们不受野生动物侵袭,增强男子的生殖力并协助