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

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

Функция обратного вызова EvtVmbChannelSavePacket вызывается, когда конечная точка поставщика служб виртуализации (VSP) должна сохранить состояние, связанное с пакетом.

Синтаксис

EVT_VMB_CHANNEL_SAVE_PACKET EvtVmbChannelSavePacket;

NTSTATUS EvtVmbChannelSavePacket(
  [in]  VMBCHANNEL Channel,
  [in]  VMBPACKET Packet,
  [out] PVOID SaveBuf,
  [in]  UINT32 SaveBufSize,
  [out] PUINT32 BytesNeeded
)
{...}

Параметры

[in] Channel

Канал, по которому поступает пакет.

[in] Packet

Пакет, для которого VSP сохраняет состояние.

[out] SaveBuf

Буфер, в котором нужно сохранить состояние.

[in] SaveBufSize

Размер параметра SaveBuf в байтах.

[out] BytesNeeded

Размер, необходимый для сохранения состояния транзакции, в байтах.

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

EvtVmbChannelSavePacket возвращает код состояния.

Комментарии

Функция VmbServerChannelInitSetSaveRestorePacketCallbacks задает функцию обратного вызова для сохранения пакетов для каждого канала.

VSP сохраняет состояние, связанное с транзакцией, которое является уникальным для VSP. Клиентская библиотека режима ядра (KMCL) сохраняет собственное состояние.

Эта функция вызывается для каждого объекта пакета, который используется в данный момент. Первый вызов передает нулевое значение (0) для параметра SaveBufSize . Этот вызов завершается сбоем, если требуется сохранить какое-либо состояние, которое заполняет значение BytesNeeded фактическим требованием к размеру. Если этот первый вызов возвращает код сбоя, KMCL вызывает второй раз с буфером по крайней мере длины, указанной в первом вызове.

Требования

Требование Значение
Целевая платформа Windows
Header vmbuskernelmodeclientlibapi.h (включая VmbusKernelModeClientLibApi.h)
IRQL PASSIVE_LEVEL

См. также раздел

VmbServerChannelInitSetSaveRestorePacketCallbacks