Requisitos de DRM
En esta sección se presentan los requisitos que un controlador de miniporte de audio debe cumplir para superar las pruebas de cumplimiento de DRM por parte del Laboratorio de calidad de hardware (WHQL) de Microsoft Windows. Estos requisitos se aplican específicamente a los controladores de miniport de audio WaveCíclica y WavePci, que son homólogos específicos del hardware para los controladores de puerto WavePci y WaveCíclico en la Biblioteca de clases de puerto (Portcls.sys). Las pruebas de cumplimiento de DRM no están disponibles actualmente para los controladores USB.
En Windows XP y versiones posteriores, solo los controladores de audio de confianza pueden reproducir contenido protegido con DRM. Windows identifica un controlador de confianza mediante una firma digital específica de DRM almacenada en los archivos .cat (catálogo) del controlador. Microsoft emite una firma DRM solo para un controlador que supera la prueba de cumplimiento de DRM como parte de las pruebas de compatibilidad de hardware administradas por WHQL.
Sin embargo, para Windows XP y versiones posteriores, la prueba de cumplimiento de DRM es una parte necesaria de las pruebas WHQL. Un controlador debe superar la prueba de cumplimiento de DRM para calificar para el logotipo "Diseñado para Windows XP".
La prueba de cumplimiento de DRM requiere un controlador de audio de confianza para hacer lo siguiente:
El controlador de minipuerto de audio debe implementar la interfaz IDrmAudioStream en sus objetos de secuencia, que debe devolver un objeto de tipo IDrmAudioStream si se consulta para IID_IDrmAudioStream.
Cuando se solicita protección de copia (DRMRIGHTS. CopyProtect = TRUE), el controlador de audio debe deshabilitar la capacidad de capturar la secuencia que se está reproducndo actualmente. Esto significa que el controlador no debe guardar el contenido digital desprotegido en cualquier forma de almacenamiento no volátil, que incluye disco duro, EEPROM, tarjeta de memoria y stick de memoria. Además, el controlador debe deshabilitar el multiplexador de captura en un convertidor D/A de salida y, de lo contrario, evitar el bucle invertido del contenido digital.
Cuando se pide a un controlador de audio que deshabilite la salida de audio digital en el dispositivo (DRMRIGHTS). DigitalOutputDisable = TRUE), debe deshabilitar todas las salidas de audio digitales que sean capaces de transmitir contenido a través de una interfaz estándar a través de un esquema de interconexión estándar. Las salidas digitales incluyen: pero no se limitan estrictamente a los puertos de red, IEEE 1394, IEEE 1394, paralelo, serie, módem y red. (Este requisito no se aplica actualmente a USB).
Al controlar el contenido seguro, un controlador de audio nunca debe adjuntar un controlador que no sea de confianza a su pila. En otras palabras, el controlador de audio solo debe depender de otros componentes que también contengan firmas DRM. El controlador nunca debe facilitar la transferencia de datos de audio a ningún componente que no tenga una firma DRM. En concreto, si un controlador pasa contenido digital a otro componente, el controlador debe usar las API DRM en el kernel para informar al controlador del sistema DRMK de este hecho.
Además de pasar la prueba de cumplimiento de DRM, el dispositivo de audio y el controlador no deben permitir que un usuario seleccione un modo de operación que derrota o subvierte los componentes DRM en el kernel. En concreto, el controlador no debe proporcionar la configuración del Registro, los paneles de control de usuario u otros medios para deshabilitar las funciones DRM.