Habilitar e desabilitar a funcionalidade do NDK
Para habilitar ou desabilitar a funcionalidade do NDK, o NDIS emite uma solicitação OID OID_NDK_SET_STATE . Um driver de miniporto compatível com NDK deve registrar suporte para essa OID em sua função MiniportOidRequest .
Determinar se a funcionalidade do NDK pode ser habilitada
A palavra-chave *NetworkDirect determina se a funcionalidade NDK do driver de miniport pode ser habilitada.
Se esse valor palavra-chave for definido como 1 ("Habilitado"), a funcionalidade NDK poderá ser habilitada.
Se estiver definido como 0 ("Desabilitado"), a funcionalidade NDK não poderá ser habilitada.
Quando o driver de miniporto é instalado, seu arquivo INF define esse valor palavra-chave como 1 ("Habilitado") por padrão. Para obter mais informações, consulte Requisitos inf para NDKPI.
Depois que o driver de miniporto for instalado, os administradores poderão atualizar o valor *NetworkDirect palavra-chave definindo um novo valor na página de propriedades Avançado para o adaptador. Para obter mais informações sobre propriedades avançadas, consulte Especificando parâmetros de configuração para a página Propriedades Avançadas.
Nota O driver de miniporte é reiniciado automaticamente depois que uma alteração é feita na página de propriedades Avançado para o adaptador.
Quando habilitar ou desabilitar a funcionalidade do NDK
Essa alteração de estado pode ser disparada por uma solicitação OID OID_NDK_SET_STATE ou por um êxito ou falha no próprio adaptador.
Habilitar ou desabilitar a funcionalidade do NDK
Para habilitar ou desabilitar sua funcionalidade de NDK, o driver de miniport deve enviar um evento NetEventNDKEnable ou NetEventNDKDisable Plug and Play (PnP) para o NDIS.
Para enviar o evento PnP, o driver de miniporto chama a função NdisMNetPnPEvent , definindo o membro NetPnPEvent da estrutura NET_PNP_EVENT_NOTIFICATION para a qual o parâmetro NetPnPEvent aponta da seguinte maneira:
NetEventNDKEnable se a funcionalidade do NDK for habilitada.
NetEventNDKDisable se a funcionalidade NDK deve ser desabilitada.
O evento PnP NetEventNDKDisable dispara drivers NDIS e de camada superior para começar a fechar suas instâncias de NDK_ADAPTER abertas no adaptador em que a funcionalidade NDK está sendo desabilitada. O evento PnP permanecerá pendente até que todas as instâncias de NDK_ADAPTER abertas no adaptador sejam fechadas.