Platform SDK: Access Control |
The GetNamedSecurityInfo function retrieves a copy of the security descriptor for an object specified by name.
DWORD GetNamedSecurityInfo( LPTSTR pObjectName, // object name SE_OBJECT_TYPE ObjectType, // object type SECURITY_INFORMATION SecurityInfo, // information type PSID *ppsidOwner, // owner SID PSID *ppsidGroup, // primary group SID PACL *ppDacl, // DACL PACL *ppSacl, // SACL PSECURITY_DESCRIPTOR *ppSecurityDescriptor // SD );
Value | Meaning |
---|---|
DACL_SECURITY_INFORMATION | If this flag is set, the ppDacl parameter receives the object's discretionary access-control list (DACL). |
GROUP_SECURITY_INFORMATION | If this flag is set, the ppsidGroup parameter receives the SID of the object's primary group. |
OWNER_SECURITY_INFORMATION | If this flag is set, the ppsidOwner parameter receives the security identifier (SID) of the object's owner. |
SACL_SECURITY_INFORMATION | If this flag is set, the ppSacl parameter receives the object's system access-control list (SACL).. |
If the function succeeds, the return value is ERROR_SUCCESS.
If the function fails, the return value is a nonzero error code defined in WINERROR.H.
If the ppsidOwner, ppsidGroup, ppDacl, ppSacl parameters are non-NULL, and the SecurityInfo parameter specifies that they be retrieved from the object, those parameters will point to the corresponding parameters in the security descriptor returned in ppSecurityDescriptor.
To read the owner, group, or DACL from the object's security descriptor, the object's DACL must grant READ_CONTROL access to the caller or the caller must be the owner of the object.
To read the system access-control list (SACL) of the object, the SE_SECURITY_NAME privilege must be enabled for the calling process.
You can use the GetNamedSecurityInfo function with the following types of objects:
Windows NT/2000: Requires Windows NT 4.0 or later.
Header: Declared in Aclapi.h.
Library: Use Advapi32.lib.
Unicode: Implemented as Unicode and ANSI versions on Windows NT/2000.
Access Control Overview, Access Control Functions, ACL, GetSecurityInfo, LocalFree, SE_OBJECT_TYPE, SECURITY_DESCRIPTOR, SECURITY_INFORMATION, SetNamedSecurityInfo, SetSecurityInfo, SID