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




Статья :: Программирование систем защиты: Точки входа ProtocolXxx
 

Точки входа ProtocolXxx

Возможные обязательные и необязательные функции протокольной части промежуточного драйвера перечислены ниже (подробное их описание смотри в DDK):

  1. 1. ProtocolBindAdapter - обязательная функция, вызываемая NDIS, чтобы попросить промежуточный драйвер привязаться к нижележащей реальной или виртуальной сетевой карте, чье имя передано в качестве параметра этой функции.
    2. ProtocolUnbindAdapter - обязательная функция, вызываемая NDIS, чтобы закрыть соединение с нижележащей реальной или виртуальной сетевой картой, чье имя передано в качестве параметра этой функции.
    3. ProtocolOpenAdapterComplete - обязательная функция. Если вызов функции NdisOpenAdapter промежуточным драйвером привел к возврату статуса NDIS_STATUS_ PENDING, то в последствии будет вызвана функция ProtocolOpenAdapterComplete, чтобы завершить присоединение.
    4. ProtocolCIoseAdapterComplete - обязательная функция. Если вызов функции NdisCloseAdapter промежуточным драйвером привел к возврату статуса NDIS_ STATUS_PENDING, то в последствии будет вызвана функция ProtocolClose Adapter-Complete, чтобы завершить отсоединение.
    5. ProtocoIReceive - обязательная функция. ProtocolReceive вызывается с указателем на буфер lookahead, содержащий данные, полученные из сети. Если этот буфер содержит не весь сетевой пакет, то ProtocolReceive вызывает NdisTransferData с описателем пакета для того, чтобы получить оставшуюся часть сетевого пакета. Если нижележащий драйвер вызвал NdisMIndicateReceive Packet для указания о получение сетевого пакета, то буфер lookahead, переданный ProtocolReceive, всегда будет содержать весь сетевой пакет.
    6. ProtocolReceivePacket - необязательная функция. Обеспечивается, если промежуточный драйвер будет располагаться над драйвером сетевой карты, который передает сразу массив указателей на один или более описателей пакетов, или если драйвер сетевой карты передает дополнительные данные вместе с индикацией получения с помощью вызова NdisMIndicateReceivePacket. Если разработчик неуверен в среде, в которой будет исполняться его промежуточный драйвер, то эта функция должна быть обеспечена, потому что тогда промежуточный драйвер достигнет большей производительности, если нижележащий драйвер сетевой карты производит мультипакетную индикацию получения.
    7. ProtocolReceiveComplete - это обязательная функция. Она вызывается, если обработка какого-либо из пакетов, попавших перед этим в ProtocolReceive, была отложена.
    8. ProtocoITransferDataComplete - это обязательная функция, если ProtocolReceive когда-либо вызывает NdisTransferData. Если предыдущий вызов NdisTransferData с просьбой скопировать оставшуюся часть полученного пакета вернул статус NDIS_STATUS_PENDING, то ProtocoITransferDataCompIete вызовется, когда операция передачи оставшейся части будет завершена.
    9. ProtocolResetComplete - это обязательная функция. Она вызывается, если операция сброса, начатая с помощью вызова функции NdisReset, вернувшей статус NDIS_STATUS_PENDING, была завершена. Обычно промежуточные драйверы не вызывают NdisReset, но драйверы выше их могут вызвать эту функцию, таким образом, промежуточный драйвер должен суметь передать такой запрос нижележащим NDIS-драйверам.
    10. ProtocolRequestComplete - это обязательная функция. Она вызывается по завершении операции получения/установки параметров, начатой с помощью вызова функции NdisRequest, вернувшей статус NDIS_STATUS_PENDING.
    11. ProtocolSendComplete - обязательная функция. Она вызывается для каждого пакета, переданного с помощью вызова функции NdisSend, вернувшей статус операции отправки NDIS_STATUS_PENDING. Если был отослан сразу массив пакетов путем вызова NdisSendPackets, то ProtocolSendComplete будет вызвана для каждого пакета из массива. Промежуточный драйвер может определить окончательный статус операции отправки только из параметра статуса у функции ProtocolSendComplete.
    12. ProtocoIStatus - обязательная функция. Она вызывается библиотекой NDIS для сообщения об изменении статуса, инициированного нижележащим драйвером сетевой карты.
    13. ProtocoIStatusComplete - обязательная функция. Она вызывается библиотекой NDIS, чтобы сигнализировать, что изменение статуса, о котором перед этим сообщалось в ProtocoIStatus, теперь завершилось.
    14. ProtocolPnPEvent - это обязательная функция. NDIS вызывает ProtocolPn PEvent, чтобы сигнализировать о событии Plug and Play или о событии управления питанием.
    15. ProtocolUnload - это необязательная функция. NDIS вызывает ProtocolUnload в ответ на требование пользователя удалить промежуточный драйвер. ProtocolUnload выполняет определенные драйвером операции удаления.
 

Программирование систем защиты: Точки входа ProtocolXxx

страницы в данном разделе 
 Программирование систем защиты: Глава 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  справочник программиста