Share via


Requirements for Device-Side Components (Windows Embedded CE 6.0)

1/6/2010

There are a number of design possibilities for a device-side component that you can choose from when developing a plug-in based on the Microsoft Remote Tools Framework.

To begin with, you can choose to design the component as either a C++ application or a .NET Compact Framework 1.0 application. For more information about the latter, see Requirements for .NET Compact Framework Support.

You can also choose the method by which your device-side and desktop-side components communicate with each other by choosing to write either a synchronous or an asynchronous application.

C++ Applications

A C++ application links with the RTFHLP10.lib library, which is found in the lib directory of your Platform Builder installation after you have installed Windows Embedded CE 6.0 Platform Builder Service Pack 1.

Note

Make sure that the application links to the correct RTFHLP10.lib library version.

For more information about the APIs contained in RTFHLP10.lib, see Remote Tools Framework Reference.

.NET Compact Framework Applications

If you choose to author a .NET Compact Framework application, it must reference the Microsoft.RemoteToolSdk.DeviceComponents.dll library, which is found in the \bin directory of your Remote Tools Framework installation.

The Microsoft.RemoteToolSdk.DeviceComponents.dll managed library exposes a DeviceCommandTransport object and a CommandPacket object. The DeviceCommandTransport object represents the connection between the device and the desktop, while the CommandPacket object represents the command packet.

Synchronous and Asynchronous Applications

After you have determined whether to use C++ or the .NET Compact Framework, you must determine the mode that your device-side component will use to communicate with the desktop-side component. There are two models of device-side components: synchronous and asynchronous.

  • A synchronous model is very simple, running code only when the desktop component asks the device for data.
    For information, see Synchronous Application Requirements.
  • An asynchronous model executes code while idle, and also allows the device-side application to send a command packet to the desktop at any time. This is what is known as a device push model.
    For information, see Asynchronous Application Requirements.

See Also

Concepts

General Plug-in Design Requirements

Other Resources

Remote Tools Framework Native API