MSRPC

MSRPC

MSRPC (Microsoft Remote Procedure Call) is a modified version of DCE/RPC. Additions include support for Unicode strings, implicit handles, inheritance of interfaces (which are extensively used in DCOM), 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 "size_is(len)", or possibly "size_is(len-1)". MSRPC allows much more complex constructs such as "size_is(len / 2 - 1)" and even "length_is ((max & ~0x7) + 0x7)" which is one quite common expression in DCOM IDL files.

Use

MSRPC was used by Microsoft to seamlessly create a client/server model in Windows NT, 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 5.5's administrative front-ends are all MSRPC client/server applications, and its MAPI 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.1 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 vendors (now represented by the Open Group), wanted to use the complex DCE or such components as DCE/RPC at the time.

The Microsoft proprietary technology, Distributed Component Object Model (DCOM) is for software components distributed across several networked computers to communicate with each other. The "D" was added to COM because of extensive use of DCE/RPC. DCOM, which originally was called "Network OLE", extends Microsoft's COM, and provides the communication substrate under Microsoft's COM+ application server infrastructure. It has been deprecated in favor of Microsoft .NET Framework. Microsoft donated DCOM to the Open Group.Fact|date=January 2008

Other implementations

DCE: The Open Group Distributed Computing Environment DCE is now available as open source under the LGPL. The entire DCE 1.2.2 release and may be downloaded over the web. http://www.opengroup.org/dce/download/ The release is big, consisting of about 100 ".tar.gz" files that take up 170 Megabytes.

FreeDCE is the DCE 1.1 reference implementation ported to Linux, supports 64-bit platforms, and is autoconf'd to make porting to further platforms much easier: a Win32 port is underway.

Entegrity Solutions licensed the OSF's entire DCE 1.2.2 source code and ported it to Win32, creating a product called PC/DCE - see http://support.entegrity.com/private/pcdce32.asp

Samba contains an implementation of MSRPC that is intended to be network-interoperable and IDL-interoperable with MSRPC. It is not binary-interoperable with MSRPC.

The Wine Project contains an implementation of MSRPC that is intended to be binary-interoperable and IDL-interoperable with MSRPC. It is not network-interoperable with MSRPC.

There also appears to be a DCE/RPC interoperable implementation in Java - http://jarapac.sourceforge.net/ FreeDCE

External links

* [http://technet.microsoft.com/en-us/library/cc759499.aspx MSRPC at TechNet]
* [http://www.hsc.fr/ressources/articles/win_net_srv/chap_msrpc.html] , a chapter on MSRPC from a technical article by Jean-Baptiste Marchand.

References


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Look at other dictionaries:

  • MSRPC — abbr. MicroSoft Remote Procedure Call (MS, DCOM) Syn: MS RPC …   United dictionary of abbreviations and acronyms

  • Microsoft RPC — (Microsoft Remote Procedure Call) is a modified version of DCE/RPC. Additions include support for Unicode strings, implicit handles, inheritance of interfaces (which are extensively used in DCOM), and complex calculations in the variable length… …   Wikipedia

  • DCE/RPC — DCE/RPC, short for Distributed Computing Environment / Remote Procedure Calls , is the remote procedure call system developed for the Distributed Computing Environment (DCE). This system allows programmers to write distributed software as if it… …   Wikipedia

  • Distributed Component Object Model — (DCOM) is a proprietary Microsoft technology for communication among software components distributed across networked computers. DCOM, which originally was called Network OLE , extends Microsoft s COM, and provides the communication substrate… …   Wikipedia

  • Distributed Component Object Model — (DCOM) est une technique propriétaire de Microsoft qui permet la communication entre des composants logiciels distribués au sein d un réseau informatique. DCOM, appelé à l origine « Network OLE », étend COM et fournit le substrat sous l …   Wikipédia en Français

  • Distributed component object model — (DCOM) est une technologie propriétaire de Microsoft qui permet la communication entre des composants logiciels distribués au sein d un réseau informatique. DCOM, appelé à l origine « Network OLE », étend COM et fournit le substrat sous …   Wikipédia en Français

  • Server Message Block — In computer networking, Server Message Block (SMB), also known as Common Internet File System (CIFS, /ˈsɪfs …   Wikipedia

  • Distributed Component Object Model — (DCOM), en español Modelo de Objetos de Componentes Distribuidos, es una tecnología propietaria de Microsoft para desarrollar componentes software distribuidos sobre varios ordenadores y que se comunican entre sí. Extiende el modelo COM de… …   Wikipedia Español

  • Samba (software) — This article is about the standard Windows interoperability suite of programs for Linux and Unix. For other uses, see Samba (disambiguation). Samba Initial release 1992; 18 years ago (1992) [1] …   Wikipedia

  • Magic number (programming) — For other uses of the term, see Magic number (disambiguation). In computer programming, the term magic number has multiple meanings. It could refer to one or more of the following: A constant numerical or text value used to identify a file format …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”