структура 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, задайте для элемента Revision одно из следующих значений:
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 |
87 | NDIS 6.87 |
88 | NDIS 6.88 |
89 | NDIS 6.89 |
MajorDriverVersion
Зарезервировано для основного номера версии драйвера фильтра. Драйверы фильтров могут указывать любое необходимое значение.
MinorDriverVersion
Зарезервировано для дополнительного номера версии драйвера фильтра. Драйверы фильтров могут указывать любое необходимое значение.
Flags
Следующий флаг поддерживается в NDIS 6.89 и более поздних версий:
Значение | Значение |
---|---|
NDIS_FILTER_DRIVER_UDP_RSC_NOT_SUPPORTED 0x00000008 | Драйвер отказался от поддержки URO. |
В NDIS 6.88 и ниже флаги зарезервированы для 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) |
См. также раздел
FilterCancelDirectOidRequest FilterCancelSendNetBufferLists FilterDirectOidRequestComplete FilterSendNetBufferListsCompleteПараметры INF-файла для фильтров драйверов
Инициализация драйвера фильтра
NDIS_FILTER_PARTIAL_CHARACTERISTICSОбратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по