SeCreateClientSecurity 함수(ntifs.h)

SeCreateClientSecurity 루틴은 SeImpersonateClientEx를 호출하는 데 필요한 정보를 사용하여 보안 클라이언트 컨텍스트 구조를 초기화합니다.

구문

NTSTATUS SeCreateClientSecurity(
  [in]  PETHREAD                     ClientThread,
  [in]  PSECURITY_QUALITY_OF_SERVICE ClientSecurityQos,
        BOOLEAN                      RemoteSession,
  [out] PSECURITY_CLIENT_CONTEXT     ClientContext
);

매개 변수

[in] ClientThread

가장할 클라이언트의 스레드에 대한 포인터입니다.

[in] ClientSecurityQos

수행할 가장 형식을 나타내는 호출자가 할당한 SECURITY_QUALITY_OF_SERVICE 구조체에 대한 포인터입니다.

RemoteSession

클라이언트 요청의 서버가 원격인 경우 TRUE로 설정합니다.

[out] ClientContext

초기화할 호출자가 할당한 SECURITY_CLIENT_CONTEXT 구조체에 대한 포인터입니다.

반환 값

반환 코드 설명
STATUS_SUCCESS 보안 클라이언트 컨텍스트가 성공적으로 초기화되었습니다.
STATUS_BAD_IMPERSONATION_LEVEL 가장할 클라이언트는 현재 자체 클라이언트를 가장하고 있으며 다음 중 하나는 true입니다. (1) 가장 수준이 SecurityAnonymous 또는 SecurityIdentification이므로 다른 서버에서 사용하기 위해 클라이언트의 유효 토큰을 전달할 수 없습니다. (2) ServerIsRemote 는 TRUE이고 클라이언트 스레드는 SecurityDelegation 수준 이외의 다른 위치에서 클라이언트를 가장합니다.

설명

SeCreateClientSecurity 는 클라이언트의 보안 컨텍스트를 나타내기 위해 클라이언트 보안 컨텍스트 블록을 초기화합니다.

ClientSecurityQosContextTrackingMode 멤버가 SECURITY_DYNAMIC_TRACKING 설정되고 ServerIsRemote가 FALSE로 설정된 경우 SeCreateClientSecurity는 클라이언트의 유효 토큰에 대한 참조를 사용합니다. 그렇지 않으면 SeCreateClientSecurity 가 클라이언트 토큰의 복사본을 만듭니다.

SeCreateClientSecurity에 대한 각 호출은 SeDeleteClientSecurity에 대한 후속 호출과 일치해야 합니다.

보안 및 액세스 제어에 대한 자세한 내용은 드라이버 개발자를 위한 Windows 보안 모델 및 Windows SDK의 이러한 topics 대한 설명서를 참조하세요.

요구 사항

요구 사항
대상 플랫폼 유니버설
헤더 ntifs.h(Ntifs.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

추가 정보

SeDeleteClientSecurity

SeImpersonateClientEx