Partilhar via


Configurando um arquivo INF para um driver de filtro modificador

Os seguintes problemas de instalação do driver de filtro NDIS estão associados à modificação dos drivers de filtro. Para criar o seu próprio ficheiro INF do driver de filtro de modificação, pode também adaptar o exemplo do driver de filtro NDIS 6.0 .

  • Defina a entrada de Classe no arquivo INF para NetService no arquivo INF. O exemplo a seguir mostra um exemplo de entrada Class para o arquivo INF.

    Class = NetService
    
  • A seção DDInstall em um ficheiro INF do driver de filtro deve ter uma entrada Características. O exemplo a seguir mostra como você deve definir a entrada Characteristics no arquivo INF do filtro.

    Characteristics=0x40000
    

    O valor 0x40000 indica que NCF_LW_FILTER (0x40000) está definido. Os drivers de filtro não devem definir o indicador NCF_FILTER (0x400). Os valores dos sinalizadores NCF_ Xxx são definidos em Netcfgx.h. Para obter mais informações sobre NCF_ sinalizadores de Xxx, consulte Seção DDInstall num ficheiro INF de rede.

  • Defina a entrada NetCfgInstanceId do ficheiro INF, como mostra o exemplo a seguir.

    NetCfgInstanceId="{5cbf81bd-5055-47cd-9055-a76b2b4e3697}"
    

    Você pode usar a ferramenta Uuidgen.exe para criar o GUID para a entrada NetCfgInstanceId.

  • A seção DDInstall do ficheiro INF para um driver de filtro deve incluir uma diretiva Addreg para uma chave Ndi. O arquivo INF deve especificar a entrada Service sob a chave Ndi. A entrada ServiceBinary na seção service-install do arquivo INF especifica o caminho do binário do driver de filtro. Para obter mais informações, consulte Adição de valores relacionados ao serviço à chave Ndi e secção DDInstall.Services num ficheiro INF de rede.

  • A secção DDInstall num ficheiro INF do controlador de filtro deve ter entradas FilterType e FilterRunType. Para especificar um filtro de modificação, defina a entrada FilterType no arquivo INF, como mostra o exemplo a seguir.

    HKR, Ndi,FilterType,0x00010001 ,0x00000002
    

    O valor FilterType 0x00000002 indica que o filtro é um filtro modificador.

  • Defina a entrada FilterRunType no arquivo INF, como mostra o exemplo a seguir.

    HKR, Ndi,FilterRunType,0x00010001 ,0x00000001
    

    O valor 0x00000001 no exemplo anterior indica que o módulo de filtro é obrigatório. Para instalar um módulo de filtro opcional, defina a entrada FilterRunType como 0x00000002. Para obter mais informações, consulte Drivers de filtros obrigatórios.

  • O exemplo a seguir mostra como um arquivo INF de driver de filtro de modificação especifica o nome do serviço.

    HKR, Ndi,Service,,"NdisLwf"
    

    Neste exemplo, NdisLwf é o nome do serviço do driver conforme é relatado ao NDIS. Observe que o nome do serviço de um driver de filtro pode ser diferente do nome do ficheiro binário do driver, mas normalmente são os mesmos.

  • O exemplo a seguir mostra como o arquivo INF de filtro faz referência ao nome do serviço do driver de filtro quando adiciona esse serviço.

    [Install.Services]
    AddService=NdisLwf,,NdisLwf_Service_Inst;, common.EventLog 
    
    [NdisLwf_Service_Inst]
    DisplayName     = %NdisLwf_Desc%
    ServiceType     = 1 ;SERVICE_KERNEL_DRIVER
    StartType       = 1 ;SERVICE_SYSTEM_START
    ErrorControl    = 1 ;SERVICE_ERROR_NORMAL
    ServiceBinary   = %13%\ndislwf.sys
    LoadOrderGroup  = NDIS
    Description     = %NdisLwf_Desc%
    AddReg          = Common.Params.reg
    
  • Um arquivo INF de filtro deve especificar pelo menos o nome de serviço primário do filtro para o atributo CoServices, como mostra o exemplo a seguir.

    HKR, Ndi,CoServices,0x00010000,"NdisLwf"
    

    Para obter mais informações sobre o atributo CoServices, consulte Adicionando valores relacionados ao serviço à chave Ndi.

  • O valor FilterClass no arquivo INF para um driver de filtro determina sua ordem em uma pilha de filtros. Os drivers de filtro devem definir a chave FilterClass. A classe do condutor pode ser um dos valores na tabela abaixo.

    Valor Descrição

    Programador

    Serviço de agendamento de pacotes por filtro. Esta classe de driver de filtro é o driver de nível mais alto que pode existir acima dos filtros de classe de criptografia em uma pilha de drivers. Um agendador de pacotes deteta a classificação de prioridade 802.1p que é dada aos pacotes pelos componentes de sinalização de qualidade de serviço (QoS) e o agendador envia esses níveis de pacotes para os drivers subjacentes de acordo com sua prioridade.

    encriptação

    Existem drivers de filtro de classe de criptografia entre os filtros de classe de agendamento e compactação.

    compressão

    Existem drivers de filtro de classe de compactação entre os filtros de classe de encriptação e VPN.

    VPN

    Existem drivers de filtros de classe VPN entre os drivers de filtro de compactação e de balanceamento de carga.

    balanceamento de carga

    Serviço de filtro de balanceamento de carga. Essa classe de driver de filtro existe entre o agendamento de pacotes e os drivers de failover. Um serviço de filtro de balanceamento de carga ajusta a sua carga de trabalho de transferências de pacotes, distribuindo a carga de trabalho pelo seu conjunto de adaptadores de miniporta subjacentes.

    Tolerância a falhas

    Serviço de filtro de failover. Essa classe de driver de filtro existe entre o balanceamento de carga e os drivers de diagnóstico.

    diagnóstico

    Os drivers de filtro de diagnóstico existem abaixo dos drivers de failover na pilha.

    Personalizado

    Os drivers de filtro de uma classe personalizada estão abaixo dos drivers de diagnóstico.

    endereço_do_fornecedor

    Os drivers de filtro de endereço do provedor existem abaixo do filtro ms_wnv de Virtualização de Rede incorporado Hyper-V e operam em pacotes de endereço do provedor (PA).

