Universal Plug and Play (UPnP) is an architecture in
Windows XP that supports peer-to-peer Plug and Play functionality for network
devices. The UPnP specification is designed to simplify device and network
service installation and management. UPnP performs device and service discovery
and control through driverless, standards-based protocol mechanisms. Universal
Plug and Play devices can automatically configure network addressing, announce
their presence on a network subnet, and permit the exchange of device and
service descriptions. A Windows XP-based computer can act as a UPnP control
point to discover and control the devices through a Web or program interface.
You can install Universal Plug and Play support in Windows XP by
using the Add or Remove Programs tool in Control Panel. If Universal Plug and
Play support is installed, when a Universal Plug and Play device is added to
the network, the Windows-based computer acts as a control point for that
device, and notification is provided on the taskbar that a new device is
The following list defines key Universal Plug and Play
- Action: A command that is used to trigger services to
perform a function.
- Control point: Software that retrieves Universal Plug and
Play service and device descriptions, sends actions to services, and receives
events from services.
- Device: A container object for one or more services,
whether a physical device such as a camcorder, or a logical device such as a
computer that is acting as a camcorder.
- Event: A message from a device to a control point that is
used to keep subscribed control points informed of device status.
- Service: Device functionality that can be controlled by
using control points.
- Subscription: A relationship between a control point and a
Universal Plug and Play functionality involves five processes:
- Discovery: A Universal Plug and Play device advertises its
presence on the network to other devices and control points by using the Simple
Service Discovery Protocol (SSDP). A new control point uses SSDP to discover
Universal Plug and Play devices on the network. The information that is
exchanged between the device and the control point is limited to discovery
messages that provide basic information about the devices and their services,
and a description URL, which can be used to gather additional information about
- Description: Using the URL that is provided in the
discovery process, a control point receives XML information about the device,
such as the make, model, and serial number. Additionally, the description
process can include a list of embedded devices, embedded services, and URLs
that are used to access device features.
- Control: Control points use URLs that are provided during
the description process to access additional XML information that describes
actions to which the Universal Plug and Play device services respond, with
parameters for each action. Control messages are formatted in XML and use
- Eventing: When a control point subscribes to a service, the
service sends event messages to the control point to announce changes in device
status. Event messages are formatted in XML and use General Event Notification
- Presentation: If a Universal Plug and Play device provides
a presentation URL, a browser can be used to access interface control features,
device or service information, or any device-specific abilities that are
implemented by the manufacturer.
In Windows XP, Universal Plug and Play functionality is
provided by the following files and services:
Upnphost.dll - for hosting UPnP devices
Upnp.dll - the main UPnP dynamic-link library (DLL)
Upnpui.dll - used by Windows XP to create the interface
Ssdpaip.dll - the Application Programming Interface (API) DLL for SSDP
Ssdpsrv.dll - used for SSDP messages as host
- Services: The SSDP Discovery service permits discovery of
UPnP devices on your home network.
- Universal Plug and Play Device Host: Provides support to
host Universal Plug and Play devices.