estructura de KMCL_SERVER_ONLY_METHODS (vmbuskernelmodeclientlibapi.h)
La estructura KMCL_SERVER_ONLY_METHODS contiene punteros de función para funciones solo de servidor para la interfaz de la biblioteca cliente del modo kernel (KMCL) de VMBus.
Para obtener más información sobre cómo acceder a la interfaz de KMCL, vea la sección Comentarios.
Sintaxis
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;
Miembros
VmbChannelMapGpadl
Puntero a la función VmbChannelMapGpadl .
VmbChannelRestoreFromBuffer
Puntero a la función VmbChannelRestoreFromBuffer .
VmbChannelSaveBegin
Puntero a la función VmbChannelSaveBegin .
VmbChannelSaveContinue
Puntero a la función VmbChannelSaveContinue .
VmbChannelSaveEnd
Puntero a la función VmbChannelSaveEnd .
VmbChannelUnmapGpadl
Puntero a la función VmbChannelUnmapGpadl .
VmbConvertVmbusHandleToKernelHandle
Puntero a la función VmbConvertVmbusHandleToKernelHandle .
VmbPacketRestore
Puntero a la función VmbPacketRestore .
VmbServerChannelInitSetFlags
Puntero a la función VmbServerChannelInitSetFlags .
VmbServerChannelInitSetMmioMegabytes
Puntero a la función VmbServerChannelInitSetMmioMegabytes .
VmbServerChannelInitSetSaveRestorePacketCallbacks
Puntero a la función VmbServerChannelInitSetSaveRestorePacketCallbacks .
VmbServerChannelInitSetTargetInterfaceId
Puntero a la función VmbServerChannelInitSetTargetInterfaceId .
VmbServerChannelInitSetTargetVtl
Puntero a la función VmbServerChannelInitSetTargetVtl .
VmbServerChannelInitSetVmbusHandle
Puntero a la función VmbServerChannelInitSetVmbusHandle .
Comentarios
Los punteros de función de KMCL_SERVER_ONLY_METHODS se llaman a través de la interfaz de la biblioteca cliente del modo kernel (KMCL) de VMBus, proporcionada por el controlador de bus de Vmbkmcl.sys. Esta estructura contiene punteros de función para funciones de solo servidor.
Para acceder a las funciones de cliente y solo servidor de la interfaz KMCL, asigne una estructura de KMCL_SERVER_INTERFACE_V1 para recibir la interfaz y, a continuación, llame a WdfFdoQueryForInterface o WdfIoTargetQueryForInterface con estos parámetros:
- Parámetro InterfaceType : KMCL_SERVER_INTERFACE_TYPE
- Parámetro size :
sizeof(KMCL_SERVER_INTERFACE_V1)
- Parámetro de versión : KMCL_SERVER_INTERFACE_VERSION_V1
La estructura KMCL_SERVER_INTERFACE_V1 se define de la siguiente manera para el código del lenguaje 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 función de consulta de interfaz se realiza correctamente, la estructura KMCL_SERVER_INTERFACE_V1 contiene una estructura de KMCL_CLIENT_INTERFACE_V1 y una estructura de KMCL_SERVER_ONLY_METHODS . La estructura KMCL_SERVER_ONLY_METHODS contiene punteros de función que puede usar para llamar a funciones solo de servidor de KMCL de VMBus.
Para los métodos de cliente de KMCL, consulte la estructura de KMCL_CLIENT_INTERFACE_V1 .
Para obtener más información sobre las interfaces definidas por el controlador, consulte Uso de interfaces de Driver-Defined.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 10, versión 1809 |
Encabezado | vmbuskernelmodeclientlibapi.h |