SeQuerySessionIdTokenEx

NTSTATUS __stdcall SeQuerySessionIdTokenEx(VOID *Token, UINT64 *SessionId, UINT8 *IsServiceSession){
  _ETHREAD *CurrentThread; 
  bool v7; 
  unsigned int v8; 
  _EJOB *ServerSilo; 

  CurrentThread = (_ETHREAD *)KeGetCurrentThread();
  ServerSilo = 0i64;
  --CurrentThread->Tcb.KernelApcDisable;
  v7 = 1;
  ExAcquireResourceSharedLite(*((_QWORD *)Token + 6), 1);
  v8 = *((_DWORD *)Token + 30);
  *(_DWORD *)SessionId = v8;
  ExReleaseResourceLite(*((PERESOURCE *)Token + 6));
  KeLeaveCriticalRegionThread(KeGetCurrentThread());
  if( v8 )
    v7 = PsGetSiloBySessionId(v8, (PFLUSH_ADAPTER_BUFFERS_EX *)&ServerSilo) >= 0
      && v8 == PsGetServerSiloServiceSessionId((INT64)ServerSilo);
  *IsServiceSession = v7;
  return 0;
}

Referenced by:

PiPnpRtlApplyMandatoryFilters
PiPnpRtlIsDeviceValidForSession
PiUEventApplyAdditionalFilters