HalpDmaReferenceDomainObject
NTSTATUS __stdcall HalpDmaReferenceDomainObject(INT64 a1, UINT64 a2, INT64 *a3, CHAR a4){
char v5;
unsigned __int8 v6;
_QWORD *v7;
unsigned __int64 v8;
v5 = 0;
v6 = KeAcquireSpinLockRaiseToDpc(&stru_140C49BB0.Lock);
v7 = (_QWORD *)qword_140C49BD0;
v8 = v6;
while( v7 != &qword_140C49BD0 )
{
if( (_QWORD *)a1 == v7 )
{
++*(_DWORD *)(a1 + 128);
v5 = 1;
break;
}
v7 = (_QWORD *)*v7;
}
KxReleaseSpinLock(&stru_140C49BB0.Lock);
__writecr8(v8);
return v5 == 0 ? 0xC000000D : 0;
}Referenced by:
HalAllocateCommonBufferVector
HalJoinDmaDomain
HalpAllocateCommonBufferThin
HalpAllocateDomainCommonBufferInternal
HalpDmaIsAutomaticDomain