IWMSAccessControlEntry::put_AccessMask
.gif)
| Previous | Next |
IWMSAccessControlEntry::put_AccessMask
The put_AccessMask method specifies an enumeration value indicating access rights to a publishing point or file system.
Syntax
HRESULT put_AccessMask( WMS_ACCESS_CONTROL wmsAccess );
Parameters
wmsAccess
[in] Member of a WMS_ACCESS_CONTROL enumeration type indicating the trustee access mask setting. This must be one of the following values.
| Value | Description |
| WMS_ACL_DENY_READ | Denies read access. |
| WMS_ACL_DENY_WRITE | Denies write access. |
| WMS_ACL_DENY_CREATE | Denies creation access. |
| WMS_ACL_DENY_ALL | Denies read, write, and creation access. |
| WMS_ACL_ALLOW_READ | Enables read access. |
| WMS_ACL_ALLOW_WRITE | Enables write access. |
| WMS_ACL_ALLOW_CREATE | Enables creation access. |
| WMS_ACL_ALLOW_ALL | Enables read, write, and creation access. |
Return Values
If the method succeeds, it returns S_OK. If it fails, it returns an HRESULT error code.
| Return code | Number | Description |
| E_INVALIDARG | 0x80070057 | The wmsAccess value is not valid. |
| E_POINTER | 0x80004003 | The internal access control list does not exist. |
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;
// Set the access rights associated with the current entry.
hr = pAccessCtrlEntry->put_AccessMask(WMS_ACL_ALLOW_READ_DENY_WRITE);
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 |