PCAM_PROCESS_RAW_FRAME_ROUTINE fungsi panggilan balik (usbcamdi.h)

[CamProcessRawVideoFrame tidak didukung dan dapat diubah atau tidak tersedia di masa mendatang. Sebagai gantinya, gunakan CamProcessRawVideoFrameEx. ]

Fungsi panggilan balik CamProcessRawVideoFrame kamera minidriver mendekode bingkai video mentah.

Sintaks

PCAM_PROCESS_RAW_FRAME_ROUTINE PcamProcessRawFrameRoutine;

NTSTATUS PcamProcessRawFrameRoutine(
  PDEVICE_OBJECT BusDeviceObject,
  PVOID DeviceContext,
  PVOID FrameContext,
  PVOID FrameBuffer,
  ULONG FrameLength,
  PVOID RawFrameBuffer,
  ULONG RawFrameLength,
  ULONG NumberOfPackets,
  PULONG BytesReturned
)
{...}

Parameter

BusDeviceObject

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

DeviceContext

Arahkan ke konteks perangkat minidriver kamera.

FrameContext

Arahkan ke konteks bingkai minidriver kamera.

FrameBuffer

Arahkan ke buffer yang menerima bingkai video yang diproses akhir. Lihat bagian Keterangan untuk informasi selengkapnya tentang cara USBCAMD menggunakan parameter ini.

FrameLength

Menentukan panjang buffer bingkai (dari permintaan baca asli) dalam byte.

RawFrameBuffer

Arahkan ke buffer yang berisi paket USB yang diterima. Lihat bagian Keterangan untuk informasi selengkapnya tentang cara USBCAMD menggunakan parameter ini.

RawFrameLength

Menentukan panjang RawFrameBuffer dalam byte.

NumberOfPackets

Menentukan jumlah paket USB yang diterima ke RawFrameBuffer.

BytesReturned

Arahkan ke jumlah byte yang ditransfer. Minidriver harus mengatur ini ke nol jika mengalami kesalahan selama pemrosesan, seperti yang dijelaskan dalam Aliran Data Menggunakan Pipa Isochronous. Lihat bagian Keterangan untuk informasi selengkapnya tentang cara USBCAMD menggunakan parameter ini.

Nilai kembali

CamProcessRawVideoFrame mengembalikan STATUS_SUCCESS atau kode kesalahan yang sesuai.

Keterangan

Sebelum USBCAMD memanggil panggilan balik CamProcessRawVideoFrame minidriver, ia mengatur DWORD pertama dalam buffer yang diarahkan oleh parameter FrameBuffer ke nilai 0xdeadbeef. Setelah memanggil panggilan balik CamProcessRawVideoFrame minidriver USBCAMD memeriksa DWORD pertama dalam buffer yang ditujukkan oleh parameter FrameBuffer untuk nilai yang 0xdeadbeef tentukan jika CamProcessRawVideoFrame berhasil menyalin bingkai video dari buffer yang diarahkan oleh parameter RawFrameBuffer ke dalam buffer yang diarahkan oleh parameter FrameBuffer .

Minidriver kamera yang harus mempertahankan kompatibilitas mundur dengan USBCAMD asli harus menggunakan struktur USBCAMD_DEVICE_DATA dan fungsi panggilan balik terkait (yaitu, fungsi panggilan balik yang tidak berisi akhiran "Ex").

Fungsi ini bersifat opsional.

Persyaratan

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

Lihat juga

CamProcessRawVideoFrameEx