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.