We have build a Windows Vista Sideshow driver for a PocketPC 2003 (and higher) device in managed code (C#). Only a very small unmanaged (C++) library is used as an entrypoint for the managed portion of the SideShow driver. The Sideshow driver basically implements all required DDI interfaces and provides a socket based service, to the client counter part, which is an application running on the PocketPC device. A bi-directional socket channel is setup between the client app and the Sideshow driver, which provides a basic remoting infrastructure which is used to receive data from the driver and handle events generated by the client app. The remoting infrastructure consists of a custom build RPC-light model and a custom BinaryFormatter, that works on both the full and compact framework (2.0).
The driver is compatible with all SideShow gadgets that use the Simple Content Format (SCF) endpoint. This means that the PocketPC app is capable of rendering the SCF. If time permits, we will also write a SideShow gadget, that interacts with Windows Vista Mediacenter. The ultimate goal is to use the PocketPC device to control our mediacenter and do things like play music, add TV recordings and look at the TV guide.
We are currently testing the driver and PocketPC app and are making things a little more robust :-) As soon as we feel it is 'production ready', we will release the code to you. If you have any questions, feel free to send us an email: