Partilhar via


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

[Algumas informações referem-se ao produto pré-lançado que pode ser substancialmente modificado antes de ser lançado comercialmente. A Microsoft não faz garantias, expressas ou implícitas, em relação às informações fornecidas aqui.]

A função de retorno de chamada EvtVmbChannelStarted é invocada em ambos os pontos 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.

Valor de retorno

Nenhum

Observações

Depois que um canal é criado, um driver 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 EvtVmbChannelOpened retorno de chamada. EvtVmbChannelStarted pode chamar o VmbPacketSend, VmbPacketSendWithExternalMdl e VmbPacketSendWithExternalPfns funções para enfileirar pacotes de saída. Como a fila de entrada não está em execução neste momento, esse retorno de chamada não deve bloquear os pacotes ou conclusões de entrada.

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 a função VmbChannelSendSynchronousRequest, nunca retorna porque os pacotes não estão fluindo quando esse retorno de chamada é invocado.

Requisitos

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

Consulte também

EvtVmbChannelOpened

EvtVmbChannelPostStarted

VMB_CHANNEL_STATE_CHANGE_CALLBACKS_INIT

VmbChannelSendSynchronousRequest

VmbPacketSend

VmbPacketSendWithExternalMdl

VmbPacketSendWithExternalPfns