Compartilhar via


FN_VMB_CHANNEL_CREATE_GPADL_FROM_MDL 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 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 valores possíveis são os seguintes:

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 o desempenho de instantâneo e 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.

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

Quando essa função retorna, o ponto de extremidade do servidor pode chamar VmbChannelMapGpadl, pois o VMBus já terá enviado a descrição 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
de cliente com suporte mínimo Windows 10, versão 1803
cabeçalho vmbuskernelmodeclientlibapi.h

Consulte também

VmbChannelDeleteGpadl

VmbChannelMapGpadl