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