vmbuskernelmodeclientlibapi.h 标头

此标头由网络使用。 有关详细信息,请参阅:

vmbuskernelmodeclientlibapi.h 包含以下编程接口:

函数

 
VMB_CHANNEL_STATE_CHANGE_CALLBACKS_INIT

VMB_CHANNEL_STATE_CHANGE_CALLBACKS_INIT 函数保存要用于通道状态更改的回调函数。

回调函数

 
EVT_VMB_CHANNEL_CLOSED

当来宾虚拟机中的客户端终结点使用 VmbChannelDisable 函数关闭通道,或者相反的终结点取消或关闭通道时,将调用 EvtVmbChannelClosed 回调函数。
EVT_VMB_CHANNEL_OPENED

当来宾虚拟机中的客户端终结点打开已提供给它的通道时,将调用 EvtVmbChannelOpened 回调函数。
EVT_VMB_CHANNEL_PNP_FAILURE

如果来宾虚拟机中的客户端终结点异步连接失败,即使已找到 PnP 设备,也会调用 EvtChannelPnpFailure 回调函数。
EVT_VMB_CHANNEL_POST_STARTED

从另一终结点接收数据包后,将在任一终结点调用 EvtVmbChannelPostStarted 回调函数。
EVT_VMB_CHANNEL_PROCESS_PACKET

当数据包到达传入环形缓冲区时,将调用 EvtVmbChannelProcessPacket 回调函数。
EVT_VMB_CHANNEL_PROCESSING_COMPLETE

如果在传递后续数据包之前暂停,则当 EvtVmbChannelProcessPacket 函数传递了一组数据包时,将调用 EvtVmbChannelProcessingComplete 回调函数。
EVT_VMB_CHANNEL_RESTORE_PACKET

当虚拟化服务提供商 (VSP) 服务器终结点必须还原与数据包对象关联的状态时,将调用 EvtVmbChannelRestorePacket 回调函数。
EVT_VMB_CHANNEL_SAVE_PACKET

当虚拟化服务提供商 (VSP) 终结点必须保存与数据包关联的状态时,将调用 EvtVmbChannelSavePacket 回调函数。
EVT_VMB_CHANNEL_STARTED

当通道完全配置时,但在传递任何数据包之前,将在任一终结点调用 EvtVmbChannelStarted 回调函数。 当相反的终结点打开通道或在关闭通道后重新打开通道时,将发生这种情况。
EVT_VMB_CHANNEL_SUSPEND

当通道被客户端终结点关闭或删除时,会在服务器终结点调用 EvtVmbChannelSuspend 回调函数,这将将服务器移动到“已停止”状态。
EVT_VMB_PACKET_COMPLETION_ROUTINE

当与发送的数据包关联的事务完成时,将调用 EvtVmbPacketCompletionRoutine 回调函数。
FN_VMB_CHANNEL_ALLOCATE

VmbChannelAllocate 函数分配具有默认参数和回调的新 VMBus 通道。
FN_VMB_CHANNEL_CLEANUP

VmbChannelCleanup 函数释放使用 VmbChannelAllocate 函数分配或使用 VMBus 通道初始化函数初始化的通道。
FN_VMB_CHANNEL_CREATE_GPADL_FROM_BUFFER

VmbChannelCreateGpadlFromBuffer 函数 (描述客户端缓冲区的 GPADL) 创建来宾物理地址描述符列表。 可以在服务器中使用 GPADL 来访问缓冲区。
FN_VMB_CHANNEL_CREATE_GPADL_FROM_MDL

VmbChannelCreateGpadlFromMdl 函数 (描述客户端缓冲区的 GPADL) 创建来宾物理地址描述符列表。 可以在服务器中使用 GPADL 来访问缓冲区。
FN_VMB_CHANNEL_DELETE_GPADL

