HOME

TheInfoList



OR:

Microsoft RPC (
Microsoft Microsoft Corporation is an American multinational corporation and technology company, technology conglomerate headquartered in Redmond, Washington. Founded in 1975, the company became influential in the History of personal computers#The ear ...
Remote Procedure Call In distributed computing, a remote procedure call (RPC) is when a computer program causes a procedure (subroutine) to execute in a different address space (commonly on another computer on a shared computer network), which is written as if it were a ...
) is a modified version of DCE/RPC. Additions include partial support for UCS-2 (but not
Unicode Unicode or ''The Unicode Standard'' or TUS is a character encoding standard maintained by the Unicode Consortium designed to support the use of text in all of the world's writing systems that can be digitized. Version 16.0 defines 154,998 Char ...
) strings, implicit handles, and complex calculations in the variable-length string and structure paradigms already present in DCE/RPC.


Example

The DCE 1.0 reference implementation only allows such constructs as , or possibly . MSRPC allows much more complex constructs such as and even , a common expression in DCOM IDL files.


Use

MSRPC was used by Microsoft to seamlessly create a client/server model in
Windows NT Windows NT is a Proprietary software, proprietary Graphical user interface, graphical operating system produced by Microsoft as part of its Windows product line, the first version of which, Windows NT 3.1, was released on July 27, 1993. Original ...
, with very little effort. For example, the Windows Server domains protocols are entirely MSRPC based, as is Microsoft's DNS administrative tool.
Microsoft Exchange Server Microsoft Exchange Server is a mail server and calendaring server developed by Microsoft. It runs exclusively on Windows Server operating systems. The first version was called Exchange Server 4.0, to position it as the successor to the relat ...
5.5's administrative front-ends are all MSRPC client/server applications, and its
MAPI Messaging Application Programming Interface (MAPI) is an Application programming interface, API for Microsoft Windows which allows programs to become email-aware. While MAPI is designed to be independent of the protocol, it is usually used to com ...
was made more secure by "proxying" MAPI over a set of simple MSRPC functions that enable encryption at the MSRPC layer without involving the MAPI protocol.


History

MSRPC is derived from the Distributed Computing Environment 1.2 reference implementation from the Open Software Foundation, but has been copyrighted by Microsoft. DCE/RPC was originally commissioned by the Open Software Foundation, an industry consortium to set vendor- and technology-neutral open standards for computing infrastructure. None of the
Unix Unix (, ; trademarked as UNIX) is a family of multitasking, multi-user computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, a ...
vendors (now represented by the Open Group), wanted to use the complex DCE or such components as DCE/RPC at the time. Microsoft's
Component Object Model Component Object Model (COM) is a binary-interface technology for software components from Microsoft that enables using objects in a language-neutral way between different programming languages, programming contexts, processes and machines ...
is based heavily on MSRPC, adding interfaces and inheritance. The marshalling semantics of DCE/RPC are used to serialize method calls and results between processes with separate address spaces, albeit COM did not initially allow network calls between different machines. With Distributed Component Object Model (DCOM), COM was extended to software components distributed across several networked computers. DCOM, which originally was called "Network OLE", extends Microsoft's COM, and provides the communication substrate under Microsoft's COM+ application server infrastructure.


References

* *{{cite book , title=DCE/RPC over SMB: Samba and Windows NT Domain Internals , author=Luke Kenneth Casson Leighton , year=1999 , publisher=Sams , isbn=1-57870-150-3


External links


MSRPC at MSDN
a chapter on MSRPC from a technical article by Jean-Baptiste Marchand. Network protocols Remote procedure call Microsoft application programming interfaces