vmbuskernelmodeclientlibapi.h header

This header is used by network. For more information, see:

vmbuskernelmodeclientlibapi.h contains the following programming interfaces:

Functions

 
VMB_CHANNEL_STATE_CHANGE_CALLBACKS_INIT

The VMB_CHANNEL_STATE_CHANGE_CALLBACKS_INIT function saves callback functions to be used for state changes for a channel.

Callback functions

 
EVT_VMB_CHANNEL_CLOSED

The EvtVmbChannelClosed callback function is invoked when the client endpoint in the guest virtual machine closes a channel by using the VmbChannelDisable function, or the opposite endpoint rescinds or closes the channel.
EVT_VMB_CHANNEL_OPENED

The EvtVmbChannelOpened callback function is invoked when the client endpoint in the guest virtual machine opens a channel which has been offered to it.
EVT_VMB_CHANNEL_PNP_FAILURE

The EvtChannelPnpFailure callback function is invoked if the client endpoint in the guest virtual machine asynchronously fails to connect even though a PnP device was located.
EVT_VMB_CHANNEL_POST_STARTED

The EvtVmbChannelPostStarted callback function is invoked at either endpoint after packets can be received from the opposite endpoint.
EVT_VMB_CHANNEL_PROCESS_PACKET

The EvtVmbChannelProcessPacket callback function is invoked when a packet arrives in the incoming ring buffer.
EVT_VMB_CHANNEL_PROCESSING_COMPLETE

The EvtVmbChannelProcessingComplete callback function is invoked when a group of packets has been delivered by the EvtVmbChannelProcessPacket function, if there is a pause before delivering subsequent packets.
EVT_VMB_CHANNEL_RESTORE_PACKET

The EvtVmbChannelRestorePacket callback function is invoked when the virtualization service provider (VSP) server endpoint must restore the state associated with a packet object.
EVT_VMB_CHANNEL_SAVE_PACKET

The EvtVmbChannelSavePacket callback function is invoked when the virtualization service provider (VSP) endpoint must save the state associated with a packet.
EVT_VMB_CHANNEL_STARTED

The EvtVmbChannelStarted callback function is invoked at either endpoint when a channel is fully configured but before any packets have been delivered. This occurs when the opposite endpoint opened the channel or reopened it after closing it.
EVT_VMB_CHANNEL_SUSPEND

The EvtVmbChannelSuspend callback function is invoked at the server endpoint when the channel is being closed or deleted by the client endpoint, which moves the server into the Stopped state.
EVT_VMB_PACKET_COMPLETION_ROUTINE

The EvtVmbPacketCompletionRoutine callback function is invoked when the transaction associated with a sent packet is complete.
FN_VMB_CHANNEL_ALLOCATE

The VmbChannelAllocate function allocates a new VMBus channel that has default parameters and callbacks.
FN_VMB_CHANNEL_CLEANUP

The VmbChannelCleanup function disposes of a channel that was allocated by using the VmbChannelAllocate function or initialized by using a VMBus channel initialization function.
FN_VMB_CHANNEL_CREATE_GPADL_FROM_BUFFER

The VmbChannelCreateGpadlFromBuffer function creates a Guest Physical Address Descriptor List (GPADL) that describes a client-side buffer. The GPADL can be used in the server to access the buffer.
FN_VMB_CHANNEL_CREATE_GPADL_FROM_MDL

The VmbChannelCreateGpadlFromMdl function creates a Guest Physical Address Descriptor List (GPADL) that describes a client-side buffer. The GPADL can be used in the server to access the buffer.
FN_VMB_CHANNEL_DELETE_GPADL

The VmbChannelDeleteGpadl function deletes a Guest Physical Address Descriptor List (GPADL) mapped by the VmbChannelCreateGpadlFromMdl or VmbChannelCreateGpadlFromBuffer functions.
FN_VMB_CHANNEL_DISABLE

The VmbChannelDisable function disables a channel, which closes it for client channels and revokes the channel offer for server channels. This function waits until the channel is completely torn down before it returns.
FN_VMB_CHANNEL_ENABLE

The VmbChannelEnable function enables a channel that is in the disabled state by connecting to VMBus and offering or opening a channel, as appropriate for the endpoint type.
FN_VMB_CHANNEL_GET_INTERFACE_INSTANCE

The VmbChannelGetInterfaceInstance function gets the active interface instance, which is a GUID that uniquely identifies a channel.
FN_VMB_CHANNEL_GET_MMIO_SPACE

The VmbChannelGetMmioSpace function retrieves the kernel virtual address of the MMIO space allocated to a channel.
FN_VMB_CHANNEL_GET_POINTER

