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