Share via


vmbuskernelmodeclientlibapi.h-Header

Dieser Header wird vom Netzwerk verwendet. Weitere Informationen finden Sie unter

vmbuskernelmodeclientlibapi.h enthält die folgenden Programmierschnittstellen:

Functions

 
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 Rückruffunktion EvtVmbChannelClosed wird aufgerufen, wenn der Clientendpunkt auf dem virtuellen Gastcomputer einen Kanal mithilfe der VmbChannelDisable-Funktion schließt oder der entgegengesetzte Endpunkt den Kanal entfernt oder schließt.
EVT_VMB_CHANNEL_OPENED

Die Rückruffunktion EvtVmbChannelOpened wird aufgerufen, wenn der Clientendpunkt auf dem virtuellen Gastcomputer einen Kanal öffnet, der diesem 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 ein PnP-Gerät gefunden wurde.
EVT_VMB_CHANNEL_POST_STARTED

Die Rückruffunktion EvtVmbChannelPostStarted 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 Übermittlung nachfolgender Pakete eine Pause erfolgt.
EVT_VMB_CHANNEL_RESTORE_PACKET

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

Die Rückruffunktion EvtVmbChannelSavePacket wird aufgerufen, wenn der VSP-Endpunkt (Virtualization Service Provider) den einem Paket zugeordneten Zustand speichern muss.
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 erneut geöffnet hat, nachdem er geschlossen wurde.
EVT_VMB_CHANNEL_SUSPEND

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

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

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

Die VmbChannelCleanup-Funktion entfernt einen Kanal, der mithilfe der Funktion VmbChannelAllocate zugeordnet oder mit einer VMBus-Kanalinitialisierungsfunktion initialisiert wurde.
FN_VMB_CHANNEL_CREATE_GPADL_FROM_BUFFER

Die VmbChannelCreateGpadlFromBuffer-Funktion erstellt eine Gastadressendeskriptorliste (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 Gastadressendeskriptorliste (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 GPADL-Liste (Gast-Physische Adressdeskriptorliste), die von den Funktionen VmbChannelCreateGpadlFromMdl oder VmbChannelCreateGpadlFromBuffer zugeordnet ist.
FN_VMB_CHANNEL_DISABLE

Die VmbChannelDisable-Funktion deaktiviert einen Kanal, wodurch er für Clientkanäle geschlossen wird und das Kanalangebot für Serverkanäle aufgehoben wird. Diese Funktion wartet, bis der Kanal vollständig abgerissen wurde, bevor er zurückgibt.
FN_VMB_CHANNEL_ENABLE

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

Die VmbChannelGetInterfaceInstance-Funktion ruft die aktive Schnittstelle instance ab. Hierbei handelt es sich um eine GUID, die einen Kanal eindeutig identifiziert.
FN_VMB_CHANNEL_GET_MMIO_SPACE

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

Mit der Funktion VmbChannelGetPointer kann ein Clienttreiber einen Zeiger abrufen, der zuvor mithilfe der Funktion VmbPacketSetPointer 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 sind.
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 das Debuggen und den Leistungsindikator instance Benennung verwendet.
FN_VMB_CHANNEL_INIT_SET_MAXIMUM_EXTERNAL_DATA

Die VmbChannelInitSetMaximumExternalData-Funktion legt die maximale Größe und Verkettungslänge von Daten fest, die von einem Paket beschrieben, aber nicht direkt im Paket gesendet werden. Das heißt, die maximale Größe des Puffers, der durch eine ExternalDataMdl beschrieben wird.
FN_VMB_CHANNEL_INIT_SET_MAXIMUM_PACKET_SIZE

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

Die Funktion VmbChannelInitSetProcessPacketCallbacks 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 sendet, wenn der entgegengesetzte Endpunkt ein Abschlusspaket angefordert hat.
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 ihn übergeben wird.
FN_VMB_CHANNEL_PACKET_FAIL

Die VmbChannelPacketFail-Funktion schlägt ein Paket während der Paketverarbeitung aufgrund eines nicht behebbaren Fehlers 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-Vorgänge verhindert werden.
FN_VMB_CHANNEL_RESTORE_FROM_BUFFER

Die Funktion VmbChannelRestoreFromBuffer 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 Kanalzustand in einem Puffer. Führen Sie VmbChannelSaveBegin aus, bevor Sie diese Funktion ausführen. Der Treiber muss den Rückgabewert der Funktion überprüfen.
FN_VMB_CHANNEL_SAVE_END

Die VmbChannelSaveEnd-Funktion 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 anderen Endpunkt und wartet auf eine Antwort.
FN_VMB_CHANNEL_SET_INCOMING_PROCESSING_AT_PASSIVE

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

Die Gast-VM aktualisiert die Latenz des ausgehenden Monitors 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 VmbChannelSetTransactionQuota-Funktion legt das Kontingent für eingehende Pakete 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 GPADL-Liste (Guest Physical Address Descriptor List) auf, die mit 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 zuordnet.
FN_VMB_CLIENT_CHANNEL_INIT_SET_TARGET_PNP

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

Die VmbConvertVmbusHandleToKernelHandle-Funktion konvertiert das VMBus-Handle im Benutzermodus in das Handle im Kernelmodus.
FN_VMB_PACKET_ALLOCATE

Die VmbPacketAllocate-Funktion ordnet 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 wurde.
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 Funktion VmbPacketGetPointer ruft einen Zeiger ab, der zuvor mithilfe der Funktion VmbPacketSetPointer gespeichert wurde.
FN_VMB_PACKET_INITIALIZE

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

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

Die VmbPacketSend-Funktion sendet die Daten in einem Paketpuffer oder externen Daten 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 Speicherdeskriptorliste (MDL).
FN_VMB_PACKET_SEND_WITH_EXTERNAL_PFNS

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

Die VmbPacketSetCompletionRoutine-Funktion legt die Vervollständigungsroutine 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 Funktion VmbServerChannelInitSetFlags legt Flags fest, die für Serverkanalendpunkte eindeutig sind.
FN_VMB_SERVER_CHANNEL_INIT_SET_MMIO_MEGABYTES

Die Funktion VmbServerChannelInitSetMmioMegabytes gibt die Menge (Megabyte) des im Gastspeicher zugeordneten E/A-Speicherplatzes (MMIO) 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 Rückruffunktionen zum Speichern und Wiederherstellen 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 Zielschnittstellentyp-GUID und instance GUID des Kanalangebots fest.
FN_VMB_SERVER_CHANNEL_INIT_SET_TARGET_VTL

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

Die Funktion VmbServerChannelInitSetVmbusHandle ordnet diesem Kanal eine instance von VMBus zu.

Strukturen

 
KMCL_SERVER_ONLY_METHODS

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

Die KMCL_CLIENT_INTERFACE_V1-Struktur enthält Funktionszeiger für Clientfunktionen für die KMCL-Schnittstelle (Kernel Mode Client Library).
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.