The SetSecurityInfo function sets specified security information in the security descriptor of a specified object. The caller identifies the object by a handle.
DWORD SetSecurityInfo(
HANDLE handle, // handle to the object
SE_OBJECT_TYPE ObjectType,
// type of object
SECURITY_INFORMATION SecurityInfo,
// type of security information to set
PSID psidOwner, // pointer to the new owner SID
PSID psidGroup, // pointer to the new primary group SID
PACL pDacl, // pointer to the new DACL
PACL pSacl // pointer to the new SACL
);
Value | Meaning |
---|---|
OWNER_SECURITY_INFORMATION | |
Sets the object's owner security identifier (SID). The psidOwner parameter points to the new SID. The handle parameter must have WRITE_OWNER access, or the calling process must be the object's owner or have the SE_TAKE_OWNERSHIP_NAME privilege enabled. | |
GROUP_SECURITY_INFORMATION | |
Sets the object's primary group SID. The psidGroup parameter points to the new SID. The handle parameter must have WRITE_OWNER access, or the calling process must be the object's owner. | |
DACL_SECURITY_INFORMATION | |
Sets the object's discretionary access control list (DACL). The pDacl parameter points to the new DACL. The handle parameter must have WRITE_DAC access, or the calling process must be the object's owner. | |
SACL_SECURITY_INFORMATION | |
Sets the object's system access control list (SACL). The pSacl parameter points to the new SACL. The handle parameter must have ACCESS_SYSTEM_SECURITY access. The proper way to get this access is to enable the SE_SECURITY_NAME privilege in the caller's current access token, open the handle for ACCESS_SYSTEM_SECURITY access, and then disable the privilege. |
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.
Windows NT: Requires version 4.0 or later.
Windows: Unsupported.
Windows CE: Unsupported.
Header: Declared in aclapi.h.
Import Library: Use advapi32.lib.
Windows NT 4.0 Access Control Overview, Windows NT 4.0 Access-Control Functions, ACL, GetNamedSecurityInfo, GetSecurityInfo, SE_OBJECT_TYPE, SECURITY_DESCRIPTOR, SECURITY_INFORMATION, SetNamedSecurityInfo, SID