Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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.