Я только что обнаружил, что функция SetDIBitsToDevice
не работает (возвращает 0), когда я пытаюсь отобразить изображение, данные которого были выделены на большой странице с помощью этого вызова:
VirtualAlloc(NULL, imageSize, MEM_RESERVE | MEM_COMMIT | MEM_LARGE_PAGES, PAGE_READWRITE)
Сразу после сбоя, GetLastError
возвращает 0, что означает «без ошибок».Обратите внимание, что удаление флага MEM_LARGE_PAGES заставляет код работать правильно.
Это ошибка или правильное поведение?Документация ничего не говорит об этом.