Поделиться через


функция обратного вызова FN_VMB_PACKET_INITIALIZE (vmbuskernelmodeclientlibapi.h)

[Некоторые сведения относятся к предварительно выпущенным продуктам, которые могут быть существенно изменены до его коммерческого выпуска. Майкрософт не дает никаких гарантий, явных или подразумеваемых, в отношении предоставленной здесь информации.]

Функция VmbPacketInitialize инициализирует буфер, содержащий пакет VMBus.

Синтаксис

FN_VMB_PACKET_INITIALIZE FnVmbPacketInitialize;

NTSTATUS FnVmbPacketInitialize(
  VMBCHANNEL Channel,
  VMBPACKET VmbPacket,
  UINT32 ByteCount
)
{...}

Параметры

Channel

Дескриптор для канала.

VmbPacket

Буфер, используемый для хранения пакета VMBus.

ByteCount

Размер буфера в байтах.

Возвращаемое значение

VmbPacketInitialize возвращает следующие коды состояния:

Код возврата Описание
STATUS_SUCCESS
Функция успешно завершена.
STATUS_INVALID_PARAMETER_3
Недопустимое значение ByteCount . Он должен быть больше максимального размера пакета и размера указателя void.

Комментарии

Размер буфера должен быть не ниже размера, вычисленного с помощью функции VmbChannelSizeofPacket .

VmbPacketInitialize является альтернативой функции VmbPacketAllocate . Используйте текущую функцию, если вызывающий объект предоставляет память для объекта пакета.

Начальная подпрограмма завершения пакета недопустима и должна быть задана перед отправкой пакета.

Важно!

Эта функция вызывается через интерфейс клиентской библиотеки режима ядра vmbus (KMCL), предоставляемый драйвером Vmbkmcl.sys шины. Это клиентская функция, доступ к ней осуществляется из структуры KMCL_CLIENT_INTERFACE_V1 .

Дополнительные сведения см. в разделе Примечания KMCL_CLIENT_INTERFACE_V1.

Требования

Требование Значение
Минимальная версия клиента Windows 10 версии 1803
Верхняя часть vmbuskernelmodeclientlibapi.h

См. также раздел

VmbChannelSizeofPacket

VmbPacketAllocate