[某些資訊與發行前的產品有關,在正式發行前可能會大幅修改。 Microsoft未就此處提供的資訊提供任何明示或默示擔保。
當虛擬化服務提供者 (VSP) 端點必須儲存與封包相關聯的狀態時,會叫用 EvtVmbChannelSavePacket 回呼函式。
語法
EVT_VMB_CHANNEL_SAVE_PACKET EvtVmbChannelSavePacket;
NTSTATUS EvtVmbChannelSavePacket(
[in] VMBCHANNEL Channel,
[in] VMBPACKET Packet,
[out] PVOID SaveBuf,
[in] UINT32 SaveBufSize,
[out] PUINT32 BytesNeeded
)
{...}
參數
[in] Channel
封包到達的通道。
[in] Packet
VSP 儲存狀態的封包。
[out] SaveBuf
要儲存狀態的緩衝區。
[in] SaveBufSize
SaveBuf 參數的大小,以位元組為單位。
[out] BytesNeeded
儲存交易狀態所需的大小,以位元組為單位。
傳回值
EvtVmbChannelSavePacket 會傳回狀態代碼。
言論
VmbServerChannelInitSetSaveRestorePacketCallbacks 函式會設定回呼函式來儲存每個通道的封包。
VSP 會儲存與 VSP 唯一之交易相關聯的狀態。 核心模式客戶端連結庫 (KMCL) 會儲存自己的狀態。
此函式會針對目前使用中的每個封包物件叫用。 第一個調用會傳遞 SaveBufSize 參數的零 (0) 值。 如果有任何需要儲存的狀態,此呼叫會失敗,這會以實際大小需求填入 BytesNeededed。 如果第一次叫用傳回失敗碼,KMCL 會第二次呼叫緩衝區,其長度至少為第一次呼叫中規定的長度。
要求
要求 | 價值 |
---|---|
目標平臺 | 窗戶 |
標頭 | vmbuskernelmodeclientlibapi.h (包括 VmbusKernelModeClientLibApi.h) |
IRQL | PASSIVE_LEVEL |