Что означает код HRESULT 0x80042504 (VDS_E_INVALID_ENUMERATOR)?

 
Предыдущий Следующий
VDS_E_CORRUPT_VOLUME_INFO VDS_E_DRIVER_INTERNAL_ERROR

VDS_E_INVALID_ENUMERATOR

Что означает VDS_E_INVALID_ENUMERATOR

VDS_E_INVALID_ENUMERATOR означает, что объект перечисления VDS повреждён или больше не пригоден для получения объектов.

IEnumVdsObject используется для перечисления поставщиков, групп, дисков, томов, plex и других объектов VDS. Это не равнозначно пустому результату: корректный объект перечисления может просто вернуть ноль объектов, а здесь нельзя доверять самому объекту перечисления.

Что проверить

  • Запишите, какой запрос создал объект перечисления и какой поставщик владеет перечисляемыми объектами.
  • Освободите повреждённый объект перечисления и получите новый от родительского VDS-объекта; не считайте уже прочитанную часть списка полной.
  • Если ошибка повторяется, проверьте ошибки кэша поставщика и изменения объектов между созданием объекта перечисления и вызовом Next.
  • В логике приложения различайте «объектов нет» и «перечисление недостоверно» — это разные состояния хранилища.

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


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