estrutura KMCL_SERVER_ONLY_METHODS (vmbuskernelmodeclientlibapi.h)
A estrutura KMCL_SERVER_ONLY_METHODS contém ponteiros de função para funções somente de servidor para a interface KMCL (Biblioteca de Clientes do Modo Kernel do VMBus).
Para obter mais informações sobre como acessar a interface KMCL, consulte a seção Comentários.
Sintaxe
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;
Membros
VmbChannelMapGpadl
Um ponteiro para a função VmbChannelMapGpadl .
VmbChannelRestoreFromBuffer
Um ponteiro para a função VmbChannelRestoreFromBuffer .
VmbChannelSaveBegin
Um ponteiro para a função VmbChannelSaveBegin .
VmbChannelSaveContinue
Um ponteiro para a função VmbChannelSaveContinue .
VmbChannelSaveEnd
Um ponteiro para a função VmbChannelSaveEnd .
VmbChannelUnmapGpadl
Um ponteiro para a função VmbChannelUnmapGpadl .
VmbConvertVmbusHandleToKernelHandle
Um ponteiro para a função VmbConvertVmbusHandleToKernelHandle .
VmbPacketRestore
Um ponteiro para a função VmbPacketRestore .
VmbServerChannelInitSetFlags
Um ponteiro para a função VmbServerChannelInitSetFlags .
VmbServerChannelInitSetMmioMegabytes
Um ponteiro para a função VmbServerChannelInitSetMmioMegabytes .
VmbServerChannelInitSetSaveRestorePacketCallbacks
Um ponteiro para a função VmbServerChannelInitSetSaveRestorePacketCallbacks .
VmbServerChannelInitSetTargetInterfaceId
Um ponteiro para a função VmbServerChannelInitSetTargetInterfaceId .
VmbServerChannelInitSetTargetVtl
Um ponteiro para a função VmbServerChannelInitSetTargetVtl .
VmbServerChannelInitSetVmbusHandle
Um ponteiro para a função VmbServerChannelInitSetVmbusHandle .
Comentários
Os ponteiros de função em KMCL_SERVER_ONLY_METHODS são chamados por meio da interface KMCL (Biblioteca de Clientes do Modo Kernel do VMBus), fornecida pelo driver de barramento Vmbkmcl.sys. Essa estrutura contém ponteiros de função para funções somente de servidor.
Para acessar as funções somente cliente e servidor da interface KMCL, aloque uma estrutura KMCL_SERVER_INTERFACE_V1 para receber a interface e chame WdfFdoQueryForInterface ou WdfIoTargetQueryForInterface com estes parâmetros:
- Parâmetro InterfaceType : KMCL_SERVER_INTERFACE_TYPE
- Parâmetro de tamanho :
sizeof(KMCL_SERVER_INTERFACE_V1)
- Parâmetro de versão : KMCL_SERVER_INTERFACE_VERSION_V1
A estrutura KMCL_SERVER_INTERFACE_V1 é definida da seguinte maneira para o código da linguagem C:
typedef struct _KMCL_SERVER_INTERFACE_V1 {
KMCL_CLIENT_INTERFACE_V1;
KMCL_SERVER_ONLY_METHODS;
} KMCL_SERVER_INTERFACE_V1, *PKMCL_SERVER_INTERFACE_V1;
Se a função de consulta de interface for bem-sucedida, a estrutura KMCL_SERVER_INTERFACE_V1 conterá uma estrutura KMCL_CLIENT_INTERFACE_V1 e uma estrutura KMCL_SERVER_ONLY_METHODS . A estrutura KMCL_SERVER_ONLY_METHODS contém ponteiros de função que você pode usar para chamar funções somente de servidor KMCL VMBus.
Para métodos de cliente KMCL, consulte a estrutura KMCL_CLIENT_INTERFACE_V1 .
Para obter mais informações sobre interfaces definidas pelo driver, consulte Usando interfaces Driver-Defined.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 10, versão 1809 |
Cabeçalho | vmbuskernelmodeclientlibapi.h |