Точки входа промежуточного NDIS- драйвера
Промежуточный NDIS-драйвер обычно экспортирует функции
MiniportXxx на своем верхнем уровне и функции ProtocolXxx на своем нижнем
уровне (см. рис. 29).
Реже промежуточный драйвер может экспортировать MiniportXxx функции на
своем верхнем уровне, а в своей нижней части предоставлять частный закрытый
интерфейс нижележащему драйверу, не являющемуся NDIS-драйвером. Например,
промежуточный драйвер может управлять сетевыми запросами ввода/вывода
для устройства, соединенного с последовательным портом. Подобный промежуточный
драйвер будет экспортировать ряд функций MiniportXxx, чтобы взаимодействовать
с NDIS в своей верхней части, а в своей нижней части использовать стандартные
пакеты запроса ввода/вывода (IRP), чтобы взаимодействовать с драйвером
последовательного устройства.
Если реализуемый промежуточный драйвер должен поддерживать ориентированный
на соединение (Connection-Oriented) интерфейс нижнего уровня, либо поддерживать
работу с NDISWAN, то необходимо реализовать как ряд дополнительных точек
входа, так и изменить некоторые из описанных в этом разделе точек входа.
Рис. 29. Расположение промежуточных NDIS-драйверов
|