Введение в NDIS 6.80
В этом разделе представлена спецификация интерфейса сетевого драйвера (NDIS) 6.80 и описаны ее основные конструктивные дополнения. NDIS 6.80 входит в состав Windows 10 версии 1709.
NDIS 6.80 является дополнительным обновлением версии NDIS 6.70 для мини-портов, протоколов, фильтров и промежуточных драйверов. Дополнительные сведения о переносе драйверов NDIS 6.x в NDIS 6.80 см. в статье Перенос драйверов NDIS 6.x в NDIS 6.80.
Для драйверов сетевого адаптера расширение класса NetAdapter (NetAdapterCx) было обновлено с версии 1.0 до версии 1.1 в Windows 10 версии 1709.
Обновления компонентов
Синхронные запросы OID
NDIS 6.80 представляет новую функцию для OID, синхронных запросов OID. Синхронные вызовы OID имеют низкую задержку, не блокируются, масштабируются и надежны по сравнению с обычными запросами OID. Дополнительные сведения см. в разделе Синхронный интерфейс запроса OID в NDIS 6.80.
RSSv2
В NDIS 6.80 масштабирование на стороне получения (RSS) обновлено до RSS версии 2 (RSSv2). RSSv2 улучшает RSSv2, предлагая распределение по VPort. Дополнительные сведения см. в статье Масштабирование на стороне получения версии 2 (RSSv2) в NDIS 6.80.
RSSv2 является предварительной версией только в Windows 10 версии 1709.
Другие новые сетевые функции
NDIS формирует базовую основу для платформы сетевых драйверов в Windows. Список других функций сетевого драйвера, которые были обновлены одновременно с NDIS 6.80, см. в разделе Windows 10 версии 1709 статьи Сеть статьи Новые возможности разработки драйверов.
Реализация драйвера NDIS 6.80
Драйвер NDIS 6.80 должен соответствовать требованиям, определенным в статье Реализация драйвера NDIS 6.30.
Кроме того, драйвер NDIS 6.80 должен соответствовать следующим требованиям:
Драйвер NDIS 6.80 должен сообщать правильную версию NDIS при регистрации с помощью NDIS.
Необходимо обновить основной и дополнительный номер версии NDIS в структуре NDIS_Xxx_DRIVER_CHARACTERISTICS для поддержки NDIS 6.80. Элемент MajorNdisVersion должен содержать 6, а член MinorNdisVersion должен содержать 80. Это требование применяется к мини-портам, протоколам и драйверам фильтров.
Кроме того, необходимо обновить сведения о версии компилятора (см. раздел Компиляция драйвера NDIS 6.80).
Драйверы мини-порта должны задать элемент ЗаголовкаNDIS_MINIPORT_DRIVER_CHARACTERISTICS: Задайте для редакции значение NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_3, а размер — NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_3.
Драйверы фильтров должны задать элемент заголовкаNDIS_FILTER_DRIVER_CHARACTERISTICS: задайте для параметра Редакция значение NDIS_FILTER_CHARACTERISTICS_REVISION_3, а для параметра Размер — значение NDIS_SIZEOF_FILTER_DRIVER_CHARACTERISTICS_REVISION_3.
Драйверы протокола должны задать элемент заголовкаNDIS_PROTOCOL_DRIVER_CHARACTERISTICS: задайте для параметра Revision значение NDIS_PROTOCOL_CHARACTERISTICS_REVISION_2, а для параметра Size — значение NDIS_SIZEOF_PROTOCOL _DRIVER_CHARACTERISTICS_REVISION_2.
Компиляция драйвера NDIS 6.80
Драйверы сетевого адаптера
Дополнительные сведения о компиляции драйвера сетевого адаптера с помощью NetAdapterCx см. в статье Перенос драйверов мини-портов NDIS в NetAdapterCx (параметры компиляции).
Драйверы минипортов, протоколов и фильтров
WDK для Windows 10 версии 1709 поддерживает управление версиями заголовков. Управление версиями заголовков гарантирует, что драйверы NDIS 6.80 используют соответствующие структуры данных NDIS 6.80 во время компиляции.
Добавьте следующие параметры компилятора в проект Visual Studio для драйвера:
- Для драйвера мини-порта добавьте
NDIS680_MINIPORT=1
. - Для фильтра или драйвера протокола добавьте
NDIS680=1
.
Сведения о создании драйвера с Windows 10 версии 1709 WDK см. в статье Создание драйвера.
Изменения в API и структуре данных
Новые API и структуры данных
Следующие API и структуры данных являются новыми в NDIS 6.80.
- MINIPORT_SYNCHRONOUS_OID_REQUEST
- FILTER_SYNCHRONOUS_OID_REQUEST
- FILTER_SYNCHRONOUS_OID_REQUEST_COMPLETE
- NdisFSynchronousOidRequest
- NdisSynchronousOidRequest
- OID_GEN_RECEIVE_SCALE_PARAMETERS_V2
- OID_GEN_RSS_SET_INDIRECTION_TABLE_ENTRIES
- NDIS_RECEIVE_SCALE_PARAMETERS_V2
- NDIS_RSS_SET_INDIRECTION_ENTRIES
- NDIS_RSS_SET_INDIRECTION_ENTRY
Обновленные API и структуры данных
В NDIS 6.80 были обновлены следующие API и структуры данных.