PsGetCurrentServerSilo
_EJOB *__stdcall PsGetCurrentServerSilo(){
int v0;
INT32 *v1;
_ETHREAD *CurrentThread;
INT64 Silo;
INT32 *v5;
__int64 v6;
char v7;
char v8;
LOBYTE(v0) = KeIsExecutingInArbitraryThreadContext();
if( v0 )
return 0i64;
CurrentThread = (_ETHREAD *)KeGetCurrentThread();
Silo = (INT64)CurrentThread->Silo;
if( Silo == -3 )
return CurrentThread->Tcb.Process->ServerSilo;
if( !Silo )
return 0i64;
PsIsServerSilo(Silo, v1);
if( v7 )
return(_EJOB *)v6;
do
PsIsServerSilo(*(_QWORD *)(v6 + 1072), v5);
while( !v8 );
return(_EJOB *)v6;
}Referenced by:
EtwpStartLogger
ExInitLicenseData
ExpGetProcessInformation
ExpRefreshTimeZoneInformation
ExpSystemErrorHandler2
ExpWnfGenerateStateName
IoRegisterPlugPlayNotification
IopParseDevice
MiSessionCreateInternal
NtGetNextProcess
NtImpersonateAnonymousToken
ObpLookupObjectName
ObpReferenceDeviceMap
PnpNotifyDeviceClassChange
PnpNotifyTargetDeviceChange
PnpNotifyTargetDeviceChangeNotifyEntry
PopTransitionSystemPowerStateEx
PsCaptureUserProcessParameters
PsLookupProcessByProcessId
PsLookupThreadByThreadId
PspThreadFromTicket
SLUpdateLicenseDataInternal
SeCreateClientSecurityEx
SepBlockAccessForLogonSession
SepCreateClientSecurityEx
SepCreateLogonSessionTrack
SepDeleteLogonSessionTrack
SepIsMinTCB
SepIsNgenImage
SepMakeLogonSessionsSiblings
SepReferenceLogonSession