EVT_VMB_PACKET_COMPLETION_ROUTINE callback function (vmbuskernelmodeclientlibapi.h)

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

The EvtVmbPacketCompletionRoutine callback function is invoked when the transaction associated with a sent packet is complete.

Syntax

EVT_VMB_PACKET_COMPLETION_ROUTINE EvtVmbPacketCompletionRoutine;

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

Parameters

[in] Packet

The packet that is completed.

[in] Status

A status code.

[in] Buffer

A buffer that contains the completion response from the opposite endpoint, if any.

[in] BufferLength

Length of the Buffer parameter, in bytes.

Return value

None

Remarks

After allocating a packet object by using the VmbPacketAllocate function, the client drive can set a completion callback by using the VmbPacketSetCompletionRoutine function.

If the sender used the VMBUS_CHANNEL_FORMAT_FLAG_WAIT_FOR_COMPLETION flag, invocation of this callback means that the opposite endpoint received the packet and completed it. If not, the outgoing packet was successfully placed into the ring buffer.

Requirements

Requirement Value
Target Platform Windows
Header vmbuskernelmodeclientlibapi.h (include VmbusKernelModeClientLibApi.h)
IRQL <=DISPATCH_LEVEL

See also

VmbPacketAllocate

VmbPacketSetCompletionRoutine