UPnP OS Design Development (Windows Embedded CE 6.0)
1/6/2010
The Universal Plug and Play (UPnP) implementation provides an architectural framework for creating self-configuring, self-describing devices and services. Because UPnP supports automatic discovery, devices managed by UPnP require no set up by users or network administrators. UPnP enables a device to dynamically join a network, obtain an IP address, and convey its capabilities upon request.
UPnP control points learn about the presence and capabilities of devices that are registered on the network, and then invoke actions and receive information about device changes. In this reciprocal relationship, UPnP devices provide functionality to be controlled by control points.
Support and application programming interfaces are included for:
UPnP control points, using the UPnP Control Point API.
UPnP devices, using the UPnP Device Host API.
UPnP Audio/Video (AV) control points and devices, using the UPnP AV Framework.
OS Design Information
The following table shows operating system design information for UPnP.
Concept | Description |
---|---|
Dependencies for Control Point API, Device Host API, Device Host API (Minimal Subset), AV Control Point API, and AV Device API |
Web Server (HTTPD), XML Minimal Parser, Core Server Support |
Dependencies for AV Renderer Sample |
Web Server (HTTPD), XML Minimal Parser, Core Server Support, Device Host API, AV Device API, DirectShow and related codecs |
Dependencies for Sample UPnP IGD Schema Implementation |
Web Server (HTTPD), XML Minimal Parser, Core Server Support, Device Host API (Minimal Subset), Authentication Services (SSPI), NTLM, Internet Connection Sharing (ICS), IP Helper API |
Dependencies for UPnP Tools |
Web Server (HTTPD), XML Minimal Parser, Core Server Support, Control Point API, Device Host API |
Hardware considerations |
None |
**The following table shows Sysgen variables for UPnP Catalog items.
Sysgen variable | Description |
---|---|
SYSGEN_UPNP_CTRL |
When this variable is set, the UPnP Control Point API Catalog item is included in the OS design. This Catalog item includes the UPnP Control Point API. |
SYSGEN_UPNP_DEVICE |
When this variable is set, the Device Host API Catalog item is included in the OS design. This Catalog item includes the complete UPnP Device Host API. Adding this item also brings in the UPnP device loader. |
SYSGEN_UPNP_DEVICE_MINI |
When this variable is set, the Device Host API (Minimal Subset) Catalog item is included in the OS design. This Catalog item includes a minimal subset of Device Host API functionality. |
SYSGEN_UPNP_AV_CTRL |
When this variable is set, the AV Control Point API Catalog item is included in the OS design. This Catalog item includes control point functionality provided by the UPnP AV Framework. |
SYSGEN_UPNP_AV_DEVICE |
When this variable is set, the AV Device API Catalog item is included in the OS design. This Catalog item includes device functionality provided by the UPnP AV Framework. |
SYSGEN_UPNP_AV_RENDERER |
When this variable is set, the AV Renderer Sample Catalog item is included in the OS design. This Catalog item includes a sample implementation of a UPnP AV MediaRenderer device built using the UPnP AV Framework. |
SYSGEN_IGD |
When this variable is set, the Sample UPnP IGD Schema Implementation Catalog item is included in the OS design. This Catalog item is a sample implementation that shows how to implement the Internet Gateway Device (IGD) schema. |
SYSGEN_UPNP_TOOLS |
When this variable is set, the UPnP Tools Catalog item is included in the OS design. This item includes a UPnP device registration command-line tool and generic UPnP samples. |
SYSGEN_UPNP_TOOLS_UI |
When this variable is set, the generic UPnP control point sample is included in the OS design. |
SYSGEN_DISCOVER_SERVICE |
When this variable is set, the discovery service sample is included in the OS design. |
Modules and Components
The following table shows the components and modules that implement UPnP.
Item | Module | Component |
---|---|---|
UPnP service. This module is used by all OS designs that include UPnP functionality. |
upnpsvc |
None |
UPnP API. This module is used by all OS designs that include UPnP functionality. |
upnpcapi |
None |
UPnP Control Point API. |
upnpctrl |
None |
UPnP Device Host API. |
upnphost |
None |
UPnP device loader. |
upnploader |
None |
UPnP device registration command-line tool. |
upnpreg |
None |
UPnP AV Framework |
av_upnp.lib |
None |
UPnP AV Framework type library. |
av_dll |
None |
Generic UPnP control point sample. |
genericucp |
None |