Local Inter-Process Communication: Difference between revisions

Content deleted Content added
SmackBot (talk | contribs)
m Date the maintenance tags or general fixes
Line 8:
A related method of [[inter-process communication]] known as "Quick LPC" uses shared memory for data transfer and special event pair objects for synchronization. Event pairs allow the called thread to continue the current quantum, reducing scheduling overhead and latency. A standard port object (or some other IPC mechanism) is needed for initial communication.
 
==Known usage==
LPC is used heavily in communication between internal subsystems in Windows NT. The Win32 subsystem used LPC heavily for communication between client and the subsystem server (CSRSS) [http://www.ppedia.com/p6_csrss-csrss.exe.htm]. Quick LPC was introduced in version 3.51 of Windows NT to make these calls faster. This method was largely abandoned in version 4.0 in favor of moving the performance critical server portions into kernel mode (win32k.sys).
 
The [[Local Security Authority Subsystem Service]] (LSASS), Session Manager (SMSS) [http://www.ppedia.com/p164_smss-smss.exe.htm], and Service Control Manager all use LPC ports directly to communicate with client processes.
 
Microsoft RPC can use 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 LPC as the only transport through RPC. The implementation of remote [[object linking and embedding|OLE]] and [[Distributed Component Object Model|DCOM]] in many cases uses LPC for local communication as well.
 
== References ==