Compartir a través de


Restablecimiento de hardware del controlador miniport

Un controlador de miniport debe registrar una función MiniportResetEx con NdisMRegisterMiniportDriver.

MiniportResetEx puede completarse de forma sincrónica o asincrónica con una llamada a NdisMResetComplete(consulte la ilustración siguiente).

Diagrama que ilustra el proceso de restablecimiento de una tarjeta de interfaz de red.

MiniportResetEx debe:

  • Deshabilite las interrupciones adicionales.

  • Borre los datos asociados a los envíos en curso. Por ejemplo, en un búfer de anillo para un dispositivo de acceso directo a memoria (DMA) de bus-master, se deben borrar los punteros para enviar búferes. Los controladores miniport orientados a conexiones y deserializados deben retornar NDIS_STATUS_REQUEST_ABORTED para las solicitudes de envío en cola.

  • Restaure el estado de hardware y el estado interno del controlador de miniportar al estado que existía antes de la operación de restablecimiento.

El controlador de minipuerto es responsable de restaurar el estado de hardware del dispositivo, excepto las direcciones de multidifusión, los filtros de paquetes, la configuración de descarga de tareas y los patrones de reactivación. Estos valores se restauran mediante el controlador de miniport o NDIS. El controlador de minipuerto determina quién es responsable de restaurar esta configuración devolviendo un valor booleano en el parámetro AddressingReset .

Si el controlador de miniporte devuelve FALSE en el parámetro AddressingReset , el controlador de miniporte restaura sus direcciones de multidifusión, filtros de paquetes, configuración de descarga de tareas y patrones de reactivación a su estado inicial. Si el controlador de miniporte devuelve TRUE en AddressingReset, NDIS llama a una función MiniportOidRequest del controlador de miniport sin conexión o una función MiniportCoOidRequest del controlador de miniport orientado a conexiones para establecer las siguientes opciones de configuración:

  • El filtro de paquetes de red se realiza a través de una solicitud configurada de OID_GEN_CURRENT_PACKET_FILTER.

  • Lista de direcciones de multidifusión a través de una solicitud establecida de OID_802_3_MULTICAST_LIST.

  • La configuración de la encapsulación de la descarga de tareas se realiza mediante una solicitud establecida de OID_OFFLOAD_ENCAPSULATION.

  • Patrones de reactivación de administración de energía a través de una solicitud establecida de OID_PNP_ADD_WAKE_UP_PATTERN. Nota A partir de NDIS 6.20, los patrones de reactivación establecidos a través de OID_PM_ADD_WOL_PATTERN deben restaurarse mediante el controlador de miniport.

Estados del adaptador de un controlador de minipuerto

de operaciones y estados del adaptador de miniporte

Funciones de restablecimiento y detención del controlador de miniporte