Поделиться через


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

См. также

CamProcessRawVideoFrame

CamProcessUSBPacketEx

USBD_ISO_PACKET_DESCRIPTOR