Windows驱动程序API不是由Microsoft编写的

时间:2014-08-08 04:11:34

标签: windows audio driver

我一直在探索Windows平台如何处理声音。现在我从一个操作系统课程和阅读this知道了几件事:

  • 声卡等IO设备通过设备驱动程序与操作系统进行通信。 Microsoft提供了一个标准,以便在内核模式下,操作系统可以进行某些系统调用(在本例中为Win32 api调用),以使I / O设备执行某些操作。字节或字符通过总线流式传输到I / O设备所在的任何端口。设备控制器将这些字节或字符解释为物理硬件的指令。

  • 有OS调用来准备音频设备并将数据流传输给它们。实际上由于某种原因,他们有两种方法可以做到这一点:MMSystem和DirectSound。我认为2的原因与游戏有关?就像DIrectSound更倾向于那样,而MMsystem更像是需要音频的标准应用程序?

  • 除此之外,它们也是微软为Win32平台编写的其他音频API。 ASIO和GSIF。

Windows平台上如何存在这些非Microsoft标准?他们怎么可能与硬件或操作系统通信?有些像openGL(我玩的其他东西),Windows的一个版本支持openGL标准版本,你的GPU也是如此。 BAM,轻松没有问题,一切都检查出来。 我怎么看它可能是:

  1. MMsystem和/或DirectSound不是Win32的一部分,但是有一些甚至更低级别的Windows内核驱动程序,每个人都保守秘密,因为它真的很丑或
  2. 这些其他驱动程序API构建于Microsoft提供的驱动程序之上
  3. 有人可以澄清一下吗?我在哪里弄错了,我错过了什么。我仍然拥有我的旧操作系统教科书(Tanenbaum的现代操作系统第3版),所以如果你想指出那里的东西,那就去吧。

0 个答案:

没有答案