RegGetKeySecurity函数检索保护指定的打开注册表项的安全描述符的副本。
LONG RegGetKeySecurity(
HKEY 【的hKeyru-Latn】, | //打开要设置的句柄 |
SECURITY_INFORMATION 【SecurityInformation】, | //描述符内容 |
PSECURITY_DESCRIPTOR 【pSecurityDescriptor】, | //键的描述符地址 |
LPDWORD 【lpcbSecurityDescriptor】 | //缓冲区和描述符大小的地址 |
); |
参数
【的hKeyru-Latn】
标识要检索安全描述符的打开密钥。
【SecurityInformation】
指定一个SECURITY_INFORMATION结构,指示所请求的安全性信息。
【pSecurityDescriptor】
指向接收所请求的安全描述符副本的缓冲区。
【lpcbSecurityDescriptor】
指向一个变量,指定【pSecurityDescriptor】参数指向的缓冲区的大小(以字节为单位)。当函数返回时,变量包含写入缓冲区的字节数。
返回值
如果函数成功,则返回值为ERROR_SUCCESS。
如果函数失败,返回值是在WINERROR.H中定义的非零错误代码。您可以使用带有FORMAT_MESSAGE_FROM_SYSTEM标志的FormatMessage函数来获取错误的一般描述。
备注
如果【pSecurityDescriptor】参数指定的缓冲区太小,则该函数返回ERROR_INSUFFICIENT_BUFFER,并且【lpcbSecurityDescriptor】参数包含所请求的安全描述符所需的字节数。
要读取指定密钥的安全描述符,当密钥被打开时,调用进程必须被授予READ_CONTROL访问权限,或者它必须是密钥的所有者。(READ_CONTROL访问由KEY_READ,KEY_WRITE,KEY_EXECUTE和KEY_ALL_ACCESS访问权限授予。)此外,调用方必须具有SE_SECURITY_NAME权限才能读取系统访问控制列表(SACL)。
有关安全性的更多信息,请参阅安全.
也可以看看
RegDeleteKey, RegOpenKeyEx, RegSetKeySecurity, SECURITY_INFORMATION