SetFileSecurity函数设置文件或目录对象的安全性。
BOOL SetFileSecurity(
LPCTSTR 【lpFileName】, | //文件名的字符串地址 |
SECURITY_INFORMATION 【SecurityInformation】, | //要设置的信息类型 |
PSECURITY_DESCRIPTOR 【pSecurityDescriptor】 | //安全描述符的地址 |
); |
参数
【lpFileName】
指向以空值终止的字符串,指定设置了安全性的文件或目录。
【SecurityInformation】
指定SECURITY_INFORMATION结构,标识由【pSecurityDescriptor】参数指向的安全描述符的内容。
【pSecurityDescriptor】
指向SECURITY_DESCRIPTOR结构。
返回值
如果函数成功,返回值不为零。
如果函数失败,返回值为零。要获取扩展错误信息,请调用GetLastError.
备注
只有满足以下条件,SetFileSecurity功能才能成功:
*如果对象的所有者正在设置,则调用进程必须具有WRITE_OWNER权限或对象的所有者。
*如果对象的自由访问控制列表(ACL)被设置,调用进程必须具有WRITE_DAC权限或者对象的所有者。
*如果对象的系统ACL被设置,则必须为调用进程启用SE_SECURITY_NAME特权。
也可以看看
GetFileSecurity, SECURITY_DESCRIPTOR, SECURITY_INFORMATION, SetKernelObjectSecurity, SetPrivateObjectSecurity, SetUserObjectSecurity