struttura KMCL_SERVER_ONLY_METHODS (vmbuskernelmodeclientlibapi.h)

La struttura KMCL_SERVER_ONLY_METHODS contiene puntatori a funzione per le funzioni solo server per l'interfaccia della libreria client della modalità kernel VMBus.

Per altre informazioni su come accedere all'interfaccia KMCL, vedere la sezione Osservazioni.

Sintassi

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;

Members

VmbChannelMapGpadl

Puntatore alla funzione VmbChannelMapGpadl .

VmbChannelRestoreFromBuffer

Puntatore alla funzione VmbChannelRestoreFromBuffer .

VmbChannelSaveBegin

Puntatore alla funzione VmbChannelSaveBegin .

VmbChannelSaveContinue

Puntatore alla funzione VmbChannelSaveContinue .

VmbChannelSaveEnd

Puntatore alla funzione VmbChannelSaveEnd .

VmbChannelUnmapGpadl

Puntatore alla funzione VmbChannelUnmapGpadl .

VmbConvertVmbusHandleToKernelHandle

Puntatore alla funzione VmbConvertVmbusHandleToKernelHandle .

VmbPacketRestore

Puntatore alla funzione VmbPacketRestore .

VmbServerChannelInitSetFlags

Puntatore alla funzione VmbServerChannelInitSetFlags .

VmbServerChannelInitSetMmioMegabytes

Puntatore alla funzione VmbServerChannelInitSetMmioMegabytes .

VmbServerChannelInitSetSaveRestorePacketCallbacks

Puntatore alla funzione VmbServerChannelInitSetSaveRestorePacketCallbacks .

VmbServerChannelInitSetTargetInterfaceId

Puntatore alla funzione VmbServerChannelInitSetTargetInterfaceId .

VmbServerChannelInitSetTargetVtl

Puntatore alla funzione VmbServerChannelInitSetTargetVtl .

VmbServerChannelInitSetVmbusHandle

Puntatore alla funzione VmbServerChannelInitSetVmbusHandle .

Commenti

I puntatori a funzione in KMCL_SERVER_ONLY_METHODS vengono chiamati tramite l'interfaccia VMBus Kernel Mode Client Library (KMCL), fornita dal driver del bus Vmbkmcl.sys. Questa struttura contiene puntatori a funzione per le funzioni solo server.

Per accedere alle funzioni client e solo server dell'interfaccia KMCL, allocare una struttura KMCL_SERVER_INTERFACE_V1 per ricevere l'interfaccia, quindi chiamare WdfFdoQueryForInterface o WdfIoTargetQueryForInterface con questi parametri:

  • Parametro InterfaceType : KMCL_SERVER_INTERFACE_TYPE
  • Parametro size : sizeof(KMCL_SERVER_INTERFACE_V1)
  • Parametro versione : KMCL_SERVER_INTERFACE_VERSION_V1

La struttura KMCL_SERVER_INTERFACE_V1 è definita come segue per il codice del linguaggio C:

typedef struct _KMCL_SERVER_INTERFACE_V1 {
    KMCL_CLIENT_INTERFACE_V1;
    KMCL_SERVER_ONLY_METHODS;
} KMCL_SERVER_INTERFACE_V1, *PKMCL_SERVER_INTERFACE_V1;

Se la funzione di query di interfaccia ha esito positivo, la struttura KMCL_SERVER_INTERFACE_V1 contiene sia una struttura KMCL_CLIENT_INTERFACE_V1 che una struttura KMCL_SERVER_ONLY_METHODS . La struttura KMCL_SERVER_ONLY_METHODS contiene puntatori a funzione che è possibile usare per chiamare le funzioni solo server VMBus KMCL.

Per i metodi client KMCL, vedere la struttura KMCL_CLIENT_INTERFACE_V1 .

Per altre informazioni sulle interfacce definite dal driver, vedere Using Driver-Defined Interfaces.For more information about driver-defined interfaces, see Using Driver-Defined Interfaces.

Requisiti

Requisito Valore
Client minimo supportato Windows 10, versione 1809
Intestazione vmbuskernelmodeclientlibapi.h

Vedi anche

Uso delle interfacce Driver-Defined

WdfFdoQueryForInterface

WdfIoTargetQueryForInterface

KMCL_CLIENT_INTERFACE_V1