独自のデータ交差ハンドラー
アダプター用に独自のハンドラーを作成することで、デフォルトのデータ交差ハンドラーの制限を克服できます。 独自のハンドラーは、ミニポート ドライバー オブジェクトの IMiniport::DataRangeIntersection 方式として実装されます。 DataRangeIntersection 方式の例については、Microsoft Windows Driver Kit (WDK) のサンプル アダプター ドライバーを参照してください。
独自のデータ交差ハンドラーは、KSDATARANGE_AUDIO 構造体で適切に指定できない非標準のハードウェア機能を補うことができます。 たとえば、WDK の AC97 サンプル アダプタ ドライバは、再生中に 2 つ以上のオーディオ チャネルをサポートできるハードウェアを管理しますが、モノラルはサポートできません。 サンプルの DataRangeIntersection 方式は、他のフィルターのソース ピンのデータ範囲がモノラル (つまり MaximumChannels< 2) に制限されているかどうかを決定します。 そうである場合、STATUS_NO_MATCH を返すことにより呼び出しは失敗します。
独自のデータ交差ハンドラーには、一部のピン上のデータ交差を処理し、ポート ドライバーのデフォルトのデータ交差ハンドラーが他のピン上のデータ交差を処理できるようにするオプションがあります。
このセクションの残りの部分では、独自のデータ交差ハンドラーを実装するためのガイドラインを示します。