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 |
---|---|
|
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 |