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