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.