Freigeben über


EVT_VMB_CHANNEL_STARTED Rückruffunktion (vmbuskernelmodeclientlibapi.h)

[Einige Informationen beziehen sich auf vorab veröffentlichte Produkte, die vor der kommerziellen Veröffentlichung erheblich geändert werden können. Microsoft übernimmt keine Gewährleistungen, ausdrücklich oder konkludent in Bezug auf die hier bereitgestellten Informationen.]

Die EvtVmbChannelStarted Rückruffunktion wird an beiden Endpunkten aufgerufen, wenn ein Kanal vollständig konfiguriert ist, aber bevor Pakete übermittelt wurden. Dies tritt auf, wenn der entgegengesetzte Endpunkt den Kanal geöffnet oder nach dem Schließen erneut geöffnet hat.

Syntax

EVT_VMB_CHANNEL_STARTED EvtVmbChannelStarted;

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

Parameter

[in] Channel

Der Kanal, der gestartet wird.

Rückgabewert

Nichts

Bemerkungen

Nachdem ein Kanal erstellt wurde, kann ein Clienttreiber Rückruffunktionen für Zustandsänderungen angeben, einschließlich EvtVmbChannelStartedmithilfe der VMB_CHANNEL_STATE_CHANGE_CALLBACKS_INIT-Funktion.

Wenn ein angehaltener Kanal geöffnet oder ein geöffneter Kanal gestartet wird, ruft die Kernelmodus-Clientbibliothek (KMCL) EvtVmbChannelStarted auf, nachdem er den EvtVmbChannelOpened Rückruf aufruft. EvtVmbChannelStarted können die VmbPacketSend, VmbPacketSendWithExternalMdlund VmbPacketSendWithExternalPfns Funktionen aufrufen, um ausgehende Pakete in die Warteschlange einzuwarteschlangen. Da die eingehende Warteschlange zu diesem Zeitpunkt nicht ausgeführt wird, darf dieser Rückruf nicht für eingehende Pakete oder Fertigstellungen blockieren.

Die meisten Treiber, die KMCL verwenden, implementieren diesen Rückruf nicht. Eine Alternative ist die EvtVmbChannelPostStarted Rückruffunktion.

Warten auf den Abschluss eines gesendeten Pakets, z. B. durch die VmbChannelSendSynchronousRequest-Funktion, wird niemals zurückgegeben, da Pakete beim Aufrufen dieses Rückrufs nicht fließen.

Anforderungen

Anforderung Wert
Zielplattform- Fenster
Header- vmbuskernelmodeclientlibapi.h (include VmbusKernelModeClientLibApi.h)
IRQL- PASSIVE_LEVEL

Siehe auch

EvtVmbChannelOpened

EvtVmbChannelPostStarted

VMB_CHANNEL_STATE_CHANGE_CALLBACKS_INIT

VmbChannelSendSynchronousRequest

VmbPacketSend-

VmbPacketSendWithExternalMdl

VmbPacketSendWithExternalPfns