Видео

Обсуждаем ReactOS по-русски

Moderators: fog, fireball

Post Reply
User avatar
X512
Posts: 54
Joined: Mon Jul 13, 2009 10:07 pm
Location: Russia

Видео

Post by X512 »

Как инициализируется win32k и как он узнаёт куда рисовать? Кто даёт видеобуффер?
Я так понимаю win32k общается через системные вызовы?
В отличии от Haiku мне совсем не понятна текущаяя архитектура GUI...

hto
Developer
Posts: 2193
Joined: Sun Oct 01, 2006 3:43 pm

Post by hto »

Как инициализируется win32k […]
Сначала win32k.sys загружается из smss.exe, а потом инициализируется вызовом NtUserInitialize() из win32csr.dll (csrss.exe).
[…] и как он узнаёт куда рисовать?
Драйвер videoprt.sys при загрузке системы находит видеоадаптеры и создаёт объекты с именами \Device\VideoN и \??\DISPLAYN (N - номер) для каждого устройства. Win32k сейчас, как я понимаю, берёт первое попавшееся устройство (\Device\Video0, оно же \??\DISPLAY1) и загружает для него framebuf.dll (VBE) или же vgaddi.dll (VGA).
Кто даёт видеобуффер?
win32k.sys вызывает framebuf.dll вызывает vbemp.sys вызывает videoprt.sys вызывает ядро.
Я так понимаю win32k общается через системные вызовы?
Да. При загрузке win32k в таблицу системных вызовов добавляются новые элементы.
В отличии от Haiku мне совсем не понятна текущаяя архитектура GUI...
Кое-что есть в wiki:

http://www.reactos.org/wiki/Techwiki:Win32k
http://www.reactos.org/wiki/Arwinss
http://www.reactos.org/wiki/Arwinss_technical

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest