PCAM_PROCESS_PACKET_ROUTINE_EX回调函数 (usbcamdi.h)

相机微型驱动程序的 CamProcessUSBPacketEx 回调函数处理 USB 数据包。

语法

PCAM_PROCESS_PACKET_ROUTINE_EX PcamProcessPacketRoutineEx;

ULONG PcamProcessPacketRoutineEx(
  PDEVICE_OBJECT BusDeviceObject,
  PVOID DeviceContext,
  PVOID CurrentFrameContext,
  PUSBD_ISO_PACKET_DESCRIPTOR SyncPacket,
  PVOID SyncBuffer,
  PUSBD_ISO_PACKET_DESCRIPTOR DataPacket,
  PVOID DataBuffer,
  PBOOLEAN FrameComplete,
  PULONG PacketFlag,
  PULONG ValidDataOffset
)
{...}

参数

BusDeviceObject

指向由 USB 集线器创建的相机微型驱动程序的设备对象的指针。

DeviceContext

指向相机微型驱动程序的设备上下文的指针。

CurrentFrameContext

指向相机微型驱动程序的帧上下文的指针。

SyncPacket

指向同步管道 中USBD_ISO_PACKET_DESCRIPTOR 结构的指针。 如果接口只有一个管道,则此值为 NULL

SyncBuffer

指向 SyncPacket 数据的指针。

DataPacket

指定数据管道中的常时等量数据包描述符。

DataBuffer

指向 DataPacket 的指针。

FrameComplete

指向相机微型驱动程序设置的 BOOLEAN 值的指针,指示这是否是新视频帧的第一个数据包。

PacketFlag

指向微型驱动程序设置的值的指针,该值指示当前帧的内容。 它应设置为以下值之一:

标志 含义
USBCAMD_PROCESSPACKETEX_DropFrame 当前帧不可处理。 应回收读取的 IRP。
USBCAMD_PROCESSPACKETEX_NextFrameIsStill 帧是静态图像。
USBCAMD_PROCESSPACKETEX_CurrentFrameIsStill 当前帧适用于静止图钉。

ValidDataOffset

指向 ULONG 值的指针,该值指示与数据包开头的偏移量。 USBCAMD 应从此偏移量开始复制。 这消除了带内信号的额外缓冲区复制。 如果相机未使用带内信号,则 ValidDataOffset 应设置为零。

返回值

此函数返回应复制的字节数。

注解

微型驱动程序应尽快完成 CamProcessUSBPacketEx 功能。 图像处理应延迟到 CamProcessRawVideoFrameEx 函数。

此回调函数与仅 (视频或仍在流式处理) 的常时等量管道一起使用。

原始 USBCAMD 不调用 CamProcessUSBPacketEx

此函数是可选的。

要求

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

另请参阅

CamProcessRawVideoFrameEx

USBD_ISO_PACKET_DESCRIPTOR