Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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:
de coalescing de pacote 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 à 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) |