Что означает код HRESULT 0x80042937 (VDS_E_VD_IS_BEING_ATTACHED)?

 
Предыдущий Следующий
VDS_E_VD_NOT_ATTACHED_READONLY VDS_E_VD_IS_BEING_DETACHED

VDS_E_VD_IS_BEING_ATTACHED

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

VDS_E_VD_IS_BEING_ATTACHED относится к Virtual Disk Service и virtual disk. Конкретный признак: виртуальный диск сейчас подключается. Этот код локализует конкретную границу, а не общий сбой подсистемы.

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

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

  • Do not use drive-letter appearance as the only completion test because attach can be requested with no-drive-letter behavior.
  • This HRESULT means another requested action arrived during that transition.
  • Record the transition from ATTACH_PENDING to an attached state and correlate disk-arrival notifications with the same virtual disk.
  • The disk is neither safely detached nor fully available as an attached Windows disk yet.

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

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

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

Сравнивайте повтор только с тем же типом объекта и тем же этапом операции; изменение topology или lifecycle уже означает другой эксперимент. Для состояния «виртуальный диск сейчас подключается» сначала воспроизведите минимальную операцию без параллельных изменений конфигурации, затем сравните before/after evidence.

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

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

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


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