Freigeben über


vmbuskernelmodeclientlibapi.h header

Dieser Header wird von Netzwerk verwendet. Weitere Informationen finden Sie unter:

vmbuskernelmodeclientlibapi.h enthält die folgenden Programmierschnittstellen:

Funktionen

 
VMB_CHANNEL_STATE_CHANGE_CALLBACKS_INIT

Die VMB_CHANNEL_STATE_CHANGE_CALLBACKS_INIT-Funktion speichert Rückruffunktionen, die für Zustandsänderungen für einen Kanal verwendet werden sollen.

Rückruffunktionen

 
EVT_VMB_CHANNEL_CLOSED

Die EvtVmbChannelClosed-Rückruffunktion wird aufgerufen, wenn der Clientendpunkt auf dem virtuellen Gastcomputer einen Kanal mithilfe der Funktion VmbChannelDisable schließt oder der entgegengesetzte Endpunkt den Kanal zurückgibt oder schließt.
EVT_VMB_CHANNEL_OPENED

Die EvtVmbChannelOpened-Rückruffunktion wird aufgerufen, wenn der Clientendpunkt auf dem virtuellen Gastcomputer einen Kanal öffnet, der ihnen angeboten wurde.
EVT_VMB_CHANNEL_PNP_FAILURE

Die Rückruffunktion EvtChannelPnpFailure wird aufgerufen, wenn der Clientendpunkt auf dem virtuellen Gastcomputer asynchron keine Verbindung herstellen kann, obwohl sich ein PnP-Gerät befindet.
EVT_VMB_CHANNEL_POST_STARTED

Die EvtVmbChannelPostStarted-Rückruffunktion wird an beiden Endpunkten aufgerufen, nachdem Pakete vom entgegengesetzten Endpunkt empfangen werden können.
EVT_VMB_CHANNEL_PROCESS_PACKET

Die Rückruffunktion EvtVmbChannelProcessPacket wird aufgerufen, wenn ein Paket im eingehenden Ringpuffer eingeht.
EVT_VMB_CHANNEL_PROCESSING_COMPLETE

Die Rückruffunktion EvtVmbChannelProcessingComplete wird aufgerufen, wenn eine Gruppe von Paketen von der EvtVmbChannelProcessPacket-Funktion bereitgestellt wurde, wenn vor der Bereitstellung nachfolgende Pakete eine Pause vorhanden ist.
EVT_VMB_CHANNEL_RESTORE_PACKET

Die Rückruffunktion EvtVmbChannelRestorePacket wird aufgerufen, wenn der VSP-Serverendpunkt (Virtualization Service Provider) den Zustand wiederherstellen muss, der einem Paketobjekt zugeordnet ist.
EVT_VMB_CHANNEL_SAVE_PACKET

Die Rückruffunktion EvtVmbChannelSavePacket wird aufgerufen, wenn der VSP-Endpunkt (Virtualization Service Provider) den status speichern muss, der einem Paket zugeordnet ist.
EVT_VMB_CHANNEL_STARTED

Die EvtVmbChannelStarted-Rückruffunktion wird an beiden Endpunkten aufgerufen, wenn ein Kanal vollständig konfiguriert ist, aber bevor Pakete übermittelt wurden. Dies tritt auf, wenn der entgegengesetzte Endpunkt den Kanal geöffnet oder nach dem Schließen erneut geöffnet hat.
EVT_VMB_CHANNEL_SUSPEND

Die EvtVmbChannelSuspend-Rückruffunktion wird am Serverendpunkt aufgerufen, wenn der Kanal vom Clientendpunkt geschlossen oder gelöscht wird, wodurch der Server in den Zustand "Beendet" verschoben wird.
EVT_VMB_PACKET_COMPLETION_ROUTINE

Die EvtVmbPacketCompletionRoutine-Rückruffunktion wird aufgerufen, wenn die Transaktion abgeschlossen ist, die einem gesendeten Paket zugeordnet ist.
FN_VMB_CHANNEL_ALLOCATE

Die VmbChannelAllocate-Funktion weist einen neuen VMBus-Kanal zu, der Standardparameter und Rückrufe enthält.
FN_VMB_CHANNEL_CLEANUP

Die VmbChannelCleanup-Funktion verworfen einen Kanal, der mithilfe der VmbChannelAllocate-Funktion zugewiesen oder mithilfe einer VMBus-Kanalinitialisierungsfunktion initialisiert wurde.
FN_VMB_CHANNEL_CREATE_GPADL_FROM_BUFFER

Die Funktion VmbChannelCreateGpadlFromBuffer erstellt eine Gastadressenbeschreibungsliste (GPADL), die einen clientseitigen Puffer beschreibt. Die GPADL kann auf dem Server verwendet werden, um auf den Puffer zuzugreifen.
FN_VMB_CHANNEL_CREATE_GPADL_FROM_MDL

