en-tête vmbuskernelmodeclientlibapi.h
Cet en-tête est utilisé par le réseau. Pour plus d'informations, consultez les pages suivantes :
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 changements 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 lorsque le point de terminaison opposé l’annulation ou la fermeture du canal. |
EVT_VMB_CHANNEL_OPENED La fonction de rappel EvtVmbChannelOpened est appelée lorsque le point de terminaison client dans 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 manière asynchrone même si un appareil PnP a été localisé. |
EVT_VMB_CHANNEL_POST_STARTED La fonction de rappel EvtVmbChannelPostStarted est appelée au niveau de 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 y a 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 au niveau de 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 sa fermeture. |
EVT_VMB_CHANNEL_SUSPEND La fonction de rappel EvtVmbChannelSuspend est appelée au niveau du 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é à 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 de revenir. |
FN_VMB_CHANNEL_ENABLE La fonction VmbChannelEnable active un canal qui est à l’état désactivé en se connectant à VMBus et en proposant ou en ouvrant un canal, en fonction du type de point de terminaison. |
FN_VMB_CHANNEL_GET_INTERFACE_INSTANCE La fonction VmbChannelGetInterfaceInstance obtient l’interface active instance, 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 canal du serveur ou du 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 compteur de performances instance l’affectation de noms. |
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 fournie 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 des 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 changements d’état. |
FN_VMB_CHANNEL_MAP_GPADL 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). |
FN_VMB_CHANNEL_PACKET_COMPLETE La fonction VmbChannelPacketComplete nettoie tous les mappages de mémoire en attente, libère 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 qui lui est passé 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 (MDL) externes associées à un paquet pendant le traitement des paquets. |
FN_VMB_CHANNEL_PAUSE La fonction VmbChannelPause déplace un canal à 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 précédemment enregistré. Le pilote doit case activée 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 case activée 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 case activée 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 l’IRQL requis pour les routines d’analyse entrantes d’un canal à PASSIVE_LEVEL. |
FN_VMB_CHANNEL_SET_INTERRUPT_LATENCY La machine virtuelle invitée met à jour 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 instance ID. |
FN_VMB_CONVERT_VMBUS_HANDLE_TO_KERNEL_HANDLE La fonction VmbConvertVmbusHandleToKernelHandle convertit le handle VMBus en handle du mode noyau. |
FN_VMB_PACKET_ALLOCATE La fonction VmbPacketAllocate alloue un paquet à partir de la liste de 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 (Descriptor Memory Descriptor List) de données externes. 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) de données externes. |
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 trame de page (PFN). |
FN_VMB_PACKET_SET_COMPLETION_ROUTINE La fonction VmbPacketSetCompletionRoutine définit la routine d’achèvement d’un objet 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 Les jeux de fonctions VmbServerChannelInitSetFlags définissent des indicateurs propres aux points de terminaison de canal de serveur. |
FN_VMB_SERVER_CHANNEL_INIT_SET_MMIO_MEGABYTES La fonction VmbServerChannelInitSetMmioMegabytes spécifie la quantité, en mégaoctets, de l’espace d’E/S mappée 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 enregistrer et restaurer qui sont appelées pour chaque paquet lorsque le pilote appelle une fonction save, 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 instance GUID 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 est proposé aux clients qui s’exécutent dans la durée de vie VTL spécifiée et à aucun autre canal. |
FN_VMB_SERVER_CHANNEL_INIT_SET_VMBUS_HANDLE La fonction VmbServerChannelInitSetVmbusHandle associe un 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 (Kernel Mode Client Library) VMBus. |
KMCL_SERVER_ONLY_METHODS_V5 La structure KMCL_CLIENT_INTERFACE_V1 contient des pointeurs de fonction pour les fonctions clientes pour l’interface KMCL (Kernel Mode Client Library) VMBus. |
VMB_CHANNEL_STATE_CHANGE_CALLBACKS La structure VMB_CHANNEL_STATE_CHANGE_CALLBACKS contient des fonctions de rappel qui se rapportent aux modifications d’état d’un canal. |