Что означает код HRESULT 0x80042551 (VDS_E_VOLUME_RETAINED)?

 
Предыдущий Следующий
VDS_E_VOLUME_NOT_RETAINED VDS_E_ALIGN_BEYOND_FIRST_CYLINDER

VDS_E_VOLUME_RETAINED

Практический смысл

VDS_E_VOLUME_RETAINED относится к Virtual Disk Service и topology тома. Конкретный признак: том уже находится в retained-состоянии. Это состояние полезно как точка разделения нескольких соседних причин, поэтому не заменяйте его общим сообщением об ошибке.

Это failure HRESULT; успешность следующего шага подтверждайте отдельным результатом, а не отсутствием исключения в верхнем слое. В первую очередь проверяйте топологию volume/plex/member, health участников и ограничения файловой системы. Не переносите вывод с соседнего HRESULT только потому, что у него тот же facility или общий компонент.

Специфичные признаки исходного описания

  • Use current VDS object state as the source of truth and continue the higher-level workflow from the retained state rather than issuing the same transition again.
  • Distinguish retained association from a duplicate partition GUID or duplicate volume object.
  • Requery current volume/extent state instead of replaying the retain transition.
  • VDS already maintains a volume-to-partition association, so repeating an operation that expects to create that association is rejected.

Что сохранить до исправления

  • volume/plex/member IDs и типы
  • health/status каждого участника и карта extent
  • операция, requested size и фактический layout до изменения

Как проверить границу

При асинхронной операции сохраняйте как HRESULT запуска/опроса, так и финальный operation HRESULT — они описывают разные границы. Для состояния «том уже находится в retained-состоянии» сначала воспроизведите минимальную операцию без параллельных изменений конфигурации, затем сравните before/after evidence.

Исправление и повтор

Исправляйте только подтверждённый prerequisite на уровне Virtual Disk Service и topology тома: входной параметр, capability, object state, provider/graph topology или внешний ресурс. После изменения заново получите актуальные объекты, если их состояние могло устареть, и повторите исходный минимальный вызов.

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


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