Freigeben über


KMCL_SERVER_ONLY_METHODS-Struktur (vmbuskernelmodeclientlibapi.h)

Die KMCL_SERVER_ONLY_METHODS-Struktur enthält Funktionszeiger für reine Serverfunktionen für die KMCL-Schnittstelle (Kernel Mode Client Library).

Weitere Informationen zum Zugreifen auf die KMCL-Schnittstelle finden Sie im Abschnitt Hinweise.

Syntax

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;

Member

VmbChannelMapGpadl

Ein Zeiger auf die VmbChannelMapGpadl-Funktion .

VmbChannelRestoreFromBuffer

Ein Zeiger auf die Funktion VmbChannelRestoreFromBuffer .

VmbChannelSaveBegin

Ein Zeiger auf die VmbChannelSaveBegin-Funktion .

VmbChannelSaveContinue

Ein Zeiger auf die VmbChannelSaveContinue-Funktion .

VmbChannelSaveEnd

Ein Zeiger auf die VmbChannelSaveEnd-Funktion .

VmbChannelUnmapGpadl

Ein Zeiger auf die VmbChannelUnmapGpadl-Funktion .

VmbConvertVmbusHandleToKernelHandle

Ein Zeiger auf die VmbConvertVmbusHandleToKernelHandle-Funktion .

VmbPacketRestore

Ein Zeiger auf die VmbPacketRestore-Funktion .

VmbServerChannelInitSetFlags

Ein Zeiger auf die Funktion VmbServerChannelInitSetFlags .

VmbServerChannelInitSetMmioMegabytes

Ein Zeiger auf die Funktion VmbServerChannelInitSetMmioMegabytes .

VmbServerChannelInitSetSaveRestorePacketCallbacks

Ein Zeiger auf die Funktion VmbServerChannelInitSetSaveRestorePacketCallbacks .

VmbServerChannelInitSetTargetInterfaceId

Ein Zeiger auf die Funktion VmbServerChannelInitSetTargetInterfaceId .

VmbServerChannelInitSetTargetVtl

Ein Zeiger auf die Funktion VmbServerChannelInitSetTargetVtl .

VmbServerChannelInitSetVmbusHandle

Ein Zeiger auf die Funktion VmbServerChannelInitSetVmbusHandle .

Hinweise

Die Funktionszeiger in KMCL_SERVER_ONLY_METHODS werden über die KMCL-Schnittstelle (VMBus Kernel Mode Client Library) aufgerufen, die vom Vmbkmcl.sys Bustreiber bereitgestellt wird. Diese Struktur enthält Funktionszeiger für reine Serverfunktionen.

Um auf client- und serverbasierte Funktionen der KMCL-Schnittstelle zuzugreifen, ordnen Sie eine KMCL_SERVER_INTERFACE_V1-Struktur zu, um die Schnittstelle zu empfangen, und rufen Sie dann WdfFdoQueryForInterface oder WdfIoTargetQueryForInterface mit den folgenden Parametern auf:

  • InterfaceType-Parameter : KMCL_SERVER_INTERFACE_TYPE
  • Size-Parameter : sizeof(KMCL_SERVER_INTERFACE_V1)
  • Versionsparameter : KMCL_SERVER_INTERFACE_VERSION_V1

Die KMCL_SERVER_INTERFACE_V1-Struktur ist für C-Sprachcode wie folgt definiert:

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

Wenn die Schnittstellenabfragefunktion erfolgreich ist, enthält die KMCL_SERVER_INTERFACE_V1-Struktur sowohl eine KMCL_CLIENT_INTERFACE_V1-Struktur als auch eine KMCL_SERVER_ONLY_METHODS-Struktur . Die KMCL_SERVER_ONLY_METHODS-Struktur enthält Funktionszeiger, die Sie zum Aufrufen von VMBus-KMCL-Serverfunktionen verwenden können.

Informationen zu KMCL-Clientmethoden finden Sie in der KMCL_CLIENT_INTERFACE_V1-Struktur .

Weitere Informationen zu treiberdefinierte Schnittstellen finden Sie unter Verwenden Driver-Defined Schnittstellen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 10, Version 1809
Kopfzeile vmbuskernelmodeclientlibapi.h

Weitere Informationen

Verwenden von Driver-Defined-Schnittstellen

WdfFdoQueryForInterface

WdfIoTargetQueryForInterface

KMCL_CLIENT_INTERFACE_V1