This article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated.
For a Microsoft Windows XP version of this article, see 323713.
Universal Plug and Play (UPnP) is an architecture in Microsoft Windows Millennium Edition (Me) 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 accomplishes device and service discovery and control through a driver-less, standards-based protocol mechanisms. Universal Plug and Play devices can auto-configure network addressing, announce their presence on a network subnet, and enable the exchange of descriptions device and service descriptions. A Windows Me computer can act as a UPnP control point to discover and control the devices through a web or application interface.
You can install Universal Plug and Play support in Windows Me by using Add and Remove Programs in Control Panel. When Universal Plug and Play support is installed, and 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 available.
The following list defines key Universal Plug and Play terms:
Action - a command 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 via control points.
Subscription - a relationship between a control point and a service.
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 newly added control point uses SSDP to discover Universal Plug and Play devices on the network. The information exchanged between the device and the control point is limited to discovery messages that provide basic information about the devices and their services, along with a description URL, which can be used to gather additional information about the device.
Description - Using the URL provided in the discovery process, a control point receives XML information about the device, such as make, model, and serial number. In addition, the description process can also include a list of embedded devices, embedded services, and URLs used to access device features.
Control - Control points use URLs provided during the description process to access additional XML information that describes actions to which the Universal Plug and Play device services respond, along with parameters for each action. Control messages are formatted in XML and use the Simple Object Access Protocol (SOAP) protocol.
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 Architecture (GENA).
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 implemented by the manufacturer.
In Windows Me, Universal Plug and Play functionality is provided by the following files:
Ssdpapi.dll - This component provides the Simple Service Discovery Protocol (SSDP) Application Programming Interface (API) for Universal Plug and Play.
Ssdpsrv.exe - This component provides SSDP and GENA services.
Upnp.dll - This component provides the core Universal Plug and Play search and description functions for devices and services.
Upnpui.dll - This component provides the interface for device notification and manipulation.