VmbChannelDeleteGpadl 函数删除由 VmbChannelCreateGpadlFromMdl 或 VmbChannelCreateGpadlFromBuffer 函数映射的 GPADL) 来宾物理地址描述符 (列表。
FN_VMB_CHANNEL_DISABLE

VmbChannelDisable 函数禁用通道,这会关闭客户端通道,并撤销服务器通道的通道产品/服务。 此函数将等待通道完全关闭,然后才返回。
FN_VMB_CHANNEL_ENABLE

VmbChannelEnable 函数通过连接到 VMBus 并根据需要提供或打开通道来启用处于禁用状态的通道。
FN_VMB_CHANNEL_GET_INTERFACE_INSTANCE

VmbChannelGetInterfaceInstance 函数获取活动接口实例,该实例是唯一标识通道的 GUID。
FN_VMB_CHANNEL_GET_MMIO_SPACE

VmbChannelGetMmioSpace 函数检索分配给通道的 MMIO 空间的内核虚拟地址。
FN_VMB_CHANNEL_GET_POINTER

VmbChannelGetPointer 函数允许客户端驱动程序检索以前使用 VmbPacketSetPointer 函数保存的指针。
FN_VMB_CHANNEL_INIT_SET_CLIENT_CONTEXT_SIZE

VmbChannelInitSetClientContextSize 函数设置在每个传入数据包上为客户端驱动程序分配的可选上下文区域的大小。
FN_VMB_CHANNEL_INIT_SET_FLAGS

VmbChannelInitSetFlags 函数设置服务器或客户端通道终结点通用的标志。
FN_VMB_CHANNEL_INIT_SET_FRIENDLY_NAME

VmbChannelInitSetFriendlyName 函数 (KMCL) 通道设置内核模式客户端库的友好名称。 友好名称用于调试和性能计数器实例命名。
FN_VMB_CHANNEL_INIT_SET_MAXIMUM_EXTERNAL_DATA

VmbChannelInitSetMaximumExternalData 函数设置数据包描述但未直接在数据包中发送的数据的最大大小和链长度。 即 ExternalDataMdl 描述的缓冲区的最大大小。
FN_VMB_CHANNEL_INIT_SET_MAXIMUM_PACKET_SIZE

VmbChannelInitSetMaximumPacketSize 函数设置可通过通道传递的最大数据包大小,该大小是 VmbPacketSend 函数指定的最大大小。
FN_VMB_CHANNEL_INIT_SET_PROCESS_PACKET_CALLBACKS

VmbChannelInitSetProcessPacketCallbacks 函数设置数据包处理的回调函数。
FN_VMB_CHANNEL_INIT_SET_STATE_CHANGE_CALLBACKS

VmbChannelInitSetStateChangeCallbacks 函数为状态更改设置可选回调函数。
FN_VMB_CHANNEL_MAP_GPADL

VmbChannelMapGpadl 函数使用来宾物理地址描述符列表 (GPADL) 号将客户端缓冲区映射到服务器端物理地址空间。
FN_VMB_CHANNEL_PACKET_COMPLETE

VmbChannelPacketComplete 函数会清理所有未完成的内存映射,释放正在使用的任何缓冲区,如果相反的终结点请求了完成数据包,则发送完成数据包。
FN_VMB_CHANNEL_PACKET_DEFER_TO_PASSIVE

客户端驱动程序调用 VmbChannelPacketDeferToPassive 函数来延迟由 EvtVmbChannelProcessPacket 回调函数传递给它的数据包。
FN_VMB_CHANNEL_PACKET_FAIL

VmbChannelPacketFail 函数在数据包处理期间因不可恢复的错误而使数据包失败。 此函数停止队列。
FN_VMB_CHANNEL_PACKET_GET_EXTERNAL_DATA

VmbChannelPacketGetExternalData 函数在数据包处理期间获取与数据包关联的任何外部内存描述符列表 (MDL) 。
FN_VMB_CHANNEL_PAUSE

VmbChannelPause 函数将通道移动到暂停状态,从而阻止新的 I/O。
FN_VMB_CHANNEL_RESTORE_FROM_BUFFER

VmbChannelRestoreFromBuffer 函数从以前保存的状态还原客户端状态。 驱动程序必须检查函数的返回值。
FN_VMB_CHANNEL_SAVE_BEGIN

VmbChannelSaveBegin 函数初始化上下文以保存通道的状态。 驱动程序必须检查函数的返回值。
FN_VMB_CHANNEL_SAVE_CONTINUE

VmbChannelSaveContinue 函数将通道状态保存到缓冲区。 运行此函数之前,请运行 VmbChannelSaveBegin。 驱动程序必须检查函数的返回值。
FN_VMB_CHANNEL_SAVE_END

VmbChannelSaveEnd 函数会清理为保存通道状态而分配的任何资源。
FN_VMB_CHANNEL_SEND_SYNCHRONOUS_REQUEST

VmbChannelSendSynchronousRequest 函数将数据包发送到另一终结点并等待响应。
FN_VMB_CHANNEL_SET_INCOMING_PROCESSING_AT_PASSIVE

VmbChannelSetIncomingProcessingAtPassive 函数将通道传入分析例程所需的 IRQL 设置为PASSIVE_LEVEL。
FN_VMB_CHANNEL_SET_INTERRUPT_LATENCY

来宾 VM 更新到 MNF 中断的传出监视器延迟。
FN_VMB_CHANNEL_SET_POINTER

VmbChannelSetPointer 函数将任意指针保存在通道上下文中。
FN_VMB_CHANNEL_SET_TRANSACTION_QUOTA

VmbChannelSetTransactionQuota 函数设置传入数据包配额。
FN_VMB_CHANNEL_SIZEOF_PACKET

VmbChannelSizeofPacket 函数计算与 VmbPacketInitialize 函数一起使用的缓冲区所需的大小。
FN_VMB_CHANNEL_START

VmbChannelStart 函数将通道移出暂停状态。
FN_VMB_CHANNEL_UNMAP_GPADL

VmbChannelUnmapGpadl 函数取消映射由 VmbChannelMapGpadl 函数使用映射 (GPADL) 的来宾物理地址描述符列表。 在调用此函数之前,服务器必须不再使用缓冲区。
FN_VMB_CLIENT_CHANNEL_INIT_SET_RING_BUFFER_PAGE_COUNT

VmbClientChannelInitSetRingBufferPageCount 函数设置客户端为传入和传出环形缓冲区分配的内存页数。
FN_VMB_CLIENT_CHANNEL_INIT_SET_TARGET_PNP

VmbClientChannelInitSetTargetPnp 函数按接口类型和实例 ID 设置客户端通道的目标。
FN_VMB_CONVERT_VMBUS_HANDLE_TO_KERNEL_HANDLE

VmbConvertVmbusHandleToKernelHandle 函数将用户模式 VMBus 句柄转换为内核模式句柄。
FN_VMB_PACKET_ALLOCATE

VmbPacketAllocate 函数从通道的旁视列表中分配数据包。
FN_VMB_PACKET_FREE

VmbPacketFree 函数释放使用 VmbPacketAllocate 函数分配的数据包。
FN_VMB_PACKET_GET_CHANNEL

VmbPacketGetChannel 函数返回与 VMBus 数据包关联的 VMBus 通道。
FN_VMB_PACKET_GET_POINTER

VmbPacketGetPointer 函数检索以前使用 VmbPacketSetPointer 函数保存的指针。
FN_VMB_PACKET_INITIALIZE

VmbPacketInitialize 函数初始化缓冲区以包含 VMBus 数据包。
FN_VMB_PACKET_RESTORE

VmbPacketRestore 函数从包含已保存数据包上下文的缓冲区还原数据包。
FN_VMB_PACKET_SEND

VmbPacketSend 函数将数据发送到数据包缓冲区或外部数据内存描述符列表 (MDL) 。 函数将该数据与 VMBus 数据包对象相关联,该对象表示事务整个生存期的数据包。
FN_VMB_PACKET_SEND_WITH_EXTERNAL_MDL

VmbPacketSendWithExternalMdl 函数发送数据包缓冲区中的数据或外部数据内存描述符列表 (MDL) 。
FN_VMB_PACKET_SEND_WITH_EXTERNAL_PFNS

VmbPacketSendWithExternalPfns 函数将数据包缓冲区中的数据或外部数据作为页帧编号数组发送 (PPN) 。
FN_VMB_PACKET_SET_COMPLETION_ROUTINE

VmbPacketSetCompletionRoutine 函数设置数据包对象的完成例程。
FN_VMB_PACKET_SET_POINTER

VmbPacketSetPointer 函数将任意指针保存在数据包上下文中。
FN_VMB_SERVER_CHANNEL_INIT_SET_FLAGS

VmbServerChannelInitSetFlags 函数设置服务器通道终结点特有的标志。
FN_VMB_SERVER_CHANNEL_INIT_SET_MMIO_MEGABYTES

VmbServerChannelInitSetMmioMegabytes 函数指定要为设备保留的来宾内存映射 I/O (MMIO) 空间量(兆字节)。
FN_VMB_SERVER_CHANNEL_INIT_SET_SAVE_RESTORE_PACKET_CALLBACKS

VmbServerChannelInitSetSaveRestorePacketCallbacks 函数设置在驱动程序调用保存函数(如 VmbChannelSaveBegin、VmbChannelSaveContinue 和 VmbChannelSaveEnd 或 VmbChannelRestoreFromBuffer 函数)时为每个数据包调用的保存和还原回调函数。
FN_VMB_SERVER_CHANNEL_INIT_SET_TARGET_INTERFACE_ID

VmbServerChannelInitSetTargetInterfaceId 函数设置通道产品/服务的目标接口类型 GUID 和实例 GUID。
FN_VMB_SERVER_CHANNEL_INIT_SET_TARGET_VTL

VmbServerChannelInitSetTargetVtl 函数设置此通道的目标 VTL。 通道将提供给在指定的 VTL 中运行的客户端,而没有其他客户端。
FN_VMB_SERVER_CHANNEL_INIT_SET_VMBUS_HANDLE

VmbServerChannelInitSetVmbusHandle 函数将 VMBus 的实例与此通道相关联。

结构

 
KMCL_SERVER_ONLY_METHODS

KMCL_SERVER_ONLY_METHODS 结构包含 VMBus 内核模式客户端库 (KMCL) 接口的仅限服务器函数的函数指针。
KMCL_SERVER_ONLY_METHODS_V5

KMCL_CLIENT_INTERFACE_V1 结构包含 VMBus 内核模式客户端库 (KMCL) 接口的客户端函数的函数指针。
VMB_CHANNEL_STATE_CHANGE_CALLBACKS

VMB_CHANNEL_STATE_CHANGE_CALLBACKS 结构包含与通道的状态更改相关的回调函数。