Поделиться через


структура NDIS_MINIPORT_DRIVER_CHARACTERISTICS (ndis.h)

Драйвер NDIS инициализирует структуру NDIS_MINIPORT_DRIVER_CHARACTERISTICS для определения его характеристик минипорта драйвера, включая точки входа для своих функций MiniportXx.

Синтаксис

typedef struct _NDIS_MINIPORT_DRIVER_CHARACTERISTICS {
  NDIS_OBJECT_HEADER                         Header;
  UCHAR                                      MajorNdisVersion;
  UCHAR                                      MinorNdisVersion;
  UCHAR                                      MajorDriverVersion;
  UCHAR                                      MinorDriverVersion;
  ULONG                                      Flags;
  SET_OPTIONS_HANDLER                        SetOptionsHandler;
  MINIPORT_INITIALIZE_HANDLER                InitializeHandlerEx;
  MINIPORT_HALT_HANDLER                      HaltHandlerEx;
  MINIPORT_DRIVER_UNLOAD                     UnloadHandler;
  MINIPORT_PAUSE_HANDLER                     PauseHandler;
  MINIPORT_RESTART_HANDLER                   RestartHandler;
  MINIPORT_OID_REQUEST_HANDLER               OidRequestHandler;
  MINIPORT_SEND_NET_BUFFER_LISTS_HANDLER     SendNetBufferListsHandler;
  MINIPORT_RETURN_NET_BUFFER_LISTS_HANDLER   ReturnNetBufferListsHandler;
  MINIPORT_CANCEL_SEND_HANDLER               CancelSendHandler;
  MINIPORT_CHECK_FOR_HANG_HANDLER            CheckForHangHandlerEx;
  MINIPORT_RESET_HANDLER                     ResetHandlerEx;
  MINIPORT_DEVICE_PNP_EVENT_NOTIFY_HANDLER   DevicePnPEventNotifyHandler;
  MINIPORT_SHUTDOWN_HANDLER                  ShutdownHandlerEx;
  MINIPORT_CANCEL_OID_REQUEST_HANDLER        CancelOidRequestHandler;
  MINIPORT_DIRECT_OID_REQUEST_HANDLER        DirectOidRequestHandler;
  MINIPORT_CANCEL_DIRECT_OID_REQUEST_HANDLER CancelDirectOidRequestHandler;
  MINIPORT_SYNCHRONOUS_OID_REQUEST_HANDLER   SynchronousOidRequestHandler;
} NDIS_MINIPORT_DRIVER_CHARACTERISTICS, *PNDIS_MINIPORT_DRIVER_CHARACTERISTICS;

Члены

Header

Структура NDIS_OBJECT_HEADER для структуры NDIS_MINIPORT_DRIVER_CHARACTERISTICS. Задайте элемент типа структуры, заголовка указывает NDIS_OBJECT_TYPE_MINIPORT_DRIVER_CHARACTERISTICS.

Чтобы указать версию структуры NDIS_MINIPORT_DRIVER_CHARACTERISTICS, задайте для элемента редакции одно из следующих значений:

NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_3

Добавлен элемент SynchronousOidRequestHandler для NDIS 6.80.

Задайте для элемента размер значение NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_3.

NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_2

Добавлены directOidRequestHandlerи членов CancelDirectOidRequestHandler для NDIS 6.1.

Задайте для элемента размер значение NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_2.

NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_1

Исходная версия для NDIS 6.0.

Задайте для элемента размер значение NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_1.

MajorNdisVersion

Основная версия библиотеки NDIS, используемая драйвером. Текущее значение равно 0x06.

MinorNdisVersion

Дополнительная версия NDIS. Ниже приведены доступные дополнительные параметры значения версии.

Ценность Значение
0 NDIS 6
20 NDIS 6.20
30 NDIS 6.30
40 NDIS 6.40
50 NDIS 6.50
51 NDIS 6.51
60 NDIS 6.60
70 NDIS 6.70
80 NDIS 6.80
81 NDIS 6.81
82 NDIS 6.82
83 NDIS 6.83
84 NDIS 6.84
85 NDIS 6.85
86 NDIS 6.86
87 NDIS 6.87
88 NDIS 6.88
89 NDIS 6.89

MajorDriverVersion

Зарезервировано для основного номера версии драйвера. Драйверы минипорта могут указать любое необходимое значение.

MinorDriverVersion

Зарезервировано для дополнительного номера версии драйвера. Драйверы минипорта могут указать любое необходимое значение.

Flags

Битовая маска, которая может быть задана равным нулю или любому из следующих флагов, в сочетании с битовой ИЛИ:

NDIS_INTERMEDIATE_DRIVER

Задайте, если вызывающий объект является промежуточным драйвером NDIS.

NDIS_WDM_DRIVER

Если вызывающий объект является драйвером мини-порта NDIS-WDM.

SetOptionsHandler

Точка входа для функции MiniportSetOption s вызывающего объекта.

