Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Os drivers de protocolo NDIS emitem solicitações de método de identificador de objeto (OID) de OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE para notificar o driver de miniporta de que uma alocação foi concluída 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 que é 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 CompletionStatus membro de cada estrutura NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_PARAMETERS contém o status de conclusão para cada fila.
Comentários
A solicitação de método OID de OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE é opcional para drivers de miniporta NDIS 6.20 e posteriores. É obrigatório para drivers de miniporta que suportam a interface de fila de máquina virtual (VMQ).
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 miniporta que a alocação foi concluída para o lote atual de filas de recebimento. Isso permite que o driver de miniporta equilibre 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 miniporta recebe uma solicitação de 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 miniporta pode iniciar indicações de pacotes na fila chamando NdisMIndicateReceiveNetBufferLists.
Códigos de status de retorno
O driver de miniporta 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 da fila foi concluída. O buffer de informações contém a estrutura de NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_ARRAY atualizada e estruturas de parâmetros com o status de conclusão para a alocação de fila. |
NDIS_STATUS_PENDING |
O pedido está pendente de conclusão. O código de status final e os resultados serão passados para o manipulador de conclusão de solicitação OID do chamador. |
NDIS_STATUS_INVALID_PARAMETER |
Um ou mais dos parâmetros que o driver sobrejacente forneceu não eram válidos. |
NDIS_STATUS_INVALID_LENGTH |
O buffer de informações era muito curto. NDIS definir o DATA.METHOD_INFORMATION.BytesNeeded membro na estrutura NDIS_OID_REQUEST para o tamanho mínimo de buffer necessário. |
NDIS_STATUS_NOT_SUPPORTED |
A versão NDIS do driver de miniporta é anterior à versão 6.20. |
NDIS_STATUS_FAILURE |
O pedido foi rejeitado por outros motivos. |
Requerimentos
Versão |
Suportado no NDIS 6.20 e posterior. |
Cabeçalho |
Ntddndis.h (inclui Ndis.h) |
Ver também
NdisMIndicateReceiveNetBufferLists