IWMSBoundIPAddresses::get_Item

banner art

Previous Next

IWMSBoundIPAddresses::get_Item

The get_Item method retrieves an IP address from the IWMSBoundIPAddresses collection.

Syntax

  HRESULT get_Item(
  const VARIANT  varIndex,
  BSTR*  pbstrIPAddress
);

Parameters

varIndex

[in] VARIANT containing the index of the IP address to retrieve.

pbstrIPAddress

[out] Pointer to a BSTR containing the bound IP address.

Return Values

If the method succeeds, it returns S_OK. If it fails, it returns an HRESULT error code.

Return code Number Description
DISP_E_BADINDEX 8002000B The index contained in varIndex is not valid.
E_POINTER 0x80004003 The pbstrIPAddress parameter is NULL.

Example Code

#include <windows.h>
#include <atlbase.h>    // Includes CComBSTR and 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;
CComBSTR        bstrIP;
long            lCount;

// 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;

// Retrieve the total number of bound
// IP addresses.
hr = pBoundIPAddresses->get_Count(&lCount);
if (FAILED(hr)) goto EXIT;

for (long x = 0; x < lCount; x++)
{
    // Retrieve the next bound IP address.
    varIndex = x;
    hr = pBoundIPAddresses->get_Item(varIndex, &bstrIP);
    if (FAILED(hr)) goto EXIT;
}

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

Requirements

Library: WMSServerTypeLib.dll.

Platform: Windows Server 2003 family, Windows Server 2008 family.

See Also

Previous Next