本地过程调用

✍ dations ◷ 2025-06-29 08:03:25 #进程间通信

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

相关

  • 语言的类型分类语言的形态分类(英语:morphological typology),是根据它们共同的形态结构对世界上的语言进行分类(参见语言类型学)的一种方法。该领域根据这些语言组合语素构成单词的方式来把语言
  • 经济人类学经济人类学(Economic anthropology)是人类学的一个重要分支。该分支运用民族志与人类学知识,与其他知识结合,解释人类的经济行为。这是由人类学家所进行的研究,而且与经济学具有
  • 丁卯战争丁卯战争,又称丁卯胡乱,指的是1627年后金入侵朝鲜的战争。因发生在丁卯年,故而得名。1623年,朝鲜发生政变,仁祖被西人党拥上了王位。他一反光海君的中立政策,拒绝与后金互市,断绝了
  • 通古斯人通古斯民族(俄语:Тунгус, Tungus),指居住在满洲(远东)到西伯利亚的东北亚地区,所有使用满-通古斯语族的民族。通古斯该词来源于“Donki”,在通古斯语中意为“男人”。 有些学
  • 江南大学坐标:31°29′06″N 120°16′02″E / 31.48488°N 120.26719°E / 31.48488; 120.26719朱庆葆3198(教职工)江南大学坐落于江苏省无锡市,是中华人民共和国教育部直属的一所具有
  • 挪威森林猫Skogkatt 是挪威土语“森林猫”,因此纯种猫的品种中,挪威森林猫的土语便是“Norsk Skogkatt”,英语中有许多不同的俗称,如:Wegie,也称为 Skogkatt。根据 Fédération Internation
  • 辰州辰州,中国隋朝时设置的州。在今湖南省、贵州省境内。隋开皇九年(589年)改武州置,治所在龙檦县(今湖南省洪江市西北黔城镇),旋移治沅陵县(今属湖南省)。以境内辰溪得名。辖境相当今湖
  • 工人物语系列《工人物语》(英语:),是由德国的软件公司Blue Byte Software所推出的即时战略游戏。最初于1993年发行Amiga电脑的版本,在隔年推出个人电脑的版本;原名Serf City - the Life is Fed
  • 卢柯卢柯(1965年5月23日-),生于甘肃华池,原籍河南汲县,中国材料科学专家。1985年毕业于南京理工大学金属材料及热处理专业,1990年在中国科学院金属研究所获工学博士学位。2001年7月到20
  • 黑体 (物理学)在热力学中,黑体(英语:Black body),旧称绝对黑体,是一个理想化的物体,它能够吸收外来的全部电磁辐射,并且不会有任何的反射与透射。随着温度上升,黑体所辐射出来的电磁波与光线则称做