| Предыдущий | Следующий |
| VDS_E_SHRINK_UNKNOWN_FILESYSTEM | VDS_E_VD_DISK_IS_EXPANDING |
VDS_E_VD_DISK_NOT_OPEN
Практический смысл
VDS_E_VD_DISK_NOT_OPEN относится к Virtual Disk Service и virtual disk. Конкретный признак: виртуальный диск не открыт для этой операции. Это состояние полезно как точка разделения нескольких соседних причин, поэтому не заменяйте его общим сообщением об ошибке.
Это failure HRESULT; успешность следующего шага подтверждайте отдельным результатом, а не отсутствием исключения в верхнем слое. В первую очередь проверяйте lifecycle виртуального диска: open/attach/detach/compact/expand/merge и соответствующую generation объекта. Не переносите вывод с соседнего HRESULT только потому, что у него тот же facility или общий компонент.
Специфичные признаки исходного описания
VDS_E_VD_DISK_NOT_OPEN This code is closely related to the VDS open lifecycle, but it is phrased as an operation precondition: the selected method requires the virtual disk to be open.
IVdsVDisk::Open returns IVdsOpenVDisk , and the latter is the interface that owns the state-changing operations on the opened virtual disk.
That does not mean the virtual disk remains open in the sense required by VDS.
Record the access mask, open flags, and read/write depth used by the open request because later methods have different access requirements.
Что сохранить до исправления
- pathname и open flags виртуального диска
- текущее attach/read-only/operation state до вызова
- финальный IVdsAsync result и изменение состояния после операции
Как проверить границу
При асинхронной операции сохраняйте как HRESULT запуска/опроса, так и финальный operation HRESULT — они описывают разные границы. Для состояния «виртуальный диск не открыт для этой операции» сначала воспроизведите минимальную операцию без параллельных изменений конфигурации, затем сравните before/after evidence.
Исправление и повтор
Исправляйте только подтверждённый prerequisite на уровне Virtual Disk Service и virtual disk: входной параметр, capability, object state, provider/graph topology или внешний ресурс. После изменения заново получите актуальные объекты, если их состояние могло устареть, и повторите исходный минимальный вызов.
Технические ссылки
- IVdsVDisk::Open.
- IVdsOpenVDisk.
- IVdsVDisk.
- MS-VDS virtual disk state transitions.
- VDS common return codes.
Нужно найти другой код? Найти другой код состояния или ошибки.
