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 |