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_CHARACTERISTICSNDIS_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_CHARACTERISTICSValor devuelto
NdisSetOptionalHandlers devuelve uno de los siguientes valores de estado:
Código devuelto | Descripción |
---|---|
|
NdisSetOptionalHandlers devuelve NDIS_STATUS_SUCCESS si establece los puntos de entrada del controlador. |
|
Error de NdisSetOptionalHandlers debido a recursos insuficientes. |
|
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 . |
|
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_CHARACTERISTICSPara 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_CHARACTERISTICSNDIS_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_CHARACTERISTICSPara 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_CHARACTERISTICSNDIS_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) |