Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
4/8/2010

This class derives from the pure virtual IConnectionManagerclass and provides implementations for all methods in IConnectionManager.

Syntax

class IConnectionManagerImpl : public IConnectionManager

Methods

The following table shows the methods for this interface. This class inherits methods defined in the IConnectionManagerinterface; the table does not show these inherited methods.

Method Description

IConnectionManagerImpl::AddSinkProtocol

Adds the specified protocol string to the sink protocol information for this ConnectionManager instance.

IConnectionManagerImpl::AddSourceProtocol

Adds the specified protocol string to the source protocol information for this ConnectionManager instance.

IConnectionManagerImpl::CreateConnection

Provides developers with a chance to perform custom connection-preparation tasks, including creating and returning references to IAVTransportand IRenderingControlinstances.

IConnectionManagerImpl::EndConnection

Provides developers with a chance to perform custom connection-termination tasks.

IConnectionManagerImpl::RemoveSinkProtocol

Removes the specified protocol string from the sink protocol information for this ConnectionManager instance.

IConnectionManagerImpl::RemoveSourceProtocol

Removes the specified protocol string from the source protocol information for this ConnectionManager instance.

Remarks

Rather than deriving directly from the IConnectionManagerclass, devices can provide ConnectionManager functionality by inheriting from this class.

In contrast to the other similar implementation classes (like IAVTransportImpl), this class provides more than method overrides for optional methods. This class includes a connection and protocol management implementation that most devices can use; therefore, the devices do not need to provide their own connection and protocol management code.

Although the code in this class manages connections and protocol information, it does not have the inherent ability to create device-specific IAVTransportand IRenderingControlimplementations. To use the management functionality in this class, custom code must provide implementations for IConnectionManagerImpl::CreateConnectionand IConnectionManagerImpl::EndConnection.

Note:
For information about the many of the methods implemented in this class, see its parent interface, IConnectionManager. The documentation for this interface only contains information about additional methods defined initially in this interface, like IConnectionManagerImpl::AddSinkProtocol.

The AVTransport service's PrepareForConnection action is defined as optional in the UPnP AV DCP. The AV renderer sample implements PrepareForConnection, or does not, depending on the value of the CM_NO_PREPARE_FOR_CONNECTION preprocessor definition. If this constant is defined, the sample does not support PrepareForConnection; otherwise, the sample provides support for multiple connections. To see how this definition is used, examine ConnectionManager.cpp in the AV renderer sample's source directory.

For more information about the ConnectionManager DCP, see UPnP AV DCP Documentation.

Requirements

Header av_upnp.h
Library Av_upnp.lib
Windows Embedded CE Windows CE 5.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also