HalpDmaReferenceDomainObject
INT64 __fastcall HalpDmaReferenceDomainObject(INT64 a1){
UINT64 v1;
char v3;
__int64 *v4;
unsigned __int8 v5;
unsigned __int64 v6;
v3 = 0;
KeAcquireSpinLockRaiseToDpc(&HalpDmaDomainListLock, v1);
v4 = (__int64 *)HalpDmaDomainList;
v6 = v5;
while( v4 != &HalpDmaDomainList )
{
if( (__int64 *)a1 == v4 )
{
++*(_DWORD *)(a1 + 128);
v3 = 1;
break;
}
v4 = (__int64 *)*v4;
}
KxReleaseSpinLock(&HalpDmaDomainListLock);
__writecr8(v6);
return v3 == 0 ? 0xC000000D : 0;
}Referenced by:
HalAllocateCommonBufferVector
HalJoinDmaDomain
HalpAllocateCommonBufferThin
HalpAllocateDomainCommonBufferInternal
HalpDmaIsAutomaticDomain