Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The put_Address method specifies an IP address or range of IP addresses that can be used to allow or disallow client connections.
HRESULT put_Address(
BSTR value
);
Arguments
value |
[in] BSTR containing the IP address in either IPv4 decimal notation, xxx.xxx.xxx.xxx, or IPv6 hexadecimal notation, xxxx:xxxx::x. |
Return Value
If the method succeeds, it returns S_OK. If it fails, it returns an HRESULT error code.
Return code |
Number |
Description |
|---|---|---|
E_FAIL |
0x80004005 |
The server cannot find an IP address entry list. |
E_INVALIDARG |
0x80070057 |
The value parameter is NULL. |
E_OUTOFMEMORY |
0x8007000E |
The server could not allocate memory to store the address. |
Remarks
A range of addresses can be specified by setting an IP mask. For more information about using masks, see the IWMSIPEntry::put_Mask method.
Example
#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;
IWMSIPAdmin *pIPAdmin;
IWMSIPList *pIPList;
IWMSIPEntry *pIPEntry;
HRESULT hr;
CComVariant varIndex;
CComBSTR bstrIP;
// 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 a pointer to the first banned address.
varIndex = 0;
hr = pIPList->get_Item(varIndex, &pIPEntry);
if (FAILED(hr)) goto EXIT;
// Set the banned IP address.
bstrIP = "128.117.93.5";
pIPEntry->put_Address(bstrIP);
EXIT:
// TODO: Release temporary COM objects and uninitialize COM.
Requirements
Library: WMSServerTypeLib.dll.
Platform: Windows Server 2003 family, Windows Server 2008 family.