カーネル ストリーミング プロキシ モジュールでの AVStream の使用
カーネル モード フィルターは、多くの場合、カーネル ストリーミング プロキシを介してユーザー モードで接続されます。 このプロキシにより、カーネル モード フィルターが DirectShow フィルターとしてユーザー モードに表示されます。
この接続モードを使用すると、DirectShow はメディアの種類と交差してフィルターを接続します。 これらのメディアの種類は、カーネル モードのデータ形式に対応する DirectShow のものです。
DirectShow がカーネル モードのピンでメディアの種類を列挙すると、ピンの対応するデータ範囲がピンのデータ範囲と交差します。 AVStream のデータ範囲の交差で説明したように、この交差はデータ形式を生成します。 プロキシは、結果のデータ形式を DirectShow のメディアの種類に変換します。
カーネル モードと同様に、プロキシはデータ ハンドラーにメディアの種類が許容されるかどうかを判断するために問い合わせるか、またはメディアの種類がピンのデータ範囲に部分的に一致するかどうかを判断します。 部分一致は、カーネル モード セマンティクスのコンテキストで、メジャー型、サブフォーマット、指定子、および必要な属性が一致することを示します。 メディアの種類が部分的に一致する場合は、接続が続行されます。
接続が完了する前に、AVStream はミニドライバーの AVStrMiniPinSetDataFormat ディスパッチを呼び出して、設定されているデータ形式をミニドライバーに通知します。 この形式は、プロキシされたピンに提案されたユーザー モードのメディアの種類に対応します。 AVStream には、形式の部分的な一致と判断されたデータ範囲も提供します。