| Предыдущий | Следующий |
| ERROR_VID_STOP_PENDING | ERROR_VID_EXCEEDED_KM_CONTEXT_COUNT_LIMIT |
ERROR_VID_INVALID_PROCESSOR_STATE
Что означает ERROR_VID_INVALID_PROCESSOR_STATE
ERROR_VID_INVALID_PROCESSOR_STATE (0xC037001D) — Виртуальный процессор находится в недопустимом состоянии.
При результате 0xC037001D граница диагностики проходит внутри подсистемы «Virtualization Infrastructure Driver», в области «partitions, message queues, memory blocks и virtual processors». Здесь сообщение «виртуальный процессор находится в недопустимом состоянии» связано с темой «недопустимый, процессор, состояние».
Что проверить и как подтвердить исправление
Первый шаг — проверьте допустимость и структуру входных данных первого неуспешного вызова. Когда при 0xC037001D система сообщает «виртуальный процессор находится в недопустимом состоянии», сверьте тип, размер, диапазон, маску флагов и принадлежность каждого дескриптора текущему объекту именно по контракту первого неуспешного метода.
Чтобы локализовать 0xC037001D, соберите partition ID, message port/queue, GPADL или memory block, VP index и Hyper-V events; отдельно запишите HRESULT, INVALID_PROCESSOR_STATE. Затем для 0xC037001D сравните исправный и неуспешный запуск в части «недопустимый, процессор, состояние», меняя одно условие за раз.
Коррекция для 0xC037001D должна быть предметной: исправляйте принадлежность и жизненный цикл объекта VID; после удаления раздела старые дескрипторы и отображения использовать нельзя. Для 0xC037001D и сообщения «виртуальный процессор находится в недопустимом состоянии» общий сброс допустим лишь как контроль, но не как доказательство причины.
Считайте исправление подтверждённым только после устойчивого повтора исходного сценария без результата 0xC037001D и без обхода штатных проверок.
Документация для результата 0xC037001D: Microsoft Open Specifications: HRESULT values · WHvCreateVirtualProcessor · WHvRunVirtualProcessor.
Нужно найти другой код? Найти другой код состояния или ошибки.