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


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

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

Функция VmbChannelCreateGpadlFromBuffer создает список дескрипторов гостевого физического адреса (GPADL), описывающий клиентский буфер. GPADL можно использовать на сервере для доступа к буферу.

Синтаксис

FN_VMB_CHANNEL_CREATE_GPADL_FROM_BUFFER FnVmbChannelCreateGpadlFromBuffer;

NTSTATUS FnVmbChannelCreateGpadlFromBuffer(
  VMBCHANNEL Channel,
  UINT32 Flags,
  PVOID Buffer,
  UINT32 ByteCount,
  PUINT32 GpadlHandle
)
{...}

Параметры

Channel

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

Flags

Флаги. Возможные значения:

Ценность Значение
VMBUS_CHANNEL_GPADL_READ_ONLY
Если указать это значение, буфер доступен только для чтения. В противном случае сервер может записать в буфер. Это не мера безопасности, но может повысить производительность моментального снимка и динамической миграции.

Buffer

Буфер, который проверяется и блокируется до тех пор, пока GPADL не будет удален.

ByteCount

Длина буфера в байтах.

GpadlHandle

Дескриптор GPADL созданного списка дескрипторов памяти (MDL). Отправьте это на сервер, чтобы использовать функцию VmbChannelMapGpadl.

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

Возвращает STATUS_SUCCESS, если операция выполнена успешно, или соответствующий код ошибки NTSTATUS в противном случае.

Замечания

Когда эта функция возвращается, конечная точка сервера может вызывать VmbChannelMapGpadl, так как VMBus уже отправит описание GPADL обратной конечной точке и получил подтверждение.

GPADL необходимо удалить с помощью функции VmbChannelDeleteGpadl.

Важный

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

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 10 версии 1803
заголовка vmbuskernelmodeclientlibapi.h

См. также

VmbChannelDeleteGpadl

VmbChannelMapGpadl