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


Функция NdisSetOptionalHandlers (ndis.h)

Драйверы NDIS могут вызывать функцию NdisSetOptionalHandlers, чтобы задать или изменить точки входа функций драйвера.

Синтаксис

NDIS_STATUS NdisSetOptionalHandlers(
  NDIS_HANDLE                    NdisHandle,
  PNDIS_DRIVER_OPTIONAL_HANDLERS OptionalHandlers
);

Параметры

NdisHandle

Дескриптор NDIS, определяющий экземпляр драйвера или драйвера.

Для драйвера протокола это значение NdisDriverHandle, переданное функции ProtocolSetOptions или значение NdisBindingHandle, полученное путем вызова функции NdisOpenAdapterEx.

Для минипорт-драйвера это значение NdisDriverHandle, переданное функции MiniportSetOptions

Для драйвера фильтра это значение NdisDriverHandle, переданное функции FilterSetOptions или значение NdisFilterHandle, переданное функции FilterAttach.

OptionalHandlers

Указатель на одну из следующих структур NDIS:

NDIS_CLIENT_CHIMNEY_OFFLOAD_GENERIC_CHARACTERISTICS NDIS_CLIENT_CHIMNEY_OFFLOAD_TCP_CHARACTERISTICS NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS NDIS_CO_CLIENT_OPTIONAL_HANDLERS NDIS_FILTER_PARTIAL_CHARACTERISTICS NDIS_MINIPORT_CO_CHARACTERISTICS NDIS_MINIPORT_PNP_CHARACTERISTICS

NDIS_MINIPORT_SS_CHARACTERISTICS

NDIS_NDK_PROVIDER_CHARACTERISTICS

NDIS_PROTOCOL_CO_CHARACTERISTICS NDIS_PROVIDER_CHIMNEY_OFFLOAD_GENERIC_CHARACTERISTICS NDIS_PROVIDER_CHIMNEY_OFFLOAD_TCP_CHARACTERISTICS NDIS_SHARED_MEMORY_PROVIDER_CHARACTERISTICS

Возвращаемое значение

NdisSetOptionalHandlers возвращает одно из следующих значений состояния:

Возвращаемый код Описание
NDIS_STATUS_SUCCESS

NdisSetOptionalHandlers возвращает NDIS_STATUS_SUCCESS, если он задает точки входа драйвера.

NDIS_STATUS_RESOURCES

NdisSetOptionalHandlers произошел сбой из-за нехватки ресурсов.

NDIS_STATUS_NOT_SUPPORTED

NdisSetOptionalHandlers произошел сбой, так как минипорт-драйвер не указал, что он поддерживает NDIS 6.0 или более поздней версии. Минипорт-драйвер указывает свою версию NDIS при вызове функция NdisMRegisterMiniportDriver.

NDIS_STATUS_FAILURE

NdisSetOptionalHandlers возвращает NDIS_STATUS_FAILURE, если ни одно из предыдущих значений не применяется.

Замечания

Драйвер NDIS может вызывать NdisSetOptionalHandlers для перезаписи точек входа по умолчанию. Типы структур, передаваемые в OptionalHandlers зависят от типа драйвера.

Драйверы протокола могут вызывать NdisSetOptionalHandlers в контексте функции ProtocolSetOptions. В качестве параметра драйверы протокола могут вызывать NdisSetOptionalHandlers из функции ProtocolBindAdapterEx или функции функция ProtocolOpenAdapterCompleteEx после того, как драйвер протокола имеет допустимый дескриптор из функции NdisOpenAdapterEx.

В этом случае допустимые структуры:

NDIS_PROTOCOL_CO_CHARACTERISTICS NDIS_CO_CLIENT_OPTIONAL_HANDLERS NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS NDIS_SHARED_MEMORY_PROVIDER_CHARACTERISTICS NDIS_CLIENT_CHIMNEY_OFFLOAD_GENERIC_CHARACTERISTICS NDIS_CLIENT_CHIMNEY_OFFLOAD_TCP_CHARACTERISTICS

Дополнительные сведения о 2 структурах разгрузки дыма см. в документации поNDIS 6.0 TCP-дымохода.

Драйверы минипорта вызывают NdisSetOptionalHandlers в контексте функции MiniportSetOptions.

В этом случае допустимые структуры:

NDIS_MINIPORT_CO_CHARACTERISTICS NDIS_MINIPORT_PNP_CHARACTERISTICS

NDIS_MINIPORT_SS_CHARACTERISTICS

NDIS_NDK_PROVIDER_CHARACTERISTICS

NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS NDIS_SHARED_MEMORY_PROVIDER_CHARACTERISTICS NDIS_CLIENT_CHIMNEY_OFFLOAD_GENERIC_CHARACTERISTICS NDIS_CLIENT_CHIMNEY_OFFLOAD_TCP_CHARACTERISTICS

Дополнительные сведения о 2 структурах разгрузки дыма см. в документации поNDIS 6.0 TCP-дымохода.

Драйверы фильтров вызывают NdisSetOptionalHandlers в контексте функции FilterSetOptions.

В текущей версии Windows нет дополнительных служб драйверов фильтров.

Драйверы фильтров могут вызывать NdisSetOptionalHandlers для модуля фильтра. Драйверы фильтров вызывают NdisSetOptionalHandlers в контексте функция FilterSetModuleOptions.

В этом случае допустимые структуры:

NDIS_FILTER_PARTIAL_CHARACTERISTICS

NDIS_CLIENT_CHIMNEY_OFFLOAD_GENERIC_CHARACTERISTICS

NDIS_CLIENT_CHIMNEY_OFFLOAD_TCP_CHARACTERISTICS

NDIS_PROVIDER_CHIMNEY_OFFLOAD_GENERIC_CHARACTERISTICS

NDIS_PROVIDER_CHIMNEY_OFFLOAD_TCP_CHARACTERISTICS

Дополнительные сведения о 4 структурах разгрузки дымохода см. в документации по разгрузке NDIS 6.0 TCP.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Поддерживается в NDIS 6.0 и более поздних версиях.
целевая платформа Всеобщий
заголовка ndis.h (include Ndis.h)
библиотеки Ndis.lib
IRQL PASSIVE_LEVEL
правил соответствия DDI Irql_Miscellaneous_Function(ndis)

См. также

FilterAttach

FilterRestart

FilterSetOptions

MiniportSetOptions

NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS NDIS_CO_CLIENT_OPTIONAL_HANDLERS NDIS_FILTER_PARTIAL_CHARACTERISTICS NDIS_MINIPORT_CO_CHARACTERISTICS NDIS_MINIPORT_PNP_CHARACTERISTICS NDIS_PROTOCOL_CO_CHARACTERISTICS NDIS_SHARED_MEMORY_PROVIDER_CHARACTERISTICS

NdisMRegisterMiniportDriver

NdisOpenAdapterEx

ProtocolBindAdapterEx

ProtocolOpenAdapterCompleteEx

ProtocolSetOptions