PipDmgSaveDeviceDmarPolicy
__int64 __fastcall PipDmgSaveDeviceDmarPolicy(__int64 a1, INT64 a2, int a3){
unsigned int v3;
INT64 v6;
char v7;
__int64 v8;
__int64 v10;
LODWORD(v10) = a3;
v3 = 0;
v6 = *(_QWORD *)(a1 + 48);
v7 = 1;
if( a3 )
v3 = PnpSetObjectProperty(
*(&stru_140CF2E80 + 607),
v6,
1u,
a2,
0i64,
(__int64)&DEVPKEY_Device_DmaRemappingPolicy,
7,
(__int64)&v10,
4,
0);
else
PnpSetObjectProperty(
*(&stru_140CF2E80 + 607),
v6,
1u,
0i64,
0i64,
(__int64)&DEVPKEY_Device_DmaRemappingPolicy,
0,
0i64,
0,
0);
PnpTraceDmaGuardDevicePolicy(a1, v10);
v8 = *(_QWORD *)(a1 + 720);
if( (_DWORD)v10 != 2 || !((unsigned __int8(__fastcall *)(_QWORD, _QWORD))off_140C00A38[0])(*(_QWORD *)v8, 0i64) )
v7 = 0;
*(_BYTE *)(v8 + 16) = v7 | *(_BYTE *)(v8 + 16) & 0xFE;
return v3;
}Referenced by:
PiDmaGuardProcessPreAddDevice