IoAllocateWorkItem

_IO_WORKITEM *__stdcall IoAllocateWorkItem(_DEVICE_OBJECT *DeviceObject){
  _IO_WORKITEM *result; 
  result = (_IO_WORKITEM *)IopVerifierExAllocatePool_1(NonPagedPoolNx, 0x58ui64);
  if( result )
  {
    result->WorkOnBehalfThread = 0i64;
    result->IoObject = DeviceObject;
    result->Type = 1;
    result->WorkItem.List.Flink = 0i64;
    result->WorkItem.WorkerRoutine = (void(__fastcall *)(void *))IopProcessWorkItem;
    result->WorkItem.Parameter = result;
  }
  return result;
}

Referenced by:

PnpDeviceCompletionRequestDestroy