RegGetKeySecurity 함수(winreg.h)
RegGetKeySecurity 함수는 지정된 열린 레지스트리 키를 보호하는 보안 설명자의 복사본을 검색합니다.
구문
LSTATUS RegGetKeySecurity(
[in] HKEY hKey,
[in] SECURITY_INFORMATION SecurityInformation,
[out, optional] PSECURITY_DESCRIPTOR pSecurityDescriptor,
[in, out] LPDWORD lpcbSecurityDescriptor
);
매개 변수
[in] hKey
보안 설명자를 검색할 열린 키에 대한 핸들입니다.
[in] SecurityInformation
요청된 보안 정보를 나타내는 SECURITY_INFORMATION 값입니다.
[out, optional] pSecurityDescriptor
요청된 보안 설명자의 복사본을 수신하는 버퍼에 대한 포인터입니다.
[in, out] lpcbSecurityDescriptor
pSecurityDescriptor 매개 변수가 가리키는 버퍼의 크기(바이트)를 지정하는 변수에 대한 포인터입니다. 함수가 반환되면 변수에는 버퍼에 기록된 바이트 수가 포함됩니다.
반환 값
함수가 성공하면 함수는 ERROR_SUCCESS 반환합니다.
함수가 실패하면 WinError.h에 정의된 0이 아닌 오류 코드를 반환합니다. FormatMessage 함수를 FORMAT_MESSAGE_FROM_SYSTEM 플래그와 함께 사용하여 오류에 대한 일반적인 설명을 가져올 수 있습니다.
설명
pSecurityDescriptor 매개 변수로 지정된 버퍼가 너무 작으면 함수는 ERROR_INSUFFICIENT_BUFFER 반환하고 lpcbSecurityDescriptor 매개 변수에는 요청된 보안 설명자에 필요한 바이트 수가 포함됩니다.
키의 보안 설명자에서 소유자, 그룹 또는 DACL( 임의 액세스 제어 목록 )을 읽으려면 핸들을 열 때 호출 프로세스 에 액세스 권한을 READ_CONTROL 부여되어야 합니다. READ_CONTROL 액세스 권한을 얻으려면 호출자가 키의 소유자이거나 키의 DACL이 액세스 권한을 부여해야 합니다.
보안 설명자에서 SACL( 시스템 액세스 제어 목록 )을 읽으려면 키를 열 때 호출 프로세스에 액세스 ACCESS_SYSTEM_SECURITY 부여되어야 합니다. 이 액세스를 가져오는 올바른 방법은 호출자의 현재 토큰에서 SE_SECURITY_NAME 권한을 사용하도록 설정하고 ACCESS_SYSTEM_SECURITY 액세스에 대한 핸들을 연 다음 권한을 사용하지 않도록 설정하는 것입니다.
요구 사항
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | winreg.h(Windows.h 포함) |
라이브러리 | Advapi32.lib |
DLL | Advapi32.dll |