| Предыдущий | Следующий |
| VDS_E_VD_IS_BEING_ATTACHED | VDS_E_NO_POOL |
VDS_E_VD_IS_BEING_DETACHED
Практический смысл
VDS_E_VD_IS_BEING_DETACHED относится к Virtual Disk Service и virtual disk. Конкретный признак: виртуальный диск сейчас отключается. Этот код локализует конкретную границу, а не общий сбой подсистемы.
Это failure HRESULT; успешность следующего шага подтверждайте отдельным результатом, а не отсутствием исключения в верхнем слое. В первую очередь проверяйте lifecycle виртуального диска: open/attach/detach/compact/expand/merge и соответствующую generation объекта. Не переносите вывод с соседнего HRESULT только потому, что у него тот же facility или общий компонент.
Специфичные признаки исходного описания
Once detached, reopen the virtual disk as required by the next operation and refresh its properties before reuse.
Another state-changing operation is rejected because the topology transition is incomplete.
VDS has begun detach, but the operating-system disk object associated with the virtual disk has not yet been removed.
Why this state matters The published state sequence is precise: after the disk object is removed, the virtual disk returns to OPEN; releasing the opened interface then returns it to ADDED.
Что сохранить до исправления
- 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 или внешний ресурс. После изменения заново получите актуальные объекты, если их состояние могло устареть, и повторите исходный минимальный вызов.
Технические ссылки
- IVdsOpenVDisk::Detach.
- VDS_VDISK_STATE.
- MS-VDS virtual disk state transitions.
- VDS_VDISK_PROPERTIES.
- detach vdisk command.
Нужно найти другой код? Найти другой код состояния или ошибки.