EVT_VMB_CHANNEL_SAVE_PACKET funzione di callback (vmbuskernelmodeclientlibapi.h)
[Alcune informazioni riguardano il prodotto non rilasciato che può essere modificato in modo sostanziale prima che venga rilasciato commercialmente. Microsoft non fornisce garanzie, esplicite o implicite, relativamente alle informazioni fornite qui.
Il EvtVmbChannelSavePacket funzione di callback viene richiamata quando l'endpoint del provider di servizi di virtualizzazione deve salvare lo stato associato a un pacchetto.
Sintassi
EVT_VMB_CHANNEL_SAVE_PACKET EvtVmbChannelSavePacket;
NTSTATUS EvtVmbChannelSavePacket(
[in] VMBCHANNEL Channel,
[in] VMBPACKET Packet,
[out] PVOID SaveBuf,
[in] UINT32 SaveBufSize,
[out] PUINT32 BytesNeeded
)
{...}
Parametri
[in] Channel
Canale in cui arriva il pacchetto.
[in] Packet
Pacchetto per il quale il provider di servizi virtuali salva lo stato.
[out] SaveBuf
Buffer in cui salvare lo stato.
[in] SaveBufSize
Dimensioni del parametro SaveBuf in byte.
[out] BytesNeeded
Dimensioni necessarie per salvare lo stato della transazione, in byte.
Valore restituito
EvtVmbChannelSavePacket restituisce un codice di stato.
Osservazioni
La funzione VmbServerChannelInitSetSaveRestorePacketCallbacks imposta una funzione di callback per salvare i pacchetti per ogni canale.
Il provider di servizi virtuali salva lo stato associato alla transazione univoca per il provider di servizi virtuali. La libreria client in modalità kernel (KMCL) salva il proprio stato.
Questa funzione viene richiamata per ogni oggetto pacchetto attualmente in uso. La prima chiamata passa un valore zero (0) per il parametro SaveBufSize. Questa chiamata ha esito negativo se è presente uno stato che deve essere salvato, che riempie il byte BytesNeeded con il requisito di dimensione effettivo. Se questa prima chiamata restituisce un codice di errore, il kmcl chiama una seconda volta con un buffer di almeno la lunghezza prevista nella prima chiamata.
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Finestre |
intestazione | vmbuskernelmodeclientlibapi.h (include VmbusKernelModeClientLibApi.h) |
IRQL | PASSIVE_LEVEL |