ノードと接続
フィルターは、ノード記述子 (PCNODE_DESCRIPTOR 構造体) の配列の形式で、そのトポロジ ノードの説明を提供します。 配列内の各記述子は、単一のノードを記述し、ノードの種類 (たとえば、 KSNODETYPE_REVERB) を指定する GUID を含みます。 オーディオ デバイス用に定義されている標準ノード タイプの一覧については、「オーディオ トポロジ ノード」を参照してください。
フィルターは、記述子配列内のノードのインデックスによって各ノードを識別します。 たとえば、ノード固有のプロパティ要求をフィルターまたはフィルターの特定のピンに送信する場合、クライアントはターゲット ノードを識別するために、要求にノード ID (配列インデックス) を含めます。
このフィルターは、接続記述子 (PCCONNECTION_DESCRIPTOR 構造体) の配列の形式で内部接続の説明を提供します。 各記述子は、フィルターの内部接続の 1 つを記述します。 記述子は、ピンとノード間の接続、または 2 つのノード間の接続を記述できます。
フィルターが一緒に公開するノードと接続によって、フィルターの内部トポロジが定義されます。 トポロジはオーディオ デバイスの内部レイアウトのマップであり、それが表すハードウェアの編成を正確に反映している必要があります。 たとえば、Microsoft Windows マルチメディア ミキサー API は、フィルターの内部接続をミキサー ラインに変換し、そのノードをミキサー ライン上のコントロールに変換します (カーネル ストリーミング トポロジからオーディオ ミキサー API への変換 を参照)。 フィルターの内部トポロジの誤りはミキサーライン表現に反映され、ミキサー API を使用するアプリケーションでエラーや予期しない動作が発生する可能性があります。