Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
[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 |