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
VMB_CHANNEL_STATE_CHANGE_CALLBACKS_INIT