Compartir vía


Pausar un adaptador

NDIS llama a la función MiniportPause de un controlador de miniporte para iniciar una operación de pausa. El adaptador permanece en estado de pausa hasta que se completa la operación de pausa.

En el estado Pausa, el controlador de minipuerto debe completar las operaciones de recepción pendientes. El controlador también debe completar las operaciones de envío pendientes y debe rechazar las nuevas solicitudes de envío.

Para completar las operaciones de recepción, el controlador espera a que todas las llamadas a la función NdisMIndicateReceiveNetBufferLists devuelvan y NDIS debe devolver todas las estructuras de NET_BUFFER_LIST pendientes a la función MiniportReturnNetBufferLists del controlador de miniport.

Para completar operaciones de envío pendientes, el controlador de minipuerto debe llamar a la función NdisMSendNetBufferListsComplete para todas las estructuras de NET_BUFFER_LIST pendientes. El controlador debe rechazar las nuevas solicitudes de envío realizadas a su función MiniportSendNetBufferLists inmediatamente.

Después de que un controlador de minipuerto complete todas las operaciones de envío y recepción pendientes, el controlador debe completar la solicitud de pausa de forma sincrónica o asincrónica. Si la operación de pausa se completa de forma asincrónica, el controlador llama a NdisMPauseComplete para completar la solicitud de pausa. Después de completar la solicitud de pausa, el controlador de minipuerto está en estado Pausado.

NDIS no inicia otras operaciones de Plug and Play, como detener, inicializar, cambiar la energía o reiniciar las operaciones, mientras que el controlador de miniporte está en estado de pausa. NDIS puede iniciar estas operaciones de Plug and Play después de que un controlador de minipuerto esté en estado Pausado.