функция обратного вызова PCAM_PROCESS_PACKET_ROUTINE (usbcamdi.h)
[CamProcessUSBPacket не поддерживается и может быть изменен или недоступен в будущем. Вместо этого используйте CamProcessUSBPacketEx. ]
Функция обратного вызова камеры CamProcessUSBPacket камеры обрабатывает USB-пакет.
Синтаксис
PCAM_PROCESS_PACKET_ROUTINE PcamProcessPacketRoutine;
ULONG PcamProcessPacketRoutine(
PDEVICE_OBJECT BusDeviceObject,
PVOID DeviceContext,
PVOID CurrentFrameContext,
PUSBD_ISO_PACKET_DESCRIPTOR SyncPacket,
PVOID SyncBuffer,
PUSBD_ISO_PACKET_DESCRIPTOR DataPacket,
PVOID DataBuffer,
PBOOLEAN FrameComplete,
PBOOLEAN NextFrameIsStill
)
{...}
Параметры
BusDeviceObject
Указатель на объект устройства мини-driver камеры, созданный USB-концентратором.
DeviceContext
Указатель на контекст устройства мини-driver камеры.
CurrentFrameContext
Указатель на контекст кадра мини-driver.
SyncPacket
Указатель на структуру USBD_ISO_PACKET_DESCRIPTOR из канала синхронизации. Это значение null, если интерфейс имеет только один канал.
SyncBuffer
Указатель на данные для SyncPacket.
DataPacket
Указатель на структуру USBD_ISO_PACKET_DESCRIPTOR из канала данных.
DataBuffer
Указатель на DataPacket.
FrameComplete
Указатель на значение BOOLEAN, которое устанавливает мини-driver камеры, чтобы указать, является ли это первым пакетом данных для нового кадра видео. Установите значение TRUE, если это первый пакет данных для нового кадра видео.
NextFrameIsStill
Указатель на значение BOOLEAN, которое устанавливает мини-driver камеры, чтобы указать, является ли следующий кадр по-прежнему кадром или нет. Это значение должно иметь значение FALSE, если видеопоток предоставляет динамическое изображение или TRUE, если следующий кадр является по-прежнему изображением или потоком записи изображений.
Возвращаемое значение
Эта функция обратного вызова возвращает ULONG, указывающую количество байтов, которые следует скопировать в буфер (RawFrameBuffer или FrameBuffer).
Замечания
Мини-накопители камеры, которые должны поддерживать обратную совместимость с исходным USBCAMD, должны использовать структуру USBCAMD_DEVICE_DATA и связанные функции обратного вызова (т. е. функции обратного вызова, которые не содержат суффикс Ex).
Мини-driver должен выполнять эту функцию как можно быстрее. Обработка изображений должна быть отложена до функции CamProcessRawVideoFrame.
Эта функция является необязательной.
Требования
Требование | Ценность |
---|---|
целевая платформа | Настольный |
заголовка | usbcamdi.h (включая Usbcamdi.h) |
IRQL | DISPATCH_LEVEL |