Как вы получаете графику в текстовом режиме Native NT?
Очевидно, что программа EASEUS Partition Master может отображать графику до запуска графического интерфейса Windows (т. Е. Одновременно с запуском CheckDisk при загрузке).
Что я уже знаю:
Это может потребовать не очень хорошо документированных функций. Я не против.
Я уже знаю, как компилировать нативные исполняемые файлы NT, поэтому не стесняйтесь опускать это в ответах.
Вопросы:
Как вы можете отобразить графику до того, как все запустится? (т.е. какие функции / библиотеки вы используете?)
Как он отображает форматированный и выровненный текст на экране?
я знаюNtDisplayString
способен писать текст, но не может рисовать вещи в отформатированном виде, как вы можете видеть ниже. Какие функции вы используете для воспроизведения поведения ниже?
2 ответа
Я чувствую себя глупо, отвечая на свой вопрос прямо сейчас, но подсказки Бена помогли мне понять это:
Он использует драйвер, который, в свою очередь, использует эти функции в BootVid.dll
:
VidBufferToScreenBlt
VidScreenToBufferBlt
VidBitBlt
Возможно, он использует низкоуровневые VGA-вызовы для переключения в графический режим и управления видеопамятью.