AlpcpOpenPort

INT64 __fastcall AlpcpOpenPort(
        _OB_OPEN_REASON OpenReason,
        CHAR AccessMode,
        _EPROCESS *Process,
        VOID *Object,
        UINT *GrantedAccess,
        UINT64 HandleCount){
  _ETHREAD *CurrentThread; 
  unsigned int v7; 
  _EPROCESS *v9; 
  CurrentThread = (_ETHREAD *)KeGetCurrentThread();
  --*((_WORD *)CurrentThread + 242);
  v7 = 0;
  if( OpenReason )
  {
    if( OpenReason != ObDuplicateHandle || (*((_DWORD *)Object + 64) & 0x100000) != 0 )
    {
      v7 = -1073741637;
    }
    else
    {
      v9 = 0i64;
      if( (*((_QWORD *)Object + 3) & 1) == 0 )
        v9 = (_EPROCESS *)*((_QWORD *)Object + 3);
      if( v9 != Process )
        *GrantedAccess &= ~1u;
    }
  }
  KeLeaveCriticalRegionThread((__int64)KeGetCurrentThread());
  return v7;
}

Referenced by:

No references.