共用方式為


EVT_VMB_CHANNEL_PROCESS_PACKET回呼函式 (vmbuskernelmodeclientlibapi.h)

[某些資訊與發行前的產品有關,在正式發行前可能會大幅修改。 Microsoft未就此處提供的資訊提供任何明示或默示擔保。

當封包抵達傳入通道緩衝區時,會叫用 EvtVmbChannelProcessPacket 回呼函式。

語法

EVT_VMB_CHANNEL_PROCESS_PACKET EvtVmbChannelProcessPacket;

void EvtVmbChannelProcessPacket(
  [in] VMBCHANNEL Channel,
  [in] VMBPACKETCOMPLETION Packet,
  [in] PVOID Buffer,
  [in] UINT32 BufferLength,
  [in] UINT32 Flags
)
{...}

參數

[in] Channel

封包到達的通道。

[in] Packet

完成內容,可在交易淘汰時,將此封包識別為核心模式用戶端連結庫 (KMCL)。

[in] Buffer

由相反端點傳送的封包。 此值不包含 VMBus 和 KMCL 標頭。

[in] BufferLength

Buffer 參數的長度,以位元組為單位。

[in] Flags

標誌。 可能的值包括下列各項:

價值 意義
VMBUS_CHANNEL_PROCESS_PACKET_FLAGS
0x1
封包會參考外部數據。 您可以使用 VmbChannelPacketGetExternalData 函式來擷取此數據。

傳回值

沒有

言論

用戶端驅動程式會使用 VmbChannelInitSetProcessPacketCallbacks 函式來註冊此回呼函式的實作。

每次叫用此函式時,您最終都必須呼叫 VmbChannelPacketComplete 函式。

除非通道已設定為將封包處理延遲至背景工作線程,否則可以在 DISPATCH_LEVEL 或更低版本叫用此回呼函式。

要求

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

另請參閱

VmbChannelInitSetProcessPacketCallbacks

VmbChannelPacketComplete

VmbChannelPacketGetExternalData