Dispositivos de audio multifunción
Un dispositivo multifunción es una tarjeta adaptadora única que incorpora dos o más funciones independientes (o subdispositivos). Un dispositivo multifunción puede contener dos o más subdispositivos de audio. También puede abarcar clases de dispositivo. Un dispositivo que contiene subdispositivos de audio y módem, por ejemplo, pertenece tanto a la clase multimedia como a la clase módem. Para obtener más información, consulte Compatibilidad con dispositivos multifunción.
El controlador de puerto WavePci de PortCls coloca requisitos especiales en dispositivos multifunción. En concreto, un controlador de adaptador debe proporcionar una manera de configurar cada subdispositivo para que se pueda controlar independientemente de los demás subdispositivos en un dispositivo multifunción. Esto se puede lograr configurando el espacio de configuración PCI para el dispositivo multifunción de una de estas dos maneras:
El método preferido es asignar un identificador de dispositivo independiente a cada subdispositivo distinto lógicamente en el dispositivo multifunción. Si el dispositivo multifunción contiene módem, audio y subdispositivos de joystick, por ejemplo, el sistema debe poder representar cada subdispositivo como un nodo de desarrollo independiente en el árbol del dispositivo. El subdispositivo representado por cada identificador de dispositivo tiene su propio conjunto de registros de configuración PCI y es ortogonal en e independiente de los demás subdispositivos. Por ejemplo, habilitar o deshabilitar un subdispositivo (por ejemplo, el subdispositivo de audio) no debería tener ningún otro efecto en cualquier otro subdispositivo (por ejemplo, el módem). Este tipo de dispositivo multifunción no requiere compatibilidad especial con controladores específicos del hardware aparte de los controladores propietarios de los propios subdispositivos.
Una segunda manera de diseñar un dispositivo multifunción es asignar un identificador de dispositivo único al dispositivo en su conjunto y proporcionar registros de direcciones base PCI independientes (BAR) para los subdispositivos individuales. En este esquema, los subdispositivos comparten un conjunto común de registros de configuración, pero cada subdispositivo tiene su propio BAR o BAR. El controlador multifunción del sistema (por ejemplo, Mf.sys en Microsoft Windows 2000 y versiones posteriores; consulta Usar el controlador de bus multifunción System-Supplied) puede configurar la dirección base para el estado, el comando y los registros de datos de cada subdispositivo independientemente de los registros de las demás funciones. Si los BAR del dispositivo no se separan lógicamente por subdispositivo, no puede usar PortCls para administrar el dispositivo.
En el resto de esta sección se describen los pasos necesarios para implementar el enfoque (2) en la lista anterior. Se tratan los temas siguientes: