Partager via


en-tête vmbuskernelmodeclientlibapi.h

Cet en-tête est utilisé par le réseau. Pour plus d’informations, consultez :

vmbuskernelmodeclientlibapi.h contient les interfaces de programmation suivantes :

Fonctions

 
VMB_CHANNEL_STATE_CHANGE_CALLBACKS_INIT

La fonction VMB_CHANNEL_STATE_CHANGE_CALLBACKS_INIT enregistre les fonctions de rappel à utiliser pour les modifications d’état d’un canal.

Fonctions de rappel

 
EVT_VMB_CHANNEL_CLOSED

La fonction de rappel EvtVmbChannelClosed est appelée lorsque le point de terminaison client de la machine virtuelle invitée ferme un canal à l’aide de la fonction VmbChannelDisable, ou que le point de terminaison opposé réinscine ou ferme le canal.
EVT_VMB_CHANNEL_OPENED

La fonction de rappel EvtVmbChannelOpened est appelée lorsque le point de terminaison client de la machine virtuelle invitée ouvre un canal qui lui a été proposé.
EVT_VMB_CHANNEL_PNP_FAILURE

La fonction de rappel EvtChannelPnpFailure est appelée si le point de terminaison client de la machine virtuelle invitée ne parvient pas à se connecter de façon asynchrone même si un appareil PnP a été localisé.
EVT_VMB_CHANNEL_POST_STARTED

La fonction de rappel EvtVmbChannelPostStarted est appelée à l’un des points de terminaison une fois que les paquets peuvent être reçus à partir du point de terminaison opposé.
EVT_VMB_CHANNEL_PROCESS_PACKET

La fonction de rappel EvtVmbChannelProcessPacket est appelée lorsqu’un paquet arrive dans la mémoire tampon en anneau entrante.
EVT_VMB_CHANNEL_PROCESSING_COMPLETE

La fonction de rappel EvtVmbChannelProcessingComplete est appelée lorsqu’un groupe de paquets a été remis par la fonction EvtVmbChannelProcessPacket, s’il existe une pause avant de remettre les paquets suivants.
EVT_VMB_CHANNEL_RESTORE_PACKET

La fonction de rappel EvtVmbChannelRestorePacket est appelée lorsque le point de terminaison de serveur du fournisseur de services de virtualisation (VSP) doit restaurer l’état associé à un objet de paquet.
EVT_VMB_CHANNEL_SAVE_PACKET

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

La fonction de rappel EvtVmbChannelStarted est appelée à l’un ou l’autre point de terminaison lorsqu’un canal est entièrement configuré, mais avant la remise des paquets. Cela se produit lorsque le point de terminaison opposé a ouvert le canal ou l’a rouvert après la fermeture.
EVT_VMB_CHANNEL_SUSPEND

La fonction de rappel EvtVmbChannelSuspend est appelée sur le point de terminaison du serveur lorsque le canal est fermé ou supprimé par le point de terminaison client, ce qui déplace le serveur dans l’état Arrêté.
EVT_VMB_PACKET_COMPLETION_ROUTINE

La fonction de rappel EvtVmbPacketCompletionRoutine est appelée lorsque la transaction associée à un paquet envoyé est terminée.
FN_VMB_CHANNEL_ALLOCATE

La fonction VmbChannelAllocate alloue un nouveau canal VMBus qui a des paramètres et des rappels par défaut.
FN_VMB_CHANNEL_CLEANUP

La fonction VmbChannelCleanup supprime un canal qui a été alloué à l’aide de la fonction VmbChannelAllocate ou initialisée à l’aide d’une fonction d’initialisation de canal VMBus.
FN_VMB_CHANNEL_CREATE_GPADL_FROM_BUFFER

La fonction VmbChannelCreateGpadlFromBuffer crée une liste de descripteurs d’adresses physiques invitées (GPADL) qui décrit une mémoire tampon côté client. Le GPADL peut être utilisé dans le serveur pour accéder à la mémoire tampon.
FN_VMB_CHANNEL_CREATE_GPADL_FROM_MDL

