| Предыдущий | Следующий |
| VDS_E_NO_PNP_VOLUME_ARRIVE | VDS_E_NO_PNP_VOLUME_REMOVE |
VDS_E_NO_PNP_DISK_REMOVE
Практический смысл
VDS_E_NO_PNP_DISK_REMOVE относится к Virtual Disk Service и disk management. Конкретный признак: состояние «no pnp disk remove». Этот код локализует конкретную границу, а не общий сбой подсистемы.
Это failure HRESULT; успешность следующего шага подтверждайте отдельным результатом, а не отсутствием исключения в верхнем слое. В первую очередь проверяйте disk/pack/partition state, policy и фактический layout, который VDS видел в момент вызова. Не переносите вывод с соседнего HRESULT только потому, что у него тот же facility или общий компонент.
Специфичные признаки исходного описания
Why this state matters The useful question is whether the device is physically gone, still enumerated by PnP, or removed from one provider view while a stale VDS disk object remains cached.
Reenumerate is the documented VDS request for discovering newly added and newly removed disks; because it only issues the rescan request before returning, clients must not equate method return with completion of the removal notification sequence.
The disk notification record carries a disk object ID and an event identifying arrival, departure, or modification.
Diagnostic focus Preserve the disk object ID that was expected to depart and compare it with the post-rescan enumeration.
Что сохранить до исправления
- disk/pack IDs, partition style и online/offline state
- layout/extent snapshot и system/boot/pagefile flags
- provider event или storage-path event, предшествующий HRESULT
Как проверить границу
Сравнивайте повтор только с тем же типом объекта и тем же этапом операции; изменение topology или lifecycle уже означает другой эксперимент. Для состояния «состояние «no pnp disk remove»» сначала воспроизведите минимальную операцию без параллельных изменений конфигурации, затем сравните before/after evidence.
Исправление и повтор
Исправляйте только подтверждённый prerequisite на уровне Virtual Disk Service и disk management: входной параметр, capability, object state, provider/graph topology или внешний ресурс. После изменения заново получите актуальные объекты, если их состояние могло устареть, и повторите исходный минимальный вызов.
Технические ссылки
- VDS_DISK_NOTIFICATION.
- IVdsService::Reenumerate.
- VDS_NOTIFICATION.
- IVdsAdviseSink::OnNotify.
- IVdsService::Refresh.
Нужно найти другой код? Найти другой код состояния или ошибки.