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:
Agrupamento de pacotes NDIS. Para obter mais informações sobre como usar filtros de recebimento nessa interface, consulte Gerenciando filtros de recebimento de agrupamento de pacotes.
Virtualização de E/S de Raiz Única (SR-IOV). Para obter mais informações sobre como usar filtros de recebimento nessa interface, consulte Configurando um filtro de recebimento em uma porta virtual.
VMQ (Fila de Máquinas Virtuais). Para obter mais informações sobre como usar filtros de recebimento nessa interface, consulte Configuração e limpeza de filtros VMQ.
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) |