Что означает код HRESULT 0x8004257B (VDS_E_DISTINCT_VOLUME)?

 
Предыдущий Следующий
VDS_E_FLAG_ALREADY_SET VDS_E_VOLUME_NOT_FOUND_IN_PACK

VDS_E_DISTINCT_VOLUME

VDS_E_DISTINCT_VOLUME означает, что операция требует два разных тома, а входной том оказался тем же объектом VDS, который уже является целью операции.

Идентичность здесь определяется по VDS_OBJECT_ID, то есть по GUID объекта VDS. Одинаковая буква, метка или размер не доказывают тождество томов, а два разных COM-интерфейса, наоборот, могут ссылаться на один и тот же том.

Что проверить

  • Запишите VDS_OBJECT_ID исходного и целевого тома непосредственно перед вызовом и сравните GUID.
  • Если перед этим асинхронная операция должна была создать новый том, получите её итоговый объект и его идентификатор заново.
  • После разделения зеркала или повторного перечисления объектов не используйте старый идентификатор по предположению: перечитайте свойства созданного или изменённого тома.
  • Не считайте самоссылку безопасным повтором операции: требуемая связь между двумя различными томами в этом случае не создаётся.

Технические ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.