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


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

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

Функция обратного вызова EvtVmbPacketCompletionRoutine вызывается при завершении транзакции, связанной с отправленным пакетом.

Синтаксис

EVT_VMB_PACKET_COMPLETION_ROUTINE EvtVmbPacketCompletionRoutine;

void EvtVmbPacketCompletionRoutine(
  [in] VMBPACKET Packet,
  [in] NTSTATUS Status,
  [in] PVOID Buffer,
  [in] UINT32 BufferLength
)
{...}

Параметры

[in] Packet

Завершенный пакет.

[in] Status

Код состояния.

[in] Buffer

Буфер, содержащий ответ завершения от противоположной конечной точки, если таковой имеется.

[in] BufferLength

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

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

Никакой

Замечания

После выделения объекта пакета с помощью функции VmbPacketAllocate диск клиента может задать обратный вызов завершения с помощью функции VmbPacketSetCompletionRoutine.

Если отправитель использовал флаг VMBUS_CHANNEL_FORMAT_FLAG_WAIT_FOR_COMPLETION, вызов этого обратного вызова означает, что обратная конечная точка получила пакет и завершила его. В противном случае исходящий пакет был успешно помещен в кольцевой буфер.

Требования

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

См. также

VmbPacketAllocate

VmbPacketSetCompletionRoutine