EVT_VMB_PACKET_COMPLETION_ROUTINE回调函数 (vmbuskernelmodeclientlibapi.h)

[某些信息与预发行的产品有关,该产品在商业发布之前可能会进行大幅修改。 Microsoft对此处提供的信息不作任何明示或暗示的保证。

当与发送数据包关联的事务完成时,将调用 EvtVmbPacketCompletionRoutine 回调函数。

语法

EVT_VMB_PACKET_COMPLETION_ROUTINE EvtVmbPacketCompletionRoutine;

void EvtVmbPacketCompletionRoutine(
  [in] VMBPACKET Packet,
  [in] NTSTATUS Status,
  [in] PVOID Buffer,
  [in] UINT32 BufferLength
)
{...}

参数

[in] Packet

已完成的数据包。

[in] Status

状态代码。

[in] Buffer

包含来自相反终结点的完成响应(如果有)的缓冲区。

[in] BufferLength

Buffer 参数的长度(以字节为单位)。

返回值

没有

言论

使用 VmbPacketAllocate 函数分配数据包对象后,客户端驱动器可以使用 VmbPacketSetCompletionRoutine 函数来设置完成回调。

如果发送方使用了VMBUS_CHANNEL_FORMAT_FLAG_WAIT_FOR_COMPLETION标志,则调用此回调意味着相反的终结点收到数据包并完成该数据包。 否则,传出数据包已成功放入环形缓冲区。

要求

要求 价值
目标平台 窗户
标头 vmbuskernelmodeclientlibapi.h (包括 VmbusKernelModeClientLibApi.h)
IRQL <=DISPATCH_LEVEL

另请参阅

VmbPacketAllocate

VmbPacketSetCompletionRoutine