FN_VMB_PACKET_SEND_WITH_EXTERNAL_MDL 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 VmbPacketSendWithExternalMdl function sends the data in a packet buffer or external data Memory Descriptor List (MDL). The function associates that data with the VMBus packet object, which represents the packet throughout the lifetime of the transaction.
Syntax
FN_VMB_PACKET_SEND_WITH_EXTERNAL_MDL FnVmbPacketSendWithExternalMdl;
NTSTATUS FnVmbPacketSendWithExternalMdl(
__drv_aliasesMem VMBPACKET PacketObject,
PVOID Buffer,
UINT32 BufferLength,
PMDL ExternalDataMdl,
UINT32 MdlOffset,
UINT32 MdlLength,
UINT32 Flags
)
{...}
Parameters
PacketObject
A handle to the VMBus packet object.
Buffer
A buffer that contains the command packet that is sent through the VMBus ring buffer.
BufferLength
The length, in bytes, of the buffer in the Buffer parameter.
ExternalDataMdl
An MDL that describes a data buffer associated with the packet.
MdlOffset
The offset from the buffer described by the MDL where the data starts.
MdlLength
The length of the sub-buffer to send. Use 0 for the entire MDL.
Flags
Flags. The following are pertinent flags:
Return value
Returns STATUS_SUCCESS if the operation succeeds, or an appropriate NTSTATUS error code otherwise.
Remarks
This function differs from the VmbPacketSend function in that it allows passing an MDL offset and MDL length.
Important
This function is called through the VMBus Kernel Mode Client Library (KMCL) interface, provided by the Vmbkmcl.sys bus driver. This is a client function accessed from the KMCL_CLIENT_INTERFACE_V1 structure.
For more information, see the Remarks section of the KMCL_CLIENT_INTERFACE_V1.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 10, version 1803 |
Header | vmbuskernelmodeclientlibapi.h |