Сводка изменений, необходимых для переноса драйвера miniport в NDIS 6.20
В этом разделе перечислены изменения, необходимые для переноса драйвера минипорта NDIS 6.x в NDIS 6.20.
NDIS 6.20 сохраняет обратную совместимость с более ранними версиями NDIS. Дополнительные сведения о обратной совместимости см. в разделе Обратная совместимость NDIS 6.20.
Чтобы обновить драйвер минипорта для поддержки среды NDIS 6.20, необходимо изменить драйвер NDIS 6.x miniport следующим образом:
Среда сборки
Замените определение препроцессора NDIS60_MINIPORT_DRIVER или NDIS61_MINIPORT_DRIVER на NDIS620_MINIPORT_DRIVER.
Замените устаревшие интерфейсы версиями NDIS 6.20. Дополнительные сведения об устаревших интерфейсах см. в разделе Устаревшие интерфейсы в NDIS 6.20.
Обновите следующие интерфейсы для поддержки более 64 процессоров:
- Масштабирование на стороне приема (RSS)
- Интерфейсы драйвера устройства со сведениями о процессоре
- Выделение ресурсов
- Блокировки чтения и записи
Дополнительные сведения о поддержке более 64 процессоров см. в разделе Поддержка более 64 процессоров в NDIS 6.20.
Задайте для версии NDIS значение 6.20 в элементах MajorNdisVersion и MinorNdisVersion структуры NDIS_MINIPORT_DRIVER_CHARACTERISTICS , которая передается в функцию NdisMRegisterMiniportDriver .
Задайте версию драйвера мини-порта в элементах MajorDriverVersion и MinorDriverVersion структуры NDIS_MINIPORT_DRIVER_CHARACTERISTICS соответствующим значением для конкретного драйвера.
Определите точки входа прямого запроса OID в структуре NDIS_MINIPORT_DRIVER_CHARACTERISTICS. Поддержка интерфейса прямого запроса OID была необязательна для драйверов NDIS 6.1, но является обязательной для драйверов NDIS 6.20. Дополнительные сведения об интерфейсе прямого запроса OID драйвера miniport см. в разделе Запросы OID адаптера Miniport.
Инициализация адаптера miniport
Используйте последнюю версию рекламных интерфейсов возможностей адаптера мини-порта. Следующие интерфейсы имеют обновленные возможности:
- Управление питанием
- Масштабирование на стороне приема (RSS)
- Поддержка оборудования (VMQ)
Используйте обновленные версии этих структур:
- NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES
- NDIS_RESTART_GENERAL_ATTRIBUTES
- NDIS_RECEIVE_SCALE_PARAMETERS
- NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES
Сведения о версии структуры NDIS см. в разделе Указание сведений о версии NDIS.
Пути к коду отправки и получения
Драйверы NDIS 6.20 должны поддерживать регулирование на стороне приема (RST) при обработке прерываний приема. Параметры ReceiveThrottleParameters функций обработчикаDPC MiniportInterruptDPC и MiniportMessageInterruptDPC указывают на структуру NDIS_RECEIVE_THROTTLE_PARAMETERS . При входе в обработчик отложенных вызовов процедур (DPC) член MaxNblsToIndicate структуры NDIS_RECEIVE_THROTTLE_PARAMETERS указывает максимальное количество NET_BUFFER_LIST структур, которое драйвер мини-порта должен указать в DPC. Дополнительные сведения о RST см. в разделе Регулирование на стороне получения в NDIS 6.20.
Используйте обновленную версию структуры NET_BUFFER .
При необходимости поддерживается интерфейс очереди виртуальных машин (VMQ). Дополнительные сведения о VMQ см. в разделе Очередь виртуальных машин (VMQ) в NDIS 6.20.