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


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

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

DeviceContext

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

FrameContext

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

FrameBuffer

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

FrameLength

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

RawFrameBuffer

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

RawFrameLength

Указывает длину RawFrameBuffer в байтах.

NumberOfPackets

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

BytesReturned

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

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

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

Замечания

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

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

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

Требования

Требование Ценность
целевая платформа Настольный
заголовка usbcamdi.h (включая Usbcamdi.h)
IRQL PASSIVE_LEVEL

См. также

CamProcessRawVideoFrameEx