Below are some links to powerpoint presentations provided by Microsoft themselves that gives a basic outline as to how their extender software works. It seems like a pretty good knowledge source. It mentions which protocol methods and transport streams are used etc. I hope this helps kick start the process.
UI Remoting and AV Streaming Architecture:
http://download.microsoft.com/download/5/b/9/5b97017b-e28a-4bae-ba48-174cf47d23cd/CON063_WH06.ppt
Adaptation Kit:
http://download.microsoft.com/download/5/b/9/5b97017b-e28a-4bae-ba48-174cf47d23cd/CON003_WH06.ppt
First steps...
After reading through these, I think a good first step would be to have a computer be discovered by a media center computer so that the little pop up shows up that says "Found Media Center Extender". I know it isn't much but I think it would be a good first step. I have some background in developing stuff in .NET but most of the stuff I do is web based. Hopefully I will get some time soon that I can maybe look into this some more.
-jason
One small step for softsled...
Well, using Intel's UPnP.dll I was able to emulate an extender to the point of having Vista recognize it and put up the prompt. Here is a screenshot and the code I used...
UPnPDevice device = UPnPDevice.CreateRootDevice(1801, 1.0, "\\XD\\DeviceDescription.xml"); device.FriendlyName = "SoftSled Media Center Extender"; device.Manufacturer = "SoftSled Project"; device.ManufacturerURL = "http://softsled.net"; device.ModelName = "SoftSled Extender"; device.ModelURL = new Uri("http://softsled.net"); device.ModelDescription = "SoftSled Extender Software"; device.DeviceURN = "urn:schemas-microsoft-com:device:MediaCenterExtenderMFD:1"; device.HasPresentation = false; device.LocationURL = "/XD/DeviceDescription.xml"; device.AddCustomFieldInDescription("X_deviceCategory", "MediaDevices", "http://schemas.microsoft.com/windows/pnpx/2005/11"); UPnPDevice subDevice1 = UPnPDevice.CreateEmbeddedDevice(1.0, device.UniqueDeviceName); subDevice1.DeviceURN = "urn:schemas-microsoft-com:device:MediaCenterExtender:1"; subDevice1.FriendlyName = "SoftSled Media Center Extender"; subDevice1.Manufacturer = "SoftSled Project"; subDevice1.ModelName = "SoftSled Extender"; subDevice1.ModelURL = new Uri("http://softsled.net"); subDevice1.ModelDescription = "SoftSled Extender Software"; subDevice1.AddCustomFieldInDescription("X_compatibleId", "MICROSOFT_MCX_0001", "http://schemas.microsoft.com/windows/pnpx/2005/11"); subDevice1.AddCustomFieldInDescription("X_deviceCategory", "MediaDevices", "http://schemas.microsoft.com/windows/pnpx/2005/11"); device.AddDevice(subDevice1); device.StartDevice(3391);Good to see some progress
Sorry, I haven't been checking the site lately so I didn't see this post. I will bump it to the front page.