[This is preliminary documentation and subject to change.]
The GetAccessPermissionsForObject function determines the access rights supported by a specified object.
DWORD GetAccessPermissionsForObject(
LPCTSTR lpObject, // name of the object
SE_OBJECT_TYPE ObjectType,
// type of object
LPCTSTR lpProvider, // name of provider to handle request
PULONG pcEntries, // receives number of entries in the array
PACTRL_ACCESS_INFO *ppAccessInfoList,
// receives an array of access information
PULONG pfAccessFlags // receives access flags
);
Value | Meaning | |
---|---|---|
ACTRL_ACCESS_SUPPORTS_OBJECT_ENTRIES | ||
The object's provider supports setting access-control entries on the object's properties, and it also supports propagating inherited entries to child objects. |
If the function succeeds, the return value is ERROR_SUCCESS.
If the function fails, the return value can be one of the following error codes.
Value | Meaning |
---|---|
ERROR_BAD_PROVIDER | The lpProvider parameter specified an invalid provider name. |
ERROR_INVALID_PARAMETER | An invalid parameter was specified. |
ERROR_NOT_ENOUGH_MEMORY | A memory allocation failed. |
The GetAccessPermissionsForObject function returns an array of ACTRL_ACCESS_INFO structures to indicate the access rights an object supports. For example, the array for an SE_FILE_OBJECT object type might include the following access rights and string descriptions.
{ACTRL_SYNCHRONIZE, "Synchronize"},
{ACTRL_CHANGE_OWNER, "Change Owner"},
{ACTRL_CHANGE_ACCESS, "Change Access"},
…
{ACTRL_FILE_READ, "Read File"},
{ACTRL_FILE_WRITE, "Write File"}
…
Windows NT: Requires version 5.0 or later.
Windows: Unsupported.
Windows CE: Unsupported.
Header: Declared in aclapi.h.
Import Library: Use advapi.lib.
Unicode: Implemented as Unicode and ANSI versions on Windows NT.
Client/Server Access Control Overview, Client/Server Access Control Functions, ACTRL_ACCESS_INFO, SE_OBJECT_TYPE