适配器驱动程序构造
驱动程序对特定音频适配器卡的支持采用适配器驱动程序的形式。 适配器驱动程序由以下各项组成:
执行驱动程序启动和初始化并实现适配器卡上所有音频函数通用的任何操作的常规适配器代码。
一组微型端口驱动程序,用于管理适配器卡上的特定音频函数。
硬件供应商将同时提供常规适配器代码,以及系统未提供的任何微型端口驱动程序的代码。
有关常规适配器代码的示例,请参阅 Sysvad 示例驱动程序中 CAdapterCommon 接口的实现,该示例驱动信号在示例音频驱动程序中进行了讨论。
通过使用分层方法,供应商可以编写一个在多个级别中的一个级别上运行的适配器驱动程序,具体取决于适配器的硬件功能。 确定给定硬件功能所需的支持级别时,供应商应首先确定系统提供的微型端口驱动程序是否已存在,该驱动程序支持该函数(请参阅 PcNewMiniport 函数的系统提供的微型端口驱动程序列表)。 如果不存在,供应商必须实现专有微型端口驱动程序,但仍可以使用系统提供的端口驱动程序之一(请参阅 PcNewPort 函数的系统提供的端口驱动程序列表)。
若要为设备实现 WDM 支持,请执行以下步骤:
如果系统提供的微型端口驱动程序已支持硬件函数,请使用现有微型端口驱动程序来管理该函数。
如果硬件函数与系统提供的微型端口驱动程序不兼容,则确定该函数是否与至少一个系统提供的端口驱动程序兼容。 如果系统提供的端口驱动程序支持硬件功能,请编写管理该函数的微型端口驱动程序部分。 该微型端口驱动程序应符合拥有端口驱动程序所需的微型端口接口的规范。
如果没有系统提供的端口驱动程序支持硬件函数,请编写一个微型驱动程序来支持该函数。 微型驱动程序应符合流式处理类驱动程序的接口规范。
本部分讨论了以下主题: