Compartilhar via


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

[Algumas informações relacionam-se ao produto de pré-lançamento, o qual poderá ser substancialmente modificado antes do lançamento comercial. A Microsoft não fornece nenhuma garantia, expressa ou implícita, com 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 lado 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
Mapear 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 dinâmica 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 o espaço de endereço físico. O chamador deve executar etapas adicionais para mapeá-lo para o espaço de endereço virtual.

Retornar valor

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

Comentários

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 fornecido por 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 de 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
Cliente mínimo com suporte Windows 10, versão 1803
Cabeçalho vmbuskernelmodeclientlibapi.h

Confira também

VmbChannelCreateGpadlFromBuffer

VmbChannelUnmapGpadl