Share via


OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE

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 de que uma alocação foi concluída para o lote atual de filas de recebimento.

O membro InformationBuffer 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 membro InformationBuffer 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 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 dão suporte à interface VMQ (fila de máquina virtual).

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 de que a alocação foi concluída para o lote atual de filas de recebimento. Isso permite que o driver de miniporto 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 miniporto 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 miniporto 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 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âmetros com o status de conclusão para a 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 de 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 os DADOS. 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)

Confira também

NdisMIndicateReceiveNetBufferLists

NDIS_OID_REQUEST

NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_ARRAY

NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_PARAMETERS