Что означает код HRESULT 0x80042936 (VDS_E_VD_NOT_ATTACHED_READONLY)?

 
Предыдущий Следующий
VDS_E_VD_ALREADY_DETACHED VDS_E_VD_IS_BEING_ATTACHED

VDS_E_VD_NOT_ATTACHED_READONLY

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

VDS_E_VD_NOT_ATTACHED_READONLY относится к Virtual Disk Service и virtual disk. Конкретный признак: read-only виртуальный диск не подключён в требуемом состоянии. Это состояние полезно как точка разделения нескольких соседних причин, поэтому не заменяйте его общим сообщением об ошибке.

Это failure HRESULT; успешность следующего шага подтверждайте отдельным результатом, а не отсутствием исключения в верхнем слое. В первую очередь проверяйте lifecycle виртуального диска: open/attach/detach/compact/expand/merge и соответствующую generation объекта. Не переносите вывод с соседнего HRESULT только потому, что у него тот же facility или общий компонент.

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

  • Why this state matters A disk that is attached read/write does not satisfy the condition just because no application is currently writing to it.
  • Diagnostics should inspect how the disk was attached and coordinate a controlled detach/reattach if a maintenance operation truly requires read-only exposure.
  • VDS attach accepts ATTACH_VIRTUAL_DISK_FLAG_READ_ONLY , and some virtual-disk maintenance operations require the disk to be detached or attached read-only.
  • Check the flags used when the current attachment was created instead of inferring mode from observed I/O activity.

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

  • pathname и open flags виртуального диска
  • текущее attach/read-only/operation state до вызова
  • финальный IVdsAsync result и изменение состояния после операции

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

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

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

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

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


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