次のことを実現するために使用できる API を知る必要があります。
- Windows マシン (アプリケーション A と呼びます) で実行されている既存のプロセスがあります。これは、この Windows マシン上の既存のプロセスである可能性があります。
- A の帯域幅使用量を調整する別のアプリケーションをコーディングしたいと考えています (アプリケーション B と呼びます)。
- B は、A の累積的なアップロード速度とダウンロード速度を別々に調整できるはずです。たとえば、A に最大 5 Kbps のアップロードが割り当てられている場合、A のすべてのアップロード ストリームは累積量 5 Kbps に制限されます。
私の要件:
- カーネル モード ドライバーを使用できません。
- これをユニバーサル ソリューションにする必要があるため、B はシステム上の他のプロセスを抑制できます (つまり、A のソース コードを変更することはできません)。
特にStack Overflowでこれを調査しようとしましたが、私の場合に役立つものは何も見つかりませんでした:
- 使用時にスロットリングを導入する Stream オブジェクトの周りに ThrottledStream クラス ラッパーを使用するこの例を見てきましたが、これをユニバーサル アプリケーションにする必要があるため、このアプローチを使用することはできません (A のソース コードを変更することはできません)。 .
- Windows Filtering Platform API の使用について誰が答えているかというこの質問を見てきました。残念ながら、カーネル モード ドライバーを使用してこれを実現することは絶対にできないという要件があり、私の理解では、WFP API にはカーネル モード ドライバーが必要です。
BがAの帯域幅使用量を調整するために、特定の帯域幅調整要件にどのAPIを使用できるか知っている人はいますか?