Как вы получаете графику в текстовом режиме Native NT? - PullRequest
7 голосов
/ 05 июня 2011

Очевидно, что программа EASEUS Partition Master может отображать графику до запуска графического интерфейса Windows (т. Е. Одновременно с запуском CheckDisk при загрузке).

Что я уже знаю :

  1. Для этого могут потребоваться не очень хорошо документированные функции.Это нормально для меня.

  2. Я уже знаю, как скомпилировать нативные исполняемые файлы NT, поэтому не стесняйтесь опускать это в ответах.

Вопросы:

  1. Как вы можете отобразить графику до того, как все запустится?(т.е. какие функции / библиотеки вы используете?)

  2. Как он отображает форматированный и выровненный текст на экране?
    Я знаю, NtDisplayString способен писать текст, ноон не может рисовать вещи в отформатированном виде, как вы можете видеть ниже.Какие функции вы используете для воспроизведения приведенного ниже поведения?

Screenshot

Ответы [ 2 ]

6 голосов
/ 05 июня 2011

Я чувствую себя немного глупо, отвечая на свой вопрос прямо сейчас, но подсказки Бена помогли мне разобраться:

Он использует драйвер, который, в свою очередь, использует эти функции в BootVid.dll:

VidBufferToScreenBlt
VidScreenToBufferBlt
VidBitBlt
0 голосов
/ 05 июня 2011

Возможно, он использует низкоуровневые VGA-вызовы для переключения в графический режим и управления видеопамятью.

...