KMCL_SERVER_ONLY_METHODS 结构 (vmbuskernelmodeclientlibapi.h)
KMCL_SERVER_ONLY_METHODS 结构包含 VMBus 内核模式客户端库 (KMCL) 接口的仅限服务器函数的函数指针。
有关如何访问 KMCL 接口的详细信息,请参阅“备注”部分。
语法
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;
成员
VmbChannelMapGpadl
指向 VmbChannelMapGpadl 函数的 指针。
VmbChannelRestoreFromBuffer
指向 VmbChannelRestoreFromBuffer 函数的 指针。
VmbChannelSaveBegin
指向 VmbChannelSaveBegin 函数的 指针。
VmbChannelSaveContinue
指向 VmbChannelSaveContinue 函数的 指针。
VmbChannelSaveEnd
指向 VmbChannelSaveEnd 函数的指针。
VmbChannelUnmapGpadl
指向 VmbChannelUnmapGpadl 函数的 指针。
VmbConvertVmbusHandleToKernelHandle
指向 VmbConvertVmbusHandleToKernelHandle 函数的 指针。
VmbPacketRestore
指向 VmbPacketRestore 函数的指针。
VmbServerChannelInitSetFlags
指向 VmbServerChannelInitSetFlags 函数的 指针。
VmbServerChannelInitSetMmioMegabytes
指向 VmbServerChannelInitSetMmioMegabytes 函数的 指针。
VmbServerChannelInitSetSaveRestorePacketCallbacks
指向 VmbServerChannelInitSetSaveRestorePacketCallbacks 函数的 指针。
VmbServerChannelInitSetTargetInterfaceId
指向 VmbServerChannelInitSetTargetInterfaceId 函数的 指针。
VmbServerChannelInitSetTargetVtl
指向 VmbServerChannelInitSetTargetVtl 函数的 指针。
VmbServerChannelInitSetVmbusHandle
指向 VmbServerChannelInitSetVmbusHandle 函数的 指针。
注解
KMCL_SERVER_ONLY_METHODS 中的函数指针通过 VMBus 内核模式客户端库 (Vmbkmcl.sys 总线驱动程序提供的 KMCL) 接口调用。 此结构包含仅限服务器函数的函数指针。
若要访问 KMCL 接口的客户端和仅限服务器的函数,请分配 KMCL_SERVER_INTERFACE_V1 结构以接收接口,然后使用以下参数调用 WdfFdoQueryForInterface 或 WdfIoTargetQueryForInterface :
- InterfaceType 参数: KMCL_SERVER_INTERFACE_TYPE
- Size 参数:
sizeof(KMCL_SERVER_INTERFACE_V1)
- 版本 参数: KMCL_SERVER_INTERFACE_VERSION_V1
C 语言代码 的 KMCL_SERVER_INTERFACE_V1 结构定义如下:
typedef struct _KMCL_SERVER_INTERFACE_V1 {
KMCL_CLIENT_INTERFACE_V1;
KMCL_SERVER_ONLY_METHODS;
} KMCL_SERVER_INTERFACE_V1, *PKMCL_SERVER_INTERFACE_V1;
如果接口查询函数成功, KMCL_SERVER_INTERFACE_V1 结构将同时包含 KMCL_CLIENT_INTERFACE_V1 结构和 KMCL_SERVER_ONLY_METHODS 结构。 KMCL_SERVER_ONLY_METHODS 结构包含可用于调用 VMBus KMCL 仅限服务器的函数的函数指针。
有关 KMCL 客户端方法,请参阅 KMCL_CLIENT_INTERFACE_V1 结构。
有关驱动程序定义的接口的详细信息,请参阅 使用 Driver-Defined 接口。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 10 版本 1809 |
标头 | vmbuskernelmodeclientlibapi.h |