FN_VMB_CHANNEL_CREATE_GPADL_FROM_MDL 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 VmbChannelCreateGpadlFromMdl crée une liste GPADL (Guest Physical Address Descriptor List) qui décrit une mémoire tampon côté client. Le GPADL peut être utilisé sur le serveur pour accéder à la mémoire tampon.

Syntaxe

FN_VMB_CHANNEL_CREATE_GPADL_FROM_MDL FnVmbChannelCreateGpadlFromMdl;

NTSTATUS FnVmbChannelCreateGpadlFromMdl(
  VMBCHANNEL Channel,
  UINT32 Flags,
  PMDL Mdl,
  UINT32 StartOffsetWithinMdl,
  UINT32 DataLengthWithinMdl,
  PUINT32 GpadlHandle
)
{...}

Paramètres

Channel

Handle pour un canal.

Flags

Drapeaux. Les valeurs possibles sont les suivantes :

Valeur Signification
VMBUS_CHANNEL_GPADL_READ_ONLY
Si vous spécifiez cette valeur, la mémoire tampon est en lecture seule. Sinon, le serveur peut écrire dans la mémoire tampon. Il ne s’agit pas d’une mesure de sécurité, mais peut améliorer les performances de instantané et de migration dynamique.

Mdl

Pointeur vers une chaîne MDL (Memory Descriptor List) qui décrit la mémoire tampon. La mémoire tampon peut avoir plusieurs éléments, qui sont chaînés à l’aide du pointeur suivant MDL.

StartOffsetWithinMdl

Décalage, en octets, dans la MDL à laquelle démarrer le mappage.

DataLengthWithinMdl

Longueur, en octets, de la chaîne de mémoire tampon. Si cette valeur est égale à zéro (0), utilisez jusqu’à la fin de la MDL.

GpadlHandle

Handle GPADL du MDL créé. Envoyez-le au serveur à utiliser avec la fonction VmbChannelMapGpadl .

Valeur retournée

Retourne STATUS_SUCCESS si l’opération réussit, ou un code d’erreur NTSTATUS approprié dans le cas contraire.

Remarques

Lorsque cette fonction est retournée, le point de terminaison de serveur peut appeler VmbChannelMapGpadl, car VMBus aura déjà envoyé la description GPADL au point de terminaison opposé et reçu la confirmation.

Le GPADL doit être supprimé à l’aide de la fonction VmbChannelDeleteGpadl .

Important

Cette fonction est appelée par le biais de l’interface KMCL (Kernel Mode Client Library) VMBus, fournie par le pilote de bus Vmbkmcl.sys. Il s’agit d’une fonction cliente accessible à partir de la structure KMCL_CLIENT_INTERFACE_V1 .

Pour plus d’informations, consultez la section Remarques du KMCL_CLIENT_INTERFACE_V1.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 10 version 1803
En-tête vmbuskernelmodeclientlibapi.h

Voir aussi

VmbChannelDeleteGpadl

VmbChannelMapGpadl