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

See Also

Other Resources

Universal Plug and Play (UPnP)