Compartir vía


Operaciones intermedias de restablecimiento del controlador

Un controlador intermedio debe estar preparado para controlar la situación en la que se pueden quitar sus envíos pendientes en un enlace a un controlador subyacente porque se restablece la NIC subyacente.

Normalmente, un controlador subyacente restablece una NIC porque NDIS llama a la función MiniportResetEx del controlador de miniporte cuando NDIS agota el tiempo de espera de los envíos en cola o las solicitudes enlazadas a la NIC. Si se restablece una NIC subyacente, NDIS llama a la función ProtocolStatusEx(o ProtocolCoStatusEx) de cada protocolo enlazado y controlador intermedio con un estado de NDIS_STATUS_RESET_START. Cuando el controlador de miniporte completa el restablecimiento, NDIS llama de nuevo a ProtocolStatusEx(o ProtocolCoStatusEx) con un estado de NDIS_STATUS_RESET_END.

Cuando se restablece una NIC, si un controlador intermedio enlazado tiene datos de red de transmisión pendientes de esa NIC, NDIS vuelve a completar esos datos de red al controlador intermedio con un estado adecuado. El controlador intermedio debe volver a enviar estos datos de red cuando se complete el restablecimiento.

Cuando un controlador intermedio recibe un estado de NDIS_STATUS_RESET_START, debe:

  • Mantenga los datos de red listos para transmitirse hasta que ProtocolStatusEx o ProtocolCoStatusEx reciba una notificación NDIS_STATUS_RESET_END.

  • Mantenga los datos de red recibidos que estén listos para indicarse hasta el siguiente controlador superior hasta que ProtocolStatusEx(o ProtocolCoStatusEx) reciba una notificación NDIS_STATUS_RESET_END.

  • Limpie cualquier estado interno que mantenga para las operaciones en curso y el estado de la NIC.

Después de que ProtocolStatusEx(o ProtocolCoStatusEx) reciba NDIS_STATUS_RESET_END, el controlador intermedio puede reanudar el envío de datos de red, realizar solicitudes y realizar indicaciones a controladores de nivel superior.

Un controlador intermedio no proporciona una función MiniportResetEx .