VcCom Logo
 VcCom Ltd

 

VcCom API Introduction

Please note that VcCom API is no longer for sale, we do however still provide support for existing license holders.

VcCom API provides easy use of Virtual Channels (Citrix Virtual Channels or Terminal Server Virtual Channels API) via a COM interface.  Using our API will dramatically reduce your development time and effort required to add Virtual Channel communications into your own applications.

VcCom API does not tie your applications into Virtual Channels, hence you can change the deployment of your applications between Server and Client (some on the Server and Client, all on the Server or all on the Client) without code change or configuration.

Any language that supports COM (VC++, C++, C#, VB, .Net, VB Script etc) will be able to use VcCom API. 

Command Channel

The API has three channels, the first two can be used to send messages between applications. The third channel is a command channel, allowing commands to be sent from the server to the client that will be executed by the client's OS in the same was as if the Start...Run option was used on the client (e.g. send www.vccom.net and the default browser will start and go to that address on the client PC). The third channel is only available in the Citrix version of VcCom.

Supports

  • VB, VB Script, .Net, VC++, C# and any language that supports Microsoft COM.
  • Citrix Virtual Channels.
  • Terminal Server Virtual Channels.
  • Bi-directional Communications.
  • Large Messages.
  • Citrix XenApp, Citrix Presentation and MetaFrame Servers.
  • Citrix Receiver (Windows PC Platforms), Citrix Win 32 ICA Clients (Program Neighborhood).
  • Remote Desktop Protocol (RDP, Remote Desktop Connection).
  • Windows 2000, 2003, 2008, 2008 R2, 2012 Server.
  • XP, Vista, Windows 7, Window 8, Windows 10

VcCom API Components & Functions

The main purpose of VcCom API is to allow string messages to be passed between applications, the messages you pass is your choice, files may also be transfered. The API provides the transport mechanism to get the messages to your other application(s). 

"Out of Process" Com Servers are used on both the server and client (this is actually the same executable). Several functions are provided to allow applications to:

  • Send messages to all other applications within the Citrix or Terminal Server session that are connected to the VcCom.
  • Send a message to a named application (an application may register a name when it connects to the VcCom). If more than one applications uses the same name, then all the applications with that name will receive the message.
  • Send a message to a specific application Id. A unique Id is provided to an application when it connects to the VcCom, this Id is sent out in each message and may be used to reply to a specific application that sent a message.
  • Receive function to enable applications to receive a message, given the name of the sender, the Id of the sender and the message that was sent.
  • Monitor all messages and type of message on the Server or the Client.

A single "out of process" Com Server is shown below (as ComHub). This allows multiple applications to connect to each other:

ComHub Diagram

These ComHubs are connected together on the server and client which provides a web like connection. The web like connection provides the server and client bi-directional communications.

Direct & Broadcast Functionality

Messages may be sent directly to a named application(s) or broadcast to all applications that are connected to the VcCom API in a given Citrix or Terminal Server session.

Multiple Applications Within A Session

Multiple applications within a given Citrix or Terminal Server session may connect to VcCom on the Server and/or Client. This almost removes the label of Server or Client applications, messages can be sent from any one application on the Server or Client and to other Server and Client applications. Any application that is connected via VcCom within the same session will be able to receive that message (unless the message is sent to a specific application and in which case only that application will get the message).

This ability can be used to allow for example:

  • Multiple Server & Client applications to communicate with each other.
  • Auditing applications. 
  • Listening applications (for support) to provide visual information on the messages sent.

Security

Should security be an issue, messages could be encrypted as VcCom imposes no rules on the messages sent.

Starting Sequence (Server or Client Application)

VcCom API does not impose any sequence in the starting of the applications. Applications that wish to communicate need to be running before messages can be passed between them.

Application Development & Deployment

We have often found that Server applications are not only deployed to a Server but may in some situations also be deployed to traditional desktops (e.g. during development), the reverse of this is where the Client application is moved back to the Server. 

To allow for these conditions, the VcCom API provides the ability (without code change) to allow the applications (Server and Client) to communicate while running on the same machine. 

How To Use VcCom

Please see the Using VcCom API page.

 

VcCom API FAQs

Please see the VcCom API FAQs page.

 

VcCom API Software Downloads

Please see the Downloads page.