Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
[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 EvtVmbChannelSuspend Rückruffunktion wird am Serverendpunkt aufgerufen, wenn der Kanal vom Clientendpunkt geschlossen oder gelöscht wird, wodurch der Server in den Zustand "Beendet" verschoben wird.
Syntax
EVT_VMB_CHANNEL_SUSPEND EvtVmbChannelSuspend;
VOID EvtVmbChannelSuspend(
[in] VMBCHANNEL Channel
)
{...}
Parameter
[in] Channel
Der Kanal, der angehalten wird.
Rückgabewert
Nichts
Bemerkungen
Nachdem ein Kanal erstellt wurde, kann ein Clienttreiber Rückruffunktionen für Zustandsänderungen angeben, einschließlich EvtVmbChannelSuspendmithilfe der VMB_CHANNEL_STATE_CHANGE_CALLBACKS_INIT-Funktion.
Wenn ein ausgeführter Kanal mithilfe der VmbChannelPause Funktion oder geschlossen wird, indem die VmbChannelDisable-Funktion oder vom entgegengesetzten Endpunkt verwendet wird, ruft die Kernelmodus-Clientbibliothek (KMCL) EvtVmbChannelSuspendauf. Dieser Rückruf garantiert, dass nicht mehr EvtVmbChannelProcessPacket Rückrufe ausgeführt werden oder in die Warteschlange gestellt werden.
EvtVmbChannelSuspend ist auch eine Benachrichtigung, dass der KMCL-Client schließlich alle ausstehenden Pakete abschließen muss, die mithilfe von EvtVmbChannelProcessPacket Diese Pakete müssen nicht synchron abgeschlossen werden. KMCL-Blöcke, bis sie abgeschlossen wurden.
Der KMCL-Client muss auch das Senden von Paketen mithilfe der VmbPacketSend, VmbPacketSendWithExternalMdloder VmbPacketSendWithExternalPfns Funktionen beenden.
Ein Aufruf von VmbChannelPause für einen aktiven Kanal blockiert, bis EvtVmbChannelSuspend aufgerufen wird und keine ausstehenden eingehenden Pakete vorhanden sind.
Ein Aufruf von VmbChannelDisable Blockieren, bis der Kanal angehalten und geschlossen wird.
Diese Funktion garantiert den Abschluss ausstehender Transaktionen. Möglicherweise ist der Client fehlerhaft, böswillig oder der virtuelle Gastcomputer abgestürzt. Der Server muss alle ausstehenden Transaktionen einstellen, wahrscheinlich indem er sie storniert.
Anforderungen
| Anforderung | Wert |
|---|---|
| Zielplattform- | Fenster |
| Header- | vmbuskernelmodeclientlibapi.h (include VmbusKernelModeClientLibApi.h) |
| IRQL- | PASSIVE_LEVEL |