The VmbChannelGetPointer function lets a client driver retrieve a pointer that was previously saved by using the VmbPacketSetPointer function.
FN_VMB_CHANNEL_INIT_SET_CLIENT_CONTEXT_SIZE

The VmbChannelInitSetClientContextSize function sets the size of the optional context area allocated for the client driver on each incoming packet.
FN_VMB_CHANNEL_INIT_SET_FLAGS

The VmbChannelInitSetFlags function sets flags common to server or client channel endpoints.
FN_VMB_CHANNEL_INIT_SET_FRIENDLY_NAME

The VmbChannelInitSetFriendlyName function sets the friendly name of the Kernel Mode Client Library (KMCL) channel. The friendly name is used for debugging and performance counter instance naming.
FN_VMB_CHANNEL_INIT_SET_MAXIMUM_EXTERNAL_DATA

The VmbChannelInitSetMaximumExternalData function sets the maximum size and chain length of data that is described by a packet, but not directly sent in the packet. That is, the maximum size of the buffer described by an ExternalDataMdl.
FN_VMB_CHANNEL_INIT_SET_MAXIMUM_PACKET_SIZE

The VmbChannelInitSetMaximumPacketSize function sets the maximum packet size that can be delivered through a channel, which is the maximum size that will ever be specified by the VmbPacketSend function.
FN_VMB_CHANNEL_INIT_SET_PROCESS_PACKET_CALLBACKS

The VmbChannelInitSetProcessPacketCallbacks function sets callback functions for packet processing.
FN_VMB_CHANNEL_INIT_SET_STATE_CHANGE_CALLBACKS

The VmbChannelInitSetStateChangeCallbacks function sets optional callback functions for state changes.
FN_VMB_CHANNEL_MAP_GPADL

The VmbChannelMapGpadl function maps a client-side buffer into server-side physical address space by using a Guest Physical Address Descriptor List (GPADL) number.
FN_VMB_CHANNEL_PACKET_COMPLETE

The VmbChannelPacketComplete function cleans up any outstanding memory mappings, releases any buffers in use, and, if the opposite endpoint requested a completion packet, sends a completion packet.
FN_VMB_CHANNEL_PACKET_DEFER_TO_PASSIVE

The VmbChannelPacketDeferToPassive function is called by the client driver to defer a packet passed to it by the EvtVmbChannelProcessPacket callback function.
FN_VMB_CHANNEL_PACKET_FAIL

The VmbChannelPacketFail function fails a packet during packet processing due to an unrecoverable error. This function stops the queue.
FN_VMB_CHANNEL_PACKET_GET_EXTERNAL_DATA

The VmbChannelPacketGetExternalData function gets any external Memory Descriptor Lists (MDLs) associated with a packet during packet processing.
FN_VMB_CHANNEL_PAUSE

The VmbChannelPause function moves a channel into the paused state, which prevents new I/O.
FN_VMB_CHANNEL_RESTORE_FROM_BUFFER

The VmbChannelRestoreFromBuffer function restores the client state from previously saved state. The driver must check the return value of the function.
FN_VMB_CHANNEL_SAVE_BEGIN

The VmbChannelSaveBegin function initializes the context for saving the state of a channel. The driver must check the return value of the function.
FN_VMB_CHANNEL_SAVE_CONTINUE

The VmbChannelSaveContinue function saves the channel state to a buffer. Run the VmbChannelSaveBegin before you run this function. The driver must check the return value of the function.
FN_VMB_CHANNEL_SAVE_END

The VmbChannelSaveEnd function cleans up any resources that were allocated for saving state of a channel.
FN_VMB_CHANNEL_SEND_SYNCHRONOUS_REQUEST

The VmbChannelSendSynchronousRequest function sends a packet to the opposite endpoint and waits for a response.
FN_VMB_CHANNEL_SET_INCOMING_PROCESSING_AT_PASSIVE

The VmbChannelSetIncomingProcessingAtPassive function sets the required IRQL for incoming parsing routines for a channel to PASSIVE_LEVEL.
FN_VMB_CHANNEL_SET_INTERRUPT_LATENCY

Guest VM updates to the outgoing monitor latency for MNF interrupts.
FN_VMB_CHANNEL_SET_POINTER

The VmbChannelSetPointer function saves an arbitrary pointer in a channel context.
FN_VMB_CHANNEL_SET_TRANSACTION_QUOTA

The VmbChannelSetTransactionQuota function sets the incoming packet quota.
FN_VMB_CHANNEL_SIZEOF_PACKET

The VmbChannelSizeofPacket function calculates the necessary size for buffers to be used with the VmbPacketInitialize function.
FN_VMB_CHANNEL_START

The VmbChannelStart function moves a channel out of the paused state.
FN_VMB_CHANNEL_UNMAP_GPADL

