Введение в NDIS 6.50
В этом разделе представлена спецификация интерфейса сетевого драйвера (NDIS) 6.50 и описаны ее основные конструктивные дополнения. NDIS 6.50 входит в состав Windows 10 версии 1507 и более поздних версий.
NDIS 6.50 является дополнительным обновлением версии NDIS 6.40. Дополнительные сведения о переносе драйверов NDIS 6.x в NDIS 6.50 см. в статье Перенос драйверов NDIS 6.x в NDIS 6.50.
Обновления компонентов
NDIS 6.50 является добавочным обновлением NDIS 6.40 и не содержит каких-либо основных новых функций.
Реализация драйвера NDIS 6.50
Драйвер NDIS 6.50 должен соответствовать требованиям, определенным в разделе Реализация драйвера NDIS 6.30.
Кроме того, драйвер NDIS 6.50 должен соответствовать следующим требованиям:
Драйвер NDIS 6.50 должен сообщать правильную версию NDIS при регистрации с помощью NDIS.
Необходимо обновить основной и дополнительный номер версии NDIS в структуре NDIS_Xxx_DRIVER_CHARACTERISTICS для поддержки NDIS 6.50. Элемент MajorNdisVersion должен содержать 6, а член MinorNdisVersion — 50. Это требование применяется к драйверам мини-портов, протоколов и фильтров. Необходимо также обновить сведения о версии компилятора (см. раздел Компиляция драйвера NDIS 6.50).
Драйверы мини-порта должны задать для элемента ЗаголовокNDIS_MINIPORT_DRIVER_CHARACTERISTICS: Задайте редакцию значение NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_2, а размер — NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_2.
Драйверы фильтра должны задать элемент ЗаголовкаNDIS_FILTER_DRIVER_CHARACTERISTICS: Задайте редакцию значение NDIS_FILTER_CHARACTERISTICS_REVISION_2, а размер — NDIS_SIZEOF_FILTER_DRIVER_CHARACTERISTICS_REVISION_2.
Драйверы протокола должны задать для элемента Headerэлемента NDIS_PROTOCOL_DRIVER_CHARACTERISTICS: Задайте редакцию значение NDIS_PROTOCOL_CHARACTERISTICS_REVISION_2, а размер — NDIS_SIZEOF_PROTOCOL _DRIVER_CHARACTERISTICS_REVISION_2.
Драйверы NDIS 6.50 miniport для Windows 10 версии 1507 и более поздних версий должны использовать структуры данных NDIS 6.50. Дополнительные сведения см. в разделе Использование структур данных NDIS 6.50.
Компиляция драйвера NDIS 6.50
WDK для Windows 10 версии 1507 поддерживает управление версиями заголовков. Управление версиями заголовков гарантирует, что драйверы NDIS 6.50 используют соответствующие структуры данных NDIS 6.50 во время компиляции.
Добавьте следующие параметры компилятора в проект Visual Studio для драйвера:
- Для драйвера мини-порта добавьте
NDIS650_MINIPORT=1
. - Для драйвера фильтра или протокола добавьте
NDIS650=1
.
Сведения о сборке драйвера с Windows 10 версии 1507 WDK см. в разделе Создание драйвера.
Использование структур данных NDIS 6.50
Новые структуры данных
Следующие структуры данных являются новыми в NDIS 6.50.
- OID_WWAN_SYS_CAPS
- OID_WWAN_DEVICE_CAPS_EX
- OID_WWAN_SLOT_INFO_STATUS
- OID_WWAN_NETWORK_IDLE_HINT
- NDIS_STATUS_PD_CURRENT_CONFIG
- NDIS_PD_CAPABILITIES
- NDIS_PD_CLOSE_PROVIDER_PARAMETERS
- NDIS_PD_CONFIG
- NDIS_PD_COUNTER_PARAMETERS
- NDIS_PD_COUNTER_VALUE
- NDIS_PD_FILTER_COUNTER
- NDIS_PD_FILTER_PARAMETERS
- NDIS_PD_ON_RSS_QUEUE_PARAMETERS
- NDIS_PD_OPEN_PROVIDER_PARAMETERS
- NDIS_PD_PROVIDER_DISPATCH
- NDIS_PD_QUEUE
- NDIS_PD_QUEUE_DISPATCH
- NDIS_PD_QUEUE_PARAMETERS
- NDIS_PD_RECEIVE_QUEUE_COUNTER
- NDIS_PD_TRANSMIT_QUEUE_COUNTER
- PD_BUFFER
- PD_BUFFER_8021Q_INFO
- PD_BUFFER_VIRTUAL_SUBNET_INFO
Обновленные структуры данных
Следующие структуры данных были обновлены в NDIS 6.50.
- NET_PNP_EVENT_NOTIFICATION
- NDIS_OID_REQUEST
- NDIS_NET_BUFFER_LIST_INFO
- NdisMGetDeviceProperty
- NDIS_SWITCH_OPTIONAL_HANDLERS
- NDIS_SWITCH_NIC_SAVE_STATE
- NDIS_RECEIVE_FILTER_PARAMETERS
NDIS 6.51
NDIS 6.51 является очень незначительным обновлением версии NDIS 6.50. NDIS 6.51 входит в состав Windows 10 версии 1511 и более поздних версий. Вся информация для NDIS 6.50 также применяется к NDIS 6.51 со следующими исключениями:
- MinorNdisVersion изменяется с 50 на 51 при регистрации драйвера с помощью NDIS.
- Параметры компилятора изменяются с
NDIS650_MINIPORT=1
для драйверов miniport иNDIS650=1
для фильтров или протоколов наNDIS651_MINIPORT=1
иNDIS651=1
соответственно.