Die VmbChannelCreateGpadlFromMdl-Funktion erstellt eine Gastadressenbeschreibungsliste (GPADL), die einen clientseitigen Puffer beschreibt. Die GPADL kann auf dem Server verwendet werden, um auf den Puffer zuzugreifen.
FN_VMB_CHANNEL_DELETE_GPADL

Die VmbChannelDeleteGpadl-Funktion löscht eine Von der Funktion VmbChannelCreateGpadlFromMdl oder VmbChannelCreateGpadlFromMdl oder VmbChannelCreateGpadlFromBuffer zugeordnete Gastadressenbeschreibungsliste (GPADL).
FN_VMB_CHANNEL_DISABLE

Die VmbChannelDisable-Funktion deaktiviert einen Kanal, der ihn für Clientkanäle schließt und das Kanalangebot für Serverkanäle widerruft. Diese Funktion wartet, bis der Kanal vollständig heruntergerissen wird, bevor sie zurückgegeben wird.
FN_VMB_CHANNEL_ENABLE

Die VmbChannelEnable-Funktion ermöglicht einen Kanal, der sich im deaktivierten Zustand befindet, indem eine Verbindung mit VMBus hergestellt und ein Kanal angeboten oder geöffnet wird, je nach Endpunkttyp.
FN_VMB_CHANNEL_GET_INTERFACE_INSTANCE

Die VmbChannelGetInterfaceInstance-Funktion ruft die aktive Schnittstelleninstanz ab, bei der es sich um eine GUID handelt, die einen Kanal eindeutig identifiziert.
FN_VMB_CHANNEL_GET_MMIO_SPACE

Die VmbChannelGetMmioSpace-Funktion ruft die virtuelle Kerneladresse des MMIO-Speicherplatzes ab, der einem Kanal zugeordnet ist.
FN_VMB_CHANNEL_GET_POINTER

Mit der VmbChannelGetPointer-Funktion kann ein Clienttreiber einen Zeiger abrufen, der zuvor mithilfe der VmbPacketSetPointer-Funktion gespeichert wurde.
FN_VMB_CHANNEL_INIT_SET_CLIENT_CONTEXT_SIZE

Die VmbChannelInitSetClientContextSize-Funktion legt die Größe des optionalen Kontextbereichs fest, der dem Clienttreiber für jedes eingehende Paket zugeordnet ist.
FN_VMB_CHANNEL_INIT_SET_FLAGS

Die VmbChannelInitSetFlags-Funktion legt Flags fest, die für Server- oder Clientkanalendpunkte gemeinsam verwendet werden.
FN_VMB_CHANNEL_INIT_SET_FRIENDLY_NAME

Die Funktion VmbChannelInitSetFriendlyName legt den Anzeigenamen des KmCL-Kanals (Kernel Mode Client Library) fest. Der Anzeigename wird für die Benennung von Debugging- und Leistungsindikatoren verwendet.
FN_VMB_CHANNEL_INIT_SET_MAXIMUM_EXTERNAL_DATA

Die Funktion VmbChannelInitSetMaximumExternalData legt die maximale Größe und Kettenlänge von Daten fest, die durch ein Paket beschrieben werden, aber nicht direkt in das Paket gesendet werden. Das heißt, die maximale Größe des puffers, der von einem ExternalDataMdl beschrieben wird.
FN_VMB_CHANNEL_INIT_SET_MAXIMUM_PACKET_SIZE

Die Funktion VmbChannelInitSetMaximumPacketSize legt die maximale Paketgröße fest, die über einen Kanal übermittelt werden kann. Dabei handelt es sich um die maximale Größe, die jemals von der VmbPacketSend-Funktion angegeben wird.
FN_VMB_CHANNEL_INIT_SET_PROCESS_PACKET_CALLBACKS

Die VmbChannelInitSetProcessPacketCallbacks-Funktion legt Rückruffunktionen für die Paketverarbeitung fest.
FN_VMB_CHANNEL_INIT_SET_STATE_CHANGE_CALLBACKS

Die Funktion VmbChannelInitSetStateChangeCallbacks legt optionale Rückruffunktionen für Zustandsänderungen fest.
FN_VMB_CHANNEL_MAP_GPADL

Die VmbChannelMapGpadl-Funktion ordnet einen clientseitigen Puffer mithilfe einer GPADL-Nummer (Guest Physical Address Descriptor List) dem serverseitigen physischen Adressraum zu.
FN_VMB_CHANNEL_PACKET_COMPLETE

Die VmbChannelPacketComplete-Funktion bereinigt alle ausstehenden Speicherzuordnungen, gibt alle verwendeten Puffer frei, und wenn der entgegengesetzte Endpunkt ein Abschlusspaket angefordert hat, sendet ein Vervollständigungspaket.
FN_VMB_CHANNEL_PACKET_DEFER_TO_PASSIVE

