Compartilhar via


função de retorno de chamada FN_VMB_CHANNEL_CREATE_GPADL_FROM_MDL (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 VmbChannelCreateGpadlFromMdl cria uma GPADL (Lista de Descritores de Endereço Físico Convidado) que descreve um buffer do lado do cliente. O GPADL pode ser usado no servidor para acessar o buffer.

Sintaxe

FN_VMB_CHANNEL_CREATE_GPADL_FROM_MDL FnVmbChannelCreateGpadlFromMdl;

NTSTATUS FnVmbChannelCreateGpadlFromMdl(
  VMBCHANNEL Channel,
  UINT32 Flags,
  PMDL Mdl,
  UINT32 StartOffsetWithinMdl,
  UINT32 DataLengthWithinMdl,
  PUINT32 GpadlHandle
)
{...}

Parâmetros

Channel

Um identificador para um canal.

Flags

Sinalizadores. Os seguintes valores são possíveis:

Valor Significado
VMBUS_CHANNEL_GPADL_READ_ONLY
Se você especificar esse valor, o buffer será somente leitura. Caso contrário, o servidor poderá gravar no buffer. Essa não é uma medida de segurança, mas pode melhorar instantâneo e o desempenho da migração ao vivo.

Mdl

Um ponteiro para uma cadeia de MDL (Lista de Descritores de Memória) que descreve o buffer. O buffer pode ter várias partes, que são encadeadas usando o próximo ponteiro MDL.

StartOffsetWithinMdl

Um deslocamento, em bytes, no MDL no qual iniciar o mapeamento.

DataLengthWithinMdl

O comprimento, em bytes, da cadeia de buffers. Se esse valor for zero (0), use até o final do MDL.

GpadlHandle

O identificador GPADL do MDL criado. Envie isso para o servidor a ser usado com a função VmbChannelMapGpadl .

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

Quando essa função retorna, o ponto de extremidade do servidor pode chamar VmbChannelMapGpadl, pois o VMBus já terá enviado a descrição do GPADL para o ponto de extremidade oposto e recebido a confirmação.

O GPADL deve ser excluído usando a função VmbChannelDeleteGpadl .

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 cliente acessada da estrutura de KMCL_CLIENT_INTERFACE_V1 .

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

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 10, versão 1803
Cabeçalho vmbuskernelmodeclientlibapi.h

Confira também

VmbChannelDeleteGpadl

VmbChannelMapGpadl