PnpGetCallerSessionId

INT64 __stdcall PnpGetCallerSessionId(UINT64 SessionId){
  void *PrimaryToken; 
  unsigned int SessionIdToken; 
  struct _SECURITY_SUBJECT_CONTEXT SubjectContext; 
  memset(&SubjectContext, 0, sizeof(SubjectContext));
  SeCaptureSubjectContext(&SubjectContext);
  PrimaryToken = SubjectContext.PrimaryToken;
  if( SubjectContext.ClientToken )
    PrimaryToken = SubjectContext.ClientToken;
  SessionIdToken = SeQuerySessionIdToken(PrimaryToken, (UINT64 *)SessionId);
  SeReleaseSubjectContext(&SubjectContext);
  return SessionIdToken;
}

Referenced by:

PiCMQueryRemove