Compartilhar via


FN_VMB_PACKET_INITIALIZE função de retorno de chamada (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 VmbPacketInitialize inicializa um buffer para conter um pacote VMBus.

Sintaxe

FN_VMB_PACKET_INITIALIZE FnVmbPacketInitialize;

NTSTATUS FnVmbPacketInitialize(
  VMBCHANNEL Channel,
  VMBPACKET VmbPacket,
  UINT32 ByteCount
)
{...}

Parâmetros

Channel

Um identificador para um canal.

VmbPacket

O buffer a ser usado para armazenar o pacote VMBus.

ByteCount

O tamanho do Buffer, em bytes.

Retornar valor

VmbPacketInitialize retorna os seguintes códigos de status:

Código de retorno Descrição
STATUS_SUCCESS
A função foi concluída com êxito.
STATUS_INVALID_PARAMETER_3
O valor de ByteCount não é válido. Ele precisa ser maior que o tamanho máximo do pacote mais o tamanho de um ponteiro nulo.

Comentários

O tamanho do buffer deve ser pelo menos o tamanho calculado usando a função VmbChannelSizeofPacket .

VmbPacketInitialize é uma alternativa à função VmbPacketAllocate . Use a função atual se o chamador fornecer a memória do objeto de pacote.

A rotina de conclusão inicial do pacote é inválida e deve ser definida antes de enviar o pacote.

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

VmbChannelSizeofPacket

VmbPacketAllocate