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

Функция обратного вызова CamProcessUSBPacketEx мини-драйвера камеры обрабатывает ПАКЕТ USB.

Синтаксис

PCAM_PROCESS_PACKET_ROUTINE_EX PcamProcessPacketRoutineEx;

ULONG PcamProcessPacketRoutineEx(
  PDEVICE_OBJECT BusDeviceObject,
  PVOID DeviceContext,
  PVOID CurrentFrameContext,
  PUSBD_ISO_PACKET_DESCRIPTOR SyncPacket,
  PVOID SyncBuffer,
  PUSBD_ISO_PACKET_DESCRIPTOR DataPacket,
  PVOID DataBuffer,
  PBOOLEAN FrameComplete,
  PULONG PacketFlag,
  PULONG ValidDataOffset
)
{...}

Параметры

BusDeviceObject

Указатель на объект устройства мини-накопителя камеры, созданный USB-концентратором.

DeviceContext

Указатель на контекст устройства мини-накопителя камеры.

CurrentFrameContext

Указатель на контекст кадра мини-драйвера камеры.

SyncPacket

Указатель на структуру USBD_ISO_PACKET_DESCRIPTOR из канала синхронизации. Это значение равно NULL , если интерфейс имеет только один канал.

SyncBuffer

Указатель на данные для SyncPacket.

DataPacket

Указывает изохронный дескриптор пакетов из канала данных.

DataBuffer

Указатель на DataPacket.

FrameComplete

Указатель на значение BOOLEAN, которое задается мини-накопителем камеры, чтобы указать, является ли этот пакет данных первым для нового видеокадра.

PacketFlag

Указатель на значение, которое задается мини-накопителем для указания содержимого текущего кадра. Для него должно быть задано одно из следующих значений:

Flag Значение
USBCAMD_PROCESSPACKETEX_DropFrame Текущий кадр является нерасполнимым. Чтение IRP должно быть переработано.
USBCAMD_PROCESSPACKETEX_NextFrameIsStill Кадр является неподвижным изображением.
USBCAMD_PROCESSPACKETEX_CurrentFrameIsStill Текущий фрейм предназначен для по-прежнему закрепление.

ValidDataOffset

Указатель на значение ULONG, указывающее смещение от начала пакета. USBCAMD должен запустить копирование из этого смещения. Это исключает дополнительную копию буфера в случае сигнала в канале. Если камера не использует сигнальную сигнализацию по каналу, значение ValidDataOffset должно быть равно нулю.

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

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

Комментарии

Мини-диск должен как можно быстрее завершить свою функцию CamProcessUSBPacketEx . Обработка изображений должна быть отложена до функции CamProcessRawVideoFrameEx .

Эта функция обратного вызова используется только с изохронными каналами (видео или потоковая передача).

Исходный USBCAMD не вызывает CamProcessUSBPacketEx.

Эта функция является необязательной.

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть usbcamdi.h (включая Usbcamdi.h)
IRQL DISPATCH_LEVEL

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

CamProcessRawVideoFrameEx

USBD_ISO_PACKET_DESCRIPTOR