структура NDIS_MINIPORT_DRIVER_CHARACTERISTICS (ndis.h)
Драйвер NDIS инициализирует структуру NDIS_MINIPORT_DRIVER_CHARACTERISTICS , чтобы определить характеристики драйвера мини-порта, включая точки входа для его функций MiniportXxx .
Синтаксис
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 . Присвойте элементу Type структуры, указанной в заголовке , 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
Точка входа для функции MiniportSetOptions вызывающего объекта.
Требуется для 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 из-за влияния на время работы батареи, поэтому драйверы miniport для этих устройств должны устанавливать для этой точки входа значение NULL.
MiniportCheckForHangEx не рекомендуется использовать для драйверов miniport, предназначенных для установки на устройствах без AOAC с питанием от батареи из-за влияния на время работы батареи, поэтому они должны установить для этой точки входа значение NULL.
MiniportCheckForHangEx разрешен, но не требуется для драйверов miniport, которые предназначены для установки на устройствах с линейным питанием (с питанием от сети). Для драйверов, предназначенных для 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 Drivers).
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Поддерживается в NDIS 6.0 и более поздних версиях. |
Верхняя часть | ndis.h (включая Ndis.h) |