SeImpersonateClientEx

NTSTATUS __stdcall SeImpersonateClientEx(PSECURITY_CLIENT_CONTEXT ClientContext, _ETHREAD *ServerThread){
  _ETHREAD *CurrentThread; 
  unsigned __int8 DirectAccessEffectiveOnly; 
  CurrentThread = ServerThread;
  if( ClientContext->DirectlyAccessClientToken )
    DirectAccessEffectiveOnly = ClientContext->DirectAccessEffectiveOnly;
  else
    DirectAccessEffectiveOnly = ClientContext->SecurityQos.EffectiveOnly;
  if( !ServerThread )
    CurrentThread = (_ETHREAD *)KeGetCurrentThread();
  return PsImpersonateClient(
           CurrentThread,
           ClientContext->ClientToken,
           1u,
           DirectAccessEffectiveOnly,
           ClientContext->SecurityQos.ImpersonationLevel);
}

Referenced by:

EtwpCreateLogFile
NtAlpcImpersonateClientOfPort
NtImpersonateThread
SeImpersonateClient