Возможно, некоторые приложения обращаются к стеку по непосредственному адресу.dzavalishin wrote:Привет.
Вопросы и предложения:
1. загрузка приложения: можно ли проигнорировать адрес стека и сделать стек просто выше, чем конец данных? Каков объём буферов имени программы и командой строки? Что туда пишется? Значит ли что-то номер версии формата в заголовке программы? Где-то проскакивала информация о том, что один из указателей заголовка смотрит на иконку приложения. Верно ли? Какой? Что с форматом иконки?
Оба буфера длиной 256 байт, вроде бы ничего не меняли. Номер версии формата что-то значит.
А есть такая фича?3. думаю, полезно задокументировать фичу с отрицательными позициями окна (== отсчёт от правого края)
Не знаю, используется это или нет, но есть некоторая вероятность, что где-то и используется.4. у функции считывания информации о треде есть в возвращаемой структуре третье поле, которое номер слота процесса, которому принадлежит окно номер ECX. Скажите мне, что это реально не используется?
Если хочется запускать приложения из ветки net - то, очевидно, новый. Сетевой веткой занимается hidnplayr (он из Бельгии, если я не ошибаюсь), он может дать комментарии по вопросам сетевой части6. Какой сетевой (tcp/ip) API реально надо эмулировать - тот, что в документации, или новый?
На вики и в SDK есть статьи "Пишем драйвер". Что-то наверняка есть в папке docs в папке с исходниками ядра. К сожалению, с документацией у нас туго Комментарии может дать Serge и возможно кто-то еще.7. загружаемые драйвера я пока не трогал, не нашёл документации. где почитать?
Документация по системной функции 99. В чём считается загрузка CPU - каково максимальное значение (числа тиков)?
+0: dword: использование процессора (сколько тактов в секунду уходит на исполнение именно этого потока)
Интересная мысль, ИМХО. Нужно у сообщества спросить.10. не хочет ли сообщество стандартизовать коды возврата и внедрить их во все вызовы? Ноль в EAX вернуть несложно...