Что означает код NTSTATUS 0xC0350004 (STATUS_HV_INVALID_ALIGNMENT)?

 
Также может означать:
КонстантаТипОС
ERROR_HV_INVALID_ALIGNMENTHRESULTWindows
Предыдущий Следующий
STATUS_HV_INVALID_HYPERCALL_INPUT STATUS_HV_INVALID_PARAMETER

STATUS_HV_INVALID_ALIGNMENT

GPA параметра не соответствует контракту памяти гипервызова

STATUS_HV_INVALID_ALIGNMENT означает, что переданный адрес параметра имеет недопустимое выравнивание для интерфейса гипервызовов. Гипервызовы Hyper-V с параметрами в памяти используют гостевые физические адреса входных и выходных блоков; TLFS требует выравнивания этих блоков по 8 байтам и дополнения их размера до кратного 8 байтам.

Это не общая ошибка виртуальной памяти. Исправления только видимого размера структуры недостаточно, если GPA не выровнен, список входа или выхода пересекает границу страницы либо оба списка перекрываются. Это отдельные ограничения ABI, которые необходимо проверять по адресам, переданным гипервизору, а не по гостевому виртуальному указателю в журнале.

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

  • Фактические значения GPA, а не только гостевые виртуальные адреса до преобразования.
  • Выравнивание по 8 байтам, дополнение размера, размещение в пределах страницы и отсутствие перекрытия областей входа и выхода.
  • Что страницы параметров являются обычными GPA-страницами, а не overlay-страницами Hyper-V.
  • Упаковку структур, выравнивание выделенной памяти и смещение, внесённое пользовательским заголовком буфера.

Ссылки


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