Никто не задумывался - как так softice выводит свое окошко? Думаю без оверлеев здесь не обошлось. Как ко всему этому относится DirectX? С трудом себе представляю как его (да и OpenGL) можно использовать из драйвера, да еще и при IRLQ не PASSIVE_LEVEL.
[ blood: Никто не задумывался - как так softice выводит свое окошко? ] С помощью своего видеодрайвера Siwvid.
Я понимаю. Я имел ввиду, как работает универсальный видеодрайвер? Какие функции DirecX можно использовать для вывода графики из драйвера. Или может быть както можно использовать виндовые видео драйвера для этого. Вообще есть способ не использовать напрямую порты видеокарты чтобы выводить графику из ring0?
В ДДК есть раздел "Display and Print Devices" и там такие интересные подразделы "DirectDraw Display Driver Interfaces", "Direct3D Display Driver Interfaces", "DirectX Video Acceleration Structures and Enumerations" и т.п. Какое это имеет отношение к "Графике из драйвера" я не знаю, т.к. никогда дело с этим не имел, но судя по названиям...
blood странно, а зачем ипользовать порты в\в для вывода графики ? вообще то режим directdraw подразумевает прямой вывод данных в память. Всего навсего надо точно знать, куда промепирована видеопамять. И это просто, всего навсего нужно обратиться к реестру, там всё описано специальными структурами достотаточно подробно задокумментированными в DDK. На мой взгляд, это очень простой вопрос.
порты в\в Это я все про оверлеи. Не хотел трогать основную страницу. это очень простой вопрос Ну незнал я, где взять адрес видеопамяти, что теперь сделаешь... Спасибо.
SoftIce для вывода своего окна использует прямую работу с видеопамятью, а не средства системы. Если делать также, то нужно останавливать всю систему на время вывода своего изображения, а перед запуском восстанавливать видеопамять, а иначе будут проблемы.
CARDINAL, можно по подробней по поваду нахождения адреса видиопамяти... сам, долго и безуспешно пытался ёе найти, или перемапить....
Ms Rem От куда такая инфа ? Если это просто догадки надо писать ИМХО. Если это достоверные данные - подтверждение.
MoKC0DeR, всёго скорее именно так, это самый простой и дественный способ вывода "оконного" изображения из драйвера.
У меня пример на оверлеи из MSDN(там такой пучеглазый комар летает) странно себя вел с софтайсом, вот я и подумал, мол не спроста..
_DEN_, естественно, курсор то поддерживается на уровне видиоконтроллера и не отображается в видиобуфер. CARDINAL, может всё-же чиркнёшь пару строк?
ProgramMan > Если это просто догадки надо писать ИМХО. Софтайс может работать сразу после старта ядра системы, когда никакая графика еще не загружена. Он использует свой видеодрайвер Siwvid который напрямую работает с видеопамятью (подтверждается дизассемблированием). А также, если софтайс работал бы с виндовыми дровами, то зачем тогда при конфигурации надо тип видюхи выбирать? Так что там используется прямой вывод в видеопамять и никак иначе.
Ms Rem, Если это просто догадки надо писать ИМХО. Это к чему? Я вообшето "сторонник прямово вывода в идиомамять" или это по поваду мыши...?