Partilhar via


Operações intermediárias de redefinição de driver

Um driver intermediário deve estar preparado para lidar com a situação em que seus envios pendentes em uma ligação para um driver subjacente podem ser descartados porque a NIC subjacente é redefinida.

Um driver subjacente normalmente redefine uma NIC porque o NDIS chama a função de MiniportResetEx do driver de miniporta quando o NDIS expira, envia em fila ou solicitações que estão destinadas à NIC. Se uma NIC subjacente for redefinida, o NDIS irá chamar a função ProtocolStatusEx(ou ProtocolCoStatusEx) de cada protocolo vinculado e driver intermediário com o status de NDIS_STATUS_RESET_START. Quando o miniport driver termina a redefinição, o NDIS volta a chamar ProtocolStatusEx (ou ProtocolCoStatusEx) com um status de NDIS_STATUS_RESET_END.

Quando uma NIC é redefinida, se um driver intermediário vinculado tiver quaisquer dados de rede de transmissão pendentes para essa NIC, o NDIS completará esses dados de rede de volta para o driver intermediário com um status apropriado. O driver intermediário deve reenviar esses dados de rede novamente quando a redefinição for concluída.

Quando um condutor intermédio recebe o estado de NDIS_STATUS_RESET_START, deve:

  • Mantenha quaisquer dados de rede prontos para serem transmitidos até que ProtocolStatusEx ou ProtocolCoStatusEx recebam uma notificação NDIS_STATUS_RESET_END.

  • Mantenha todos os dados de rede recebidos que estejam prontos para serem indicados até o próximo driver superior até que ProtocolStatusEx (ou ProtocolCoStatusEx) receba uma notificação de NDIS_STATUS_RESET_END.

  • Limpe qualquer estado interno que ele mantenha para operações em andamento e status da NIC.

Depois que ProtocolStatusEx (ou ProtocolCoStatusEx ) recebe NDIS_STATUS_RESET_END, o driver intermediário pode retomar o envio de dados de rede, realizar solicitações e fazer indicações para drivers de nível superior.

Um driver intermediário não fornece uma função MiniportResetEx.