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 |