PiEventAllocateVetoBuffer
CHAR *__fastcall PiEventAllocateVetoBuffer(INT64 a1){
unsigned int v1;
CHAR *CriticalMemory;
CHAR *v3;
v1 = a1;
CriticalMemory = PnpAllocateCriticalMemory(a1, PagedPool, 0x18ui64, 0x4D706E50ui64);
if( CriticalMemory )
{
v3 = PnpAllocateCriticalMemory(v1, PagedPool, 0x400ui64, 0x4D706E50ui64);
if( v3 )
{
*(_DWORD *)CriticalMemory = 0;
*(_OWORD *)(CriticalMemory + 8) = 0i64;
*((_WORD *)CriticalMemory + 5) = 1024;
*((_QWORD *)CriticalMemory + 2) = v3;
}
else
{
ExFreePoolWithTag(CriticalMemory, 0x4D706E50u);
return 0i64;
}
}
return CriticalMemory;
}Referenced by:
PnpProcessQueryRemoveAndEject