ExtEnvAllocateMemory

NTSTATUS __stdcall ExtEnvAllocateMemory(INT64 a1, UINT64 a2, INT64 *a3){
  void *MemoryInternal; 

  MemoryInternal = 0i64;
  if( (_DWORD)Context )
  {
    if( (_DWORD)Context == 1 )
      MemoryInternal = HalpMmAllocCtxAlloc((_HALP_ALLOC_CONTEXT *)(unsigned int)Context, (unsigned int)a2);
  }
  else
  {
    MemoryInternal = HalpMmAllocateMemoryInternal((unsigned int)a2, (_MEMORY_CACHING_TYPE)((_DWORD)Context + 1));
  }
  *a3 = (INT64)MemoryInternal;
  return MemoryInternal == 0i64 ? 0xC000009A : 0;
}

Referenced by:

DmrConvertDeviceScope
DmrpRmrrTreeAddNewScope
DmrpRmrrTreeAddRegionToDevice
HalpHsaAllocateReservedDomainList
HalpHsaCreateReservedDevice
HalpIommuProcessDeviceEntries
HalpIommuProcessIvhdEntry
HalpIvtAllocateReservedDomainList
HalpIvtCreateReservedDevice
HalpIvtProcessDrhdEntry
HsaAllocateRemappingTableEntry
HsaCreateDevice
HsaInitializeInterruptRemapping
HsaProcessIvmd
IvmdFindDeviceEntry
IvmdProcessRange
IvtCreateDevice