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
Время ожидания в стиле маршрутизации KeWaitForSingleObject . По истечении этого времени пакет отменяется. Если время ожидания равно нулю (0), если пакет не помещается в кольцевой буфер, он не помещается в очередь.
Возвращаемое значение
Код возврата | Описание |
---|---|
|
Функции успешно завершены. |
|
Пакет не помещается в буфер и не помещается в очередь. |
|
Пакет был отменен. |
|
Канал завершает работу. |
Комментарии
Клиенты могут выполнять эту функцию с любым сочетанием параметров.
Корневой каталог может вызывать этот метод, только если *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 |