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.
.gif)
| Previous | Next |
IWMSAccessControlList::get_Item
The get_Item method retrieves a specific IWMSAccessControlEntry interface from the IWMSAccessControlList collection.
Syntax
HRESULT get_Item( const VARIANT varIndex, IWMSAccessControlEntry** pVal );
Parameters
varIndex
[in] VARIANT containing the index of the access control entry to remove.
pVal
[out] Pointer to a pointer to an IWMSAccessControlEntry interface. This method calls AddRef internally. To avoid memory leaks, you must call Release when you are finished using the interface.
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 | 0x8002000B | The index contained in varIndex is not valid. |
| E_POINTER | 0x80004003 | The pVal parameter is NULL. |
Example Code
#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;
IWMSACLCheckAdmin *pACLCheckAdmin;
IWMSAccessControlList *pAccessCtrlList;
IWMSAccessControlEntry *pAccessCtrlEntry;
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 Publishing Points ACL 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_IWMSACLCheckAdmin,
(void **)&pACLCheckAdmin);
if (FAILED(hr)) goto EXIT;
// Retrieve a pointer to the list of access control entries
// and retrieve the number of entries it contains.
hr = pACLCheckAdmin->get_AccessControlList(&pAccessCtrlList);
if (FAILED(hr)) goto EXIT;
hr = pAccessCtrlList->get_Count(&lCount);
if (FAILED(hr)) goto EXIT;
for (long x = 0; x < lCount; x++)
{
// Retrieve the next entry in the list.
varIndex = x;
hr = pAccessCtrlList->get_Item(varIndex, &pAccessCtrlEntry);
if (FAILED(hr)) goto EXIT;
// Release temporary COM objects.
pAccessCtrlEntry->Release();
}
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 |