Local Inter-Process Communication: Difference between revisions

Content deleted Content added
m Known usage: capitalization fix
m formatting fix
 
Line 1:
The '''Local Inter-Process Communication'''<ref name="ntdebugging">{{cite web|url=https://docs.microsoft.com/en-us/archive/blogs/ntdebugging/lpc-local-procedure-calls-part-1-architecture|title=LPC (Local procedure calls) Part 1 architecture|website=[[Microsoft Docs]]}}</ref> ('''LPC''', often also referred to as '''Local Procedure Call''' or '''Lightweight Procedure Call''') is an internal, undocumented [[inter-process communication]] facility provided by the [[Microsoft]] [[Windows NT]] [[Kernel (computeroperating sciencesystem)|kernel]] for lightweight [[inter-process communication|IPC]] between [[process (computing)|process]]es on the same computer. As of [[Windows Vista]], LPC has been rewritten as '''Asynchronous Local Inter-Process Communication'''<ref name="ntdebugging"/> ('''ALPC''', often also '''Advanced Local Procedure Call''') in order to provide a high-speed scalable communication mechanism required to efficiently implement [[User-Mode Driver Framework]] (UMDF), whose user-mode parts require an efficient communication channel with UMDF's components in the [[Architecture_of_Windows_NT#Executive|executive]].<ref>{{Harvcoltxt|Russinovich|Solomon|Ionescu|2009|p=201}}</ref>
 
The (A)LPC interface is part of Windows NT's undocumented [[Windows Native API|Native API]], and as such is not available to applications for direct use. However, it can be used indirectly in the following instances:
* when using the [[Microsoft RPC]] API to communicate locally, i.e. between the processes on the same machine
* by calling Windows APIs that are implemented with (A)LPC (see below)