набросал статью по сабжу, расчитана на новичков, находится в стадии дебаг, поэтому может содержать неточности, ошибки. Некоторые вещи проверить неуспел, поэтому может кто-нибудь что-нибудь подскажет.
такс, обнаружились первые бока. Забыл дописать в разделе "Сборка 64-х разрядного кода для платформы AMD64" в опциях линкера "Target Machine" = "MachineX64 (/MACHINE:X64)" [add] чтобы постоянно не вылаживать новый документ с исправлениями, я буду постить здесь изменения, а потом соберу их в релиз статье
стоит упомянуть еще опцию компоновщика /driver, которая создает секцию init, куда помещается image_import_descriptor и import name table (INT), а также один раз используемые код и данные помеченные в исходном коде таким образом: #pragma code_seg("INIT"), после чего память выделенная под секцию освобождается. Также стоит упомянуть что в более новых DDK возможно определение структур не присутствующих в ранних, тоесть если собирали с более старым DDK, определяя недокументированную структуру в своих хидерах, а потом перешли на более новый, получите от компилера symbol redefinition.
хм, странно, у меня без паков, 2003-я точно, остальные дома стоят, прийду посмотрю, но вроде тоже нет
изначально, планировал ставить акцент не на самой сборке драйвера, а всего лишь на файле setenv.bat и запуска студии из под него, что дает возможность свободно таскать проект с машины на машину избавив себя от постоянной правки путей и некоторых опций, но чуствую прийдеться пошире развернуть данную тему..
defaultplayer Часто таскаете проекты? Настройка занимает ну может 50 сек. А вобще документ для новичков хороший. За это Вам спасибо.
можно подумать что я крутой проектировщик драйверов , конечно же нет, я такой же новичек как и те на кого расчитана статья, просто каждый божий день приходится тягать один и тот же проект в котором пишу примеры из разных книг и статей(форумов), компелирую и смотрю потом что происходит. Про 50 сек понятно, что недолго, но если это происходит каждый день то очень надоедает, да и не по-дзенски это как-то постоянно править В статью постараюсь добавить также описание использования утилиты build, входящей в состав ДДК, разберусь только получше