The VmbChannelUnmapGpadl function unmaps a Guest Physical Address Descriptor List (GPADL) mapped using by the VmbChannelMapGpadl function. The buffer must no longer be in use by the server before this function is called.
FN_VMB_CLIENT_CHANNEL_INIT_SET_RING_BUFFER_PAGE_COUNT

The VmbClientChannelInitSetRingBufferPageCount function sets the number of pages of memory the client allocates for incoming and outgoing ring buffers.
FN_VMB_CLIENT_CHANNEL_INIT_SET_TARGET_PNP

The VmbClientChannelInitSetTargetPnp function sets a client channel's target by interface type and instance IDs.
FN_VMB_CONVERT_VMBUS_HANDLE_TO_KERNEL_HANDLE

The VmbConvertVmbusHandleToKernelHandle function converts the user mode VMBus handle to kernel mode handle.
FN_VMB_PACKET_ALLOCATE

The VmbPacketAllocate function allocates a packet from the channel's lookaside list.
FN_VMB_PACKET_FREE

The VmbPacketFree function releases a packet allocated by using the VmbPacketAllocate function.
FN_VMB_PACKET_GET_CHANNEL

The VmbPacketGetChannel function returns the VMBus channel with which a VMBus packet is associated.
FN_VMB_PACKET_GET_POINTER

The VmbPacketGetPointer function retrieves a pointer that was previously saved by using the VmbPacketSetPointer function.
FN_VMB_PACKET_INITIALIZE

The VmbPacketInitialize function initializes a buffer to contain a VMBus packet.
FN_VMB_PACKET_RESTORE

The VmbPacketRestore function restores packet from a buffer that contains saved packet context.
FN_VMB_PACKET_SEND

The VmbPacketSend function sends the data in a packet buffer or external data Memory Descriptor List (MDL). The function associates that data with the VMBus packet object, which represents the packet throughout the lifetime of the transaction.
FN_VMB_PACKET_SEND_WITH_EXTERNAL_MDL

The VmbPacketSendWithExternalMdl function sends the data in a packet buffer or external data Memory Descriptor List (MDL).
FN_VMB_PACKET_SEND_WITH_EXTERNAL_PFNS

The VmbPacketSendWithExternalPfns function sends the data in a packet buffer or external data as an array of Page Frame Numbers (PFNs).
FN_VMB_PACKET_SET_COMPLETION_ROUTINE

The VmbPacketSetCompletionRoutine function sets the completion routine for a packet object.
FN_VMB_PACKET_SET_POINTER

The VmbPacketSetPointer function saves an arbitrary pointer in the packet context.
FN_VMB_SERVER_CHANNEL_INIT_SET_FLAGS

The VmbServerChannelInitSetFlags function sets flags unique to server channel endpoints.
FN_VMB_SERVER_CHANNEL_INIT_SET_MMIO_MEGABYTES

The VmbServerChannelInitSetMmioMegabytes function specifies the amount, megabytes, of guest memory-mapped I/O (MMIO) space to reserve for the device.
FN_VMB_SERVER_CHANNEL_INIT_SET_SAVE_RESTORE_PACKET_CALLBACKS

The VmbServerChannelInitSetSaveRestorePacketCallbacks function sets the save and restore callback functions that are called for each packet when the driver calls a save function, such as VmbChannelSaveBegin, VmbChannelSaveContinue, and VmbChannelSaveEnd, or the VmbChannelRestoreFromBuffer function.
FN_VMB_SERVER_CHANNEL_INIT_SET_TARGET_INTERFACE_ID

The VmbServerChannelInitSetTargetInterfaceId function sets the target interface type GUID and instance GUID of the channel offer.
FN_VMB_SERVER_CHANNEL_INIT_SET_TARGET_VTL

The VmbServerChannelInitSetTargetVtl function sets the target VTL for this channel. The channel will be offered to clients running in the specified VTL and no others.
FN_VMB_SERVER_CHANNEL_INIT_SET_VMBUS_HANDLE

The VmbServerChannelInitSetVmbusHandle function associates an instance of VMBus with this channel.

Structures

 
KMCL_SERVER_ONLY_METHODS

The KMCL_SERVER_ONLY_METHODS structure contains function pointers for server-only functions for the VMBus Kernel Mode Client Library (KMCL) interface.
KMCL_SERVER_ONLY_METHODS_V5

The KMCL_CLIENT_INTERFACE_V1 structure contains function pointers for client functions for the VMBus Kernel Mode Client Library (KMCL) interface.
VMB_CHANNEL_STATE_CHANGE_CALLBACKS

The VMB_CHANNEL_STATE_CHANGE_CALLBACKS structure contains callback functions that relate to the state changes for a channel.