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
Длина параметра Buffer в байтах.
Возвращаемое значение
None
Remarks
После выделения объекта пакета с помощью функции VmbPacketAllocate диск клиента может задать обратный вызов завершения с помощью функции VmbPacketSetCompletionRoutine .
Если отправитель использовал флаг VMBUS_CHANNEL_FORMAT_FLAG_WAIT_FOR_COMPLETION, вызов этого обратного вызова означает, что противоположная конечная точка получила пакет и завершила его. В противном случае исходящий пакет был успешно помещен в кольцевой буфер.
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | vmbuskernelmodeclientlibapi.h (включая VmbusKernelModeClientLibApi.h) |
IRQL | <=DISPATCH_LEVEL |