функция обратного вызова 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. Этот вызов завершается ошибкой, если требуется сохранить любое состояние, которое заполняет BytesNeed фактическим требованием к размеру. Если этот первый вызов возвращает код сбоя, kmCL вызывает второй раз с буфером по крайней мере длину, указанную в первом вызове.

Требования

Требование Ценность
целевая платформа Виндоус
заголовка vmbuskernelmodeclientlibapi.h (include VmbusKernelModeClientLibApi.h)
IRQL PASSIVE_LEVEL

См. также

VmbServerChannelInitSetSaveRestorePacketCallbacks