SetSecurityInfo

【勇芳软件工作室】汉化HomePreviousNext

[New - Windows NT]

SetSecurityInfo函数在指定对象的安全描述符中设置指定的安全信息。调用者通过句柄识别对象。

DWORD SetSecurityInfo

HANDLE 【处理】,//对象的句柄
SE_OBJECT_TYPE 【ObjectType】,//对象类型
SECURITY_INFORMATION 【SecurityInfo】,//要设置的安全信息类型
PSID 【psidOwner】,//指向新所有者SID的指针
PSID 【psidGroup】,//指向新的主组SID的指针
PACL 【pDacl】,//指向新DACL的指针
PACL 【pSacl】//指向新的SACL的指针
); 

参数

【处理】

用于设置安全信息的对象的句柄。

【ObjectType】

指定SE_OBJECT_TYPE枚举中指示由【处理】参数标识的对象类型的值。

【SecurityInfo】

一组SECURITY_INFORMATION位标志,表示要设置的安全性信息的类型。此参数可以是以下值的组合。

含义
OWNER_SECURITY_INFORMATION在对象的安全描述符中设置所有者安全标识符(SID)。【psidOwner】参数指向新的SID。
GROUP_SECURITY_INFORMATION在对象的安全描述符中设置主组SID。【psidGroup】参数指向新的SID。
DACL_SECURITY_INFORMATION在对象的安全描述符中设置自由访问控制列表(DACL)。【pDacl】参数指向新的DACL。
SACL_SECURITY_INFORMATION在对象的安全描述符中设置系统访问控制列表(SACL)。【pSacl】参数指向新的SACL。

【psidOwner】

指向识别对象所有者的SID的指针。SID必须是可以分配为安全描述符的所有者SID的SID。【SecurityInfo】参数必须包含OWNER_SECURITY_INFORMATION标志。调用者必须对该对象具有WRITE_OWNER访问权限或启用SE_TAKE_OWNERSHIP_NAME权限。如果不设置所有者SID,则此参数可以为NULL。

【psidGroup】

指向标识对象的主组的SID的指针。【SecurityInfo】参数必须包含GROUP_SECURITY_INFORMATION标志。如果不设置主组SID,则此参数可以为NULL。

【pDacl】

指向新DACL的对象。【SecurityInfo】参数必须包含DACL_SECURITY_INFORMATION标志。调用者必须对该对象具有WRITE_DAC访问权限,或者是该对象的所有者。如果不设置DACL,此参数可以为NULL。

【pSacl】

指向对象的新SACL。【SecurityInfo】参数必须包含SACL_SECURITY_INFORMATION标志。主叫方必须启用SE_SECURITY_NAME特权。如果不设置SACL,此参数可以为NULL。

返回值

如果函数成功,则返回值为ERROR_SUCCESS。

如果函数失败,返回值是在WINERROR.H中定义的非零错误代码。

也可以看看

ACL, GetNamedSecurityInfo, GetSecurityInfo, SE_OBJECT_TYPE, SECURITY_DESCRIPTOR, SECURITY_INFORMATION, SetNamedSecurityInfo, SID