EVT_VMB_CHANNEL_SAVE_PACKET fonction de rappel (vmbuskernelmodeclientlibapi.h)
[Certaines informations portent sur la préversion du produit, qui est susceptible d’être en grande partie modifié avant sa commercialisation. Microsoft ne donne aucune garantie, expresse ou implicite, concernant les informations fournies ici.]
La fonction de rappel EvtVmbChannelSavePacket est appelée lorsque le point de terminaison du fournisseur de services de virtualisation (VSP) doit enregistrer l’état associé à un paquet.
Syntaxe
EVT_VMB_CHANNEL_SAVE_PACKET EvtVmbChannelSavePacket;
NTSTATUS EvtVmbChannelSavePacket(
[in] VMBCHANNEL Channel,
[in] VMBPACKET Packet,
[out] PVOID SaveBuf,
[in] UINT32 SaveBufSize,
[out] PUINT32 BytesNeeded
)
{...}
Paramètres
[in] Channel
Canal sur lequel le paquet arrive.
[in] Packet
Paquet pour lequel VSP enregistre l’état.
[out] SaveBuf
Mémoire tampon dans laquelle enregistrer l’état.
[in] SaveBufSize
Taille du paramètre SaveBuf , en octets.
[out] BytesNeeded
Taille nécessaire pour enregistrer l’état de la transaction, en octets.
Valeur retournée
EvtVmbChannelSavePacket retourne un code status.
Remarques
La fonction VmbServerChannelInitSetSaveRestorePacketCallbacks définit une fonction de rappel pour enregistrer les paquets pour chaque canal.
Le fournisseur de services virtuels enregistre l’état associé à la transaction qui est unique au fournisseur de services virtuel. La bibliothèque cliente en mode noyau (KMCL) enregistre son propre état.
Cette fonction est appelée pour chaque objet de paquet actuellement utilisé. Le premier appel transmet une valeur zéro (0) pour le paramètre SaveBufSize . Cet appel échoue s’il existe un état qui doit être enregistré, ce qui remplit le paramètre BytesNeededed avec l’exigence de taille réelle. Si ce premier appel retourne un code d’échec, le KMCL appelle une deuxième fois avec une mémoire tampon d’au moins la longueur spécifiée dans le premier appel.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Windows |
En-tête | vmbuskernelmodeclientlibapi.h (inclure VmbusKernelModeClientLibApi.h) |
IRQL | PASSIVE_LEVEL |