EVT_VMB_CHANNEL_STARTED Rückruffunktion (vmbuskernelmodeclientlibapi.h)
[Einige Informationen beziehen sich auf die Vorabversion, die vor der kommerziellen Freigabe möglicherweise wesentlichen Änderungen unterliegt. Microsoft übernimmt für die hier bereitgestellten Informationen keine Gewährleistung, weder ausdrücklicher noch impliziter Art.]
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 erneut geöffnet hat, nachdem er geschlossen wurde.
Syntax
EVT_VMB_CHANNEL_STARTED EvtVmbChannelStarted;
void EvtVmbChannelStarted(
[in] VMBCHANNEL Channel
)
{...}
Parameter
[in] Channel
Der Kanal, der gestartet wird.
Rückgabewert
Keine
Bemerkungen
Nachdem ein Kanal erstellt wurde, kann ein Clienttreiber mithilfe der funktion VMB_CHANNEL_STATE_CHANGE_CALLBACKS_INIT Rückruffunktionen für Zustandsänderungen angeben, einschließlich EvtVmbChannelStarted.
Wenn ein angehaltener Kanal geöffnet oder ein geöffneter Kanal gestartet wird, ruft die Kernelmodus-Clientbibliothek (KMCL) EvtVmbChannelStarted auf, nachdem sie den EvtVmbChannelOpened-Rückruf aufgerufen hat . EvtVmbChannelStarted kann die Funktionen VmbPacketSend, VmbPacketSendWithExternalMdl und VmbPacketSendWithExternalPfns aufrufen, um ausgehende Pakete in die Warteschlange zu stellen. Da die eingehende Warteschlange zu diesem Zeitpunkt nicht ausgeführt wird, darf dieser Rückruf für eingehende Pakete oder Vervollständigungen nicht blockiert werden.
Die meisten Treiber, die KMCL verwenden, implementieren diesen Rückruf nicht. Eine Alternative ist die Rückruffunktion EvtVmbChannelPostStarted .
Das Warten auf den Abschluss eines gesendeten Pakets, z. B. durch die VmbChannelSendSynchronousRequest-Funktion , wird nie zurückgegeben, da pakete nicht fließen, wenn dieser Rückruf aufgerufen wird.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Windows |
Kopfzeile | vmbuskernelmodeclientlibapi.h (einschließen VmbusKernelModeClientLibApi.h) |
IRQL | PASSIVE_LEVEL |
Weitere Informationen
VMB_CHANNEL_STATE_CHANGE_CALLBACKS_INIT