PnpFindMountableDevice

_DEVICE_OBJECT *__stdcall PnpFindMountableDevice(_DEVICE_OBJECT *DeviceObject){
  KIRQL v2; 
  v2 = KeAcquireQueuedSpinLock(0xAui64);
  while( DeviceObject && ((*((_DWORD *)DeviceObject + 12) & 0x40) == 0 || !*((_QWORD *)DeviceObject + 7)) )
    DeviceObject = (_DEVICE_OBJECT *)*((_QWORD *)DeviceObject + 3);
  KeReleaseQueuedSpinLock(0xAui64, v2);
  return DeviceObject;
}

Referenced by:

IopRemoveDevice
PiIrpQueryRemoveDevice
PnpQueryStopDeviceNode