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.
An access control list (ACL) is a list of access control entries (ACE). Each ACE created by a publishing point ACL plug-in specifies the read and write permissions for a publishing point. Clients can have permission to read the content from a publishing point, and servers can have permission to write content to a publishing point. A file system ACL plug-in specifies the read and write permissions for file system access control lists. The IWMSAccessControlEntry interface is exposed by the WMS Publishing Points ACL plug-in.
In addition to the methods inherited from IDispatch, the IWMSAccessControlEntry interface exposes the following methods.
Method |
Description |
|---|---|
get_AccessMask |
Retrieves an enumeration value indicating the access rights to a publishing point or file system. |
get_Trustee |
Retrieves the name of the account or logon session to which the access control entry applies. |
put_AccessMask |
Specifies an enumeration value indicating the access rights to a publishing point or file system. |
Example
The following example illustrates how to retrieve a pointer to an IWMSAccessControlEntry 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;
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.