Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
205
Добавлен:
20.02.2016
Размер:
62.46 Кб
Скачать

Лабораторная работа №1

1 - панель DriverStudio

2 - активный проект в случае, когда рабочая область (workspace) содержит несколько проектов. В приведенном случае имя активного проектаIKEservice, и видны еще 2 неактивных проектаjpeglib иliblber.

3 - окно рабочей области ("Диспетчер проектов")

4 - тип просмотра рабочей области (просмотр классов, просмотр ресурсов или просмотр файлов)

Для всех л/р будет использован мастер создания драйверов из пакета NuMega Driver Studio.

Последовательность работы с мастером:

  • Запустить мастер (это можно сделать из системного меню Start\Programs\NuMega DriverStudio\DriverWorks\Driver Wizard).

  • В окне мастера указать рабочую директорию и имя проекта, нажать кнопку Next

  • В следующем окне мастера выбрать тип драйвера NT 4.0

  • Жать “Next”, пока эта кнопка доступна

  • В последнем окне мастера убрать пункт создания тестового приложения и нажать кнопку Finish

  • Из созданного проекта удалить все файлы “.cpp” и “.h”, после чего удалить их с диска

  • Все вновь создаваемые файлы должны иметь расширения “.c” и “.h”

  • При наличии в рабочей области нескольких проектов сделать необходимый проект активным, для чего щелкнуть по его имени в диспетчере проектов правой кнопкой мыши и в появившемся меню выбрать пункт “Set as active project”

  • Выбрать пункт меню “Project\Settings” (Быстрые клавиши Alt+F7). Возникнет окно настроек активного проекта. В списке проектов выбрать необходимый, переключиться на закладку настроек компоновщика “Link”. Для категории настроек “General” в поле редактирования “Object/library modules” удалить все, относящееся к файлу vdw.lib. Сделать так для настроек рабочей и отладочной версии проекта (Выпадающий список Settings For: Win32 Free / Win32 Checked). Нажать кнопку Ok

  • Указать все необходимые для DriverStudio переменные окружения. Для этого выбрать либо кнопку “Change Environment Variable” из панели DriverStudio, или пункт меню “DriverStudio\Driver Build Settings…”. В появившемся окне должны быть указаны все пункты.

  • Для создания драйвера сделать соответствующий проект активным и выбрать меню “Build\Build drvname.sys”, гдеdrvname – имя активного проекта.

Драйвер №1

Минимальный драйвер

Создать проект с именем simple1

Имя единственного файла в проекте – simple1.c

Описание файла simple1.C:

1) Подключить заголовочный файл ntddk.h – основной заголовочный файл для написания драйверов NT

2) Создать функцию – точку входа в драйвер “DriverEntry” (см. лекция №5)

Прототип DriverEntry:

NTSTATUS DriverEntry( IN PDRIVER_OBJECT DriverObject,

IN PUNICODE_STRING RegistryPath);

где DriverObject – указатель на объект-драйвер, соответствующий загружаемому драйверу

RegistryPath – указатель на строку в формате Unicode с именем ключа реестра, соответствующего загружаемому драйверу.

Возвращаемое значение имеет тип NTSTATUS. Если возвращается успешный статус завершения, диспетчер в/в немедленно позволяет производить обработку запросов к объектам-устройствам, созданным драйвером. Во всех остальных случаях драйвер не загружается в память и запросы к нему не передаются.

В нашем случае в теле функции должен быть единственный оператор return, возвращающий успешный статус завершения:

return STATUS_SUCCESS;

Соседние файлы в папке Лабы по драйверам