Prev Next

ConvertSecurityDescriptorToAccess info  Overview  Group

[This is a preview of an interface that may appear in future releases of Windows.]

The ConvertSecurityDescriptorToAccess 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 a handle. The function also retrieves the names of the object’s owner and primary group from the SIDs in the security descriptor.

DWORD ConvertSecurityDescriptorToAccess(

    HANDLE hObject,

// handle to 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

   );

Parameters

hObject
A handle to the object from which the pSecDescriptor security descriptor was obtained.
ObjectType
Specifies a value from the SE_OBJECT_TYPE enumeration that indicates the type of object identified by the hObject parameter.
pSecDescriptor
Pointer to the security descriptor from which to retrieve security information.
ppAccessList
Pointer to a variable that receives a pointer to an ACTRL_ACCESS structure that describes the security descriptor’s DACL. Call the LocalFree function to free the returned buffer. This parameter can be NULL if you do not need the DACL information.
ppAuditList
Pointer to a variable that receives a pointer to an ACTRL_AUDIT structure that describes the security descriptor’s SACL. Call the LocalFree function to free the returned buffer. This parameter can be NULL if you do not need the SACL information.
lppOwner
Pointer to a variable that receives a pointer to a null-terminated string containing the name of the object’s owner. Call the LocalFree function to free the returned buffer. This parameter can be NULL if you do not need the information.
lppGroup
Pointer to a variable that receives a pointer to a null-terminated string containing the name of the object’s primary group. Call the LocalFree function to free the returned buffer. This parameter can be NULL if you do not need the information.

Return Values

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.

Remarks

Currently, the import library for the ConvertSecurityDescriptorToAccess 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...

    }

 

See Also

ACTRL_ACCESS, ACTRL_AUDIT, ConvertAccessToSecurityDescriptor, ConvertSecurityDescriptorToAccessNamed, LocalFree