Requisiti DRM
Questa sezione presenta i requisiti che un driver miniport audio deve soddisfare per superare i test di conformità DRM da Microsoft Windows Hardware Quality Lab (WHQL). Questi requisiti si applicano in modo specifico ai driver miniport audio WaveCyclic e WavePci, che sono controparti specifiche dell'hardware ai driver di porta WavePci e WaveCyclic nella libreria di classi porta (Portcls.sys). I test di conformità DRM non sono attualmente disponibili per i driver USB.
In Windows XP e versioni successive, solo i driver audio attendibili possono riprodurre contenuto protetto da DRM. Windows identifica un driver attendibile tramite una firma digitale specifica di DRM archiviata nei file cat (catalogo) del driver. Microsoft rilascia una firma DRM solo per un driver che supera il test di conformità DRM come parte del test di compatibilità hardware amministrato da WHQL.
Per Windows XP e versioni successive, tuttavia, il test di conformità DRM è una parte obbligatoria dei test WHQL. Un driver deve superare il test di conformità DRM per qualificarsi per il logo "Progettato per Windows XP".
Il test di conformità DRM richiede un driver audio attendibile per eseguire le operazioni seguenti:
Il driver miniport audio deve implementare l'interfaccia IDrmAudioStream nei relativi oggetti flusso, che deve restituire un oggetto di tipo IDrmAudioStream se viene eseguito una query per IID_IDrmAudioStream.
Quando viene richiesta la protezione della copia (DRMRIGHTS. CopyProtect = TRUE), il driver audio deve disabilitare la possibilità di acquisire il flusso attualmente riprodotto. Ciò significa che il driver non deve salvare il contenuto digitale non protetto in qualsiasi forma di archiviazione non volatile, che include disco rigido, EEPROM, scheda di memoria e chiavetta di memoria. Inoltre, il driver deve disabilitare il multiplexer di acquisizione in un convertitore D/A di output e in caso contrario impedire il loopback del contenuto digitale.
Quando viene richiesto a un driver audio di disabilitare l'output audio digitale nel dispositivo (DRMRIGHTS. DigitalOutputDisable = TRUE), deve disabilitare tutti gli output audio digitali in grado di trasmettere contenuto su un'interfaccia standard tramite uno schema di interconnessione standard. Gli output digitali includono, ma non sono strettamente limitati alle porte di rete, IEEE 1394, parallela, seriale, modem e rete. Questo requisito non si applica attualmente a USB.
Quando si gestisce il contenuto sicuro, un driver audio non deve mai collegare un driver non attendibile allo stack. In altre parole, il driver audio deve basarsi solo su altri componenti che contengono anche firme DRM. Il driver non deve mai facilitare il trasferimento di dati audio a qualsiasi componente che non dispone di una firma DRM. In particolare, se un driver passa contenuto digitale a un altro componente, il driver deve usare le API DRM nel kernel per informare il driver di sistema DRMK di questo fatto.
Oltre a superare il test di conformità DRM, il dispositivo audio e il driver non devono consentire a un utente di selezionare una modalità di operazione che sconfigge o sottverte i componenti DRM nel kernel. In particolare, il driver non deve fornire impostazioni del Registro di sistema, pannelli di controllo utente o altri mezzi per disabilitare le funzioni DRM.