SetNamedSecurityInfo

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

[New - Windows NT]

SetNamedSecurityInfo函数在指定对象的安全描述符中设置指定的安全信息。来电者按名称识别对象。

DWORD SetNamedSecurityInfo(

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

参数

【pObjectName】

指向以空值终止的字符串,指定为其设置安全信息的对象的名称。这可以是NTFS文件系统上的本地或远程文件或目录的名称,Windows NT网络共享名称,注册表项,信号量,事件,互斥体,文件映射或等待计时器。

有关不同对象类型的字符串格式的说明,请参阅SE_OBJECT_TYPE.

【ObjectType】

指定SE_OBJECT_TYPE枚举中指示由【pObjectName】参数命名的对象类型的值。

【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, SetSecurityInfo, SID