NtRequestWaitReplyPort
NTSTATUS __fastcall NtRequestWaitReplyPort(UINT64 a1, __m256i *a2, UINT64 a3){
_ETHREAD *CurrentThread;
char ProbeMode;
int v7;
INT8 v9;
_ALPC_PORT *PortObject;
CurrentThread = (_ETHREAD *)KeGetCurrentThread();
--CurrentThread->Tcb.KernelApcDisable;
ProbeMode = KeGetCurrentThread()->PreviousMode;
PortObject = 0i64;
v7 = ObReferenceObjectByHandle((VOID *)a1, 1ui64, AlpcPortObjectType, ProbeMode, (VOID **)&PortObject, 0i64);
if( v7 >= 0 )
{
if( ProbeMode )
AlpcpProbeForWriteMessageHeader((PORT_MESSAGE *)a3);
v7 = AlpcpProcessSynchronousRequest(
PortObject,
0x20000ui64,
a2->m256i_i32,
0i64,
(PORT_MESSAGE *)a3,
0i64,
0i64,
0i64,
ProbeMode,
v9);
if( v7 == -1073740029 )
v7 = -1073741769;
if( v7 == -1073740031 )
v7 = -1073741229;
}
if( PortObject )
HalPutDmaAdapter((PADAPTER_OBJECT)PortObject);
KeLeaveCriticalRegionThread(KeGetCurrentThread());
return v7;
}Referenced by:
No references.