Share via


IWMSBoundIPAddresses Interface

banner art

Previous Next

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   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 Code

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

Previous Next