Dynamic Virtual Channels (DVC) (Compact 7)


Dynamic Virtual Channels (DVC) extends the virtual channel protocol. It implements a connection-oriented communication channel that uses the virtual channel protocol for sending data.

DVC addresses the limitations of static virtual channels by extending the number of channels, which means that you do not need to reconstruct packets. DVC also provides APIs that can send information asynchronously over RDP for client/server communications.

You can use DVC to develop a plug-in that uses Remote Desktop Connection by using the six DVC interfaces. A DVC plug-in can use either of two models:

Model Description

DVC In-Proc

DVC In-Proc plug-ins are implemented as a dynamic-link library (DLL) that runs in the client address space and is loaded by the process Running Cetsc.exe. A DVC In-Proc plug-in is usually more efficient than a DVC Out-Proc plug-in because a remote procedure call (RPC) is not needed to invoke methods on the objects that the In-Proc plug-in implements.

DVC Out-Proc

DVC Out-Proc plug-ins are implemented as an executable (EXE) file that run as COM objects in their own processes. As a result, an Out-Proc plug-in does not need to be loaded by CETSC.EXE, and it runs as a separate executable file in its own address space. The out-proc model must reside on the local device because cross-machine DCOM calls are not supported on Windows Embedded Compact. An Out-Proc DVC plug-in requires a proxy stub, which must be registered on a Windows Embedded Compact 7 device before the plug-in can be used.

For more information about how to implement a plug-in, see DVC Implementation Details on MSDN.

To add this feature to your OS, see Remote Desktop Connection Catalog Items and Sysgen Variables.

For reference information, see DVC Client APIs on MSDN.

Sample application code is available at Dynamic Virtual Channels (DVC) Sample.