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 标志,则调用此回调意味着相反的终结点已接收并完成数据包。 否则,传出数据包已成功放入环形缓冲区。

要求

要求
目标平台 Windows
标头 vmbuskernelmodeclientlibapi.h (包括 VmbusKernelModeClientLibApi.h)
IRQL <=DISPATCH_LEVEL

另请参阅

VmbPacketAllocate

VmbPacketSetCompletionRoutine