Partager via


FN_VMB_CHANNEL_MAP_GPADL fonction de rappel (vmbuskernelmodeclientlibapi.h)

[Certaines informations concernent le produit préversion qui peut être sensiblement modifié avant sa publication commerciale. Microsoft n’offre aucune garantie, expresse ou implicite, en ce qui concerne les informations fournies ici.]

La fonction VmbChannelMapGpadl mappe une mémoire tampon côté client dans un espace d’adressage physique côté serveur à l’aide d’un numéro de descripteur d’adresse physique invité (GPADL).

Syntaxe

FN_VMB_CHANNEL_MAP_GPADL FnVmbChannelMapGpadl;

NTSTATUS FnVmbChannelMapGpadl(
  VMBCHANNEL Channel,
  UINT32 Flags,
  UINT32 GpadlHandle,
  PMDL *Mdl
)
{...}

Paramètres

Channel

Handle pour un canal.

Flags

Drapeaux. Les valeurs d’indicateur possibles sont les suivantes :

Valeur Signification
VMBUS_CHANNEL_GPADL_FLAG_READ_ONLY
Mappez avec un accès en lecture seule.
 

Si cette valeur d’indicateur n’est pas définie, la fonction tente de mapper le GPADL pour l’accès en écriture. Si le GPADL n’a pas été créé avec un accès en écriture, cette tentative de mappage échoue. L’appelant n’est pas empêché d’écrire dans la mémoire tampon si cet indicateur est défini. Ce schéma est utilisé pour améliorer les performances de la migration dynamique et de la capture instantanée.

GpadlHandle

Handle GPADL du GPADL à mapper.

Mdl

Pointeur vers un MDL décrivant la mémoire tampon du client. Cette mémoire tampon est mappée uniquement dans l’espace d’adressage physique. L’appelant doit prendre des mesures supplémentaires pour le mapper dans l’espace d’adressage virtuel.

Valeur de retour

Retourne STATUS_SUCCESS si l’opération réussit, ou si un code d’erreur NTSTATUS approprié sinon.

Remarques

Le GPADL doit avoir été prédéfini par le client, par exemple, à l’aide de la fonction VmbChannelCreateGpadlFromBuffer.

Un seul mappage peut exister pour un GPADL donné à la fois.

Vous devez associer des appels à cette fonction avec des appels à la fonction VmbChannelUnmapGpadl.

Important

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

Pour plus d’informations, consultez la section Remarques de KMCL_SERVER_ONLY_METHODS.

Exigences

Exigence Valeur
client minimum pris en charge Windows 10, version 1803
d’en-tête vmbuskernelmodeclientlibapi.h

Voir aussi

VmbChannelCreateGpadlFromBuffer

VmbChannelUnmapGpadl