função de retorno de chamada EVT_PACKET_QUEUE_START (netpacketqueue.h)

A função de retorno de chamada EvtPacketQueueStart é um retorno de chamada opcional implementado pelo driver cliente para iniciar o caminho de dados de uma fila de pacotes.

Sintaxe

EVT_PACKET_QUEUE_START EvtPacketQueueStart;

void EvtPacketQueueStart(
  [_In_] NETPACKETQUEUE PacketQueue
)
{...}

Parâmetros

[_In_] PacketQueue

Um identificador para uma fila de pacotes.

Retornar valor

Nenhum

Comentários

Esse é um retorno de chamada opcional. Registre essa função de retorno de chamada no retorno de chamada EVT_NET_ADAPTER_CREATE_TX(RX)QUEUE . Defina o membro apropriado de uma estrutura NET_PACKET_QUEUE_CONFIG depois de inicializar a estrutura com NET_PACKET_QUEUE_CONFIG_INIT e chame NetTx(Rx)QueueCreate.

Nesse retorno de chamada, um driver de cliente normalmente configura informações de que seu hardware precisa para transmissão ou recepção de pacotes. Como esse retorno de chamada não retorna um valor e, portanto, não deve falhar, os drivers de cliente devem executar ações como alocação de recursos durante a criação da fila. Portanto, esse retorno de chamada deve ser uma função leve que é executada rapidamente.

Os drivers cliente não receberão chamadas para EVT_PACKET_QUEUE_ADVANCE, EVT_PACKET_QUEUE_CANCEL ou EVT_PACKET_QUEUE_SET_NOTIFICATION_ENABLED até que EvtPacketQueueStart retorne. Além disso, EvtPacketQueueStart é chamado no mesmo contexto de execução ou thread, como EvtPacketQueueAdvance, EvtPacketQueueCancel e EvtPacketQueueSetNotificationEnabled, para que os drivers cliente não precisem sincronizar entre essas funções de retorno de chamada para uma instância de fila individual.

Quando uma fila é iniciada, NetAdapterCx garante que BeginIndex == NextIndex == 0 para todos os buffers de anel dessa fila. Após o início, a estrutura não lê nem grava NextIndex para buffers de anel de pacote, portanto, os drivers de cliente podem usá-la conforme necessário ou optar por não usá-la. BeginIndex é lido pela estrutura, mas não é modificado fora de EvtPacketQueueStart.

Para obter mais informações e um diagrama mostrando o modelo de sondagem do caminho de dados NetAdapterCx, consulte Transmitir e receber filas.

Requisitos

Requisito Valor
Plataforma de Destino Universal
Versão mínima do KMDF 1.27
Cabeçalho netpacketqueue.h (inclua netadaptercx.h)
IRQL PASSIVE_LEVEL

Confira também

EVT_NET_ADAPTER_CREATE_RXQUEUE

EVT_NET_ADAPTER_CREATE_TXQUEUE

NetRxQueueCreate

NetTxQueueCreate

EVT_PACKET_QUEUE_ADVANCE

EVT_PACKET_QUEUE_CANCEL

EVT_PACKET_QUEUE_SET_NOTIFICATION_ENABLED

EVT_PACKET_QUEUE_STOP