IAccessControl::IsAccessAllowed

This method determines whether the given trustee has access rights to the object or property.

HRESULT IsAccessAllowed(
  PTRUSTEEW pTrustee, 
  LPWSTR lpProperty, 
  ACCESS_RIGHTS AccessRights, 
  BOOL* pfAccessAllowed 
);

Parameters

  • pTrustee
    [in] Pointer to the trustee.
  • lpProperty
    [in] Name of the property. If you are using the COM implementation of the IAccessControl interface, this parameter must be NULL.
  • AccessRights
    [in] Access rights on the object. ACCESS_RIGHTS is defined as a ULONG. If you are using the COM implementation of IAccessControl, this value must be either zero or 1 (COM_RIGHTS_EXECUTE).
  • pfAccessAllowed
    [out] Pointer to a BOOL variable that is set to TRUE if access is allowed; otherwise, it is set to FALSE.

Return Values

None.

Remarks

In the system-supplied implementation of IAccessControl (CLSID_DCOMAccessControl), IsAccessAllowed can be called only during a distributed COM call, and the only valid trustee name is the name of the client.

The following table lists the object-specific access permissions used with the Directory Service and storage implementation of IAccessControl.

Access permission Object-type Description
ACTRL_DS_OPEN Ds Open of a DS object
ACTRL_DS_CREATE_CHILD Ds Creation of a child object
ACTRL_DS_DELETE_CHILD Ds Deletion of a child object
ACTRL_DS_LIST Ds Enumerate an object
ACTRL_DS_SELF Ds Member list updates involving the trustee
ACTRL_DS_READ_PROP Ds Read properties
ACTRL_DS_WRITE_PROP Ds Write properties
ACTRL_FILE-READ File Read from a file
ACTRL_FILE_WRITE File Write to a file
ACTRL_FILE_APPEND File Append to a file
ACTRL_FILE_READ_PROP File Read file properties / Extended attributes
ACTRL_FILE_WRITE_PROP File Write file properties / Extended attributes
ACTRL_FILE_EXECUTE File Execute the file
ACTRL_FILE_READ_ATTRIB File Read the file attributes
ACTRL_FILE_WRITE_ATTRIB File Write the file attributes
ACTRL_DIR_LIST Directory List the contents of a directory
ACTRL_DIR_CREATE_OBJECT Directory Create a child object (file) in a directory
ACTRL_DIR_CREATE_CHILD Directory Create a subdirectory
ACTRL_DIR_DELETE_CHILD Directory Delete a subdirectory
ACTRL_DIR_TRAVERSE Directory Traverse through the directory
ACTRL_KERNEL_KILL Kernel Terminate a kernel item (process / thread)
ACTRL_KERNEL_THREAD Kernel Allow for the creation of a thread
ACTRL_KERNEL_VM Kernel Allow for address space operations
ACTRL_KERNEL_VM_READ Kernel Read memory
ACTRL_KERNEL_VM_WRITE Kernel Write memory
ACTRL_KERNEL_DUP_HANDLE Kernel Duplicate a handle
ACTRL_KERNEL_PROCESS Kernel Create a process
ACTRL_KERNEL_SET_INFO Kernel Get kernel object information/state
ACTRL_KERNEL_GET_INFO Kernel Set kernel object information/state
ACTRL_KERNEL_CONTROL Kernel Allow for the control of a kernel object (such as suspending a thread)
ACTRL_KERNEL_ALERT Kernel Set kernel alert
ACTRL_KERNEL_GET_CONTEXT Kernel Get the threads context
ACTRL_KERNEL_SET_CONTEXT Kernel Set the threads context
ACTRL_KERNEL_TOKEN Kernel Set the threads token
ACTRL_KERNEL_IMPERSONATE Kernel Client impersonation
ACTRL_KERNEL_DIMPERSONATE Kernel Direct client impersonation
ACTRL_PRINT_SADMIN Printer Print server administration
ACTRL_PRINT_SLIST Printer Print server enumeration
ACTRL_PRINT_PADMIN Printer Printer administration
ACTRL_PRINT_PUSE Printer Can the printer be used
ACTRL_PRINT_JADMIN Printer Print job administration
ACTRL_SVC_GET_INFO Service Get the info on a service
ACTRL_SVC_SET_INFO Service Set the info on a service
ACTRL_SVC_STATUS Service Get the status of a service
ACTRL_SVC_LIST Service Enumerate the services
ACTRL_SVC_START Service Start a service
ACTRL_SVC_STOP Service Stop a service
ACTRL_SVC_PAUSE Service Pause a service
ACTRL_SVC_INTERROGATE Service Query the service for the current status
ACTRL_SVC_UCONTROL Service User-defined control
ACTRL_REG_QUERY Registry Read a registry subkey
ACTRL_REG_SET Registry Write a registry subkey
ACTRL_REG_CREATE_CHILD Registry Create a registry subkey
ACTRL_REG_LIST Registry Enumerate a registry subkey
ACTRL_REG_NOTIFY Registry Create a registry notification
ACTRL_REG_LINK Registry Create a symbolic link
ACTRL_WIN_CLIPBRD Window Allow access to the clipboard
ACTRL_WIN_GLOBAL_ATOMS Window Allow global-atom access
ACTRL_WIN_CREATE Window Create desktop access
ACTRL_WIN_LIST_DESK Window Enumerate the desktops
ACTRL_WIN_LIST Window Enumerate the window station
ACTRL_WIN_READ_ATTRIBS Window Read the attributes
ACTRL_WIN_WRITE_ATTRIBS Window Write the attributes
ACTRL_WIN_SCREEN Window Allow access to the screen
ACTRL_WIN_EXIT Window Call ExitWindows* functions

To determine whether the platform supports this interface, see Determining Supported COM APIs.

Requirements

OS Versions: Windows CE 3.0 and later.
Header: IAccess.h.
Link Library: Ole32.lib, Uuid.lib.

Last updated on Wednesday, April 13, 2005

© 2005 Microsoft Corporation. All rights reserved.