次の図は、3 つのフィルターで使用するために割り当てられた 1 つのアロケーターを表しています。 システムがこれらのフィルターにアロケーター ハンドルを割り当てないため、変換フィルターまたはシンク フィルターに割り当てる必要はありません。
ソース フィルターはフレームを割り当て、データを入力して次のフィルターに送信します。 変換フィルターは、インプレース データ変換を実行し、フレームを次のフィルターに送信します。 シンク フィルターが I/O 操作を完了すると、ソース フィルターはフレームを解放または再利用します。 フロー制御は、シンク アロケーターから割り当てることができる未処理のフレームの合計数と、I/O 操作の完了率によって、このフィルター グラフで維持されます。
次の図は、ソース フレームが複数の宛先シンクにルーティングされるアロケーター構成を表しています。
図では、ファイルライターがウェーブデータをファイルに書き出すものとして、またデバイスはオーディオが送信されるサウンドカードとして表現されています。
このフィルター グラフには、変換のアロケーターとデバイスのアロケーターの 2 つのアロケーターが含まれています。 ソース フィルターは、変換アロケーターからフレームを割り当て、データを入力して変換フィルターに送信してから、ファイル ライターに送信します。 フレームの受信時に、変換フィルターはデバイス アロケーターからフレームを割り当て、データの変換を新しいフレームに実行し、このフレームをデバイスに送信します。
フロー制御は、アロケーターから割り当てることができる未処理のフレームの合計数と、I/O 操作の完了率によって、このフィルター グラフで維持されます。 接続ピンを使用して作成されるソース/シンク セグメントの個別のリストごとに、個別のアロケーターが必要であることに注意してください。 個別のアロケーターが存在しない場合、特定のセグメントが使用可能なすべてのフレームを消費する可能性があり、次のセグメントには何も残らず、前のセグメントによって作成されたデータを処理するために 1 つ以上のフレームが必要になる場合があります。