TtmpDispatchGetTerminalEvent
INT64 __fastcall TtmpDispatchGetTerminalEvent(INT64 a1, INT64 a2, const UNICODE_STRING **a3){
void *v4;
KPROCESSOR_MODE v5;
NTSTATUS v6;
unsigned int v7;
INT64 v8;
INT64 v9;
INT64 v10;
int EventFromQueue;
PADAPTER_OBJECT DmaAdapter;
v4 = *(void **)(a1 + 8);
v5 = *((_BYTE *)KeGetCurrentThread() + 562);
DmaAdapter = 0i64;
v6 = ObReferenceObjectByHandle(v4, 0xF0000u, TtmpQueueObjectType, v5, (PVOID *)&DmaAdapter, 0i64);
v7 = v6;
if( v6 < 0 )
TtmiLogError((PSTR)"TtmiReferenceQueueByHandle", 310i64, (unsigned int)v6, (unsigned int)v6);
if( (v7 & 0x80000000) != 0 )
{
v8 = v7;
v9 = v7;
v10 = 410i64;
LABEL_5:
TtmiLogError((PSTR)"TtmpDispatchGetTerminalEvent", v10, v9, v8);
goto LABEL_9;
}
EventFromQueue = TtmiRetrieveEventFromQueue((__int64)DmaAdapter, (_OWORD *)a2);
v7 = EventFromQueue;
if( EventFromQueue < 0 )
{
v8 = (unsigned int)EventFromQueue;
v9 = (unsigned int)EventFromQueue;
v10 = 418i64;
goto LABEL_5;
}
v7 = 0;
LABEL_9:
if( DmaAdapter )
HalPutDmaAdapter(DmaAdapter);
return v7;
}Referenced by:
TtmDispatchApi