PnpRequestDeviceRemoval

__int64 __fastcall PnpRequestDeviceRemoval(__int64 a1, char a2, int a3, int a4){
  __int64 result; 
  if( a1 )
  {
    PnpAcquireDependencyRelationsLock(1u);
    PnpRequestDeviceRemovalWorker((_DEVICE_NODE *)a1, (_DEVICE_NODE *)a1, a2, RELATION_LEVEL_DIRECT_DESCENDANT);
    ExReleaseResourceLite(&PiDependencyRelationsLock);
    PpDevNodeUnlockTree(0);
    return PnpSetTargetDeviceRemove(*(PVOID *)(a1 + 32), 1, 1, 0, 1, a3, a4, 0i64, 0i64, 0i64, 0i64, 0i64, 0i64, 0i64);
  }
  return result;
}

Referenced by:

PiProcessDriversLoadedOnSecureDevice
PiProcessHaltDevice
PiProcessQueryDeviceState
PiProfileUpdateDeviceTreeCallback
PiUpdateGuestAssignedState
PipCallDriverAddDevice
PipDmaGuardBlockAddDevice
PipEnumerateCompleted
PipProcessRestartPhase2
PipProcessStartPhase2
PnpReallocateResources