Partilhar via


Redefinição de hardware do driver de miniporta

Um driver de miniporta deve registrar uma função MiniportResetEx com a NdisMRegisterMiniportDriver.

MiniportResetEx pode ser concluída de forma síncrona ou assíncrona com uma chamada para NdisMResetComplete (consulte a figura a seguir).

Diagrama ilustrando o processo de redefinição de uma placa de interface de rede.

MiniportResetEx deve:

  • Desative outras interrupções.

  • Limpe os dados associados a quaisquer envios em andamento. Por exemplo, em um buffer de anel para um dispositivo de acesso direto à memória (DMA) bus-master, os ponteiros para enviar buffers devem ser limpos. Os drivers de miniporta desserializados e orientados à conexão devem retornar NDIS_STATUS_REQUEST_ABORTED para todas as solicitações de envio em fila.

  • Restaure o estado do hardware e o estado interno do driver de miniporta para o estado que existia antes da operação de redefinição.

O driver de miniporta é responsável por restaurar o estado de hardware do dispositivo, com exceção de endereços de multicast, filtros de pacotes, configurações de descarregamento de tarefas e padrões de ativação. Essas configurações são restauradas pelo driver de miniporta ou NDIS. O driver de miniporta determina quem é responsável por restaurar essas configurações retornando um valor booleano no parâmetro AddressingReset.

Se o driver de miniporta retornar FALSE no parâmetro AddressingReset, o driver de miniporta restaurará os seus endereços de multicast, filtros de pacotes, configurações de descarregamento de tarefas e padrões de ativação para o seu estado inicial. Se o driver de miniporta retornar TRUE em AddressingReset, o NDIS chamará a função deMiniportOidRequest de um driver de miniporta sem conexão ou a função de MiniportCoOidRequest de um driver de miniporta orientada a conexão para definir as seguintes definições de configuração:

Estados de Adaptador de um Miniport Driver

Estados e Operações do Adaptador de Miniporta

Funções de Redefinição e Parada do Driver de Miniporta