GetNamedSecurityInfo
[New
- Windows NT]
The GetNamedSecurityInfo
function retrieves a copy of the security descriptor for an object specified by
name.
DWORD GetNamedSecurityInfo(
LPTSTR pObjectName, |
// name of the object |
SE_OBJECT_TYPE ObjectType, |
// type of object |
SECURITY_INFORMATION SecurityInfo,
|
// type of security information to retrieve |
PSID *ppsidOwner, |
// receives a pointer to the owner SID |
PSID *ppsidGroup, |
// receives a pointer to the primary group SID |
PACL *ppDacl, |
// receives a pointer to the DACL |
PACL *ppSacl, |
// receives a pointer to the SACL |
PSECURITY_DESCRIPTOR *ppSecurityDescriptor |
// receives a pointer to the security descriptor |
); |
|
Parameters
pObjectName
Pointer to a
null-terminated string that specifies the name of the object from which to
retrieve security information. For descriptions of the string formats for the
different object types, see SE_OBJECT_TYPE
ObjectType
Specifies a
value from the SE_OBJECT_TYPE enumeration that indicates the type of
object named by the pObjectName parameter.
SecurityInfo
A set of SECURITY_INFORMATION
Value |
Meaning |
OWNER_SECURITY_INFORMATION |
If this
flag is set, the ppsidOwner parameter receives the security identifier
(SID |
GROUP_SECURITY_INFORMATION |
If this
flag is set, the ppsidGroup parameter receives the SID of the object s
primary group. |
DACL_SECURITY_INFORMATION |
If this
flag is set, the ppDacl parameter receives the object s discretionary
access-control list (DACL). |
SACL_SECURITY_INFORMATION |
If this
flag is set, the ppSacl parameter receives the object s system
access-control list (SACL).. |
ppsidOwner
Pointer to a
variable that receives a pointer to the owner SID in the security descriptor
returned in ppSecurityDescriptor. The returned pointer is valid only if
you set the OWNER_SECURITY_INFORMATION flag. This parameter can be NULL if you
do not need the owner SID.
ppsidGroup
Pointer to a
variable that receives a pointer to the primary group SID in the returned
security descriptor. The returned pointer is valid only if you set the
GROUP_SECURITY_INFORMATION flag. This parameter can be NULL if you do not need
the group SID.
ppDacl
Pointer to a
variable that receives a pointer to the DACL in the returned security
descriptor. The returned pointer is valid only if you set the
DACL_SECURITY_INFORMATION flag. This parameter can be NULL if you do not need
the DACL.
ppSacl
Pointer to a
variable that receives a pointer to the SACL in the returned security
descriptor. The returned pointer is valid only if you set the SACL_SECURITY_INFORMATION
flag. This parameter can be NULL if you do not need the SACL.
ppSecurityDescriptor
Pointer to a
variable that receives a pointer to the security descriptor of the object. You
must call the LocalFree
Return Values
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.
Remarks
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
object s owner, group and DACL the caller must have READ_CONTROL access or be
the owner of the object. The caller must have the SE_SECURITY_NAME privilege
enabled to read the SACL.
See Also