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

Чтобы указать характеристики драйвера, драйвер фильтра инициализирует структуру NDIS_FILTER_DRIVER_CHARACTERISTICS и передает ее в NDIS.

Синтаксис

typedef struct _NDIS_FILTER_DRIVER_CHARACTERISTICS {
  NDIS_OBJECT_HEADER                              Header;
  UCHAR                                           MajorNdisVersion;
  UCHAR                                           MinorNdisVersion;
  UCHAR                                           MajorDriverVersion;
  UCHAR                                           MinorDriverVersion;
  ULONG                                           Flags;
  NDIS_STRING                                     FriendlyName;
  NDIS_STRING                                     UniqueName;
  NDIS_STRING                                     ServiceName;
  SET_OPTIONS_HANDLER                             SetOptionsHandler;
  FILTER_SET_FILTER_MODULE_OPTIONS_HANDLER        SetFilterModuleOptionsHandler;
  FILTER_ATTACH_HANDLER                           AttachHandler;
  FILTER_DETACH_HANDLER                           DetachHandler;
  FILTER_RESTART_HANDLER                          RestartHandler;
  FILTER_PAUSE_HANDLER                            PauseHandler;
  FILTER_SEND_NET_BUFFER_LISTS_HANDLER            SendNetBufferListsHandler;
  FILTER_SEND_NET_BUFFER_LISTS_COMPLETE_HANDLER   SendNetBufferListsCompleteHandler;
  FILTER_CANCEL_SEND_HANDLER                      CancelSendNetBufferListsHandler;
  FILTER_RECEIVE_NET_BUFFER_LISTS_HANDLER         ReceiveNetBufferListsHandler;
  FILTER_RETURN_NET_BUFFER_LISTS_HANDLER          ReturnNetBufferListsHandler;
  FILTER_OID_REQUEST_HANDLER                      OidRequestHandler;
  FILTER_OID_REQUEST_COMPLETE_HANDLER             OidRequestCompleteHandler;
  FILTER_CANCEL_OID_REQUEST_HANDLER               CancelOidRequestHandler;
  FILTER_DEVICE_PNP_EVENT_NOTIFY_HANDLER          DevicePnPEventNotifyHandler;
  FILTER_NET_PNP_EVENT_HANDLER                    NetPnPEventHandler;
  FILTER_STATUS_HANDLER                           StatusHandler;
  FILTER_DIRECT_OID_REQUEST_HANDLER               DirectOidRequestHandler;
  FILTER_DIRECT_OID_REQUEST_COMPLETE_HANDLER      DirectOidRequestCompleteHandler;
  FILTER_CANCEL_DIRECT_OID_REQUEST_HANDLER        CancelDirectOidRequestHandler;
  FILTER_SYNCHRONOUS_OID_REQUEST_HANDLER          SynchronousOidRequestHandler;
  FILTER_SYNCHRONOUS_OID_REQUEST_COMPLETE_HANDLER SynchronousOidRequestCompleteHandler;
} NDIS_FILTER_DRIVER_CHARACTERISTICS, *PNDIS_FILTER_DRIVER_CHARACTERISTICS;

Члены

Header

Структура NDIS_OBJECT_HEADER для структуры характеристик драйвера фильтра (NDIS_FILTER_DRIVER_CHARACTERISTICS). Задайте для элемента Type структуры, указанной в заголовке , NDIS_OBJECT_TYPE_FILTER_DRIVER_CHARACTERISTICS.

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

NDIS_FILTER_CHARACTERISTICS_REVISION_3

Добавлены члены SynchronousOidRequestHandler и SynchronousOidRequestCompleteHandler для NDIS 6.80.

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

NDIS_FILTER_CHARACTERISTICS_REVISION_2

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

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

NDIS_FILTER_CHARACTERISTICS_REVISION_1

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

Задайте для элемента Размер значение NDIS_SIZEOF_FILTER_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

MajorDriverVersion

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

MinorDriverVersion

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

Flags

Зарезервировано для NDIS.

FriendlyName

Строка в Юникоде, представляющая доступное пользователю описание драйвера фильтра.

UniqueName

Строка Юникода, представляющая уникальное имя драйвера фильтра. Эта строка должна быть GUID, заключенной в фигурные скобки, например "{5cbf81bd-5055-47cd-9055-a76b2b4e3697}". Этот GUID должен соответствовать идентификатору в записи INF-файла NetCfgInstanceId в INF-файле драйвера фильтра. Дополнительные сведения см. в разделе Параметры INF-файла для драйверов фильтров.

ServiceName

Строка Юникода, представляющая имя службы драйвера фильтра. Эта строка должна быть именем службы из директивы AddService в INF-файле драйвера фильтра. Дополнительные сведения см. в разделе Параметры INF-файла для драйверов фильтров.

