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


структура 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)

См. также раздел

NdisRegisterProtocolDriver

ProtocolBindAdapterEx

ProtocolCloseAdapterCompleteEx ProtocolDirectOidRequestComplete

ProtocolNetPnPEvent

ProtocolOidRequestComplete

ProtocolOpenAdapterCompleteEx ProtocolReceiveNetBufferLists ProtocolSendNetBufferListsComplete

ProtocolSetOptions

ProtocolStatusEx

ProtocolUnbindAdapterEx

ProtocolUninstall