FN_VMB_CHANNEL_SEND_SYNCHRONOUS_REQUEST 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 VmbChannelSendSynchronousRequest function sends a packet to the opposite endpoint and waits for a response.
Syntax
FN_VMB_CHANNEL_SEND_SYNCHRONOUS_REQUEST FnVmbChannelSendSynchronousRequest;
NTSTATUS FnVmbChannelSendSynchronousRequest(
VMBCHANNEL Channel,
PVOID Buffer,
UINT32 BufferSize,
PMDL ExternalDataMdl,
UINT32 Flags,
PVOID CompletionBuffer,
PUINT32 CompletionBufferSize,
PLARGE_INTEGER Timeout
)
{...}
Parameters
Channel
A handle for the channel.
Buffer
Data to send.
BufferSize
The size, in bytes, of the data to send.
ExternalDataMdl
A Memory Descriptor List (MDL) that describes an additional buffer to send.
Flags
Standard flags.
CompletionBuffer
Buffer in which to store completion packet results.
CompletionBufferSize
The size, in bytes, of the CompletionBuffer value. This value must be rounded up to nearest 8 bytes, or else the function fails. On success, returns the number of bytes written into CompletionBuffer.
Timeout
A timeout in the style of the KeWaitForSingleObject routing. After this time elapses, the packet is cancelled. For a timeout of zero (0), if a packet does not fir in the ring buffer, it is not queued.
Return value
Return code | Description |
---|---|
|
The functions finished successfully. |
|
The packet did not fit in the buffer and was not queued. |
|
The packet was canceled. |
|
The channel is being shut down. |
Remarks
Clients can run this function with any combination of parameters.
The root may only call
this if *Timeout == 0
and the VMBUS_CHANNEL_FORMAT_FLAG_WAIT_FOR_COMPLETION flag is not set.
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 |