Die VmbChannelPacketDeferToPassive-Funktion wird vom Clienttreiber aufgerufen, um ein paket zu verzögern, das von der Rückruffunktion EvtVmbChannelProcessPacket an das Paket übergeben wird.
FN_VMB_CHANNEL_PACKET_FAIL

Die VmbChannelPacketFail-Funktion schlägt aufgrund eines nicht behebbaren Fehlers ein Paket während der Paketverarbeitung fehl. Diese Funktion beendet die Warteschlange.
FN_VMB_CHANNEL_PACKET_GET_EXTERNAL_DATA

Die VmbChannelPacketGetExternalData-Funktion ruft alle externen Speicherdeskriptorlisten (MDLs) ab, die einem Paket während der Paketverarbeitung zugeordnet sind.
FN_VMB_CHANNEL_PAUSE

Die VmbChannelPause-Funktion verschiebt einen Kanal in den angehaltenen Zustand, wodurch neue E/A verhindert werden.
FN_VMB_CHANNEL_RESTORE_FROM_BUFFER

Die VmbChannelRestoreFromBuffer-Funktion stellt den Clientstatus aus dem zuvor gespeicherten Zustand wieder her. Der Treiber muss den Rückgabewert der Funktion überprüfen.
FN_VMB_CHANNEL_SAVE_BEGIN

Die VmbChannelSaveBegin-Funktion initialisiert den Kontext zum Speichern des Zustands eines Kanals. Der Treiber muss den Rückgabewert der Funktion überprüfen.
FN_VMB_CHANNEL_SAVE_CONTINUE

Die VmbChannelSaveContinue-Funktion speichert den Kanalstatus in einem Puffer. Führen Sie die VmbChannelSaveBegin aus, bevor Sie diese Funktion ausführen. Der Treiber muss den Rückgabewert der Funktion überprüfen.
FN_VMB_CHANNEL_SAVE_END

Die Funktion VmbChannelSaveEnd bereinigt alle Ressourcen, die zum Speichern des Zustands eines Kanals zugeordnet wurden.
FN_VMB_CHANNEL_SEND_SYNCHRONOUS_REQUEST

Die VmbChannelSendSynchronousRequest-Funktion sendet ein Paket an den entgegengesetzten Endpunkt und wartet auf eine Antwort.
FN_VMB_CHANNEL_SET_INCOMING_PROCESSING_AT_PASSIVE

Die Funktion VmbChannelSetIncomingProcessingAtPassive legt die erforderliche IRQL für eingehende Analyseroutinen für einen Kanal fest, um PASSIVE_LEVEL.
FN_VMB_CHANNEL_SET_INTERRUPT_LATENCY

Gast-VM-Updates für die Latenz für ausgehende Monitore für MNF-Unterbrechungen.
FN_VMB_CHANNEL_SET_POINTER

Die VmbChannelSetPointer-Funktion speichert einen beliebigen Zeiger in einem Kanalkontext.
FN_VMB_CHANNEL_SET_TRANSACTION_QUOTA

Die Funktion VmbChannelSetTransactionQuota legt das eingehende Paketkontingent fest.
FN_VMB_CHANNEL_SIZEOF_PACKET

Die VmbChannelSizeofPacket-Funktion berechnet die erforderliche Größe für Puffer, die mit der VmbPacketInitialize-Funktion verwendet werden sollen.
FN_VMB_CHANNEL_START

Die VmbChannelStart-Funktion verschiebt einen Kanal aus dem angehaltenen Zustand.
FN_VMB_CHANNEL_UNMAP_GPADL

Die VmbChannelUnmapGpadl-Funktion hebt die Zuordnung einer Gastadressenbeschreibungsliste (GPADL) auf, die mithilfe der VmbChannelMapGpadl-Funktion zugeordnet wird. Der Puffer darf nicht mehr vom Server verwendet werden, bevor diese Funktion aufgerufen wird.
FN_VMB_CLIENT_CHANNEL_INIT_SET_RING_BUFFER_PAGE_COUNT

Die Funktion VmbClientChannelInitSetRingBufferPageCount legt die Anzahl der Seiten des Arbeitsspeichers fest, die der Client für eingehende und ausgehende Ringpuffer zuweist.
FN_VMB_CLIENT_CHANNEL_INIT_SET_TARGET_PNP

Die VmbClientChannelInitSetTargetPnp-Funktion legt das Ziel eines Clientkanals nach Schnittstellentyp und Instanz-IDs fest.
FN_VMB_CONVERT_VMBUS_HANDLE_TO_KERNEL_HANDLE

Die VmbConvertVmbusHandleToKernelHandle-Funktion konvertiert das VMBus-Handle des Benutzermodus in das Kernelmodushandle.
FN_VMB_PACKET_ALLOCATE

