Content deleted Content added
Citation bot (talk | contribs) Alter: isbn. Upgrade ISBN10 to 13. | Use this bot. Report bugs. | Suggested by Whoop whoop pull up | Category:Windows communication and services | #UCB_Category 19/59 |
m formatting fix |
||
(2 intermediate revisions by the same user not shown) | |||
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 (
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)
==Implementation==
(A)LPC is implemented using kernel "port" objects, which are securable (with [[Access
The typical communication scenario between the server and the client is as follows:
Line 28:
The [[Local Security Authority Subsystem Service]] (LSASS), [[Session Manager]] (SMSS), and [[Service Control Manager]] all use (A)LPC ports directly to communicate with client processes. [[Winlogon]] and the [[Reference monitor|Security Reference Monitor]] use it to communicate with the LSASS process.
As mentioned, Microsoft RPC can use (A)LPC as a transport when the client and server are both on the same machine. Many services that are designed to communicate only on the local computer use (A)LPC as the only transport through RPC. The implementation of remote [[
==See also==
|