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