структура NDIS_PROTOCOL_DRIVER_CHARACTERISTICS (ndis.h)
Чтобы указать характеристики драйвера, драйвер протокола инициализирует структуру NDIS_PROTOCOL_DRIVER_CHARACTERISTICS и передает ее в NDIS.
Синтаксис
typedef struct _NDIS_PROTOCOL_DRIVER_CHARACTERISTICS {
NDIS_OBJECT_HEADER Header;
UCHAR MajorNdisVersion;
UCHAR MinorNdisVersion;
UCHAR MajorDriverVersion;
UCHAR MinorDriverVersion;
ULONG Flags;
NDIS_STRING Name;
SET_OPTIONS_HANDLER SetOptionsHandler;
BIND_HANDLER_EX BindAdapterHandlerEx;
UNBIND_HANDLER_EX UnbindAdapterHandlerEx;
OPEN_ADAPTER_COMPLETE_HANDLER_EX OpenAdapterCompleteHandlerEx;
CLOSE_ADAPTER_COMPLETE_HANDLER_EX CloseAdapterCompleteHandlerEx;
NET_PNP_EVENT_HANDLER NetPnPEventHandler;
UNINSTALL_PROTOCOL_HANDLER UninstallHandler;
OID_REQUEST_COMPLETE_HANDLER OidRequestCompleteHandler;
STATUS_HANDLER_EX StatusHandlerEx;
RECEIVE_NET_BUFFER_LISTS_HANDLER ReceiveNetBufferListsHandler;
SEND_NET_BUFFER_LISTS_COMPLETE_HANDLER SendNetBufferListsCompleteHandler;
DIRECT_OID_REQUEST_COMPLETE_HANDLER DirectOidRequestCompleteHandler;
} NDIS_PROTOCOL_DRIVER_CHARACTERISTICS, *PNDIS_PROTOCOL_DRIVER_CHARACTERISTICS;
Члены
Header
Структура NDIS_OBJECT_HEADER для структуры NDIS_PROTOCOL_DRIVER_CHARACTERISTICS . Задайте для элемента Type структуры, указанной в заголовке , значение NDIS_OBJECT_TYPE_PROTOCOL_DRIVER_CHARACTERISTICS.
Чтобы указать версию структуры NDIS_PROTOCOL_DRIVER_CHARACTERISTICS , задайте для элемента Revision одно из следующих значений:
NDIS_PROTOCOL_DRIVER_CHARACTERISTICS_REVISION_2
Добавлен элемент DirectOidRequestCompleteHandler для NDIS 6.1.
Задайте для элемента Размер значение NDIS_SIZEOF_PROTOCOL_DRIVER_CHARACTERISTICS_REVISION_2.
NDIS_PROTOCOL_DRIVER_CHARACTERISTICS_REVISION_1
Исходная версия для NDIS 6.0.
Задайте для элемента Размер значение NDIS_SIZEOF_PROTOCOL_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 6.89 и более поздних версий:
Значение | Значение |
---|---|
NDIS_PROTOCOL_DRIVER_UDP_RSC_NOT_SUPPORTED 0x00000008 | Драйвер отказался от поддержки URO. |
В NDIS 6.88 и ниже флаги зарезервированы для NDIS. Драйверы протокола должны задать для этого элемента нулевое значение.
Name
Строка Юникода, которая является именем службы драйвера протокола.
SetOptionsHandler
Точка входа для функции ProtocolSetOptions .
BindAdapterHandlerEx
Точка входа для Функция ProtocolBindAdapterEx .
UnbindAdapterHandlerEx
Точка входа для Функция ProtocolUnbindAdapterEx .
OpenAdapterCompleteHandlerEx
Точка входа для Функция ProtocolOpenAdapterCompleteEx .
CloseAdapterCompleteHandlerEx
Точка входа для Функция ProtocolCloseAdapterCompleteEx .
NetPnPEventHandler
Точка входа функции ProtocolNetPnPEvent вызывающего объекта.
UninstallHandler
Точка входа функции ProtocolUninstall вызывающего объекта , если она имеется, или значение NULL.
OidRequestCompleteHandler
Точка входа вызывающей стороны Функция ProtocolOidRequestComplete .
StatusHandlerEx
Точка входа функции ProtocolStatusEx вызывающего объекта, если она имеется, или значение NULL.
ReceiveNetBufferListsHandler
Точка входа для Функция ProtocolReceiveNetBufferLists .
SendNetBufferListsCompleteHandler
Точка входа для Функция ProtocolSendNetBufferListsComplete .
DirectOidRequestCompleteHandler
Точка входа вызывающей стороны Функция ProtocolDirectOidRequestComplete . Это необязательная функция. Задайте для этой точки входа значение NULL , если драйвер протокола не поддерживает интерфейс прямого запроса OID.
Комментарии
Драйвер протокола вызываетФункция NdisRegisterProtocolDriver для регистрации ее характеристик, включая точки входа по умолчанию для функций драйвера протокола (ProtocolXxx). Драйвер протокола инициализирует структуру NDIS_PROTOCOL_DRIVER_CHARACTERISTICS и передает указатель на эту структуру в параметре ProtocolCharacteristicsобъекта NdisRegisterProtocolDriver.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Поддерживается в NDIS 6.0 и более поздних версиях. |
Верхняя часть | ndis.h (включая Ndis.h) |