Pausar un enlace

Una vez que NDIS envía un controlador de protocolo, una Plug and Play de red (PnP) pausa la notificación de eventos para un enlace, el enlace entra en el estado de pausa.

Para notificar al controlador de protocolo del evento de pausa PnP, NDIS llama a la función ProtocolNetPnPEvent con el miembro NetEvent de la estructura NET_PNP_EVENT_NOTIFICATION se establece en NetEventPause. El miembro Buffer contiene una estructura NDIS_PROTOCOL_PAUSE_PARAMETERS .

Para un enlace en estado de pausa, el controlador de protocolo:

  • No debe iniciar ninguna nueva solicitud de envío.

  • Debe esperar a que finalicen las solicitudes de envío pendientes. La operación de pausa no se completa hasta que NDIS llama a la función ProtocolSendNetBufferListsComplete para todas las solicitudes de envío pendientes del controlador.

  • Debe controlar las indicaciones de recepción como de costumbre. El controlador de minipuerto subyacente espera a que los datos de recepción pendientes se devuelvan antes de completar una operación de pausa. Esto garantiza que no haya operaciones de recepción en curso en la pila del controlador después de pausar el controlador de minipuerto.

  • Debe devolver nuevas indicaciones de recepción a NDIS inmediatamente. Si es necesario, el controlador puede copiar estas indicaciones de recepción antes de devolverlas.

Para obtener más información sobre las operaciones de envío y recepción de controladores de protocolo, consulte Operaciones de envío y recepción de controladores de protocolo.

Un enlace entra en el estado Pausado después de que el controlador de protocolo haya terminado de devolver indicaciones de recepción pendientes para el enlace y NDIS ha completado todas las solicitudes de envío pendientes para el enlace.

Para un enlace en estado Pausado, el controlador de protocolo:

  • No debe realizar ninguna solicitud de envío.

  • Debe devolver indicaciones de recepción inmediatamente. Si es necesario, el controlador puede copiar estas indicaciones de recepción antes de devolverlas.