EVT_VMB_CHANNEL_STARTED função de retorno de chamada (vmbuskernelmodeclientlibapi.h)

[Algumas informações relacionam-se ao produto de pré-lançamento, o qual poderá ser substancialmente modificado antes do lançamento comercial. A Microsoft não fornece nenhuma garantia, expressa ou implícita, com relação às informações fornecidas aqui.]

A função de retorno de chamada EvtVmbChannelStarted é invocada em qualquer ponto de extremidade quando um canal está totalmente configurado, mas antes de qualquer pacote ter sido entregue. Isso ocorre quando o ponto de extremidade oposto abriu o canal ou o reabriu depois de fechá-lo.

Sintaxe

EVT_VMB_CHANNEL_STARTED EvtVmbChannelStarted;

void EvtVmbChannelStarted(
  [in] VMBCHANNEL Channel
)
{...}

Parâmetros

[in] Channel

O canal que é iniciado.

Retornar valor

Nenhum

Comentários

Depois que um canal é criado, um driver de cliente pode especificar funções de retorno de chamada para alterações de estado, incluindo EvtVmbChannelStarted, usando a função VMB_CHANNEL_STATE_CHANGE_CALLBACKS_INIT .

Se um canal pausado for aberto ou um canal aberto for iniciado, a KMCL (Biblioteca de Clientes do Modo Kernel) chamará EvtVmbChannelStarted depois de chamar o retorno de chamada EvtVmbChannelOpened . EvtVmbChannelStarted pode chamar as funções VmbPacketSend, VmbPacketSendWithExternalMdl e VmbPacketSendWithExternalPfns para enfileirar pacotes de saída. Como a fila de entrada não está em execução neste ponto, esse retorno de chamada não deve bloquear em pacotes de entrada ou conclusões.

A maioria dos drivers que usam KMCL não implementa esse retorno de chamada. Uma alternativa é a função de retorno de chamada EvtVmbChannelPostStarted .

Aguardar a conclusão de um pacote enviado, como pela função VmbChannelSendSynchronousRequest , nunca retorna porque os pacotes não estão fluindo quando esse retorno de chamada é invocado.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho vmbuskernelmodeclientlibapi.h (inclua VmbusKernelModeClientLibApi.h)
IRQL PASSIVE_LEVEL

Confira também

EvtVmbChannelOpened

EvtVmbChannelPostStarted

VMB_CHANNEL_STATE_CHANGE_CALLBACKS_INIT

VmbChannelSendSynchronousRequest

VmbPacketSend

VmbPacketSendWithExternalMdl

VmbPacketSendWithExternalPfns