Требуется для co-NDIS. Рекомендуется использовать мини-порты Ethernet, поддерживающие RSS с помощью MSI-C через PCI.

InitializeHandlerEx

Обязательно. Точка входа для функция MiniportInitializeEx.

HaltHandlerEx

Обязательно. Точка входа для функции MiniportHaltEx.

UnloadHandler

Обязательно. Точка входа для функция MiniportDriverUnload.

PauseHandler

Обязательно. Точка входа для функции MiniportPause.

RestartHandler

Обязательно. Точка входа для функции MiniportRestart.

OidRequestHandler

Точка входа для функции MiniportOidRequest. Требуется для всех драйверов минипорта без подключения, включая все драйверы Ethernet, WLAN и мгновенные сообщения. Необязательно для некоторых драйверов минипорта CoNDIS.

SendNetBufferListsHandler

Обязательно. Точка входа для функция MiniportSendNetBufferLists.

ReturnNetBufferListsHandler

Обязательно. Точка входа для функция MiniportReturnNetBufferLists.

CancelSendHandler

Обязательно. Точка входа для функции MiniportCancelSend.

CheckForHangHandlerEx

Необязательный. Точка входа для функция MiniportCheckForHangEx.

MiniportCheckForHangEx не требуется для промежуточных драйверов или виртуальных мини-портов, так как они не являются физическими устройствами, которые могут зависать, поэтому они должны задать точку входа NULL.

MiniportCheckForHangEx запрещено на любом устройстве AOAC из-за влияния на время работы батареи, поэтому минипорт-драйверы для этих устройств должны установить эту точку входа на NULL.

MiniportCheckForHangEx не рекомендуется устанавливать для драйверов минипорта, предназначенных для установки на устройствах, отличных от AOAC, батареи, из-за влияния на время работы батареи, поэтому они должны установить эту точку входа на NULL.

MiniportCheckForHangEx разрешено, но не требуется для минипорт-драйверов, которые предназначены для установки на устройствах с питанием (mains-powered). Для драйверов, предназначенных для NDIS 6.30 и более поздних версий, рекомендуется использовать вместо этого NdisMResetMiniport.

ResetHandlerEx

Необязательный (обязательный, если указан CheckForHangHandlerEx). Точка входа для функции MiniportResetEx. MiniportResetEx не требуется для промежуточных драйверов, поэтому они должны задать для этой точки входа значение NULL.

DevicePnPEventNotifyHandler

Обязательно. Точка входа для функция MiniportDevicePnPEventNotify.

ShutdownHandlerEx

Обязательно. Точка входа для функции miniportShutdownEx .

CancelOidRequestHandler

Обязательно. Точка входа для функция MiniportCancelOidRequest.

DirectOidRequestHandler

Точка входа для функция MiniportDirectOidRequest. Это необязательная точка входа. Установите для этого элемента значение NULL, если драйвер мини-порта не обрабатывает прямые запросы OID.

Необязательно для Ethernet; однако, если он указан, оба должны быть предоставлены.

Требуется для мини-портов WLAN и Ethernet, реализующих разгрузку RDMA или IPSec.

CancelDirectOidRequestHandler

Точка входа для функция MiniportCancelDirectOidRequest. Это необязательная точка входа. Установите для этого элемента значение NULL, если драйвер мини-порта не обрабатывает прямые запросы OID.

Необязательно для Ethernet; однако, если он указан, оба должны быть предоставлены.

Требуется для мини-портов WLAN и Ethernet, реализующих разгрузку RDMA или IPSec.

SynchronousOidRequestHandler

Точка входа для функция MiniportSynchronousOidRequest. Это необязательная точка входа. Задайте этому элементу значение NULL, если драйвер мини-порта не обрабатывает синхронные запросы OID.

Требуется для мини-портов WLAN и Ethernet, реализующих RSSv2.

Замечания

Драйвер NDIS передает указатель на его NDIS_MINIPORT_DRIVER_CHARACTERISTICS структуру в параметр е miniportDriverCharacteristics функция NdisMRegisterMiniportDriver. Драйвер минипорта вызывает NdisMRegisterMiniportDriver из подпрограммы DriverEntry (см. также DriverEntry NDIS Miniport Driver).

Требования

Требование Ценность
минимальные поддерживаемые клиентские Поддерживается в NDIS 6.0 и более поздних версиях.
заголовка ndis.h (include Ndis.h)

См. также

DriverEntry

MiniportCancelDirectOidRequest

MiniportCancelOidRequest

MiniportCancelSend

MiniportCheckForHangEx

MiniportDevicePnPEventNotify

MiniportDirectOidRequest

MiniportDriverUnload

MiniportHaltEx

MiniportInitializeEx

MiniportOidRequest

MiniportPause

MiniportResetEx

MiniportRestart

MiniportReturnNetBufferLists

MiniportSendNetBufferLists

MiniportSetOptions

MiniportShutdownEx

NdisMRegisterMiniportDriver