EVT_VMB_CHANNEL_SAVE_PACKET回呼函式 (vmbuskernelmodeclientlibapi.h)
[某些資訊與發行前版本產品有關,在正式發行前可能會大幅修改。 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) 值。 如果需要儲存任何狀態,則此呼叫會失敗,這會填滿 BytesNeeded 的實際大小需求。 如果這個第一次叫用傳回失敗碼,KMCL 會第二次呼叫緩衝區,其長度至少為第一次呼叫中規定。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | vmbuskernelmodeclientlibapi.h (包含 VmbusKernelModeClientLibApi.h) |
IRQL | PASSIVE_LEVEL |