The '''Local Inter-Process Communication'''<ref name="ntdebugging">{{cite web|url=https://blogs.msdndocs.microsoft.com/ntdebuggingen-us/2007archive/07blogs/26ntdebugging/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 (computer science)|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 [[Native API]], and as such is not available to applications for direct use. However, it can be used indirectly in the following instances: