FN_VMB_PACKET_SEND_WITH_EXTERNAL_MDL функция обратного вызова (vmbuskernelmodeclientlibapi.h)
[Некоторые сведения относятся к предварительно выпущенным продуктам, которые могут быть существенно изменены до его коммерческого выпуска. Майкрософт не дает никаких гарантий, явных или подразумеваемых, в отношении предоставленной здесь информации.]
Функция VmbPacketSendWithExternalMdl отправляет данные в буфер пакетов или внешний список дескрипторов памяти (MDL). Функция связывает эти данные с объектом пакета VMBus, который представляет пакет на протяжении всего времени существования транзакции.
Синтаксис
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
)
{...}
Параметры
PacketObject
Дескриптор для объекта пакета VMBus.
Buffer
Буфер, содержащий пакет команд, отправляемый через кольцевой буфер VMBus.
BufferLength
Длина буфера в байтах в параметре Buffer .
ExternalDataMdl
MDL, описывающий буфер данных, связанный с пакетом.
MdlOffset
Смещение от буфера, описанного MDL, с которого начинаются данные.
MdlLength
Длина отправляемого под буфера. Используйте 0 для всего MDL.
Flags
Флаги. Ниже приведены соответствующие флаги.
Возвращаемое значение
Возвращает STATUS_SUCCESS, если операция выполнена успешно, или соответствующий код ошибки NTSTATUS в противном случае.
Комментарии
Эта функция отличается от функции VmbPacketSend тем, что позволяет передавать смещение MDL и длину MDL.
Важно!
Эта функция вызывается через интерфейс клиентской библиотеки режима ядра vmbus (KMCL), предоставляемый драйвером Vmbkmcl.sys шины. Это клиентская функция, доступ к ней осуществляется из структуры KMCL_CLIENT_INTERFACE_V1 .
Дополнительные сведения см. в разделе Примечания KMCL_CLIENT_INTERFACE_V1.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 10 версии 1803 |
Верхняя часть | vmbuskernelmodeclientlibapi.h |