EVT_VMB_CHANNEL_SUSPEND funzione di callback (vmbuskernelmodeclientlibapi.h)
[Alcune informazioni riguardano il prodotto non rilasciato che può essere modificato in modo sostanziale prima che venga rilasciato commercialmente. Microsoft non fornisce alcuna garanzia, espressa o implicita, in relazione alle informazioni fornite qui.
La funzione di callback EvtVmbChannelSuspend viene richiamata nell'endpoint server quando il canale viene chiuso o eliminato dall'endpoint client, che sposta il server nello stato Arrestato.
Sintassi
EVT_VMB_CHANNEL_SUSPEND EvtVmbChannelSuspend;
void EvtVmbChannelSuspend(
[in] VMBCHANNEL Channel
)
{...}
Parametri
[in] Channel
Canale sospeso.
Valore restituito
nessuno
Osservazioni
Dopo aver creato un canale, un driver client può specificare le funzioni di callback per le modifiche dello stato, incluso EvtVmbChannelSuspend, usando la funzione VMB_CHANNEL_STATE_CHANGE_CALLBACKS_INIT .
Se un canale in esecuzione viene sospeso tramite la funzione VmbChannelPause o chiuso tramite la funzione VmbChannelDisable o dall'endpoint opposto, la libreria client in modalità kernel chiama EvtVmbChannelSuspend. Questo callback garantisce che non siano in esecuzione altri callback EvtVmbChannelProcessPacket o che vengano accodati.
EvtVmbChannelSuspend è anche una notifica che il client KMCL deve completare tutti i pacchetti in sospeso indicati usando EvtVmbChannelProcessPacket Questi pacchetti non devono essere completati in modo sincrono. Blocchi KMCL fino a quando non sono stati completati.
Il client KMCL deve anche interrompere l'invio di pacchetti usando le funzioni VmbPacketSend, VmbPacketSendWithExternalMdl o VmbPacketSendWithExternalPfns .
Una chiamata a VmbChannelPause su un canale attivo si blocca fino a quando non viene chiamato EvtVmbChannelSuspend e non esistono altri pacchetti in ingresso in sospeso.
Una chiamata al blocco VmbChannelDisable fino a quando il canale non viene sospeso e chiuso.
Questa funzione garantisce il completamento delle transazioni in sospeso. Il client potrebbe essere buggy, dannoso o la macchina virtuale guest potrebbe essersi arrestata in modo anomalo. Il server deve ritirare tutte le transazioni in sospeso, probabilmente annullandole.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Windows |
Intestazione | vmbuskernelmodeclientlibapi.h (include VmbusKernelModeClientLibApi.h) |
IRQL | PASSIVE_LEVEL |
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per