Re: Компиляция драйвера
От: okman Беларусь https://searchinform.ru/
Дата: 26.10.11 12:44
Оценка: 2 (1)
Здравствуйте, Fredwriter, Вы писали:

F>Здравствуйте, расскажите пожалуйста об утилите Build из пакета DDK, я пишу драйвер и не могу понять что она должна сделать. Если DDK установлен корректно, то нужно сделать так: Пуск -> Все программы -> Development Kits -> Windows DDK 2600 -> Build Environments -> или WinXP Free Build Environment или WinXP Checked Build Environment. Если есть MakeFile, то нужно перейти в рабочую директорию командой cd и написать заветное слово Build, запустится утилита Build.exe c установленными переменными окружения и произойдет КОМПИЛЯЦИЯ(сборка) файла драйвера. Вот такие пироги.

F>Вопрос у меня следующий: (первый раз пользуюсь этой утилитой и не было еще опыта успешного её использования) что должно произойти после использования этой утилиты? У меня только появился файл buildfre.log с одной строчкой:
F> BUILD: Computing Include file dependencies:.
F>Я думал, что должен был появится какие-то файлы Sys или еще что нибудь. Подскажите пожалуйста.

Значит, так.
В корне проекта должно быть два файла — makefile и sources.
Еще бывают файлы dirs, но мы их пока рассматривать не будем.

Файл makefile очень простой и всегда одинаковый:

!include $(NTMAKEENV)\Makefile.def

Вот и все содержимое.

В файле sources определяются исходники драйвера (файлы .c).
Плюс некоторые опции сборки (подробно это все расписано в WDK).
Например, один из моих файлов sources имеет такое содержание:

TARGETNAME=mock_tdi
TARGETTYPE=DRIVER
RCOPTIONS=$(RCOPTIONS) /d$(HAUBERK_OS_ID)
SOURCES=\
DriverEntry.c \
DispatchCreate.c \
DispatchDeviceControl.c \
DispatchInternalDeviceControl.c \
DispatchCleanup.c \
DispatchClose.c \
CompleteRequest.c \
IRP.c \
CancelSafeQueue.c


Сборка драйвера очень проста — нужно открыть build prompt для целевой системы (например,
WDK/Build Environment/Windows Server 2003/x64 Free Build Environment), затем зайти в
папку проекта и выполнить команду build (возможно, с дополнительными флагами).
После этого, если сборка пройдет успешно, в подпапке с именем типа objfre_wnet_amd64
появятся файлы .sys и .pdb и другие.

Более сложные сценарии включают использование inf-файлов и генерацию/подпись каталогов,
но это отдельная тема.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.