我需要知道可以使用哪些API来实现以下目标:
- 我在Windows计算机上运行现有进程(称之为应用程序A),该进程可以是此Windows计算机上的任何现有进程。
- 我想编写另一个应用程序以限制A的带宽使用(称之为应用程序B)。
- B应该能够分别限制A的累积上传和下载速度。例如,如果A分配的上传流量最大为5 Kbps,那么A的所有上传流的上限将达到5 Kbps的累积量。
我的要求:
- 我无法使用内核模式驱动程序。
- 我需要将其作为通用解决方案,因此B可以限制系统上的任何其他进程(换句话说,我无法更改A的源代码)。
我试图对此进行研究,特别是在Stack Overflow上,但找不到对我的情况有用的东西:
- 我见过this example在Stream对象周围使用ThrottledStream类包装器,在使用时会引入限制,但我需要这是一个通用的应用程序,所以我不能使用这种方法(我可以' t更改A)的源代码。
- 我看到this question的回答是关于使用Windows过滤平台API的。不幸的是,我的要求是我绝对不能使用内核模式驱动程序来实现这一点,我的理解是WFP API需要一个。
是否有人知道我可以使用哪些API来满足我的特定带宽限制要求,以便让B限制A的带宽使用?