PipDmaGuardBlockAddDevice
INT64 __stdcall PipDmaGuardBlockAddDevice(PVOID BugCheckParameter2){
PVOID *v2;
__int64 v3;
if( PipDmaGuardPolicy == 1 )
{
if( BugCheckParameter2 )
{
v2 = (PVOID *)((char *)BugCheckParameter2 + 40);
IoAddTriageDumpDataBlock(BugCheckParameter2, 0x310ui64);
if( *(_WORD *)v2 )
{
IoAddTriageDumpDataBlock(v2, 2ui64);
IoAddTriageDumpDataBlock(v2[1], *(unsigned __int16 *)v2);
}
if( *((_WORD *)BugCheckParameter2 + 28) )
{
IoAddTriageDumpDataBlock((char *)BugCheckParameter2 + 56, 2ui64);
IoAddTriageDumpDataBlock(*((PVOID *)BugCheckParameter2 + 8), *((unsigned __int16 *)BugCheckParameter2 + 28));
}
v3 = *((_QWORD *)BugCheckParameter2 + 2);
if( v3 )
{
if( *(_WORD *)(v3 + 56) )
{
IoAddTriageDumpDataBlock((PVOID)(v3 + 56), 2ui64);
IoAddTriageDumpDataBlock(
*(PVOID *)(*((_QWORD *)BugCheckParameter2 + 2) + 64i64),
*(unsigned __int16 *)(*((_QWORD *)BugCheckParameter2 + 2) + 56i64));
}
}
}
KeBugCheckEx(
0xCAu,
0x11ui64,
(ULONG_PTR)BugCheckParameter2,
*((_QWORD *)BugCheckParameter2 + 90),
*((unsigned int *)BugCheckParameter2 + 176));
}
PnpRequestDeviceRemoval((__int64)BugCheckParameter2, 0, 55, -1073741790);
return 3221226190i64;
}Referenced by:
PipDmgEnforceEnumerationPolicy