Compartir a través de


estructura 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 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 de VmbChannelRestoreFromBuffer.

VmbChannelSaveBegin

Puntero a la función VmbChannelSaveBegin.

VmbChannelSaveContinue

Puntero a la funciónVmbChannelSaveContinue.

VmbChannelSaveEnd

Puntero a la función VmbChannelSaveEnd.

VmbChannelUnmapGpadl

Puntero a la funciónVmbChannelUnmapGpadl.

VmbConvertVmbusHandleToKernelHandle

Puntero a la funciónVmbConvertVmbusHandleToKernelHandle.

VmbPacketRestore

Puntero a la funciónVmbPacketRestore.

VmbServerChannelInitSetFlags

Puntero a la funciónVmbServerChannelInitSetFlags de.

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ónVmbServerChannelInitSetVmbusHandle.

Observaciones

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 solo de 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 version de: 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 de 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 VMBus KMCL.

Para los métodos cliente de KMCL, consulte la estructura de KMCL_CLIENT_INTERFACE_V1.

Para obtener más información sobre las interfaces definidas por controladores, consulte Using Driver-Defined Interfaces.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 10, versión 1809
encabezado de vmbuskernelmodeclientlibapi.h

Consulte también

usar interfaces de Driver-Defined

WdfFdoQueryForInterface

WdfIoTargetQueryForInterface

KMCL_CLIENT_INTERFACE_V1