TtmpDispatchEvacuateDevices
NTSTATUS __stdcall TtmpDispatchEvacuateDevices(_TTM_API_EVACUATE_DEVICES_INPUT *Input){
VOID *v1;
NTSTATUS v2;
NTSTATUS v3;
_TTMI_SESSION *LockedSession;
_TTMI_TERMINAL *Terminal;
v1 = (VOID *)*((_QWORD *)Input + 1);
LockedSession = 0i64;
Terminal = 0i64;
v2 = TtmpAcquireSessionFromTerminalHandle(v1, 0, 1u, &LockedSession, &Terminal);
v3 = v2;
if( v2 >= 0 )
{
if( TtmiEvacuateDevices(LockedSession, Terminal) )
TtmiScheduleSessionWorker((__int64)LockedSession, 1);
v3 = 0;
}
else
{
TtmiLogError((INT8 *)"TtmpDispatchEvacuateDevices", 0x267ui64, (unsigned int)v2, (unsigned int)v2);
}
if( LockedSession )
{
ExReleaseResourceLite(&TtmpSessionLock);
KeLeaveCriticalRegion();
}
if( Terminal )
HalPutDmaAdapter((PADAPTER_OBJECT)Terminal);
return v3;
}Referenced by:
TtmDispatchApi