Share via


IWMSAccessControlList Interface

banner art

Previous Next

IWMSAccessControlList Interface

The IWMSAccessControlList interface contains a collection of IWMSAccessControlEntry objects that you can use to specify access rights to a publishing point or file system. The IWMSAccessControlList interface is used by the WMS Publishing Points ACL plug-in.

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

Method Description
Add Adds a new IWMSAccessControlEntry interface to the IWMSAccessControlList collection.
get_Count Retrieves the number of IWMSAccessControlEntry interfaces in the IWMSAccessControlList collection.
get_Item Retrieves a specific IWMSAccessControlEntry interface from the IWMSAccessControlList collection.
get_length Retrieves the number of IWMSAccessControlEntry interfaces in the IWMSAccessControlList collection. This method is provided for JScript compatibility.
Remove Removes an IWMSAccessControlEntry interface from the IWMSAccessControlList collection.

Example Code

The following example illustrates how to retrieve a pointer to an IWMSAccessControlList 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;
IWMSACLCheckAdmin       *pACLCheckAdmin;
IWMSAccessControlList   *pAccessCtrlList;

HRESULT         hr;
CComVariant     varIndex;

// 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.
hr = pACLCheckAdmin->get_AccessControlList(&pAccessCtrlList);
if (FAILED(hr)) goto EXIT;

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

See Also

Previous Next