IOCTL_AVCSTRM_CLASS IOCTL (avcstrm.h)
AV/C サブユニット ドライバーは、IoControlCode メンバーがIOCTL_AVCSTRM_CLASSに設定された IRP_MJ_INTERNAL_DEVICE_CONTROL IRP を使用して、avcstrm.sysと通信します。 ドライバーは、この要求を通じて AV/C ストリーミング フィルター ドライバー (avcstrm.sys) によって提供されるすべての操作にアクセスできます。
IRP と IOCTL の詳細については、「IRPの処理」を参照してください。
メジャー コード
入力バッファー
入力時に、Irp->Parameters->Others.Arguments1 は、AVC_STREAM_REQUEST_BLOCK 構造体を指します。 関数 AVC_STREAM_REQUEST_BLOCKのメンバーは、要求の種類を指定します。 このメンバーを直接設定しないでください。 このメンバー (およびAVC_STREAM_REQUEST_BLOCK構造体の追加メンバー) を初期化するには、INIT_AVCSTRM_HEADER マクロを使用します。 AVC_STREAM_REQUEST_BLOCKの CommandData メンバーは、要求の要求の種類固有のパラメーターを指定する共用体です。 パラメーターとその意味は、各要求 (関数コード) に記載されています。 AVCSTRM_FUNCTION 列挙体は、avcstrm.sysでサポートされている関数コードの一覧を提供します。
入力バッファーの長さ
AVC_STREAM_REQUEST_BLOCK 構造体の長さ。
出力バッファー
出力時に、Irp->Parameters->Others.Arguments1 は、入力として渡された AVC_STREAM_REQUEST_BLOCK 構造体を指します。 要求の完了の一環として、バス ドライバーは、AVC_STREAM_REQUEST_BLOCK構造体の CommandData 共用体の特定のメンバーにドライバーの情報を入力します。
出力バッファーの長さ
AVC_STREAM_REQUEST_BLOCK 構造体の長さ。
状態ブロック
AV/C ストリーミング ドライバーが I/O 状態ブロックで返す情報は、各要求に記載されています。
備考
IRQL = PASSIVE_LEVELで呼び出す必要があります。
必要条件
要件 | 価値 |
---|---|
ヘッダー | avcstrm.h (Avcstrm.h を含む) |