Función NdisSetOptionalHandlers (ndis.h)

Los controladores NDIS pueden llamar a la función NdisSetOptionalHandlers para establecer o cambiar los puntos de entrada de las funciones del controlador.

Sintaxis

NDIS_STATUS NdisSetOptionalHandlers(
  NDIS_HANDLE                    NdisHandle,
  PNDIS_DRIVER_OPTIONAL_HANDLERS OptionalHandlers
);

Parámetros

NdisHandle

Identificador NDIS que identifica un controlador o una instancia de controlador.

Para un controlador de protocolo, se trata del valor NdisDriverHandle pasado a la función ProtocolSetOptions o al valor NdisBindingHandle obtenido mediante una llamada a la función NdisOpenAdapterEx .

Para un controlador de minipuerto, este es el valor NdisDriverHandle pasado a la función MiniportSetOptions .

Para un controlador de filtro, este es el valor NdisDriverHandle pasado a la función FilterSetOptions o al valor NdisFilterHandle pasado a la función FilterAttach .

OptionalHandlers

Puntero a una de las siguientes estructuras 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

Valor devuelto

NdisSetOptionalHandlers devuelve uno de los siguientes valores de estado:

Código devuelto Descripción
NDIS_STATUS_SUCCESS

NdisSetOptionalHandlers devuelve NDIS_STATUS_SUCCESS si establece los puntos de entrada del controlador.

NDIS_STATUS_RESOURCES

Error de NdisSetOptionalHandlers debido a recursos insuficientes.

NDIS_STATUS_NOT_SUPPORTED

Error en NdisSetOptionalHandlers porque el controlador de miniport no especificó que admite NDIS 6.0 o posterior. Un controlador de minipuerto especifica su versión NDIS cuando llama a Función NdisMRegisterMiniportDriver .

NDIS_STATUS_FAILURE

NdisSetOptionalHandlers devuelve NDIS_STATUS_FAILURE si no se aplica ninguno de los valores anteriores.

Comentarios

Un controlador NDIS puede llamar a NdisSetOptionalHandlers para sobrescribir sus puntos de entrada predeterminados. Los tipos de estructura pasados en OptionalHandlers varían según el tipo de controlador.

Los controladores de protocolo pueden llamar a NdisSetOptionalHandlers en el contexto de la función ProtocolSetOptions . Como opción, los controladores de protocolo pueden llamar a NdisSetOptionalHandlers desde la función ProtocolBindAdapterEx o la Función ProtocolOpenAdapterCompleteEx después de que el controlador de protocolo tenga un identificador válido de la función NdisOpenAdapterEx .

En este caso, las estructuras válidas son:

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

Para obtener más información sobre las 2 estructuras de descarga de chimenea, consulte la documentación de descarga de chimenea TCP 6.0 de NDIS.

Los controladores de minipuerto llaman a NdisSetOptionalHandlers en el contexto de la función MiniportSetOptions .

En este caso, las estructuras válidas son:

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

Para obtener más información sobre las 2 estructuras de descarga de chimenea, consulte la documentación de descarga de chimenea TCP 6.0 de NDIS.

Los controladores de filtro llaman a NdisSetOptionalHandlers en el contexto de la función FilterSetOptions .

No hay ningún servicio de controlador de filtro opcional en la versión actual de Windows.

Los controladores de filtro pueden llamar a NdisSetOptionalHandlers para un módulo de filtro. Los controladores de filtro llaman a NdisSetOptionalHandlers en el contexto de . Función FilterSetModuleOptions .

En este caso, las estructuras válidas son:

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

Para obtener más información sobre las 4 estructuras de descarga de chimenea, consulte la documentación de descarga de chimenea TCP NDIS 6.0.

Requisitos

Requisito Value
Cliente mínimo compatible Compatible con NDIS 6.0 y versiones posteriores.
Plataforma de destino Universal
Encabezado ndis.h (incluya Ndis.h)
Library Ndis.lib
IRQL PASSIVE_LEVEL
Reglas de cumplimiento de DDI Irql_Miscellaneous_Function(ndis)

Consulte también

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