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

指定接收到 RawFrameBuffer 中的 USB 数据包数。

BytesReturned

指向传输的字节数的指针。 如果微型驱动程序在处理过程中遇到任何错误,则必须将其设置为零,如数据流使用常量管道中所述。 有关 USBCAMD 如何使用此参数的详细信息,请参阅“备注”部分。

返回值

CamProcessRawVideoFrame 返回STATUS_SUCCESS或相应的错误代码。

注解

在 USBCAMD 调用微型驱动程序的 CamProcessRawVideoFrame 回调之前,它将 FrameBuffer 参数指向的缓冲区中的第一个 DWORD 设置为 0xdeadbeef值。 调用微型驱动程序的 CamProcessRawVideoFrame 回调后,USBCAMD 会检查 FrameBuffer 参数指向的缓冲区中的第一个 DWORD 值0xdeadbeef ,以确定 CamProcessRawVideoFrame 是否成功地将 RawFrameBuffer 参数指向的缓冲区中的视频帧复制到 FrameBuffer 参数指向的缓冲区中。

必须保持与原始 USBCAMD 向后兼容的相机微型驱动程序必须使用 USBCAMD_DEVICE_DATA 结构及其关联的回调函数, (即不包含“Ex”后缀的回调函数) 。

此函数是可选的。

要求

要求
目标平台 桌面
标头 usbcamdi.h (包括 Usbcamdi.h)
IRQL PASSIVE_LEVEL

另请参阅

CamProcessRawVideoFrameEx