Организация ввода-вывода. Драйверы WDM. Рощин А.В. - 3 стр.

UptoLike

Составители: 

3
Содержание Стр.
1 Структура WDM-драйвера 4
1.1 Назначение драйвера 5
1.2
Типы драйверов
11
1.3 WDM-драйверы 12
1.4 Иерархия устройств и драйверов 13
1.5 Порядок загрузки драйверов 18
1.6 Вопросы для самопроверки 21
2 Основные структуры данных 24
2.1 Объекты драйверов 24
2.2 Объекты устройств 26
2.3
Функция DriverEntry
29
2.4
Функция DriverUnload
32
2.5
Функция AddDevice
33
2.6 Создание объекта устройства 33
2.7
Инициализация расширения устройства (DEVICE_EXTENSION)
35
2.8 Вопросы для самопроверки 36
3
Пакеты запросов ввода-вывода IRP
39
3.1 Структура IRP 39
3.2 Стек ввода-вывода 42
3.3
Типичная модель обработки IRP
43
3.4
Создание синхронных IRP
44
3.5
Создание асинхронных IRP
46
3.6 Передача пакета диспетчерской функции 47
3.7
Функция IoCallDriver
48
3.8 Диспетчерские функции 48
3.9
Передача IRP вниз по стеку
51
3.10
Постановка IRP в очередь для последующей обработки
52
3.11
Функция StartIo
52
3.12
Обработчик прерывания ISR
53
3.13
Функция DPC
54
3.14 Функции завершения 55
3.15 Вызов функций завершения 58
3.16 Очереди запросов ввода-вывода 59
3.17 Объект DEVQUEUE 61
3.18 Отмена запросов ввода-вывода 63
3.19 Сценарии обработки IRP 65
3.20 Вопросы для самопроверки 78
Список использованных источников 83
Содержание                                                      Стр.
1      Структура WDM-драйвера                                   4
1.1    Назначение драйвера                                      5
1.2    Типы драйверов                                           11
1.3    WDM-драйверы                                             12
1.4    Иерархия устройств и драйверов                           13
1.5    Порядок загрузки драйверов                               18
1.6    Вопросы для самопроверки                                 21
2      Основные структуры данных                                24
2.1    Объекты драйверов                                        24
2.2    Объекты устройств                                        26
2.3    Функция DriverEntry                                      29
2.4    Функция DriverUnload                                     32
2.5    Функция AddDevice                                        33
2.6    Создание объекта устройства                              33
2.7    Инициализация расширения устройства (DEVICE_EXTENSION)   35
2.8    Вопросы для самопроверки                                 36
3      Пакеты запросов ввода-вывода IRP                         39
3.1    Структура IRP                                            39
3.2    Стек ввода-вывода                                        42
3.3    Типичная модель обработки IRP                            43
3.4    Создание синхронных IRP                                  44
3.5    Создание асинхронных IRP                                 46
3.6    Передача пакета диспетчерской функции                    47
3.7    Функция IoCallDriver                                     48
3.8    Диспетчерские функции                                    48
3.9    Передача IRP вниз по стеку                               51
3.10   Постановка IRP в очередь для последующей обработки       52
3.11   Функция StartIo                                          52
3.12   Обработчик прерывания ISR                                53
3.13   Функция DPC                                              54
3.14   Функции завершения                                       55
3.15   Вызов функций завершения                                 58
3.16   Очереди запросов ввода-вывода                            59
3.17   Объект DEVQUEUE                                          61
3.18   Отмена запросов ввода-вывода                             63
3.19   Сценарии обработки IRP                                   65
3.20   Вопросы для самопроверки                                 78
       Список использованных источников                         83




                                  3