La fonction VmbChannelCreateGpadlFromMdl crée une liste de descripteurs d’adresses physiques invitées (GPADL) qui décrit une mémoire tampon côté client. Le GPADL peut être utilisé dans le serveur pour accéder à la mémoire tampon.
FN_VMB_CHANNEL_DELETE_GPADL

La fonction VmbChannelDeleteGpadl supprime une liste de descripteurs d’adresses physiques invitées (GPADL) mappée par les fonctions VmbChannelCreateGpadlFromMdl ou VmbChannelCreateGpadlFromBuffer.
FN_VMB_CHANNEL_DISABLE

La fonction VmbChannelDisable désactive un canal, qui le ferme pour les canaux clients et révoque l’offre de canal pour les canaux serveur. Cette fonction attend que le canal soit complètement détruit avant son retour.
FN_VMB_CHANNEL_ENABLE

La fonction VmbChannelEnable active un canal qui est dans l’état désactivé en se connectant à VMBus et en offrant ou en ouvrant un canal, le cas échéant pour le type de point de terminaison.
FN_VMB_CHANNEL_GET_INTERFACE_INSTANCE

La fonction VmbChannelGetInterfaceInstance obtient l’instance d’interface active, qui est un GUID qui identifie de manière unique un canal.
FN_VMB_CHANNEL_GET_MMIO_SPACE

La fonction VmbChannelGetMmioSpace récupère l’adresse virtuelle du noyau de l’espace MMIO alloué à un canal.
FN_VMB_CHANNEL_GET_POINTER

La fonction VmbChannelGetPointer permet à un pilote client de récupérer un pointeur précédemment enregistré à l’aide de la fonction VmbPacketSetPointer.
FN_VMB_CHANNEL_INIT_SET_CLIENT_CONTEXT_SIZE

La fonction VmbChannelInitSetClientContextSize définit la taille de la zone de contexte facultative allouée pour le pilote client sur chaque paquet entrant.
FN_VMB_CHANNEL_INIT_SET_FLAGS

La fonction VmbChannelInitSetFlags définit des indicateurs communs aux points de terminaison de serveur ou de canal client.
FN_VMB_CHANNEL_INIT_SET_FRIENDLY_NAME

La fonction VmbChannelInitSetFriendlyName définit le nom convivial du canal KMCL (Kernel Mode Client Library). Le nom convivial est utilisé pour le débogage et le nommage d’instance de compteur de performances.
FN_VMB_CHANNEL_INIT_SET_MAXIMUM_EXTERNAL_DATA

La fonction VmbChannelInitSetMaximumExternalData définit la taille maximale et la longueur de chaîne des données décrites par un paquet, mais pas directement envoyées dans le paquet. Autrement dit, la taille maximale de la mémoire tampon décrite par un ExternalDataMdl.
FN_VMB_CHANNEL_INIT_SET_MAXIMUM_PACKET_SIZE

La fonction VmbChannelInitSetMaximumPacketSize définit la taille de paquet maximale qui peut être remise via un canal, qui est la taille maximale qui sera jamais spécifiée par la fonction VmbPacketSend.
FN_VMB_CHANNEL_INIT_SET_PROCESS_PACKET_CALLBACKS

La fonction VmbChannelInitSetProcessPacketCallbacks définit les fonctions de rappel pour le traitement des paquets.
FN_VMB_CHANNEL_INIT_SET_STATE_CHANGE_CALLBACKS

La fonction VmbChannelInitSetStateChangeCallbacks définit des fonctions de rappel facultatives pour les modifications d’état.
FN_VMB_CHANNEL_MAP_GPADL

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).
FN_VMB_CHANNEL_PACKET_COMPLETE

La fonction VmbChannelPacketComplete nettoie les mappages de mémoire en attente, libère toutes les mémoires tampons utilisées et, si le point de terminaison opposé a demandé un paquet d’achèvement, envoie un paquet d’achèvement.
FN_VMB_CHANNEL_PACKET_DEFER_TO_PASSIVE

La fonction VmbChannelPacketDeferToPassive est appelée par le pilote client pour différer un paquet passé à celui-ci par la fonction de rappel EvtVmbChannelProcessPacket.
FN_VMB_CHANNEL_PACKET_FAIL

