FN_VMB_PACKET_SEND_WITH_EXTERNAL_PFNS функции обратного вызова (vmbuskernelmodeclientlibapi.h)
[Некоторые сведения относятся к предварительно выпущенным продуктам, которые могут быть существенно изменены до его коммерческого выпуска. Майкрософт не дает никаких гарантий, явных или подразумеваемых, в отношении предоставленной здесь информации.]
Функция VmbPacketSendWithExternalPfns отправляет данные в буфер пакетов или внешние данные в виде массива номеров кадров страниц (PFN). Функция связывает эти данные с объектом пакета VMBus, который представляет пакет на протяжении всего времени существования транзакции.
Синтаксис
FN_VMB_PACKET_SEND_WITH_EXTERNAL_PFNS FnVmbPacketSendWithExternalPfns;
NTSTATUS FnVmbPacketSendWithExternalPfns(
__drv_aliasesMem VMBPACKET PacketObject,
PVOID Buffer,
UINT32 BufferLength,
PPFN_NUMBER ExternalDataPfns,
UINT32 PfnLength,
UINT32 Flags
)
{...}
Параметры
PacketObject
Дескриптор для объекта пакета VMBus.
Buffer
Буфер, содержащий пакет команд, отправляемый через кольцевой буфер VMBus.
BufferLength
Длина буфера в байтах в параметре Buffer .
ExternalDataPfns
Массив номеров кадров страницы, описывающих буфер данных, связанный с пакетом.
PfnLength
Количество PFN, отправляемых из ExternalDataPfns. Окончательный индекс массива, на который указывает ссылка, является ExternalDataPfns[PfnOffset+PfnLength-1]
инклюзивным.
Flags
Флаги. Ниже приведены соответствующие флаги.
Возвращаемое значение
Возвращает STATUS_SUCCESS, если операция выполнена успешно, или соответствующий код ошибки NTSTATUS в противном случае.
Комментарии
Эта функция отличается от функции VmbPacketSend тем, что она позволяет передавать массив PFN, фактически физические адреса.
Важно!
Эта функция вызывается через интерфейс клиентской библиотеки режима ядра vmbus (KMCL), предоставляемый драйвером Vmbkmcl.sys шины. Это клиентская функция, доступ к ней осуществляется из структуры KMCL_CLIENT_INTERFACE_V1 .
Дополнительные сведения см. в разделе Примечания KMCL_CLIENT_INTERFACE_V1.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 10 версии 1803 |
Верхняя часть | vmbuskernelmodeclientlibapi.h |