Partilhar via


OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE

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

NDIS_OID_REQUEST

NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_ARRAY

NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_PARAMETERS