По какой-то причине в моем приложении при работе на некоторой конфигурации жесткого диска (RAID, случайные разделы, через отдельный контроллер IDE, а не в разделе операционных систем), VirtualAlloc
возвращает null
с кодом GetLastError
ERROR_INVALID_PARAMETER
.
Единственным параметром, кроме переданных флагов (MEM_COMMIT | MEM_TOP_DOWN, PAGE_READWRITE)
, является размер, рассчитанный как кратное размеру сектора, полученное из геометрии диска (к сожалению, я не могу отправить код из-за NDA и т. Д.).
Просто интересно, есть ли у кого-нибудь такой опыт? или если кто-то знает причину, по которой Windows может по-разному относиться к размерам страниц на дисках, являющихся частью рейда или разделенных на разделы?, любая помощь очень ценится, спасибо!