PnpAllocateCriticalMemory
CHAR *__fastcall PnpAllocateCriticalMemory(INT64 a1, POOL_TYPE a2, UINT64 a3, UINT64 a4){
unsigned int v5;
UINT64 v6;
int v8;
CHAR *result;
union _LARGE_INTEGER Interval;
v5 = a4;
v6 = (unsigned int)a4;
v8 = a1;
while( 1 )
{
result = (CHAR *)ExAllocatePoolWithTag(a2, a3, v6);
if( result || (v8 & 0xFFFFFFFB) == 0 )
break;
Interval.QuadPart = -10000i64;
KeDelayExecutionThread(0, 0, &Interval);
v6 = v5;
}
return result;
}Referenced by:
IopAllocateRelationList
PiAllocateDeviceObjectList
PiEventAllocateVetoBuffer
PiEventBuildPdoList
PiProcessQueryAndCancelRemoval
PnpCompileDeviceInstancePaths
PnpQueuePendingSurpriseRemoval
PnpResizeTargetDeviceBlock
PnpSetTargetDeviceRemove