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
标志。 可能的值如下所示:
值 | 含义 |
---|---|
|
数据包引用外部数据。 可以使用 VmbChannelPacketGetExternalData 函数检索此数据。 |
返回值
无
备注
客户端驱动程序使用 VmbChannelInitSetProcessPacketCallbacks 函数注册此回调函数的实现。
每次调用此函数时,最终都必须调用 VmbChannelPacketComplete 函数。
可以在 DISPATCH_LEVEL 或更低时间调用此回调函数,除非通道已配置为将数据包处理延迟到工作线程。
要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | vmbuskernelmodeclientlibapi.h (包括 VmbusKernelModeClientLibApi.h) |
IRQL | <=DISPATCH_LEVEL |