FN_VMB_CHANNEL_MAP_GPADL 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 VmbChannelMapGpadl mappe une mémoire tampon côté client dans l’espace d’adressage physique côté serveur à l’aide d’un numéro GPADL (Guest Physical Address Descriptor List).

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
Mapper avec 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 une 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 à l’espace d’adressage virtuel.

Valeur retournée

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

Remarques

Le GPADL doit avoir été pré-établi par le client, pour instance, à l’aide de la fonction VmbChannelCreateGpadlFromBuffer.

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

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

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 serveur uniquement accessible à partir de la structure KMCL_SERVER_ONLY_METHODS .

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

Configuration requise

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

Voir aussi

VmbChannelCreateGpadlFromBuffer

VmbChannelUnmapGpadl