Программирование драйверов Windows

Программирование драйверов Windows

Объекты события
Семафоры

Мьютексы
Спин-блокировки

Взаимоблокировки
Обработка аппаратных прерываний
Постановка эксперимента
Тестовое приспособление CheckIt Loopback Device
Настройка операционной системы



Используемые инструментальные программы
Простейший драйвер для работы с прерываниями
Заголовочный файл Driver.h
Исполняемый код драйвера

Приложение для тестирования драйвера

Дополнительный тест на скорость переноса
Вариант 2. Модификация драйвера для работы с прерываниями
Модификация приложения для тестирования драйвера

Инсталляция драйверов при помощи INF файлов
Структура INF файла
Секции inf-файла и основные общие правила ввода записей
Секция описания версии [Version]
Секция описания поставщика [Manufacturer]

Секция описания поставщика [Manufacturer] - 2
Секция описания моделей аппаратуры [Models]
Секция описания моделей аппаратуры [Models] - 2
Замечания по декорированию имен
Секция [CopyFiles]
Секции [ServiceInstall]
Секция [ClassInstall32]
Секции [DefaultInstall32.Xxx] и [DefaultInstall32.Xxx.Services]
Секции [DDInstall]

Секция [DDInstall.Services]
Другие секции, определяющие копирование файлов
Секция [SourceDiskNames]
Секция [SourceDiskFiles]
Секция [DestinationDirs]
Примеры описания процедуры копирования файлов
Секция [AddReg]

Значения HKR
Проверка синтаксиса INF файла
Использование INF файлов
Мастер Установки/удаления новой аппаратуры
Установка PnP устройств
Идентификаторы PnP устройств
PnP идентификаторы PCI устройств
PnP идентификаторы SCSI устройств
PnP идентификаторы IDE устройств

PnP идентификаторы USB устройств
PnP идентификаторы устройств IEEE-1394 (FireWire)
Тестирование и отладка
Что следует проверять?
Цифровое подписание драйвера
Драйвер отказывается работать?
Аппаратные проблемы

Программные проблемы
Утечка ресурсов
Торможение программных потоков
Проблема приоритетов времени выполнения
Отслеживание ошибок
Отладчик WinDbg
Директории идентификаторов
Директории исходных текстов
Запуск и окончание отладочной сессии
Отладчик SoftIce

Чтение crash-экранов
Голубой экран смерти (BSOD)
Анализ информации Crash Dump файлов
Общие приемы отладки
Установка фиксированных точек прерывания
Промежуточный вывод на экран
Сохранение отладочного кода в исходном тексте драйвера
Перехват некорректных условий

Использование диагностических callback-функций
Обнаружение утечек памяти
Установка параметров загрузки в файле boot.ini
Частные приемы восстановления системы
Cover
Предисловие

Предисловие от составителя эл. версии
Координаты
Toc
Содержание раздела