Compartilhar via


OID_RECEIVE_FILTER_CLEAR_FILTER

Drivers sobrepostos emitem solicitações de conjunto de OID de OID_RECEIVE_FILTER_CLEAR_FILTER para limpar um filtro de recebimento em um adaptador de rede.

O membro InformationBuffer da estrutura NDIS_OID_REQUEST contém um ponteiro para uma estrutura NDIS_RECEIVE_FILTER_CLEAR_PARAMETERS .

Comentários

Os filtros de recebimento do NDIS são usados nas seguintes interfaces NDIS:

A solicitação de conjunto de OID de OID_RECEIVE_FILTER_CLEAR_FILTER é obrigatória para drivers de miniport que dão suporte à união de pacotes NDIS, SR-IOV ou interface VMQ.

Um driver sobressociado, como um protocolo NDIS ou um driver de filtro, usa a solicitação de conjunto de OID_RECEIVE_FILTER_CLEAR_FILTER para limpar um filtro definido anteriormente. Somente o driver que define o filtro de recebimento pode desmarcá-lo.

O driver sobreposto limpa um filtro de recebimento definindo o membro FilterId da estrutura NDIS_RECEIVE_FILTER_CLEAR_PARAMETERS para o identificador do filtro. O driver obteve o identificador de filtro de uma solicitação de método OID anterior de OID_RECEIVE_FILTER_SET_FILTER.

Instruções adicionais para a união de pacotes NDIS

O ponto a seguir se aplica a miniportes e drivers sobressociários que dão suporte à união de pacotes NDIS:

  • Um driver sobressalente deve limpar todos os filtros de recebimento definidos no driver de miniporte antes que ele desanexe ou desanexe do driver.

Diretrizes adicionais para a interface SR-IOV

Os seguintes pontos se aplicam a miniportes e drivers sobressovidos que dão suporte à interface SR-IOV:

  • Um driver overlying deve limpar todos os filtros que ele definiu em um VPort SR-IOV antes de liberar o VPort. O driver sobressoante também deve limpar todos os filtros que ele definiu no VPort padrão antes de fechar sua associação ao adaptador de rede.

  • Um driver de miniporte não deve indicar pacotes em um VPort não padrão se tiver concluído a solicitação OID de OID_RECEIVE_FILTER_CLEAR_FILTER para limpar o último filtro no VPort.

    Nota Um driver de miniporte também não deve indicar pacotes em um VPort não padrão se tiver concluído uma solicitação OID de OID_NIC_SWITCH_DELETE_VPORT para liberar o VPort.

Diretrizes adicionais para a interface VMQ

Os pontos a seguir se aplicam a miniportes e drivers overlying que dão suporte à interface VMQ:

  • Um driver sobressoante deve limpar todos os filtros que ele definiu em uma fila de recebimento de VMQ antes de liberar a fila. O driver sobressoante também deve limpar todos os filtros que ele definiu nas filas padrão ou soltar antes de fechar sua associação ao adaptador de rede.

  • Um driver de miniporte não deve indicar pacotes em uma fila de recebimento se tiver concluído a solicitação OID de OID_RECEIVE_FILTER_CLEAR_FILTER para limpar o último filtro na fila de recebimento.

    Nota Um driver de miniporte também não deve indicar pacotes em uma fila de recebimento se tiver concluído uma solicitação OID de OID_RECEIVE_FILTER_FREE_QUEUE para liberar a fila de recebimento.

Retornar códigos de status

A função MiniportOidRequest do driver de miniport retorna um dos seguintes valores para esta solicitação:

Termo Descrição

NDIS_STATUS_SUCCESS

O driver de miniporte concluiu a solicitação com êxito.

NDIS_STATUS_PENDING

O driver de miniporte concluirá a solicitação de forma assíncrona. Depois que o driver de miniporto tiver concluído todo o processamento, ele deverá ter êxito na solicitação chamando a função NdisMOidRequestComplete , passando NDIS_STATUS_SUCCESS para o parâmetro Status .

NDIS_STATUS_NOT_ACCEPTED

O adaptador de miniporte foi removido de surpresa.

O NDIS retorna um dos seguintes códigos de status para esta solicitação:

NDIS_STATUS_SUCCESS
O filtro especificado foi limpo com êxito.

NDIS_STATUS_PENDING
A solicitação está pendente de conclusão. O NDIS passará o código status final e os resultados para o manipulador de conclusão da solicitação OID do chamador após a conclusão da solicitação.

NDIS_STATUS_FILE_NOT_FOUND
O identificador de filtro não é válido.

NDIS_STATUS_INVALID_LENGTH
O buffer de informações é muito pequeno. O NDIS define os DADOS. SET_INFORMATION. Membro BytesNeeded na estrutura NDIS_OID_REQUEST para o tamanho mínimo do buffer necessário.

Requisitos

Versão

Com suporte no NDIS 6.20 e posterior.

Cabeçalho

Ntddndis.h (inclua Ndis.h)

Confira também

NDIS_OID_REQUEST

NDIS_RECEIVE_FILTER_CLEAR_PARAMETERS

OID_NIC_SWITCH_DELETE_VPORT

OID_RECEIVE_FILTER_FREE_QUEUE

OID_RECEIVE_FILTER_SET_FILTER