La fonction VmbChannelPacketFail échoue un paquet pendant le traitement des paquets en raison d’une erreur irrécupérable. Cette fonction arrête la file d’attente.
FN_VMB_CHANNEL_PACKET_GET_EXTERNAL_DATA

La fonction VmbChannelPacketGetExternalData obtient toutes les listes de descripteurs de mémoire externe associées à un paquet pendant le traitement des paquets.
FN_VMB_CHANNEL_PAUSE

La fonction VmbChannelPause déplace un canal dans l’état suspendu, ce qui empêche les nouvelles E/S.
FN_VMB_CHANNEL_RESTORE_FROM_BUFFER

La fonction VmbChannelRestoreFromBuffer restaure l’état du client à partir de l’état enregistré précédemment. Le pilote doit vérifier la valeur de retour de la fonction.
FN_VMB_CHANNEL_SAVE_BEGIN

La fonction VmbChannelSaveBegin initialise le contexte pour enregistrer l’état d’un canal. Le pilote doit vérifier la valeur de retour de la fonction.
FN_VMB_CHANNEL_SAVE_CONTINUE

La fonction VmbChannelSaveContinue enregistre l’état du canal dans une mémoire tampon. Exécutez VmbChannelSaveBegin avant d’exécuter cette fonction. Le pilote doit vérifier la valeur de retour de la fonction.
FN_VMB_CHANNEL_SAVE_END

La fonction VmbChannelSaveEnd nettoie toutes les ressources qui ont été allouées pour enregistrer l’état d’un canal.
FN_VMB_CHANNEL_SEND_SYNCHRONOUS_REQUEST

La fonction VmbChannelSendSynchronousRequest envoie un paquet au point de terminaison opposé et attend une réponse.
FN_VMB_CHANNEL_SET_INCOMING_PROCESSING_AT_PASSIVE

La fonction VmbChannelSetIncomingProcessingAtPassive définit le runtime d’intégration requis pour les routines d’analyse entrantes pour qu’un canal PASSIVE_LEVEL.
FN_VMB_CHANNEL_SET_INTERRUPT_LATENCY

Les mises à jour de la machine virtuelle invitée vers la latence du moniteur sortant pour les interruptions MNF.
FN_VMB_CHANNEL_SET_POINTER

La fonction VmbChannelSetPointer enregistre un pointeur arbitraire dans un contexte de canal.
FN_VMB_CHANNEL_SET_TRANSACTION_QUOTA

La fonction VmbChannelSetTransactionQuota définit le quota de paquets entrants.
FN_VMB_CHANNEL_SIZEOF_PACKET

La fonction VmbChannelSizeofPacket calcule la taille nécessaire pour les mémoires tampons à utiliser avec la fonction VmbPacketInitialize.
FN_VMB_CHANNEL_START

La fonction VmbChannelStart déplace un canal hors de l’état suspendu.
FN_VMB_CHANNEL_UNMAP_GPADL

La fonction VmbChannelUnmapGpadl annule le mappage d’une liste de descripteurs d’adresses physiques invitées (GPADL) mappée à l’aide de la fonction VmbChannelMapGpadl. La mémoire tampon ne doit plus être utilisée par le serveur avant l’appel de cette fonction.
FN_VMB_CLIENT_CHANNEL_INIT_SET_RING_BUFFER_PAGE_COUNT

La fonction VmbClientChannelInitSetRingBufferPageCount définit le nombre de pages de mémoire allouées par le client pour les mémoires tampons en anneau entrantes et sortantes.
FN_VMB_CLIENT_CHANNEL_INIT_SET_TARGET_PNP

La fonction VmbClientChannelInitSetTargetPnp définit la cible d’un canal client par type d’interface et id d’instance.
FN_VMB_CONVERT_VMBUS_HANDLE_TO_KERNEL_HANDLE

La fonction VmbConvertVmbusHandleToKernelHandle convertit le handle VMBus en mode utilisateur en handle de mode noyau.
FN_VMB_PACKET_ALLOCATE

La fonction VmbPacketAllocate alloue un paquet à partir de la liste lookaside du canal.
FN_VMB_PACKET_FREE

La fonction VmbPacketFree libère un paquet alloué à l’aide de la fonction VmbPacketAllocate.
FN_VMB_PACKET_GET_CHANNEL

