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