EVT_VMB_CHANNEL_OPENED функции обратного вызова (vmbuskernelmodeclientlibapi.h)
[Некоторые сведения относятся к предварительно выпущенным продуктам, которые могут быть существенно изменены до его коммерческого выпуска. Майкрософт не дает никаких гарантий, явных или подразумеваемых, в отношении предоставленной здесь информации.]
Функция обратного вызова EvtVmbChannelOpened вызывается, когда конечная точка клиента на гостевой виртуальной машине открывает канал, который был ей предложен.
Синтаксис
EVT_VMB_CHANNEL_OPENED EvtVmbChannelOpened;
NTSTATUS EvtVmbChannelOpened(
[in] VMBCHANNEL Channel
)
{...}
Параметры
[in] Channel
Канал, который открывает гостевая виртуальная машина.
Возвращаемое значение
EvtVmbChannelClosed возвращает код состояния.
Комментарии
После создания канала драйвер клиента может указать функции обратного вызова для изменений состояния, включая EvtVmbChannelOpened, с помощью функции VMB_CHANNEL_STATE_CHANGE_CALLBACKS_INIT .
После того, как канал был
Клиент клиентской библиотеки режима ядра (KMCL) вызывает функцию VmbChannelEnable . На узле эта функция предлагает гостевой канал. Для гостя эта функция принимает существующее предложение или ожидает поступления такого предложения. При открытии канала KMCL вызывает функцию обратного вызова EvtVmbChannelOpened .
После завершения этого обратного вызова канал находится в открытом состоянии.
Перед вызовом этой функции обратного вызова пакеты можно поместить в очередь, но они не могут быть отправлены.
Если драйвер клиента возвращает код состояния сбоя, канал выполняет откат до состояния, в котором трафик не передается.
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | vmbuskernelmodeclientlibapi.h (включая VmbusKernelModeClientLibApi.h) |
IRQL | PASSIVE_LEVEL |