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 (Kernel Mode Client Library) VMBus.

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 (VmBus Kernel Mode Client Library), 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 les paramètres suivants :

  • Paramètre InterfaceType : KMCL_SERVER_INTERFACE_TYPE
  • Paramètre Size : sizeof(KMCL_SERVER_INTERFACE_V1)
  • Paramètre de 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 VMBus KMCL uniquement.

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 Utilisation d’interfaces Driver-Defined.

Configuration requise

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

Voir aussi

Utilisation d’interfaces Driver-Defined

WdfFdoQueryForInterface

WdfIoTargetQueryForInterface

KMCL_CLIENT_INTERFACE_V1