EVT_VMB_CHANNEL_PROCESS_PACKET 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 EvtVmbChannelProcessPacket callback function is invoked when a packet arrives in the incoming ring buffer.
Syntax
EVT_VMB_CHANNEL_PROCESS_PACKET EvtVmbChannelProcessPacket;
void EvtVmbChannelProcessPacket(
[in] VMBCHANNEL Channel,
[in] VMBPACKETCOMPLETION Packet,
[in] PVOID Buffer,
[in] UINT32 BufferLength,
[in] UINT32 Flags
)
{...}
Parameters
[in] Channel
The channel on which the packet arrives.
[in] Packet
The completion context, which identifies this packet to Kernel Mode Client Library (KMCL) when the transaction can be retired.
[in] Buffer
The packet which was sent by the opposite endpoint. This value does not contain the VMBus and KMCL headers.
[in] BufferLength
The length of the Buffer parameter, in bytes.
[in] Flags
Flags. Possible values include the following:
Value | Meaning |
---|---|
|
The packet references external data. This data can be retrieved by using the VmbChannelPacketGetExternalData function. |
Return value
None
Remarks
The client driver registers its implementation of this callback function by using the VmbChannelInitSetProcessPacketCallbacks function.
Every time you invoke this function, you must eventually call the VmbChannelPacketComplete function.
This callback function can be invoked at DISPATCH_LEVEL or lower, unless the channel has been configured to defer packet processing to a worker thread.
Requirements
Requirement | Value |
---|---|
Target Platform | Windows |
Header | vmbuskernelmodeclientlibapi.h (include VmbusKernelModeClientLibApi.h) |
IRQL | <=DISPATCH_LEVEL |