Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Quando um dispositivo de rede fica disponível, o sistema carrega o driver de miniporta NDIS para gerenciar o dispositivo (se o driver ainda não estiver carregado). Cada driver de miniporta deve fornecer uma função DriverEntry . O sistema chama DriverEntry depois de carregar o driver. DriverEntry regista as características do miniport driver junto ao NDIS (incluindo a versão do NDIS suportada e os pontos de entrada do driver).
O sistema passa dois argumentos para DriverEntry:
Um ponteiro para o objeto driver, que foi criado pelo sistema de E/S.
Um ponteiro para o caminho do registo, que especifica onde os parâmetros específicos do driver são armazenados.
Em DriverEntry, os drivers de miniport passam estes ponteiros em uma chamada para a função NdisMRegisterMiniportDriver. Os miniport drivers exportam um conjunto de funções padrão MiniportXxx ao armazenar os seus pontos de entrada numa estrutura NDIS_MINIPORT_DRIVER_CHARACTERISTICS e passar essa estrutura para NdisMRegisterMiniportDriver.
DriverEntry para drivers de miniporta retorna o valor que é retornado pela chamada para NdisMRegisterMiniportDriver.
Um driver de miniporta também executa qualquer outra inicialização específica do driver que ele requer em DriverEntry. O driver executa a inicialização específica do adaptador na função MiniportInitializeEx . Para obter mais informações sobre a inicialização do adaptador, consulte Inicializando um adaptador.
DriverEntry pode alocar a estrutura de NDIS_MINIPORT_DRIVER_CHARACTERISTICS na pilha porque a biblioteca NDIS copia as informações relevantes para seu próprio armazenamento. DriverEntry deve limpar a memória para esta estrutura com NdisZeroMemory antes de definir quaisquer valores fornecidos pelo driver em seus membros. Os membros MajorNdisVersion e MinorNdisVersion devem conter as versões principais e secundárias do NDIS suportadas pelo driver. Em cada membro XxxHandler da estrutura de características, DriverEntry deve definir o ponto de entrada de uma função fornecida pelo driver MiniportXxx ou o membro deve ser NULL.
Para habilitar um driver de miniporta para configurar serviços opcionais, o NDIS chama a função MiniportSetOptions dentro do contexto da chamada do driver de miniporta para NdisMRegisterMiniportDriver. Para obter mais informações sobre serviços opcionais, consulte Configurando serviços de driver de miniporta opcionais.
Os drivers que chamam NdisMRegisterMiniportDriver devem estar preparados para que o NDIS chame suas funções MiniportInitializeEx a qualquer momento após o retorno de DriverEntry . Esse driver deve ter informações suficientes de instalação e configuração armazenadas no registo ou disponíveis em chamadas para uma função de configuração específica de tipo de barramento NdisXxx para configurar quaisquer recursos específicos da NIC que o driver precisará para realizar operações de entrada/saída de rede.
O driver de miniporta deve eventualmente chamar NdisMDeregisterMiniportDriver para liberar recursos que ele alocou chamando NdisMRegisterMiniportDriver. Se a inicialização do driver falhar depois que a chamada para NdisMRegisterMiniportDriver foi bem-sucedida, o driver pode chamar NdisMDeregisterMiniportDriver de dentro de DriverEntry. Caso contrário, o driver de miniporta deve liberar os recursos específicos do driver que ele aloca em sua função MiniportDriverUnload . Em outras palavras, se NdisMRegisterMiniportDriver não retornar NDIS_STATUS_SUCCESS, DriverEntry deve liberar todos os recursos que alocou antes de retornar o controle. O driver não será carregado se isso ocorrer. Para obter mais informações, consulte Desinstalar um driver de miniporta.