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.
Os drivers de protocolo NDIS emitem solicitações de método OID (identificador de objeto) de OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE para notificar o driver de miniporto que uma alocação concluiu para o lote atual de filas de recebimento.
O InformationBuffer membro da estrutura NDIS_OID_REQUEST contém um ponteiro para uma estrutura NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_ARRAY seguida por uma estrutura NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_PARAMETERS para cada fila. Após um retorno bem-sucedido da solicitação do método OID, o InformationBuffer membro da estrutura NDIS_OID_REQUEST contém um ponteiro para a mesma matriz de estruturas e o membro CompletionStatus de cada estrutura NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_PARAMETERS contém o status de conclusão de cada fila.
Observações
A solicitação do método OID de OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE é opcional para drivers de miniporto NDIS 6.20 e posteriores. É obrigatório para drivers de miniporto que dão suporte à interface VMQ (fila de máquinas virtuais).
Depois de alocar uma ou mais filas de recebimento e, opcionalmente, definir os filtros iniciais, o driver de protocolo deve emitir a solicitação de método OID de OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE para notificar o driver de miniporto que a alocação concluiu para o lote atual de filas de recebimento. Isso permite que o driver de miniporto balancee os recursos de hardware entre várias filas de recebimento; se necessário, ele pode alocar recursos como memória compartilhada para as filas de recebimento.
Depois que um driver de miniporto recebe uma solicitação OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE e tem filtros definidos na fila, a fila está no estado Em execução. Nesse estado, o driver de miniporto pode iniciar indicações de pacotes na fila chamando NdisMIndicateReceiveNetBufferLists.
Códigos de status de retorno
O driver de miniporto retorna um dos seguintes códigos de status para a solicitação de método OID de OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE.
| Código de status | Descrição |
|---|---|
NDIS_STATUS_SUCCESS |
A alocação de fila foi concluída. O buffer de informações contém a estrutura de NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_ARRAY atualizada e as estruturas de parâmetro com o status de conclusão da alocação da fila. |
NDIS_STATUS_PENDING |
A solicitação está pendente de conclusão. O código de status final e os resultados serão passados para o manipulador de conclusão da solicitação OID do chamador. |
NDIS_STATUS_INVALID_PARAMETER |
Um ou mais dos parâmetros fornecidos pelo driver em excesso não eram válidos. |
NDIS_STATUS_INVALID_LENGTH |
O buffer de informações era muito curto. O NDIS define o DATA.METHOD_INFORMATION.membro BytesNeeded na estrutura NDIS_OID_REQUEST para o tamanho mínimo do buffer necessário. |
NDIS_STATUS_NOT_SUPPORTED |
A versão NDIS do driver de miniporto é anterior à versão 6.20. |
NDIS_STATUS_FAILURE |
A solicitação falhou por outros motivos. |
Requisitos
Versão |
Com suporte no NDIS 6.20 e posterior. |
Cabeçalho |
Ntddndis.h (inclua Ndis.h) |
Consulte também
NdisMIndicateReceiveNetBufferLists