PspIsContextAdmin

UINT8 __stdcall PspIsContextAdmin(){
  void *PrimaryToken; 
  UINT8 IsAdmin; 
  struct _SECURITY_SUBJECT_CONTEXT SubjectContext; 
  memset(&SubjectContext, 0, sizeof(SubjectContext));
  SeCaptureSubjectContext(&SubjectContext);
  SeLockSubjectContext(&SubjectContext);
  PrimaryToken = SubjectContext.PrimaryToken;
  if( SubjectContext.ClientToken )
    PrimaryToken = SubjectContext.ClientToken;
  IsAdmin = SeTokenIsAdmin(PrimaryToken);
  SeUnlockSubjectContext(&SubjectContext);
  SeReleaseSubjectContext(&SubjectContext);
  return IsAdmin;
}

Referenced by:

NtPowerInformation
NtSetInformationJobObject
PopPowerInformationInternal
PspSetEnergyTrackingStateJobTree