共用方式為


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或更低層級叫用此回呼函式。

規格需求

需求
目標平台 Windows
標頭 vmbuskernelmodeclientlibapi.h (包含 VmbusKernelModeClientLibApi.h)
IRQL <=DISPATCH_LEVEL

另請參閱

VmbChannelInitSetProcessPacketCallbacks

VmbChannelPacketComplete

VmbChannelPacketGetExternalData