Compartilhar via


OID_RECEIVE_FILTER_CLEAR_FILTER

Drivers em excesso 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.

Observações

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 à interface NDIS, SR-IOV ou VMQ.

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

O driver sobreposto limpa um filtro de recebimento definindo o FilterId membro 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 coalescagem de pacotes NDIS

O ponto a seguir se aplica a miniportos e drivers sobressalente que dão suporte à coalescagem de pacotes NDIS:

  • Um driver em excesso deve limpar todos os filtros de recebimento definidos no driver de miniporto antes de desvincular ou desanexar do driver.

Diretrizes adicionais para a interface SR-IOV

Os seguintes pontos se aplicam aos drivers de miniporto e sobressalente que dão suporte à interface SR-IOV:

  • Um driver que está sobressaindo deve limpar todos os filtros que ele definiu em um VPort SR-IOV antes de liberar o VPort. O driver em excesso 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 miniporto 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.

    Observação Um driver de miniporto 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 seguintes pontos se aplicam a miniportos e drivers que dão suporte à interface VMQ:

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

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

    Observação Um driver de miniporto 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çãoMiniportOidRequestdo driver de miniporto retorna um dos seguintes valores para esta solicitação:

Prazo Descrição

NDIS_STATUS_SUCCESS

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

NDIS_STATUS_PENDING

O driver de miniporto 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çãoNdisMOidRequestComplete, passando NDIS_STATUS_SUCCESS para o parâmetro status do.

NDIS_STATUS_NOT_ACCEPTED

O adaptador de miniporto 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 de 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 de . SET_INFORMATION. BytesNeededed membro 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)

Consulte 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