структура KMCL_SERVER_ONLY_METHODS (vmbuskernelmodeclientlibapi.h)
Структура KMCL_SERVER_ONLY_METHODS содержит указатели функций только для серверных функций для интерфейса клиентской библиотеки (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 (KMCL), предоставляемый драйвером Vmbkmcl.sys шины. Эта структура содержит указатели функций только для серверных функций.
Чтобы получить доступ к клиентским и серверным функциям интерфейса KMCL, выделите структуру KMCL_SERVER_INTERFACE_V1 для получения интерфейса, а затем вызовите WdfFdoQueryForInterface или WdfIoTargetQueryForInterface с помощью следующих параметров:
- Параметр InterfaceType : KMCL_SERVER_INTERFACE_TYPE
- Параметр Size :
sizeof(KMCL_SERVER_INTERFACE_V1)
- Параметр версии : KMCL_SERVER_INTERFACE_VERSION_V1
Структура KMCL_SERVER_INTERFACE_V1 определяется следующим образом для кода языка C:
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 содержит указатели функций, которые можно использовать для вызова функций KMCL vmBus только для сервера.
Сведения о методах клиента KMCL см. в разделе структура KMCL_CLIENT_INTERFACE_V1 .
Дополнительные сведения об интерфейсах, определяемых драйвером, см. в разделе Использование интерфейсов Driver-Defined.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 10, версия 1809 |
Верхняя часть | vmbuskernelmodeclientlibapi.h |