EVT_VMB_CHANNEL_SAVE_PACKET 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 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.
Valor de retorno
EvtVmbChannelSavePacket retorna um código de status.
Observações
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 o 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 |
---|---|
da Plataforma de Destino | Windows |
cabeçalho | vmbuskernelmodeclientlibapi.h (inclua VmbusKernelModeClientLibApi.h) |
IRQL | PASSIVE_LEVEL |