GetKernelObjectSecurity 함수(securitybaseapi.h)
GetKernelObjectSecurity 함수는 커널 개체를 보호하는 보안 설명자의 복사본을 검색합니다.
구문
BOOL GetKernelObjectSecurity(
[in] HANDLE Handle,
[in] SECURITY_INFORMATION RequestedInformation,
[out, optional] PSECURITY_DESCRIPTOR pSecurityDescriptor,
[in] DWORD nLength,
[out] LPDWORD lpnLengthNeeded
);
매개 변수
[in] Handle
커널 개체에 대한 핸들입니다.
[in] RequestedInformation
요청되는 보안 정보를 식별하는 SECURITY_INFORMATION 값을 지정합니다.
[out, optional] pSecurityDescriptor
함수가 지정된 개체의 보안 설명자 복사본으로 채우는 버퍼에 대한 포인터입니다. 호출 프로세스는 개체의 보안 상태 지정된 측면을 볼 수 있는 권한이 있어야 합니다. SECURITY_DESCRIPTOR 구조체는 자기 상대 형식으로 반환됩니다.
[in] nLength
pSecurityDescriptor 매개 변수가 가리키는 버퍼의 크기(바이트)를 지정합니다.
[out] lpnLengthNeeded
pSecurityDescriptor 매개 변수가 가리키는 버퍼에 필요한 바이트 수를 수신하는 변수에 대한 포인터입니다. 함수가 반환할 때 이 변수의 값이 nLength 매개 변수 값보다 크면 어떤 보안 설명자도 버퍼에 복사되지 않습니다.
반환 값
함수가 성공하면 반환 값이 0이 아닙니다.
함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.
설명
커널 개체의 보안 설명자에서 소유자, 그룹 또는 DACL 을 읽으려면 핸들을 열 때 호출 프로세스에 READ_CONTROL 액세스 권한이 부여되어야 합니다. READ_CONTROL 액세스 권한을 얻으려면 호출자가 개체의 소유자이거나 개체의 DACL이 액세스 권한을 부여해야 합니다.
보안 설명자에서 SACL 을 읽으려면 핸들이 열렸을 때 호출 프로세스에 ACCESS_SYSTEM_SECURITY 액세스 권한이 부여되어야 합니다. 이 액세스를 가져오는 적절한 방법은 호출자의 현재 토큰에서 SE_SECURITY_NAME 권한을 사용하도록 설정하고 ACCESS_SYSTEM_SECURITY 액세스에 대한 핸들을 연 다음 권한을 사용하지 않도록 설정하는 것입니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | securitybaseapi.h(Windows.h 포함) |
라이브러리 | Advapi32.lib |
DLL | Advapi32.dll |