Compartir a través de


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

Consulte también

Uso de interfaces de Driver-Defined

WdfFdoQueryForInterface

WdfIoTargetQueryForInterface

KMCL_CLIENT_INTERFACE_V1