PipDmgGetDeviceDmarPolicy
NTSTATUS __stdcall PipDmgGetDeviceDmarPolicy(INT64 **a1){
__int64 v1;
INT64 **v2;
NTSTATUS v4;
INT64 *v5;
NTSTATUS DriverDmarCompatLevel;
INT64 v8;
__int128 v9;
v1 = 6i64;
v2 = a1 + 2;
v9 = 0i64;
v4 = 1;
do
{
v5 = *v2;
while( v5 )
{
DriverDmarCompatLevel = PipDmgGetDriverDmarCompatLevel(*v5);
v5 = (INT64 *)v5[1];
++*((_DWORD *)&v9 + DriverDmarCompatLevel);
}
++v2;
--v1;
}
while( v1 );
if( !DWORD1(v9) )
{
if( HIDWORD(v9) )
{
v8 = (*a1)[90];
if( v8 && (*(_BYTE *)(v8 + 16) & 0x24) != 0 )
return 2;
else
return 0;
}
else
{
return DWORD2(v9) != 0 ? 2 : 0;
}
}
return v4;
}Referenced by:
PiDmaGuardProcessPreAddDevice