/* This function returns TRUE if the device path specified by DevicePath is multi-instance. Otherwise, FALSE is returned. If DevicePath is NULL or invalid, then FALSE is returned. */
BOOLEAN EFIAPI UefiDevicePathLibIsDevicePathMultiInstance(IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath)
/* This function returns TRUE if the device path specified by DevicePath is multi-instance. Otherwise, FALSE is returned. If DevicePath is NULL or invalid, then FALSE is returned. */
BOOLEAN EFIAPI UefiDevicePathLibIsDevicePathMultiInstance(IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath)
{
  CONST EFI_DEVICE_PATH_PROTOCOL  *Node;
  if (DevicePath == NULL) {
    return FALSE;
  }
  if (!IsDevicePathValid (DevicePath, 0)) {
    return FALSE;
  }
  Node = DevicePath;
  while (!IsDevicePathEnd (Node)) {
    if (IsDevicePathEndInstance (Node)) {
      return TRUE;
    }
    Node = NextDevicePathNode (Node);
  }
  return FALSE;
}