[This is a preview of an interface that may appear in future releases of Windows.]
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. |
{ACTRL_SYNCHRONIZE, “Synchronize”}, {ACTRL_CHANGE_OWNER, “Change Owner”}, {ACTRL_CHANGE_ACCESS, “Change Access”}, … {ACTRL_FILE_READ, “Read File”}, {ACTRL_FILE_WRITE, “Write File”} …
Currently, the import library for the GetAccessPermissionsForObject function is ACCSRC.LIB. This is temporary. Eventually, the import library will be ADVAPI32.LIB. Meanwhile, any source code that links with the ACCSRC.LIB library must call the AccProvInit macro as follows:
DWORD dwErrcode; AccProvInit(dwErrcode); if(dwErrcode != ERROR_SUCCESS) { // Consider this an error... }