Share via


IWMSIPEntry Interface

You can use the IWMSIPEntry interface to edit an IP address or range of IP addresses in an IWMSIPListIWMSIPList Interface. The IWMSIPList object contains a collection of access lists used by the WMS IP Address Authorization plug-in to allow or disallow client connections based on IP addresses.

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

Method

Description

get_Address

Retrieves an IP address or range of IP addresses that can be used to allow or disallow client connections.

get_Mask

Retrieves an IP address mask.

put_Address

Specifies an IP address or range of IP addresses that can be used to allow or disallow client connections.

put_Mask

Specifies an IP address mask.

Example

The following example illustrates how to retrieve a pointer to an IWMSIPEntry 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;
IWMSIPAdmin     *pIPAdmin;
IWMSIPList      *pIPList;
IWMSIPEntry     *pIPEntry;

HRESULT         hr;
CComVariant     varIndex;
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 event handler plug-ins.
hr = pServer->get_EventHandlers(&pPlugins);
if (FAILED(hr)) goto EXIT;

// Retrieve a pointer to the IWMSPlugin interface
// of the plug-in to be configured.
varIndex = "WMS IP Address Authorization";
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_IWMSIPAdmin,
                              (void **)&pIPAdmin);
if (FAILED(hr)) goto EXIT;

// Retrieve the list of banned IP addresses.
hr = pIPAdmin->get_DisallowIP(&pIPList);
if (FAILED(hr)) goto EXIT;

// Retrieve the total count of banned IP addresses.
hr = pIPList->get_Count(&lCount);
if (FAILED(hr)) goto EXIT;

// Retrieve each banned address.
for (long x = 0; x < lCount; x++)
{
    varIndex = x;
    hr = pIPList->get_Item(varIndex, &pIPEntry);
    if (FAILED(hr)) goto EXIT;

    // Release temporary COM objects.
    pIPEntry->Release();
}

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

See Also

Reference

IWMSIPList Interface

Concepts

System Plug-in Interfaces (C++)