На главную страницу
Форум txt.version   




Статья :: Программирование систем защиты: Завершающие функции
 

Завершающие функции

Множество функций интерфейса верхнего уровня драйвера сетевой карты и функций интерфейса нижнего уровня драйвера протокола разработаны для поддержки .асинхронных операций. Чтобы не тратить бесполезно такты процессора, ожидая в цикле завершения какой-нибудь длительной операции или сигнала от устройства, сетевые драйверы полагаются на возможность управления большинством операций асинхронно.
Асинхронный ввод/вывод поддерживается с помощью использования завершающих функций. Когда драйвер протокола вызывает NDIS, чтобы отправить пакет (что приводит в результате к вызову функции MiniportSend в драйвере сетевой карты), драйвер сетевой карты может попытаться завершить эту передачу немедленно и вернуть в качестве результата соответствующее значение статуса операции. Для синхронных операций вероятным значением статуса могут быть NDIS_STATUS_SUCCESS (если операция завершилась успешно) и NDIS_STATUS_RESOURCES или NDIS_STATUS_ FAILURE в случае неудачи. А может, тут же вернуть управление со значением статуса операции NDIS_STATUS_PENDING.
Но операция отправки пакета в сеть может потребовать некоторого времени для ее завершения. За это время драйвер сетевой карты (или NDIS) поставит пакет в очередь, и будет ожидать до тех пор, пока сетевая карта не просигнализирует результат операции отправки. Функция MiniportSend драйвера сетевой карты может управлять этой операцией отправки асинхронно, путем возвращения значения статуса NDIS_STATUS_ PENDING. Когда драйвер сетевой карты завершит отправку, он вызовет завершающую функцию NdisMSendComplete, передав в эту функцию указатель на отосланный NDIS-пакет. Эта информация передается драйверу протокола, сигнализируя завершение операции отправки.
Большинство операций драйвера, которые могут потребовать продолжительного времени для их завершения, поддерживают асинхронное выполнение с простой завершающей функцией. Такие функции имеют имена вида NdisMXxxComplete. Наряду с функциями отправления и получения, завершающие функции доступны для установки и опроса параметров конфигурации, сброса устройств, индикации статуса.

 

Программирование систем защиты: Завершающие функции

страницы в данном разделе 
 Программирование систем защиты: Глава 4. Анализ сетевой архитектуры ОС Windows NT с точки зрения возможностей реализации средств защиты и анализа сетевого трафика  Программирование систем защиты: Анализ сетевой архитектуры ОС Windows NT с точки зрения возможностей реализации средств защиты и анализа сетевого трафика
 Программирование систем защиты: Используемые средства построения объединенных сетей и их влияние на уровень расположения средства защиты (согласно модели OSI)  Программирование систем защиты: Объем информации, проходящей через средство защиты
 Программирование систем защиты: Возможности реализации средств защиты сетевой информации на пользовательском уровне  Программирование систем защиты: Реализация защиты на уровне приложений и собственных DLL
 Программирование систем защиты: Реализация защиты на уровне системных DLL, предоставляющих приложениям различные сетевые интерфейсы  Реализация защиты на уровне сетевых сервисов
 Программирование систем защиты: Реализация защиты на уровне «родного» API для ОС Windows NT  Программирование систем защиты: Возможности реализации средств защиты сетевой информации на уровне ядра
 Программирование систем защиты: Драйверы - фильтры  Программирование систем защиты: Реализация защиты на уровне драйвера MUP
 Реализация защиты на уровне драйверов файловых систем  Реализация защиты на уровне транспортного драйвера
 Реализация защиты с помощью перехвата функций NDIS - библиотеки  Программирование систем защиты: Реализация защиты на уровне сетевого драйвера промежуточного уровня, поддерживающего интерфейс NDIS
 Программирование систем защиты: Реализация защиты на уровне драйверов сетевых устройств  Программирование систем защиты: Сравнительный анализ способов реализации
 Программирование систем защиты: Зависимость способа реализации средства защиты от предъявляемых к нему требований  Программирование систем защиты: Особенности реализации NDIS-драйвeров
 Программирование систем защиты: Синхронизация  Программирование систем защиты: Структура NDIS-пакетов
 Программирование систем защиты: Завершающие функции  Программирование систем защиты: Точки входа промежуточного NDIS- драйвера
 Программирование систем защиты: Точка входа DriverEntry  Программирование систем защиты: Точки входа ProtocolXxx
 Программирование систем защиты: Точки входа MiniportXxx  Программирование систем защиты: Точки входа MiniportXxx


Разделы
Околокомпьютерная литература (375)
Программирование (102)
Программы (75)
ОС и Сети (49)
Интернет (29)
Аппаратное обеспечение (16)
Базы данных (6)

Содержание сайта (выборка)
Apache
Протоколы TCP/IP (принципы, протоколы и архитектура)

PHP, PELR, JSP
PHP
JavaServer Pages (JSP)

Базы данных
Основы mysql
СУБД INFORMIX
СУБД POSTGRES
Основы проектирования реляционных баз данных

HTML, javascript
Спецификация HTML 4.01
Каскадные Таблицы Стилей, Уровень 2
Клиентский JavaScript. Справочник.
JavaScript руководство пользователя
Серверный JavaScript 1.4. Руководство по Использованию.

Паскаль, C, C++, C#
GCC (примеры)
FAQ Валентинa Озеровa DELPHI
C





 
©  programming-lang.com  справочник программиста