функция обратного вызова 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 |