IopAllocateRelationList
CHAR *__fastcall IopAllocateRelationList(INT64 a1){
_PNP_DEVICE_DELETE_TYPE v1;
CHAR *CriticalMemory;
_DEVICE_OBJECT_LIST *DeviceObjectList;
v1 = (int)a1;
CriticalMemory = PnpAllocateCriticalMemory(a1, PagedPool, 0x10ui64, 0x54706E50ui64);
if( CriticalMemory )
{
DeviceObjectList = PiAllocateDeviceObjectList(v1, 8ui64);
*(_QWORD *)CriticalMemory = DeviceObjectList;
if( DeviceObjectList )
{
CriticalMemory[8] = 0;
}
else
{
IopFreeRelationList(CriticalMemory);
return 0i64;
}
}
return CriticalMemory;
}Referenced by:
PnpBuildRemovalRelationList
PnpCancelRemoveOnHungDevices
PnpInvalidateRelationsInList
PnpQueuePendingSurpriseRemoval