IWMSBoundIPAddresses Interface

The IWMSBoundIPAddresses interface contains a collection of BSTR values used by control protocol plug-ins to bind certain protocols, such as HTTP, to specific IP addresses. It is exposed by the following system plug-ins:

  • WMS HTTP Server Control Protocol plug-in

  • WMS MMS Server Control Protocol plug-in

  • WMS RTSP Server Control Protocol plug-in

Note

Note   In Windows Server 2008 operating systems, the MMS protocol is not supported, and Windows Media Services does not provide an MMS Server Control Protocol plug-in.

In addition to the methods inherited from IDispatch, the IWMSBoundIPAddresses interface exposes the following methods.

Method

Description

Add

Adds a new IP address string to the IWMSBoundIPAddresses collection.

get_Count

Retrieves the number of IP addresses in the IWMSBoundIPAddresses collection.

get_Item

Retrieves a specific IP address from the IWMSBoundIPAddresses collection.

get_length

Retrieves the number of IP addresses in the IWMSBoundIPAddresses collection. This method is included for JScript compatibility.

RemoveAll

Removes all IP addresses from the collection.

Example

The following example illustrates how to retrieve a pointer to an IWMSBoundIPAddresses interface

#include <windows.h>
#include <atlbase.h>    // Includes CComVariant.

// To access system plug-in interfaces, the
// entire type library must be imported as shown.
#import "WMSServerTypeLib.dll" no_namespace named_guids \
                               raw_interfaces_only

// Declare variables and interfaces.
IWMSServer              *pServer;
IWMSPlugins             *pPlugins;
IWMSPlugin              *pPlugin;
IDispatch               *pDispatch;
IWMSCPPluginAdmin       *pCPAdmin;
IWMSBoundIPAddresses    *pBoundIPAddresses;

HRESULT         hr;
CComVariant     varIndex;

// Initialize the COM library and retrieve a pointer
// to an IWMSServer interface.
hr = CoInitialize(NULL);
hr = CoCreateInstance(CLSID_WMSServer,
                      NULL,
                      CLSCTX_ALL,
                      IID_IWMSServer,
                      (void **)&pServer);
if (FAILED(hr)) goto EXIT;

// Retrieve a pointer to an IWMSPlugins interface
// containing control protocol plug-ins.
hr = pServer->get_ControlProtocols(&pPlugins);
if (FAILED(hr)) goto EXIT;

// Retrieve a pointer to the IWMSPlugin interface
// of the plug-in to be configured.
varIndex = "WMS RTSP Server Control Protocol";
hr = pPlugins->get_Item(varIndex, &pPlugin);
if (FAILED(hr)) goto EXIT;

// Retrieve a pointer to the custom interface
// of the plug-in.
hr = pPlugin->get_CustomInterface(&pDispatch);
if (FAILED(hr)) goto EXIT;

// Query the specific administration interface
// for the plug-in.
hr = pDispatch->QueryInterface(IID_IWMSCPPluginAdmin,
                              (void **)&pCPAdmin);
if (FAILED(hr)) goto EXIT;

// Retrieve a pointer to the list of bound
// IP addresses.
hr = pCPAdmin->get_BoundIPAddresses(&pBoundIPAddresses);
if (FAILED(hr)) goto EXIT;

EXIT:
    // TODO: Release temporary COM objects and uninitialize COM.

See Also

Concepts

System Plug-in Interfaces (C++)