NtAlpcDisconnectPort

VOID __stdcall NtAlpcDisconnectPort(PVOID PortHandle, UINT64 Flags){
  _ETHREAD *CurrentThread; 
  CHAR v3; 
  PADAPTER_OBJECT DmaAdapter; 
  CurrentThread = (_ETHREAD *)KeGetCurrentThread();
  v3 = Flags;
  --*((_WORD *)CurrentThread + 242);
  if( (Flags & 0xFFFFFFFE) == 0 )
  {
    DmaAdapter = 0i64;
    if( ObReferenceObjectByHandle(
           PortHandle,
           1u,
           AlpcPortObjectType,
           *((_BYTE *)KeGetCurrentThread() + 562),
           (PVOID *)&DmaAdapter,
           0i64) >= 0 )
    {
      AlpcpDisconnectPort((INT64)DmaAdapter, v3);
      HalPutDmaAdapter(DmaAdapter);
    }
  }
  KeLeaveCriticalRegionThread((__int64)KeGetCurrentThread());
}

Referenced by:

No references.