/* Internal worker to determine whether there is a BlockIo somewhere upon the device path specified. */
BOOLEAN InternalShellProtocolIsBlockIoPresent(IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath)
/* Internal worker to determine whether there is a BlockIo somewhere upon the device path specified. */
BOOLEAN InternalShellProtocolIsBlockIoPresent(IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath)
{
  EFI_DEVICE_PATH_PROTOCOL  *DevicePathCopy;
  EFI_STATUS                Status;
  EFI_HANDLE                Handle;
  Handle = NULL;
  DevicePathCopy = (EFI_DEVICE_PATH_PROTOCOL *)DevicePath;
  Status         = gBS->LocateDevicePath (&gEfiBlockIoProtocolGuid, &DevicePathCopy, &Handle);
  if ((Handle != NULL) && (!EFI_ERROR (Status))) {
    return (TRUE);
  }
  return (FALSE);
}