Compartilhar via


função de retorno de chamada EVT_VMB_CHANNEL_SAVE_PACKET (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 de retorno de chamada EvtVmbChannelSavePacket é invocada quando o ponto de extremidade do VSP (provedor de serviços de virtualização) deve salvar o estado associado a um pacote.

Sintaxe

EVT_VMB_CHANNEL_SAVE_PACKET EvtVmbChannelSavePacket;

NTSTATUS EvtVmbChannelSavePacket(
  [in]  VMBCHANNEL Channel,
  [in]  VMBPACKET Packet,
  [out] PVOID SaveBuf,
  [in]  UINT32 SaveBufSize,
  [out] PUINT32 BytesNeeded
)
{...}

Parâmetros

[in] Channel

O canal no qual o pacote chega.

[in] Packet

O pacote para o qual o VSP salva o estado.

[out] SaveBuf

O buffer no qual salvar o estado.

[in] SaveBufSize

Tamanho do parâmetro SaveBuf , em bytes.

[out] BytesNeeded

Tamanho necessário para salvar o estado da transação, em bytes.

Retornar valor

EvtVmbChannelSavePacket retorna um código status.

Comentários

A função VmbServerChannelInitSetSaveRestorePacketCallbacks define uma função de retorno de chamada para salvar pacotes para cada canal.

O VSP salva o estado associado à transação exclusiva do VSP. A KMCL (Biblioteca de Clientes do Modo Kernel) salva seu próprio estado.

Essa função é invocada para cada objeto de pacote que está em uso no momento. A primeira invocação passa um valor zero (0) para o parâmetro SaveBufSize . Essa chamada falhará se houver algum estado que precise ser salvo, que preencha BytesNeeded com o requisito de tamanho real. Se essa primeira invocação retornar um código de falha, o KMCL chamará uma segunda vez com um buffer de pelo menos o comprimento estipulado na primeira chamada.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho vmbuskernelmodeclientlibapi.h (inclua VmbusKernelModeClientLibApi.h)
IRQL PASSIVE_LEVEL

Confira também

VmbServerChannelInitSetSaveRestorePacketCallbacks