[This is a preview of an interface that may appear in future releases of Windows.]
The ConvertSecurityDescriptorToAccessNamed function returns a set of structures that contain the access-control and audit-control information from the security descriptor of a specified object. The object is identified by name. The function also retrieves the names of the object’s owner and primary group from the SIDs in the security descriptor.
DWORD ConvertSecurityDescriptorToAccessNamed(
LPCTSTR lpObject, |
// name of the object |
SE_OBJECT_TYPE ObjectType, |
// type of object |
PSECURITY_DESCRIPTOR pSecDescriptor, |
// pointer to the object’s security descriptor |
PACTRL_ACCESS *ppAccessList, |
// receives a pointer to access-control info |
PACTRL_AUDIT *ppAuditList, |
// receives a pointer to audit-control info |
LPTSTR *lppOwner, |
// receives the name of the object’s owner |
LPTSTR *lppGroup |
// receives the name of the object’s primary group |
); |
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_NOT_ENOUGH_MEMORY |
A memory allocation failed. |
ERROR_INVALID_PARAMETER |
An invalid parameter was specified. |
Currently, the import library for the ConvertSecurityDescriptorToAccessNamed 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... }
ACTRL_ACCESS, ACTRL_AUDIT, ConvertAccessToSecurityDescriptor, ConvertSecurityDescriptorToAccess, LocalFree