共用方式為


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 應設為零。

傳回值

此函式會傳回應該複製的位元元數目。

言論

minidriver 應儘快完成其 CamProcessUSBPacketEx 函式。 影像處理應延後至 CamProcessRawVideoFrameEx 函式。

此回呼函式僅搭配無時針管道使用(視訊或仍在串流)。

原始 USBCAMD 不會呼叫 CamProcessUSBPacketEx

此函式是選擇性的。

要求

要求 價值
目標平臺 桌面
標頭 usbcamdi.h (包括 Usbcamdi.h)
IRQL DISPATCH_LEVEL

另請參閱

CamProcessRawVideoFrameEx

USBD_ISO_PACKET_DESCRIPTOR