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

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

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

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