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, este es el valor de NdisDriverHandle pasado a la función ProtocolSetOptions o a la función NdisBindingHandle obtenida mediante una llamada a la función NdisOpenAdapterEx.
Para un controlador de minipuerto, este es el valor de NdisDriverHandle pasado a la función MiniportSetOptions
Para un controlador de filtro, este es el valor de NdisDriverHand le pasado a la función FilterSetOptions o al valor de 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. |
|
NdisSetOptionalHandlers error debido a recursos insuficientes. |
|
NdisSetOptionalHandlers falló 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. |
Observaciones
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 de. Como opción, los controladores de protocolo pueden llamar a NdisSetOptionalHandlers desde la función ProtocolBindAdapterEx de o la función función ProtocolOpenAdapterCompleteEx después de que el controlador de protocolo tenga un identificador válido desde la función NdisOpenAdapterEx de.
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 documentación de descarga de chimenea TCP NDIS 6.0.
Los controladores de miniportar 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 documentación de descarga de chimenea TCP NDIS 6.0.
Los controladores de filtro llaman a NdisSetOptionalHandlers en el contexto de la función FilterSetOptions de.
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 del 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 documentación de descarga de chimenea TCP NDIS 6.0.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Se admite en NDIS 6.0 y versiones posteriores. |
de la plataforma de destino de | Universal |
encabezado de | ndis.h (incluya Ndis.h) |
biblioteca de | Ndis.lib |
irQL | PASSIVE_LEVEL |
reglas de cumplimiento de DDI | Irql_Miscellaneous_Function(ndis) |