Die VmbPacketAllocate-Funktion weist ein Paket aus der Lookaside-Liste des Kanals zu.
FN_VMB_PACKET_FREE

Die VmbPacketFree-Funktion gibt ein Paket frei, das mithilfe der VmbPacketAllocate-Funktion zugeordnet ist.
FN_VMB_PACKET_GET_CHANNEL

Die VmbPacketGetChannel-Funktion gibt den VMBus-Kanal zurück, dem ein VMBus-Paket zugeordnet ist.
FN_VMB_PACKET_GET_POINTER

Die VmbPacketGetPointer-Funktion ruft einen Zeiger ab, der zuvor mithilfe der VmbPacketSetPointer-Funktion gespeichert wurde.
FN_VMB_PACKET_INITIALIZE

Die VmbPacketInitialize-Funktion initialisiert einen Puffer, der ein VMBus-Paket enthält.
FN_VMB_PACKET_RESTORE

Die VmbPacketRestore-Funktion stellt das Paket aus einem Puffer wieder her, der gespeicherten Paketkontext enthält.
FN_VMB_PACKET_SEND

Die VmbPacketSend-Funktion sendet die Daten in einem Paketpuffer oder einer externen Speicherbeschreibungsliste (Memory Descriptor List, MDL). Die Funktion ordnet diese Daten dem VMBus-Paketobjekt zu, das das Paket während der gesamten Lebensdauer der Transaktion darstellt.
FN_VMB_PACKET_SEND_WITH_EXTERNAL_MDL

Die VmbPacketSendWithExternalMdl-Funktion sendet die Daten in einem Paketpuffer oder einer externen Speicherbeschreibungsliste (Memory Descriptor List, MDL).
FN_VMB_PACKET_SEND_WITH_EXTERNAL_PFNS

Die Funktion VmbPacketSendWithExternalPfns sendet die Daten in einem Paketpuffer oder externen Daten als Array von Seitenframezahlen (PFNs).
FN_VMB_PACKET_SET_COMPLETION_ROUTINE

Die VmbPacketSetCompletionRoutine-Funktion legt die Abschlussroutine für ein Paketobjekt fest.
FN_VMB_PACKET_SET_POINTER

Die VmbPacketSetPointer-Funktion speichert einen beliebigen Zeiger im Paketkontext.
FN_VMB_SERVER_CHANNEL_INIT_SET_FLAGS

Die VmbServerChannelInitSetFlags-Funktion legt Kennzeichen fest, die für Serverkanalendpunkte eindeutig sind.
FN_VMB_SERVER_CHANNEL_INIT_SET_MMIO_MEGABYTES

Die Funktion VmbServerChannelInitSetMmioMegabytes gibt die Menge, Megabytes des E/A-Speichers (MMIO) des Gastspeichers an, der für das Gerät reserviert werden soll.
FN_VMB_SERVER_CHANNEL_INIT_SET_SAVE_RESTORE_PACKET_CALLBACKS

Die Funktion VmbServerChannelInitSetSaveRestorePacketCallbacks legt die Speicher- und Wiederherstellungsrückruffunktionen fest, die für jedes Paket aufgerufen werden, wenn der Treiber eine Speicherfunktion aufruft, z. B. VmbChannelSaveBegin, VmbChannelSaveContinue und VmbChannelSaveEnd oder die VmbChannelRestoreFromBuffer-Funktion.
FN_VMB_SERVER_CHANNEL_INIT_SET_TARGET_INTERFACE_ID

Die Funktion VmbServerChannelInitSetTargetInterfaceId legt die GUID des Zielschnittstellentyps und die Instanz-GUID des Kanalangebots fest.
FN_VMB_SERVER_CHANNEL_INIT_SET_TARGET_VTL

Die VmbServerChannelInitSetTargetVtl-Funktion legt das Ziel-VTL für diesen Kanal fest. Der Kanal wird Clients angeboten, die in der angegebenen VTL ausgeführt werden, und keine anderen.
FN_VMB_SERVER_CHANNEL_INIT_SET_VMBUS_HANDLE

Die VmbServerChannelInitSetVmbusHandle-Funktion ordnet eine Instanz von VMBus diesem Kanal zu.

Strukturen

 
KMCL_SERVER_ONLY_METHODS

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

Die KMCL_CLIENT_INTERFACE_V1 Struktur enthält Funktionszeiger für Clientfunktionen für die VMBus Kernel Mode Client Library (KMCL)-Schnittstelle.
VMB_CHANNEL_STATE_CHANGE_CALLBACKS

Die VMB_CHANNEL_STATE_CHANGE_CALLBACKS-Struktur enthält Rückruffunktionen, die sich auf die Zustandsänderungen für einen Kanal beziehen.