| Предыдущий | Следующий |
| VDS_E_NO_VOLUME_PATHNAME | VDS_E_NO_IMPORT_TARGET |
VDS_E_PROVIDER_CACHE_OUTOFSYNC
Практический смысл
VDS_E_PROVIDER_CACHE_OUTOFSYNC относится к Virtual Disk Service. Конкретный признак: кэш VDS-провайдера рассинхронизирован. Смысл кода следует проверять на том объекте и generation, где он был возвращён впервые.
Это failure HRESULT; успешность следующего шага подтверждайте отдельным результатом, а не отсутствием исключения в верхнем слое. В первую очередь проверяйте точный VDS object/provider state и контракт операции над storage-объектом. Не переносите вывод с соседнего HRESULT только потому, что у него тот же facility или общий компонент.
Специфичные признаки исходного описания
It is different from a corrupt cache: the structures can be readable but describe an older disk, pack, volume, or layout state than the driver currently reports.
Diagnostic focus Log the provider ID, VDS object ID, and the operation that first observed the cache/driver mismatch.
VDS_E_PROVIDER_CACHE_OUTOFSYNC VDS keeps provider-visible storage objects in a cache, while the underlying volume-management driver maintains its own state.
Why this state matters IVdsService::Refresh refreshes the service view of objects already known to VDS, whereas Reenumerate discovers newly added or removed disks.
Что сохранить до исправления
- VDS object ID и provider identity
- status/health/flags объекта до операции
- первый native HRESULT и изменения topology между enumeration и вызовом
Как проверить границу
Если состояние исчезает после повторной enumeration, отдельно проверьте race между получением объекта и вызовом метода. Для состояния «кэш VDS-провайдера рассинхронизирован» сначала воспроизведите минимальную операцию без параллельных изменений конфигурации, затем сравните before/after evidence.
Исправление и повтор
Исправляйте только подтверждённый prerequisite на уровне Virtual Disk Service: входной параметр, capability, object state, provider/graph topology или внешний ресурс. После изменения заново получите актуальные объекты, если их состояние могло устареть, и повторите исходный минимальный вызов.
Технические ссылки
- IVdsService::Refresh.
- IVdsService::Reenumerate.
- VDS common return codes.
- MS-VDS error codes.
- IVdsDisk::GetProperties.
Нужно найти другой код? Найти другой код состояния или ошибки.