SetOptionsHandler

Указывает точку входа функции FilterSetOptions вызывающего объекта.

SetFilterModuleOptionsHandler

Точка входа вызывающего объектаФункция FilterSetModuleOptions.

AttachHandler

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

DetachHandler

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

RestartHandler

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

PauseHandler

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

SendNetBufferListsHandler

Точка входа вызывающего объектаФункция FilterSendNetBufferLists. Чтобы обойти эту функцию, присвойте этому члену значение NULL.

SendNetBufferListsCompleteHandler

Точка входа вызывающего объектаФункция FilterSendNetBufferListsComplete. Чтобы обойти эту функцию, присвойте этому члену значение NULL.

CancelSendNetBufferListsHandler

Точка входа вызывающего объектаФункция FilterCancelSendNetBufferLists. Чтобы обойти эту функцию, присвойте этому члену значение NULL.

ReceiveNetBufferListsHandler

Точка входа вызывающего объектаФункция FilterReceiveNetBufferLists. Чтобы обойти эту функцию, присвойте этому члену значение NULL.

ReturnNetBufferListsHandler

Точка входа вызывающего объектаФункция FilterReturnNetBufferLists. Чтобы обойти эту функцию, присвойте этому члену значение NULL.

OidRequestHandler

Точка входа функции FilterOidRequest вызывающего объекта. Чтобы обойти эту функцию, присвойте этому члену значение NULL.

OidRequestCompleteHandler

Точка входа вызывающего объектаФункция FilterOidRequestComplete. Чтобы обойти эту функцию, присвойте этому члену значение NULL.

CancelOidRequestHandler

Точка входа вызывающего объекта Функция FilterCancelOidRequest . Чтобы обойти эту функцию, присвойте этому члену значение NULL.

DevicePnPEventNotifyHandler

Точка входа вызывающего объектаФункция FilterDevicePnPEventNotify. Чтобы обойти эту функцию, присвойте этому члену значение NULL.

NetPnPEventHandler

Точка входа функции FilterNetPnPEvent вызывающего объекта. Чтобы обойти эту функцию, присвойте этому члену значение NULL.

StatusHandler

Точка входа функции FilterStatus вызывающего объекта. Чтобы обойти эту функцию, присвойте этому члену значение NULL.

DirectOidRequestHandler

Точка входа вызывающего объектаФункция FilterDirectOidRequest. Чтобы обойти эту функцию, присвойте этому члену значение NULL.

DirectOidRequestCompleteHandler

Точка входа вызывающего объектаФункция FilterDirectOidRequestComplete. Чтобы обойти эту функцию, присвойте этому члену значение NULL.

CancelDirectOidRequestHandler

Точка входа вызывающего объектаФункция FilterCancelDirectOidRequest. Чтобы обойти эту функцию, присвойте этому члену значение NULL.

SynchronousOidRequestHandler

Точка входа функции FilterSynchronousOidRequest вызывающего объекта. Чтобы обойти эту функцию, присвойте этому члену значение NULL.

SynchronousOidRequestCompleteHandler

Точка входа функции FilterSynchronousOidRequestComplete вызывающего объекта. Чтобы обойти эту функцию, присвойте этому члену значение NULL.

Комментарии

Драйвер фильтра вызываетФункция NdisFRegisterFilterDriver для регистрации ее характеристик, включая точки входа по умолчанию для функций драйвера фильтра (FilterXxx). Драйвер фильтра инициализирует структуру NDIS_FILTER_DRIVER_CHARACTERISTICS и передает указатель на эту структуру в параметре FilterCharacteristicsобъекта NdisFRegisterFilterDriver.

Требования

Требование Значение
Минимальная версия клиента Поддерживается в NDIS 6.0 и более поздних версиях.
Верхняя часть ndis.h (включая Ndis.h)

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

FilterAttach

FilterCancelDirectOidRequest

FilterCancelOidRequest

FilterCancelSendNetBufferLists

FilterDetach

FilterDevicePnPEventNotify

FilterDirectOidRequest

FilterDirectOidRequestComplete

FilterNetPnPEvent

FilterOidRequest

FilterOidRequestComplete

FilterPause

FilterReceiveNetBufferLists

FilterRestart

FilterReturnNetBufferLists

FilterSendNetBufferLists

FilterSendNetBufferListsComplete

FilterSetModuleOptions

FilterSetOptions

FilterStatus

Параметры INF-файла для драйверов фильтров

Инициализация драйвера фильтра

NDIS_FILTER_PARTIAL_CHARACTERISTICS

NDIS_OBJECT_HEADER

NdisFRegisterFilterDriver