La fonction VmbPacketGetChannel retourne le canal VMBus auquel un paquet VMBus est associé.
FN_VMB_PACKET_GET_POINTER

La fonction VmbPacketGetPointer récupère un pointeur précédemment enregistré à l’aide de la fonction VmbPacketSetPointer.
FN_VMB_PACKET_INITIALIZE

La fonction VmbPacketInitialize initialise une mémoire tampon pour contenir un paquet VMBus.
FN_VMB_PACKET_RESTORE

La fonction VmbPacketRestore restaure le paquet à partir d’une mémoire tampon qui contient le contexte de paquet enregistré.
FN_VMB_PACKET_SEND

La fonction VmbPacketSend envoie les données dans une mémoire tampon de paquets ou une liste MDL (External Data Descriptor List). La fonction associe ces données à l’objet de paquet VMBus, qui représente le paquet tout au long de la durée de vie de la transaction.
FN_VMB_PACKET_SEND_WITH_EXTERNAL_MDL

La fonction VmbPacketSendWithExternalMdl envoie les données dans une mémoire tampon de paquets ou une liste mdL (Memory Descriptor List).
FN_VMB_PACKET_SEND_WITH_EXTERNAL_PFNS

La fonction VmbPacketSendWithExternalPfns envoie les données dans une mémoire tampon de paquets ou des données externes sous la forme d’un tableau de numéros de cadre de page (PFN).
FN_VMB_PACKET_SET_COMPLETION_ROUTINE

La fonction VmbPacketSetCompletionRoutine définit la routine d’achèvement d’un objet de paquet.
FN_VMB_PACKET_SET_POINTER

La fonction VmbPacketSetPointer enregistre un pointeur arbitraire dans le contexte de paquet.
FN_VMB_SERVER_CHANNEL_INIT_SET_FLAGS

La fonction VmbServerChannelInitSetFlags définit des indicateurs uniques aux points de terminaison de canal de serveur.
FN_VMB_SERVER_CHANNEL_INIT_SET_MMIO_MEGABYTES

La fonction VmbServerChannelInitSetMmioMegabytes spécifie la quantité, mégaoctets, de l’espace d’E/S mappé en mémoire invité (MMIO) à réserver pour l’appareil.
FN_VMB_SERVER_CHANNEL_INIT_SET_SAVE_RESTORE_PACKET_CALLBACKS

La fonction VmbServerChannelInitSetSaveRestorePacketCallbacks définit les fonctions de rappel d’enregistrement et de restauration qui sont appelées pour chaque paquet lorsque le pilote appelle une fonction d’enregistrement, telle que VmbChannelSaveBegin, VmbChannelSaveContinue et VmbChannelSaveEnd, ou la fonction VmbChannelRestoreFromBuffer.
FN_VMB_SERVER_CHANNEL_INIT_SET_TARGET_INTERFACE_ID

La fonction VmbServerChannelInitSetTargetInterfaceId définit le GUID de type d’interface cible et le GUID d’instance de l’offre de canal.
FN_VMB_SERVER_CHANNEL_INIT_SET_TARGET_VTL

La fonction VmbServerChannelInitSetTargetVtl définit la durée de vie VTL cible pour ce canal. Le canal sera proposé aux clients s’exécutant dans la durée de vie VTL spécifiée et aucune autre.
FN_VMB_SERVER_CHANNEL_INIT_SET_VMBUS_HANDLE

La fonction VmbServerChannelInitSetVmbusHandle associe une instance de VMBus à ce canal.

Structures

 
KMCL_SERVER_ONLY_METHODS

La structure KMCL_SERVER_ONLY_METHODS contient des pointeurs de fonction pour les fonctions serveur uniquement pour l’interface KMCL (VmBus Kernel Mode Client Library).
KMCL_SERVER_ONLY_METHODS_V5

La structure KMCL_CLIENT_INTERFACE_V1 contient des pointeurs de fonction pour les fonctions clientes de l’interface KMCL (VmBus Kernel Mode Client Library).
VMB_CHANNEL_STATE_CHANGE_CALLBACKS

La structure VMB_CHANNEL_STATE_CHANGE_CALLBACKS contient des fonctions de rappel liées aux modifications d’état d’un canal.