SepCopyClientTokenAndSetSilo
INT64 __stdcall SepCopyClientTokenAndSetSilo(
PVOID Token,
SECURITY_IMPERSONATION_LEVEL ImpersonationLevel,
_EJOB *ServerSilo,
PVOID *DuplicateToken){
INT64 result;
int v7;
unsigned int ServerSiloServiceSessionId;
result = SeCopyClientToken(Token, ImpersonationLevel, (CHAR)ServerSilo, 0, 0i64, DuplicateToken);
v7 = result;
if( (int)result >= 0 )
{
ServerSiloServiceSessionId = PsGetServerSiloServiceSessionId(ServerSilo);
if( ServerSiloServiceSessionId != -1 )
v7 = SeSetSessionIdToken(*DuplicateToken, ServerSiloServiceSessionId);
if( v7 < 0 || (v7 = SepSetServerSiloToken(*DuplicateToken, ServerSilo), v7 < 0) )
{
HalPutDmaAdapter((PADAPTER_OBJECT)*DuplicateToken);
*DuplicateToken = 0i64;
}
return(unsigned int)v7;
}
return result;
}Referenced by:
SepCreateClientSecurityEx
SepUpdateSiloInClientSecurity