다음을 통해 공유


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

추가 정보

GetFileSecurity

GetPrivateObjectSecurity

GetUserObjectSecurity

하위 수준 Access Control

하위 수준 Access Control 함수

SECURITY_DESCRIPTOR

SECURITY_INFORMATION

SetKernelObjectSecurity