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


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

[CamProcessRawVideoFrame не поддерживается и может быть изменен или недоступен в будущем. Вместо этого используйте CamProcessRawVideoFrameEx. ]

Функция обратного вызова CamProcessRawVideoFrame мини-накопителя камеры декодирует необработанный видеокадр.

Синтаксис

PCAM_PROCESS_RAW_FRAME_ROUTINE PcamProcessRawFrameRoutine;

NTSTATUS PcamProcessRawFrameRoutine(
  PDEVICE_OBJECT BusDeviceObject,
  PVOID DeviceContext,
  PVOID FrameContext,
  PVOID FrameBuffer,
  ULONG FrameLength,
  PVOID RawFrameBuffer,
  ULONG RawFrameLength,
  ULONG NumberOfPackets,
  PULONG BytesReturned
)
{...}

Параметры

BusDeviceObject

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

DeviceContext

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

FrameContext

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

FrameBuffer

Указатель на буфер, который получает окончательный обработанный видеокадр. Дополнительные сведения о том, как USBCAMD использует этот параметр, см. в разделе Примечания.

FrameLength

Указывает длину буфера кадров (из исходного запроса на чтение) в байтах.

RawFrameBuffer

Указатель на буфер, содержащий полученные USB-пакеты. Дополнительные сведения о том, как USBCAMD использует этот параметр, см. в разделе Примечания.

RawFrameLength

Задает длину RawFrameBuffer в байтах.

NumberOfPackets

Указывает количество USB-пакетов, полученных в RawFrameBuffer.

BytesReturned

Указатель на количество переданных байтов. Если во время обработки возникают какие-либо ошибки, мини-отвертка должна иметь значение 0, как описано в Поток данных использование изохронных каналов. Дополнительные сведения о том, как USBCAMD использует этот параметр, см. в разделе Примечания.

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

CamProcessRawVideoFrame возвращает STATUS_SUCCESS или соответствующий код ошибки.

Комментарии

Перед тем как USBCAMD вызовет обратный вызов CamProcessRawVideoFrame мини-накопителя, он устанавливает для первого DWORD в буфере, на который указывает параметр FrameBuffer , значение 0xdeadbeef. После вызова обратного вызова USBCAMD camProcessRawVideoFrame мини-накопителя проверяет первый DWORD в буфере, на который указывает параметр FrameBuffer , для значения 0xdeadbeef , чтобы определить, успешно ли CamProcessRawVideoFrame скопировал видеокадр из буфера, на который указывает параметр RawFrameBuffer , в буфер, на который указывает параметр FrameBuffer .

Мини-накопители камеры, которые должны поддерживать обратную совместимость с исходным USBCAMD, должны использовать структуру USBCAMD_DEVICE_DATA и связанные с ней функции обратного вызова (то есть функции обратного вызова, не содержащие суффикс Ex).

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

Требования

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

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

CamProcessRawVideoFrameEx