PCAM_PROCESS_PACKET_ROUTINE_EX fungsi panggilan balik (usbcamdi.h)

Fungsi panggilan balik CamProcessUSBPacketEx kamera minidriver memproses paket USB.

Sintaks

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
)
{...}

Parameter

BusDeviceObject

Arahkan ke objek perangkat minidriver kamera yang dibuat oleh hub USB.

DeviceContext

Arahkan ke konteks perangkat minidriver kamera.

CurrentFrameContext

Arahkan ke konteks bingkai minidriver kamera.

SyncPacket

Penunjuk ke struktur USBD_ISO_PACKET_DESCRIPTOR dari pipa sinkronisasi. Nilai ini adalah NULL jika antarmuka hanya memiliki satu pipa.

SyncBuffer

Arahkan ke data untuk SyncPacket.

DataPacket

Menentukan deskriptor paket isochronous dari pipa data.

DataBuffer

Penunjuk ke DataPacket.

FrameComplete

Arahkan ke nilai BOOLEAN yang diatur oleh minidriver kamera untuk menunjukkan apakah ini paket data pertama untuk bingkai video baru.

PacketFlag

Arahkan ke nilai yang diatur minidriver untuk menunjukkan konten bingkai saat ini. Ini harus diatur ke salah satu nilai berikut:

Bendera Makna
USBCAMD_PROCESSPACKETEX_DropFrame Bingkai saat ini tidak dapat diatasi. IRP baca harus didaur ulang.
USBCAMD_PROCESSPACKETEX_NextFrameIsStill Bingkai adalah gambar diam.
USBCAMD_PROCESSPACKETEX_CurrentFrameIsStill Bingkai saat ini adalah untuk pin diam.

ValidDataOffset

Penunjuk ke nilai ULONG yang menunjukkan offset dari awal paket. USBCAMD harus memulai salinan dari offset ini. Ini menghilangkan salinan buffer tambahan dalam kasus sinyal in-band. Jika kamera tidak menggunakan sinyal dalam band, ValidDataOffset harus diatur ke nol.

Nilai kembali

Fungsi ini mengembalikan jumlah byte yang harus disalin.

Keterangan

Minidriver harus menyelesaikan fungsi CamProcessUSBPacketEx secepat mungkin. Pemrosesan gambar harus ditangguhkan ke fungsi CamProcessRawVideoFrameEx .

Fungsi panggilan balik ini hanya digunakan dengan pipa isochronous (video atau streaming masih).

USBCAMD asli tidak memanggil CamProcessUSBPacketEx.

Fungsi ini bersifat opsional.

Persyaratan

Persyaratan Nilai
Target Platform Desktop
Header usbcamdi.h (termasuk Usbcamdi.h)
IRQL DISPATCH_LEVEL

Lihat juga

CamProcessRawVideoFrameEx

USBD_ISO_PACKET_DESCRIPTOR