Observação Se vários drivers de filtro tiverem a mesma classe de filtro (FilterClass), todos serão adicionados à pilha estratificada de drivers de filtro. O sistema atribui uma ordem de camadas a cada driver de filtro modificador com o mesmo FilterClass. Em alguns casos, o administrador do sistema pode reorganizar a ordem relativa dos drivers de filtro que têm a mesma FilterClass.

O exemplo a seguir mostra um exemplo FilterClass .

HKR, Ndi,FilterClass,, compression
  • Somente controladores de filtro de extensão para switch Hyper-V são válidos no Switch Extensível Hyper-V. Os drivers de filtro para switch extensível do Hyper-V devem definir a chave FilterClass com um dos valores na tabela abaixo.

    Valor Descrição

    ms_switch_capture

    A partir do NDIS 6.30, os drivers de captura monitorizam o tráfego de pacotes na pilha de drivers do switch extensível Hyper-V. Esta classe de driver de filtro existe abaixo de drivers personalizados na pilha de drivers.

    Para obter mais informações sobre esta classe de driver, consulte Captura de Extensões.

    ms_switch_filter

    A partir do NDIS 6.30, os drivers de filtragem filtram o tráfego de pacotes e impõem a política de porta ou de comutador para a entrega de pacotes através da pilha de drivers de comutador extensível. Esta classe de drivers de filtro existe abaixo dos drivers ms_switch_capture na pilha.

    Para obter mais informações sobre esta classe de driver, consulte Extensões de Filtragem.

    ms_mudar_para_frente

    A partir do NDIS 6.30, o filtro de drivers de encaminhamento executa as mesmas funções que um driver de filtragem. Os drivers de encaminhamento também encaminham pacotes de e para portas de comutador extensíveis. Esta classe de controlador de filtro existe abaixo dos controladores ms_switch_filter na pilha.

    Para obter mais informações sobre essa classe de driver, consulte Forwarding Extensions.

  • Você deve definir as seguintes entradas no arquivo INF do driver de filtro modificador para controlar as ligações do driver.

    HKR, Ndi\Interfaces,UpperRange,,"noupper"
    HKR, Ndi\Interfaces,LowerRange,,"nolower"
    HKR, Ndi\Interfaces, FilterMediaTypes,,"ethernet"
    

    Para obter mais informações sobre como controlar as ligações de controladores, consulte Especificando relações de ligação de controladores de filtro.

  • Um arquivo INF de filtro de modificação pode especificar definições de parâmetros comuns para o driver e parâmetros associados a um adaptador específico. O exemplo a seguir mostra algumas definições de parâmetros comuns.

Atenção

Usar HKR AddReg para colocar chaves diretamente sob o estado de serviço é uma violação de conformidade. Essas chaves precisam ser adicionadas sob a chave Parameters do serviço para serem compatíveis.

[Common.Params.reg]

HKR, FilterDriverParams\DriverParam,  ParamDesc, , "Driverparam for lwf"
HKR, FilterDriverParams\DriverParam,  default, , "5"
HKR, FilterDriverParams\DriverParam,  type,  , "int"

HKR, FilterAdapterParams\AdapterParam,  ParamDesc, , "Adapterparam for lwf"
HKR, FilterAdapterParams\AdapterParam,  default, , "10"
HKR, FilterAdapterParams\AdapterParam,  type,  , "int"