PsGetSiloBySessionId
NTSTATUS __stdcall PsGetSiloBySessionId(UINT64 SessionId, PFLUSH_ADAPTER_BUFFERS_EX *ServerSilo){
_ADAPTER_OBJECT *SessionById;
int(__fastcall *Entries)(_DMA_ADAPTER *, _MDL *, void *, unsigned __int64, unsigned int, unsigned __int8);
NTSTATUS result;
SessionById = (_ADAPTER_OBJECT *)MmGetSessionById(SessionId);
if( !SessionById )
return -1073740715;
Entries = (int(__fastcall *)(_DMA_ADAPTER *, _MDL *, void *, unsigned __int64, unsigned int, unsigned __int8))SessionById[2].AdapterObject.CrashDump.ContiguousHint.Buffer[43].Entries;
HalPutDmaAdapter(SessionById);
result = 0;
*ServerSilo = Entries;
return result;
}Referenced by:
EtwWmitraceWorker
PsIsServiceSession
SeQueryServerSiloToken
SeQuerySessionIdTokenEx
SessionIsInteractive