структура 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) |
См. также раздел
FilterCancelDirectOidRequest FilterCancelSendNetBufferLists FilterDirectOidRequestComplete FilterSendNetBufferListsCompleteПараметры INF-файла для драйверов фильтров
Инициализация драйвера фильтра
NDIS_FILTER_PARTIAL_CHARACTERISTICSОбратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по