Что означает код HRESULT 0x8004292C (VDS_E_VD_DISK_IS_EXPANDING)?

 
Предыдущий Следующий
VDS_E_VD_DISK_NOT_OPEN VDS_E_VD_DISK_IS_COMPACTING

VDS_E_VD_DISK_IS_EXPANDING

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

VDS_E_VD_DISK_IS_EXPANDING относится к Virtual Disk Service и virtual disk. Конкретный признак: виртуальный диск находится в процессе expand. Смысл кода следует проверять на том объекте и generation, где он был возвращён впервые.

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

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

  • The method increases a detached virtual disk to a requested size and requires metadata-operation access.
  • After completion, query virtual size again because a failed asynchronous expand must not be assumed to have changed capacity.
  • Do not attach or merge the virtual disk until the expand transition has finished and properties have been refreshed.
  • Technical references IVdsOpenVDisk::Expand · VDS_VDISK_STATE · MS-VDS virtual disk state transitions · IVdsOpenVDisk · VDS_VDISK_PROPERTIES

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

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

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

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

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

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

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


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