微型端口驱动程序的函数表

通用微型端口驱动程序的上边缘接口(请参阅 WDM 音频术语)由函数表组成。 一些非音频微型端口驱动程序在注册过程中向端口驱动程序提供函数表,并在此时通知端口驱动程序其所需的上下文结构的大小。 端口驱动程序将函数表复制到某些专用位置,分配上下文结构,并在函数表中调用初始化函数,并将指针传递给上下文结构。

同样,音频微型端口驱动程序使用函数表,但它们是静态分配的,不需要由端口驱动程序复制。 端口驱动程序还会从指定的池中检索其上下文(“对象”)内存,并将指向函数表的指针插入到上下文中。 由于函数表指针始终是上下文中的第一个字段,因此端口驱动程序只需要上下文指针,并且可以通过上下文访问函数表。

之所以采用此方法,是因为 COM 提供了用于创建抽象对象的坚实、高效、广泛理解的模型。 音频小型端口驱动程序模型利用了业界在 COM 和 COM 文献方面的经验。 可以在 C 或 C++ 中实现和使用对象。 还可以使用程序集语言,但应仅在不需要可移植性的情况下使用。