共用方式為


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) 值。 如果有任何需要儲存的狀態,此呼叫會失敗,這會以實際大小需求填入 BytesNeededed。 如果第一次叫用傳回失敗碼,KMCL 會第二次呼叫緩衝區,其長度至少為第一次呼叫中規定的長度。

要求

要求 價值
目標平臺 窗戶
標頭 vmbuskernelmodeclientlibapi.h (包括 VmbusKernelModeClientLibApi.h)
IRQL PASSIVE_LEVEL

另請參閱

VmbServerChannelInitSetSaveRestorePacketCallbacks