Partager via


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

Voir aussi

VmbServerChannelInitSetSaveRestorePacketCallbacks