GetKernelObjectSecurity函数检索保护内核对象的安全描述符的副本。
BOOL GetKernelObjectSecurity(
HANDLE 【处理】, | //查询对象的句柄 |
SECURITY_INFORMATION 【RequestedInformation】, | //请求的信息 |
PSECURITY_DESCRIPTOR 【pSecurityDescriptor】, | //安全描述符的地址 |
DWORD 【nLength】, | //安全描述符缓冲区的大小 |
LPDWORD 【lpnLengthNeeded】 | //缓冲区所需大小的地址 |
); |
参数
【处理】
标识一个内核对象。
【RequestedInformation】
指定一个SECURITY_INFORMATION结构,用于标识正在请求的安全信息。
【pSecurityDescriptor】
指向缓冲区的函数填充指定对象的安全描述符的副本。调用进程必须有权查看对象的安全状态的指定方面。SECURITY_DESCRIPTOR结构以自相关格式返回。
【nLength】
指定由【pSecurityDescriptor】参数指向的缓冲区的大小(以字节为单位)。
【lpnLengthNeeded】
指向变量,如果描述符被成功复制,则函数将设置为零。如果缓冲区对于安全描述符来说太小,则该变量将接收所需的字节数。如果函数返回时该变量的值大于【nLength】参数的值,则不会将任何安全描述符复制到缓冲区。
返回值
如果函数成功,返回值不为零。
如果函数失败,返回值为零。要获取扩展错误信息,请调用GetLastError.
备注
要读取内核对象的安全描述符,调用进程必须被授予READ_CONTROL访问权限或者是对象的所有者。此外,调用进程必须具有SE_SECURITY_NAME权限才能读取系统访问控制列表。
也可以看看
GetFileSecurity, GetPrivateObjectSecurity, GetUserObjectSecurity, SECURITY_DESCRIPTOR, SECURITY_INFORMATION, SetKernelObjectSecurity