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