Compartilhar via


OID_GEN_CURRENT_PACKET_FILTER

Como uma consulta, o OID_GEN_CURRENT_PACKET_FILTER OID relata os tipos de pacotes líquidos que estão em indicações de recebimento de um driver de miniport.

Como um conjunto, o OID_GEN_CURRENT_PACKET_FILTER OID especifica os tipos de pacotes líquidos para os quais um protocolo recebe indicações de um driver de miniporto.

informações de versão

Windows Vista e versões posteriores do Windows
Suportado.

drivers de miniporto NDIS 6.0 e posterior
Obrigatório. (consulte a seção Comentários)

drivers de miniporto do NDIS 5.1
Obrigatório.

Windows XP
Suportado.

drivers de miniporto do NDIS 5.1
Obrigatório.

Observações

Para drivers de miniporto NDIS 6.0 e posteriores, a consulta não é solicitada e o conjunto é obrigatório. O NDIS manipula a consulta para drivers de miniport. O driver de miniporto relata as informações de filtro de pacote durante a inicialização.

O driver de miniporto relata seu tipo médio como um para o qual o sistema fornece uma biblioteca de filtros. O filtro de pacote usa a operação OR para combinar os seguintes tipos de forma inclusiva:

NDIS_PACKET_TYPE_DIRECTED
Pacotes direcionados. Os pacotes direcionados contêm um endereço de destino igual ao endereço da estação da NIC.

NDIS_PACKET_TYPE_MULTICAST
Pacotes de endereço multicast enviados para endereços na lista de endereços multicast.

Um driver de protocolo pode receber pacotes multicast Ethernet (802.3) especificando o tipo de pacote de endereço multicast ou funcional. Definir a lista de endereços multicast ou o endereço funcional determina quais grupos de endereços multicast o driver NIC habilita.

NDIS_PACKET_TYPE_ALL_MULTICAST
Todos os pacotes de endereço multicast, não apenas os enumerados na lista de endereços multicast.

NDIS_PACKET_TYPE_BROADCAST
Transmitir pacotes.

NDIS_PACKET_TYPE_PROMISCUOUS
Especifica todos os pacotes, independentemente de a filtragem de VLAN estar habilitada ou não e se o identificador de VLAN corresponde ou não.

NDIS_PACKET_TYPE_ALL_FUNCTIONAL
Todos os pacotes de endereço funcional, não apenas os do endereço funcional atual.

NDIS_PACKET_TYPE_ALL_LOCAL
Todos os pacotes enviados por protocolos instalados e todos os pacotes indicados pela NIC identificados por um determinado NdisBindingHandle .

NDIS_PACKET_TYPE_FUNCTIONAL
Pacotes de endereço funcional enviados para endereços incluídos no endereço funcional atual.

NDIS_PACKET_TYPE_GROUP
Pacotes enviados para o endereço do grupo atual.

NDIS_PACKET_TYPE_MAC_FRAME
Quadros de driver NIC que uma NIC do Anel de Token recebe.

NDIS_PACKET_TYPE_SMT
Pacotes SMT que uma NIC FDDI recebe.

NDIS_PACKET_TYPE_SOURCE_ROUTING
Todos os pacotes de roteamento de origem. Se o driver de protocolo definir esse bit, a biblioteca NDIS tentará atuar como uma ponte de roteamento de origem.

Para adaptadores de miniportuário cujo tipo de mídia é NdisMedium802_3 ou NdisMedium802_5, o NDIS desabilita a recepção de pacotes, juntamente com endereços multicast e funcionais durante uma chamada para a função NdisOpenAdapterEx.

Para adaptadores de miniporto com todos os outros tipos de mídia, o driver de protocolo pode começar a receber pacotes a qualquer momento durante a chamada NdisOpenAdapterEx. Observe que o protocolo pode até mesmo receber pacotes antes que NdisOpenAdapterEx retorne. Em geral, a filtragem de pacotes é o melhor esforço e os drivers de protocolo devem estar preparados para lidar com as indicações de recebimento mesmo quando o filtro de pacote é zero.

