Partager via


structure KMCL_SERVER_ONLY_METHODS (vmbuskernelmodeclientlibapi.h)

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

Pour plus d’informations sur l’accès à l’interface KMCL, consultez la section Remarques.

Syntaxe

typedef struct _KMCL_SERVER_ONLY_METHODS {
  PFN_VMB_CHANNEL_MAP_GPADL                                     VmbChannelMapGpadl;
  PFN_VMB_CHANNEL_RESTORE_FROM_BUFFER                           VmbChannelRestoreFromBuffer;
  PFN_VMB_CHANNEL_SAVE_BEGIN                                    VmbChannelSaveBegin;
  PFN_VMB_CHANNEL_SAVE_CONTINUE                                 VmbChannelSaveContinue;
  PFN_VMB_CHANNEL_SAVE_END                                      VmbChannelSaveEnd;
  PFN_VMB_CHANNEL_UNMAP_GPADL                                   VmbChannelUnmapGpadl;
  PFN_VMB_CONVERT_VMBUS_HANDLE_TO_KERNEL_HANDLE                 VmbConvertVmbusHandleToKernelHandle;
  PFN_VMB_PACKET_RESTORE                                        VmbPacketRestore;
  PFN_VMB_SERVER_CHANNEL_INIT_SET_FLAGS                         VmbServerChannelInitSetFlags;
  PFN_VMB_SERVER_CHANNEL_INIT_SET_MMIO_MEGABYTES                VmbServerChannelInitSetMmioMegabytes;
  PFN_VMB_SERVER_CHANNEL_INIT_SET_SAVE_RESTORE_PACKET_CALLBACKS VmbServerChannelInitSetSaveRestorePacketCallbacks;
  PFN_VMB_SERVER_CHANNEL_INIT_SET_TARGET_INTERFACE_ID           VmbServerChannelInitSetTargetInterfaceId;
  PFN_VMB_SERVER_CHANNEL_INIT_SET_TARGET_VTL                    VmbServerChannelInitSetTargetVtl;
  PFN_VMB_SERVER_CHANNEL_INIT_SET_VMBUS_HANDLE                  VmbServerChannelInitSetVmbusHandle;
} KMCL_SERVER_ONLY_METHODS;

Membres

VmbChannelMapGpadl

Pointeur vers la fonction VmbChannelMapGpadl.

VmbChannelRestoreFromBuffer

Pointeur vers la fonction VmbChannelRestoreFromBuffer.

VmbChannelSaveBegin

Pointeur vers la fonction VmbChannelSaveBegin.

VmbChannelSaveContinue

Pointeur vers la fonction VmbChannelSaveContinue.

VmbChannelSaveEnd

Pointeur vers la fonction VmbChannelSaveEnd.

VmbChannelUnmapGpadl

Pointeur vers la fonction VmbChannelUnmapGpadl.

VmbConvertVmbusHandleToKernelHandle

Pointeur vers la fonction VmbConvertVmbusHandleToKernelHandle.

VmbPacketRestore

Pointeur vers la fonction VmbPacketRestore.

VmbServerChannelInitSetFlags

Pointeur vers la fonction VmbServerChannelInitSetFlags.

VmbServerChannelInitSetMmioMegabytes

Pointeur vers la fonction VmbServerChannelInitSetMmioMegabytes.

VmbServerChannelInitSetSaveRestorePacketCallbacks

Pointeur vers la fonction VmbServerChannelInitSetSaveRestorePacketCallbacks.

VmbServerChannelInitSetTargetInterfaceId

Pointeur vers la fonction VmbServerChannelInitSetTargetInterfaceId.

VmbServerChannelInitSetTargetVtl

Pointeur vers la fonction VmbServerChannelInitSetTargetVtl.

VmbServerChannelInitSetVmbusHandle

Pointeur vers la fonction VmbServerChannelInitSetVmbusHandle.

Remarques

Les pointeurs de fonction dans KMCL_SERVER_ONLY_METHODS sont appelés via l’interface KMCL (Kernel Mode Client Library) VMBus, fournie par le pilote de bus Vmbkmcl.sys. Cette structure contient des pointeurs de fonction pour les fonctions serveur uniquement.

Pour accéder aux fonctions client et serveur uniquement de l’interface KMCL, allouez une structure KMCL_SERVER_INTERFACE_V1 pour recevoir l’interface, puis appelez WdfFdoQueryForInterface ou WdfIoTargetQueryForInterface avec ces paramètres :

  • paramètre InterfaceType : KMCL_SERVER_INTERFACE_TYPE
  • paramètre Size : sizeof(KMCL_SERVER_INTERFACE_V1)
  • paramètre version : KMCL_SERVER_INTERFACE_VERSION_V1

La structure KMCL_SERVER_INTERFACE_V1 est définie comme suit pour le code du langage C :

typedef struct _KMCL_SERVER_INTERFACE_V1 {
    KMCL_CLIENT_INTERFACE_V1;
    KMCL_SERVER_ONLY_METHODS;
} KMCL_SERVER_INTERFACE_V1, *PKMCL_SERVER_INTERFACE_V1;

Si la fonction de requête d’interface réussit, la structure KMCL_SERVER_INTERFACE_V1 contient à la fois une structure KMCL_CLIENT_INTERFACE_V1 et une structure KMCL_SERVER_ONLY_METHODS. La structure KMCL_SERVER_ONLY_METHODS contient des pointeurs de fonction que vous pouvez utiliser pour appeler des fonctions serveur KMCL VMBus.

Pour connaître les méthodes clientes KMCL, consultez la structure KMCL_CLIENT_INTERFACE_V1.

Pour plus d’informations sur les interfaces définies par le pilote, consultez Using Driver-Defined Interfaces.

Exigences

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

Voir aussi

utilisation des interfaces Driver-Defined

WdfFdoQueryForInterface

WdfIoTargetQueryForInterface

KMCL_CLIENT_INTERFACE_V1