PCAM_PROCESS_PACKET_ROUTINE コールバック関数 (usbcamdi.h)
[CamProcessUSBPacket はサポートされていないため、今後変更または使用できない可能性があります。 代わりに、CamProcessUSBPacketEx を使用します。 ]
カメラ ミニドライバーの CamProcessUSBPacket コールバック関数は、USB パケットを処理します。
構文
PCAM_PROCESS_PACKET_ROUTINE PcamProcessPacketRoutine;
ULONG PcamProcessPacketRoutine(
PDEVICE_OBJECT BusDeviceObject,
PVOID DeviceContext,
PVOID CurrentFrameContext,
PUSBD_ISO_PACKET_DESCRIPTOR SyncPacket,
PVOID SyncBuffer,
PUSBD_ISO_PACKET_DESCRIPTOR DataPacket,
PVOID DataBuffer,
PBOOLEAN FrameComplete,
PBOOLEAN NextFrameIsStill
)
{...}
パラメーター
BusDeviceObject
USB ハブによって作成されたカメラ ミニドライバーのデバイス オブジェクトへのポインター。
DeviceContext
カメラ ミニドライバーのデバイス コンテキストへのポインター。
CurrentFrameContext
ミニドライバーのフレーム コンテキストへのポインター。
SyncPacket
同期パイプから USBD_ISO_PACKET_DESCRIPTOR 構造体へのポインター。 インターフェイスにパイプが 1 つしかない場合、この値は NULL です 。
SyncBuffer
SyncPacket のデータへのポインター。
DataPacket
データ パイプから USBD_ISO_PACKET_DESCRIPTOR 構造体へのポインター。
DataBuffer
DataPacket へのポインター。
FrameComplete
カメラ ミニドライバーが、これが新しいビデオ フレームの最初のデータ パケットであるかどうかを示すために設定するブール値へのポインター。 これが新しいビデオ フレームの最初のデータ パケットである場合は TRUE に 設定します。
NextFrameIsStill
カメラ ミニドライバーが設定するブール値へのポインター。次のフレームが静止フレームかどうかを示します。 ビデオ ストリームがライブ イメージを提供している場合は FALSE 、次のフレームが静止画像またはイメージ キャプチャ ストリームの場合は TRUE に設定する必要があります。
戻り値
このコールバック関数は、バッファーにコピーする必要があるバイト数 (RawFrameBuffer または FrameBuffer) を示す ULONG を返します。
注釈
元の USBCAMD との下位互換性を維持する必要があるカメラ ミニドライバーは、 USBCAMD_DEVICE_DATA 構造体とそれに関連付けられているコールバック関数 (つまり、"Ex" サフィックスを含まないコールバック関数) を使用する必要があります。
ミニドライバーは、可能な限り迅速にこの機能を完了する必要があります。 画像処理は CamProcessRawVideoFrame 関数に遅延させる必要があります。
この関数は省略可能です。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | usbcamdi.h (Usbcamdi.h を含む) |
IRQL | DISPATCH_LEVEL |