Para uma consulta, o NDIS retorna os filtros de associação combinados usando o operador OR.

Para um conjunto, o filtro de pacote especificado substitui o filtro de pacote anterior para a associação. Se o driver de miniporto tiver habilitado anteriormente um tipo de pacote, mas o driver de protocolo não especificar esse tipo em um novo filtro, o driver de protocolo não receberá pacotes desse tipo.

Para adaptadores de miniportuário cujo tipo de mídia é NdisMedium802_3 ou NdisMedium802_5, se o driver de miniport não definir um pouco para um tipo de pacote específico em resposta a essa consulta, o driver de protocolo não receberá pacotes desse tipo. Consequentemente, um driver de protocolo pode desabilitar a recepção de pacotes chamando a funçãoNdisOidRequestou NdisCoOidRequest usando um filtro de zero.

Para adaptadores de miniporto com todos os outros tipos de mídia, o NDIS não verifica o tipo de pacote. Para esses tipos de mídia, um driver de protocolo não pode desabilitar a recepção de pacotes especificando um filtro de zero.

Quando uma função MiniportInitializeEx de um driver de miniporto é chamada, o filtro de pacote do driver de miniport deve ser definido como zero. Quando o filtro de pacote é zero, as indicações de recebimento são desabilitadas. Depois que a função MiniportInitializeEx de um driver de miniporto for retornada, um driver de protocolo poderá definir OID_GEN_CURRENT_PACKET_FILTER como um valor diferente de zero, permitindo que o driver de miniporte indique pacotes recebidos para esse protocolo.

Se o modo promíscuo estiver habilitado com o bit NDIS_PACKET_TYPE_PROMISCUOUS, o driver de protocolo continuará recebendo pacotes mesmo que o nó de rede de envio não os direcione para ele. O NDIS envia ao driver de protocolo todos os pacotes recebidos pela NIC.

Definir um filtro de pacote específico não altera o filtro de pacote para outros drivers de protocolo associados (ou acima) à mesma NIC. Por exemplo, se um protocolo associado habilitar o modo promíscuo, outros drivers de protocolo associados não receberão pacotes solicitados especificamente com seus próprios filtros de pacote.

filtros de pacote nativos 802.11

O driver de miniporto Nativo 802.11 só deve dar suporte aos seguintes tipos de filtro de pacote padrão:

  • NDIS_PACKET_TYPE_DIRECTED

  • NDIS_PACKET_TYPE_MULTICAST

  • NDIS_PACKET_TYPE_BROADCAST

  • NDIS_PACKET_TYPE_PROMISCUOUS

Quando habilitados, esses filtros de pacote padrão só são aplicáveis a pacotes de dados 802.11.

Além disso, o driver de miniporto Nativo 802.11 deve dar suporte aos seguintes tipos de filtro de pacote, que são específicos para a mídia Nativa 802.11:

NDIS_PACKET_TYPE_802_11_RAW_DATA
Um quadro de MPDU (unidade de dados de protocolo MAC) de controle de acesso de mídia 802.11, que contém todos os dados no formato recebido pela estação 802.11. Quando esse filtro é definido, o driver deve indicar cada fragmento MPDU não modificado antes de indicar o pacote MSDU (unidade de dados de serviço MAC) remontado dos fragmentos do MPDU.

Se um fragmento do MPDU for criptografado, ele não deverá descriptografar o fragmento antes de ser indicado. No entanto, o driver de miniporto deve descriptografar cada fragmento de MPDU antes de remontar e indicar o pacote MSDU.

Se habilitado, esse tipo de filtro afeta apenas outros filtros de pacote padrão, como NDIS_PACKET_TYPE_DIRECTED ou NDIS_PACKET_TYPE_BROADCAST.

Para obter mais informações sobre o método para indicar pacotes de dados brutos 802.11, consulte Indicando pacotes brutos 802.11.

NDIS_PACKET_TYPE_802_11_DIRECTED_MGMT
Pacotes de gerenciamento 802.11 direcionados. Os pacotes direcionados contêm um endereço de destino igual ao endereço da estação da NIC.

