є специфічний функціонал, а для подальшого обслуговування пристрою викликає драйвер класу. Разом, драйвер класу і мінідрайвер працюють як функціональний драйвер для пристрою. p align="justify"> Драйвери фільтрів - драйвери, перехоплюючі операції введення/виводу для конкретних пристроїв з метою їх розширення або модифікації. Їх також можна поділити на:
В· Драйвери фільтрів шин;
В· Низькорівневі драйвери фільтрів (використовуються для перехоплення звернень до портів вводу-виводу);
В· Високорівневі драйвери фільтрів (використовуються при обробці запитів, що йдуть від користувача).
На малюнку 1 представлена ​​схема шарів моделі WDM.
Драйвери пристроїв
Драйвери шин
Рис. 1. Рівні абстракцій моделі WDM
Як відомо, більшість операцій введення-виведення, за винятком операцій швидкого введення/виведення, здійснюються з використанням IRP пакетів. Диспетчер введення-виведення створює IRP пакет і передає покажчик на нього драйверу конкретного пристрою. Кожен драйвер має пов'язаний з ним об'єкт пристрою - структуру даних, яка містить покажчики на робочі процедури драйвера, які дозволяють взаємодіяти драйверу з диспетчером вводу-виводу. Об'єкти пристроїв об'єднані в стек пристрої. Внизу стека пристроїв знаходиться створюваний драйвером шини об'єкт фізичного пристрою (Physical Device Object - PDO), який створюється драйвером шини при виявленні підключення фізичного пристрою. Основним компонентом стека пристроїв є об'єкт функціонального пристрою (Functional Device Object - FDO), пов'язаний з функціональним драйвером. Навколо функціонального об'єкта може бути розташоване довільну кількість пристроїв - фільтрів (Filter Device Object - FiDO), створюваних драйверами фільтрів. p align="justify"> На малюнку 2 представлена ​​схема проходження IRP пакету по стеку пристроїв.
Рис. 2. Схема стека пристроїв
У даній роботі реалізується обробка і модифікація запитів приходять з клавіатури (від користувача), тому найбільш підходящим варіантом вирішення даної задачі є розробка драйвера - фільтра верхнього рівня.
2.3.3 Модель WDF
У зв'язку з наявністю у драйверної моделі WDM ряду недоліків їй на зміну приходить нова драйверної модель - Windows Driver Foundation (WDF). WDF являє собою подієво-керовану, об'єктно-орієнтоване середовище для драйверів режиму ядра KMDF (Kernel-Mode Driver Framework) і для драйверів режиму користувача UMDF (User-Mode Driver Framework). Моде...