本地过程调用

✍ dations ◷ 2025-11-25 15:29:58 #进程间通信

本地过程调用(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作为本地通信的方式。

相关

  • 健康检查全面医学检查(英文:general medical examination)又称为健康检查(英文:Health Check)是为一种常见的预防医学。一个具体的定义为:一个自我感觉健康良好的成人定期到院进行身心健康
  • 米氏动力学米-门二氏动力学(英语:Michaelis-Menten kinetics),又称米氏动力学,是由雷昂诺·米凯利斯(英语:Leonor Michaelis)和贸特·门顿(英语:Maud Menten)在1913年提出,它在酶动力学中是一个极
  • 伍斯特县伍斯特县(英语:Worcester County)是美国马萨诸塞州中部的一个县,北邻新罕布什尔州,东南邻罗得岛州,西南邻康涅狄格州。面积4,090平方公里。根据美国2000年人口普查,共有人口750,963
  • 拘捕逮捕指以强制力拘束人身自由之强制处分,逮捕之主要目的为预防犯罪或是为进行侦查。逮捕,是指为了防止犯罪嫌疑人或者被告人实施妨碍刑事诉讼的行为,逃避侦查、起诉、审判或者发
  • 反鸟反鸟(学名:Enantiornis leali)是一种掠食性的鸟翼类恐龙,是反鸟目反鸟科反鸟属的唯一个已知物种,生存于白垩纪晚期的阿根廷。反鸟是反鸟亚纲中较大体型的成员,体长约1米。其生态位
  • 美国海军陆战队美国海军陆战队(英语:United States Marine Corps,缩写为 USMC),又称美国陆战队,是美国军队中的海军陆战队及两栖作战部队,其主要职责是运用美国海军的舰队(含航空兵),快速抵达全球各
  • S-75防空导弹S-75(北约代号:SA-2)是苏联第一代实用化的防空导弹系统,1954年10月由拉沃奇金设计局设计,1957年莫斯科五一节阅兵式公开。主要用于拦截敌轰炸机执行要地防空,取代了130毫米与100毫
  • 夏尔·皮埃尔·波德莱尔夏尔·皮埃尔·波德莱尔(Charles Pierre Baudelaire,1821年4月9日-1867年8月31日),法国诗人,象征派诗歌之先驱,现代派之奠基者,散文诗的鼻祖。代表作包括诗集《恶之花》()及散文诗集《
  • 彩色滤光片彩色滤光片(color gel或color filter),是彩色液晶显示器(LCD)由灰阶变为彩色的关键零组件,借由LCD内部的背光模组提供光源,再搭配驱动IC与液晶控制形成灰阶显示,将光源穿过彩色滤
  • U (Super Junior单曲)Super Junior及其子组合Super Junior-M的多部作品被命名为《U》。《U》是韩国男子组合Super Junior的首张单曲,也正式从短期的Super Junior 05正式变成长期团体Super Junior