Compartilhar via


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

Confira também

Usando interfaces Driver-Defined

WdfFdoQueryForInterface

WdfIoTargetQueryForInterface

KMCL_CLIENT_INTERFACE_V1