Windows Vista Sample - Remote Differential Compression

Download RDCSample.exe .

You must have the Windows SDK for Windows Vista. If you do not install the SDK to the default location, which is listed below, you must update the Visual Studio Include and Library paths in the sample code accordingly. Download the Windows SDK for Windows Vista. The Windows Vista SDK installs to %ProgramFiles%\Microsoft SDKs\Windows\v6.0.


This code sample demonstrates the use of the Microsoft Remote Differential Compression COM interfaces in a .NET environment using C#. This sample code requires the .NET Framework 2.0 and Microsoft Vista or Windows 2003 R2 at run time.

The following Visual Studio 2005 projects are included in the download:


This project is the managed core API and wrapper around the native RDC API. This is the main project that provides the RDC features. This project can be consumed via other managed applications to make use of RDC. This project also contains all of the marshaling logic between the managed and COM interfaces.

To use this API in your projects, add the compiled assembly as a reference.


This project is a web service that provides the following functionality: server-side signature generation, and transfer of RDC signatures and file block fragments.


This project interfaces with the RdcWebService and demonstrates how to consume an RDC service over HTTP using .NET. The client is a basic console application that takes the following arguments.

 USAGE: client.exe -u remoteUrl remoteFile(source) localFile(seed) targetFile(output)

-u          Absolute URL to the remote RDC Web Service.
remoteFile  Absolute path to the remote file.
localFile   Absolute path to the local seed file.
targetFile  Absolute path to the local target file.  This is the output.

More Information and Errata

For more information, please see the latest Windows SDK documentation. A separate, purely native-code based RDC sample is described in the SDK in Samples\WinBase\RDC\Readme.txt.

We will publish bugs and errata at Please report new bugs by contacting JW Secure at

this is draft content and is subject to change