SepDeReferenceLogonSessionDirect
VOID __stdcall SepDeReferenceLogonSessionDirect(_SEP_LOGON_SESSION_REFERENCES *LogonSession){
__int64 ReferenceCount;
signed __int64 i;
__int64 v3;
_EJOB *ServerSilo;
_LUID LogonId;
_m_prefetchw(&LogonSession->ReferenceCount);
ReferenceCount = LogonSession->ReferenceCount;
for( i = ReferenceCount - 1; i > 0; i = ReferenceCount - 1 )
{
v3 = ReferenceCount;
ReferenceCount = _InterlockedCompareExchange64(&LogonSession->ReferenceCount, i, ReferenceCount);
if( v3 == ReferenceCount )
return;
}
if( i )
__fastfail(0xEu);
ServerSilo = LogonSession->ServerSilo;
LogonId = LogonSession->LogonId;
SepDeReferenceLogonSession(&LogonId, ServerSilo);
}Referenced by:
NtQueryInformationToken
SeGetLinkedToken
SeSetSessionIdTokenWithLinked
SeShutdownServerSilo
SepLinkLogonSessions
SepSetServerSiloToken
SepStopReferencingLogonSession