Configuración de servicios de controladores de protocolo opcionales
NDIS llama a la función ProtocolSetOptions de un controlador de protocolo para permitir que un controlador de protocolo configure servicios opcionales. NDIS llama a ProtocolSetOptions en el contexto de la llamada del controlador de protocolo a la función NdisRegisterProtocolDriver .
ProtocolSetOptions registra los puntos de entrada predeterminados para las funciones ProtocolXxx opcionales y puede asignar otros recursos de controlador. Para registrar funciones ProtocolXxx opcionales, el controlador de protocolo llama a la función NdisSetOptionalHandlers y pasa una estructura de características en el parámetro OptionalHandlers . En este caso, el controlador de protocolo pasa el identificador del parámetro NdisDriverHandle de ProtocolSetOptions en el parámetro NdisHandle de NdisSetOptionalHandlers.
Un controlador de protocolo también puede 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 desde la función NdisOpenAdapterEx . En este caso, el controlador de protocolo pasa el identificador del parámetro NdisBindingHandle de NdisOpenAdapterEx en el parámetro NdisHandle de NdisSetOptionalHandlers.
En este caso, las estructuras de características válidas son:
NDIS_PROTOCOL_CO_CHARACTERISTICS
NDIS_CO_CLIENT_OPTIONAL_HANDLERS
NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS
NDIS_CLIENT_CHIMNEY_OFFLOAD_GENERIC_CHARACTERISTICS (consulte la documentación de descarga de chimenea TCP de NDIS 6.0)
NDIS_CLIENT_CHIMNEY_OFFLOAD_TCP_CHARACTERISTICS (consulte la documentación de descarga de chimenea TCP de NDIS 6.0)