Freigeben über


KMCL_SERVER_ONLY_METHODS Struktur (vmbuskernelmodeclientlibapi.h)

Die KMCL_SERVER_ONLY_METHODS Struktur enthält Funktionszeiger für servergeschützte Funktionen für die VMBus Kernel Mode Client Library (KMCL)-Schnittstelle.

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;

Angehörige

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 VmbServerChannelInitSetFlags Funktion.

VmbServerChannelInitSetMmioMegabytes

Ein Zeiger auf die VmbServerChannelInitSetMmioMegabytes Funktion.

VmbServerChannelInitSetSaveRestorePacketCallbacks

Ein Zeiger auf die VmbServerChannelInitSetSaveRestorePacketCallbacks Funktion.

VmbServerChannelInitSetTargetInterfaceId

Ein Zeiger auf die VmbServerChannelInitSetTargetInterfaceId-Funktion.

VmbServerChannelInitSetTargetVtl

Ein Zeiger auf die VmbServerChannelInitSetTargetVtl-Funktion.

VmbServerChannelInitSetVmbusHandle

Ein Zeiger auf die VmbServerChannelInitSetVmbusHandle--Funktion.

Bemerkungen

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 nur Serverfunktionen.

Um auf client- und servergeschützte Funktionen der KMCL-Schnittstelle zuzugreifen, weisen Sie eine KMCL_SERVER_INTERFACE_V1 Struktur für den Empfang der Schnittstelle zu, und rufen Sie dann entweder WdfFdoQueryForInterface oder WdfIoTargetQueryForInterface mit diesen Parametern auf:

  • parameter InterfaceType: KMCL_SERVER_INTERFACE_TYPE
  • parameter Size: sizeof(KMCL_SERVER_INTERFACE_V1)
  • parameter Version: KMCL_SERVER_INTERFACE_VERSION_V1

Die KMCL_SERVER_INTERFACE_V1-Struktur wird wie folgt für C-Sprachcode 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, mit denen Sie VMBus-KMCL-Serverfunktionen aufrufen können.

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

Weitere Informationen zu treiberdefinierten Schnittstellen finden Sie unter Using Driver-Defined Interfaces.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 10, Version 1809
Header- vmbuskernelmodeclientlibapi.h

Siehe auch

Verwenden von Driver-Defined Schnittstellen

WdfFdoQueryForInterface-

WdfIoTargetQueryForInterface-

KMCL_CLIENT_INTERFACE_V1