NDIS_PACKET_TYPE_802_11_MULTICAST_MGMT
Pacotes de gerenciamento multicast 802.11 enviados para endereços na lista de endereços multicast.

NDIS_PACKET_TYPE_802_11_ALL_MULTICAST_MGMT
Todos os pacotes de gerenciamento multicast 802.11 recebidos pela estação 802.11, independentemente de o endereço de destino no cabeçalho MAC 802.11 estiver na lista de endereços multicast.

NDIS_PACKET_TYPE_802_11_BROADCAST_MGMT
Transmitir pacotes de gerenciamento 802.11 recebidos pela estação 802.11.

NDIS_PACKET_TYPE_802_11_PROMISCUOUS_MGMT
Todos os pacotes de gerenciamento 802.11 recebidos pela estação 802.11.

NDIS_PACKET_TYPE_802_11_RAW_MGMT
Um quadro de gerenciamento de MPDU 802.11, que contém todos os dados no formato recebido pela estação 802.11. Quando esse filtro é definido, o driver deve indicar cada fragmento MPDU não modificado antes de indicar o pacote MMPDU (unidade de dados de protocolo de gerenciamento MAC) remontado dos fragmentos do MPDU.

Se habilitado, esse tipo de filtro afeta apenas outros filtros de pacote de gerenciamento 802.11, como NDIS_PACKET_TYPE_802_11_DIRECTED_MGMT ou NDIS_PACKET_TYPE_802_11_MULTICAST_MGMT.

Para obter mais informações sobre o método para indicar pacotes de gerenciamento brutos 802.11, consulte Indicando pacotes brutos 802.11.

NDIS_PACKET_TYPE_802_11_DIRECTED_CTRL
Pacotes de controle 802.11 direcionados. Os pacotes direcionados contêm um endereço de destino igual ao endereço da estação da NIC.

NDIS_PACKET_TYPE_802_11_BROADCAST_CTRL
Transmitir pacotes de controle 802.11 recebidos pela estação 802.11.

NDIS_PACKET_TYPE_802_11_PROMISCUOUS_CTRL
Todos os pacotes de controle 802.11 recebidos pela estação 802.11.

Se um driver de miniporto estiver operando nos modos NetMon (Monitor de Rede) nativo 802.11 ou AP (Ponto de Acesso Extensível), o driver deverá habilitar os seguintes filtros de pacote por meio de uma solicitação definida de OID_GEN_CURRENT_PACKET_FILTER.

  • NDIS_PACKET_TYPE_PROMISCUOUS

  • NDIS_PACKET_TYPE_802_11_RAW_DATA

  • NDIS_PACKET_TYPE_802_11_PROMISCUOUS_MGMT

  • NDIS_PACKET_TYPE_802_11_RAW_MGMT

  • NDIS_PACKET_TYPE_802_11_PROMISCUOUS_CTRL

Um driver de miniporto que opera em outros modos Nativos 802.11 além do NetMon não deve habilitar essas configurações de filtro de pacote, com exceção de NDIS_PACKET_TYPE_802_11_PROMISCUOUS_CTRL. Um driver de miniporto que não está operando no modo NetMon pode, opcionalmente, habilitar NDIS_PACKET_TYPE_802_11_PROMISCUOUS_CTRL por meio de uma solicitação definida de OID_GEN_CURRENT_PACKET_FILTER.

Observação Quando o driver de miniporto estiver em modos Nativos 802.11 diferentes do NetMon e OID_GEN_CURRENT_PACKET_FILTER estiver definido, o driver não deverá falhar na solicitação definida se as configurações de filtro promíscuo ou bruto estiverem habilitadas nos dados OID.

Para obter mais informações sobre os modos operacionais NetMon e ExtAP, consulte os seguintes tópicos:

do Modo de Operação do Monitor de Rede

modo de operação do ponto de acesso extensível

Requisitos

Cabeçalho

Ntddndis.h (inclua Ndis.h)

Consulte também

MiniportInitializeEx

NdisCoOidRequest

NdisOidRequest

NdisOpenAdapterEx