Compartilhar via


FN_VMB_CHANNEL_MAP_GPADL função de retorno de chamada (vmbuskernelmodeclientlibapi.h)

[Algumas informações referem-se ao produto pré-lançado que pode ser substancialmente modificado antes de ser lançado comercialmente. A Microsoft não faz garantias, expressas ou implícitas, em relação às informações fornecidas aqui.]

A função VmbChannelMapGpadl mapeia um buffer do lado do cliente para o espaço de endereço físico do servidor usando um número GPADL (Lista de Descritores de Endereço Físico Convidado).

Sintaxe

FN_VMB_CHANNEL_MAP_GPADL FnVmbChannelMapGpadl;

NTSTATUS FnVmbChannelMapGpadl(
  VMBCHANNEL Channel,
  UINT32 Flags,
  UINT32 GpadlHandle,
  PMDL *Mdl
)
{...}

Parâmetros

Channel

Um identificador para um canal.

Flags

Sinalizadores. Os valores de sinalizador possíveis são:

Valor Significado
VMBUS_CHANNEL_GPADL_FLAG_READ_ONLY
Mapeie com acesso somente leitura.
 

Se esse valor de sinalizador não estiver definido, a função tentará mapear o GPADL para acesso de gravação. Se o GPADL não tiver sido criado com acesso de gravação, essa tentativa de mapeamento falhará. O chamador não será impedido de gravar no buffer se esse sinalizador estiver definido. Esse esquema é usado para melhorar o desempenho da migração ao vivo e do instantâneo.

GpadlHandle

O identificador GPADL do GPADL a ser mapeado.

Mdl

Um ponteiro para um MDL que descreve o buffer do cliente. Esse buffer só é mapeado para espaço de endereço físico. O chamador deve executar etapas adicionais para mapeá-lo para o espaço de endereço virtual.

Valor de retorno

Retorna STATUS_SUCCESS se a operação for bem-sucedida ou um código de erro NTSTATUS apropriado, caso contrário.

Observações

O GPADL deve ter sido previamente estabelecido pelo cliente, por exemplo, usando a função VmbChannelCreateGpadlFromBuffer.

Somente um único mapeamento pode existir para qualquer GPADL determinado de cada vez.

Você deve emparelhar chamadas para essa função com chamadas para a função VmbChannelUnmapGpadl.

Importante

Essa função é chamada por meio da interface KMCL (Biblioteca de Clientes do Modo Kernel do VMBus), fornecida pelo driver de barramento Vmbkmcl.sys. Essa é uma função somente servidor acessada da estrutura KMCL_SERVER_ONLY_METHODS.

Para obter mais informações, consulte a seção Comentários do KMCL_SERVER_ONLY_METHODS.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 10, versão 1803
cabeçalho vmbuskernelmodeclientlibapi.h

Consulte também

VmbChannelCreateGpadlFromBuffer

VmbChannelUnmapGpadl