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 |