IWMSAccessControlEntry Interface
Previous | Next |
IWMSAccessControlEntry Interface
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 Code
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.
See Also
Previous | Next |