функция обратного вызова FN_VMB_CHANNEL_SEND_SYNCHRONOUS_REQUEST (vmbuskernelmodeclientlibapi.h)
[Некоторые сведения связаны с предварительно выпущенным продуктом, который может быть существенно изменен до его коммерческого выпуска. Корпорация Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых в отношении информации, предоставленной здесь.]
Функция VmbChannelSendSynchronousRequest отправляет пакет в противоположной конечной точке и ожидает ответа.
Синтаксис
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
)
{...}
Параметры
Channel
Дескриптор канала.
Buffer
Данные для отправки.
BufferSize
Размер данных в байтах для отправки.
ExternalDataMdl
Список дескрипторов памяти (MDL), описывающий дополнительный буфер для отправки.
Flags
Стандартные флаги.
CompletionBuffer
Буфер, в котором хранятся результаты пакета завершения.
CompletionBufferSize
Размер в байтах значения CompletionBuffer. Это значение должно быть округлено до ближайших 8 байт, или в противном случае функция завершается ошибкой. При успешном выполнении возвращает количество байтов, записанных в CompletionBuffer.
Timeout
Время ожидания в стиле маршрутизации KeWaitForSingleObj ect. По истечении этого времени пакет будет отменен. Время ожидания от нуля (0), если пакет не fir в буфере кольца, он не помещается в очередь.
Возвращаемое значение
Возвращаемый код | Описание |
---|---|
|
Функции успешно завершены. |
|
Пакет не помещался в буфер и не был помещен в очередь. |
|
Пакет был отменен. |
|
Канал закрывается. |
Замечания
Клиенты могут запускать эту функцию с любым сочетанием параметров.
Корневой каталог может вызываться только в том случае, если *Timeout == 0
и флаг VMBUS_CHANNEL_FORMAT_FLAG_WAIT_FOR_COMPLETION не задан.
Важный
Эта функция вызывается через клиентский интерфейс клиентской библиотеки режима ядра VMBus (KMCL), предоставляемый драйвером шины Vmbkmcl.sys. Это клиентская функция, доступ к ней осуществляется из структуры KMCL_CLIENT_INTERFACE_V1.
Дополнительные сведения см. в разделе "Примечания" KMCL_CLIENT_INTERFACE_V1.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 10 версии 1803 |
заголовка | vmbuskernelmodeclientlibapi.h |