функция обратного вызова FN_VMB_CHANNEL_MAP_GPADL (vmbuskernelmodeclientlibapi.h)
[Некоторые сведения относятся к предварительно выпущенным продуктам, которые могут быть существенно изменены до его коммерческого выпуска. Майкрософт не дает никаких гарантий, явных или подразумеваемых, в отношении предоставленной здесь информации.]
Функция VmbChannelMapGpadl сопоставляет буфер на стороне клиента с физическим адресным пространством на стороне сервера с помощью номера списка дескрипторов гостевых физических адресов (GPADL).
Синтаксис
FN_VMB_CHANNEL_MAP_GPADL FnVmbChannelMapGpadl;
NTSTATUS FnVmbChannelMapGpadl(
VMBCHANNEL Channel,
UINT32 Flags,
UINT32 GpadlHandle,
PMDL *Mdl
)
{...}
Параметры
Channel
Дескриптор для канала.
Flags
Флаги. Возможные значения флагов:
Значение | Значение |
---|---|
|
Сопоставление с доступом только для чтения. |
Если это значение флага не задано, функция пытается сопоставить GPADL для доступа на запись. Если GPADL не был создан с доступом на запись, эта попытка сопоставления завершится ошибкой. Если этот флаг установлен, вызывающий объект не запрещает запись в буфер. Эта схема используется для повышения производительности динамической миграции и создания моментальных снимков.
GpadlHandle
Дескриптор GPADL для сопоставления.
Mdl
Указатель на MDL, описывающий буфер клиента. Этот буфер сопоставляется только с физическим адресным пространством. Вызывающий объект должен выполнить дополнительные действия, чтобы сопоставить его с виртуальным адресным пространством.
Возвращаемое значение
Возвращает STATUS_SUCCESS, если операция выполнена успешно, или соответствующий код ошибки NTSTATUS в противном случае.
Комментарии
GPADL должен быть предварительно установлен клиентом, например с помощью функции VmbChannelCreateGpadlFromBuffer .
Одновременно для любого GPADL может существовать только одно сопоставление.
Вызовы этой функции необходимо связать с вызовами функции VmbChannelUnmapGpadl .
Важно!
Эта функция вызывается через интерфейс клиентской библиотеки режима ядра VMBus (KMCL), предоставляемый драйвером Vmbkmcl.sys шины. Это серверная функция, доступ к ней осуществляется из структуры KMCL_SERVER_ONLY_METHODS .
Дополнительные сведения см. в разделе Примечания KMCL_SERVER_ONLY_METHODS.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 10 версии 1803 |
Верхняя часть | vmbuskernelmodeclientlibapi.h |