UPnP Device Description (Windows Embedded CE 6.0)
1/6/2010
The responses that the control point receives for the search request contain URLs that provide descriptions of the device's capabilities. To retrieve a description for an individual device, the control point issues an HTTP GET request to this URL.
When a device receives a request for device description information, it replies with an HTTP response that contains the device description in the message body. UPnP device description information consists of:
- An XML document that contains several pieces of device-specific data.
- Definitions of all nested devices.
- A list of all services supported by the device, including state variables and actions.
The discovery message contains the URL for the device description document; similarly, the device description document contains URLs for service description documents, in instances of the SCPDURL element. A service description document contains information about the actions and state variables.
The following XML is a sample XML device description document. Both the C Device Host API and the COM Device Host API use device description documents like this one.
<?xml version="1.0"?>
<root xmlns="urn:schemas-upnp-org:device-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<device>
<deviceType>urn:schemas-upnp-org:device.lighting.2</deviceType>
<friendlyName>Mark's UPnP Device Host Test</friendlyName>
<manufacturer>Microsoft</manufacturer>
<manufacturerURL>https://www.microsoft.com/</manufacturerURL>
<modelDescription>Mark's UPnP-X10 Light and Dimmer control</modelDescription>
<modelName>X-10L1</modelName>
<modelNumber>L1</modelNumber>
<modelURL>https://www.microsoft.com/</modelURL>
<serialNumber>0000001</serialNumber>
<UDN>DummyUDN</UDN>
<UPC>00000-00001</UPC>
<iconList>
<icon>
<mimetype>image/png</mimetype>
<width>16</width>
<height>16</height>
<depth>2</depth>
<url>icon.png</url>
</icon>
</iconList>
<serviceList>
<service>
<serviceType>urn:schemas-upnp-org:service:pwrdim:2</serviceType>
<serviceId>upnp:id:pwrdim</serviceId>
<controlURL></controlURL>
<eventSubURL></eventSubURL>
<SCPDURL>SampleSCPD.xml</SCPDURL>
</service>
</serviceList>
<presentationURL>sample.html</presentationURL>
</device>
</root>