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


функция обратного вызова 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