Requisitos de DRM

Esta seção apresenta os requisitos que um driver de miniporto de áudio deve atender para passar por testes de conformidade com DRM pelo WHQL (Microsoft Windows Hardware Quality Lab). Esses requisitos se aplicam especificamente aos drivers de miniporto de áudio WaveCyclic e WavePci, que são equivalentes específicos de hardware para os drivers de porta WavePci e WaveCyclic na Biblioteca de Classes de Porta (Portcls.sys). O teste de conformidade com DRM não está disponível atualmente para drivers USB.

No Windows XP e posterior, somente drivers de áudio confiáveis podem reproduzir conteúdo protegido por DRM. O Windows identifica um driver confiável por meio de uma assinatura digital específica do DRM armazenada nos arquivos .cat (catálogo) do driver. A Microsoft emite uma assinatura drm somente para um driver que passa no teste de conformidade com DRM como parte do teste de compatibilidade de hardware administrado pelo WHQL.

No entanto, para o Windows XP e posterior, o teste de conformidade com DRM é uma parte necessária do teste do WHQL. Um driver deve passar no teste de conformidade com DRM para se qualificar para o logotipo "Projetado para Windows XP".

O teste de conformidade do DRM requer um driver de áudio confiável para fazer o seguinte:

  • O driver de miniporto de áudio deve implementar a interface IDrmAudioStream em seus objetos de fluxo, que devem retornar um objeto do tipo IDrmAudioStream se consultado para IID_IDrmAudioStream.

  • Quando a proteção de cópia é solicitada (DRMRIGHTS. CopyProtect = TRUE), o driver de áudio deve desabilitar a capacidade de capturar o fluxo que está sendo reproduzido no momento. Isso significa que o driver não deve salvar o conteúdo digital desprotegido em qualquer forma de armazenamento não volátil, que inclua disco rígido, EEPROM, cartão de memória e vara de memória. Além disso, o driver deve desabilitar o multiplexador de captura em um conversor D/A de saída e, de outra forma, impedir o loopback do conteúdo digital.

  • Quando um driver de áudio é solicitado a desabilitar a saída de áudio digital no dispositivo (DRMRIGHTS. DigitalOutputDisable = TRUE), ele deve desabilitar todas as saídas de áudio digital capazes de transmitir conteúdo por meio de uma interface padrão por meio de um esquema de interconexão padrão. As saídas digitais incluem -- mas não estão estritamente limitadas a -- S/PDIF, IEEE 1394, paralela, serial, modem e portas de rede. (Esse requisito não se aplica atualmente ao USB.)

  • Ao lidar com conteúdo seguro, um driver de áudio nunca deve anexar um driver não confiável à sua pilha. Em outras palavras, o driver de áudio deve depender apenas de outros componentes que também contenham assinaturas DRM. O driver nunca deve facilitar a transferência de dados de áudio para qualquer componente que não tenha uma assinatura DRM. Em particular, se um driver passar conteúdo digital para outro componente, o driver deverá usar as APIs DRM no kernel para informar o driver do sistema DRMK sobre esse fato.

Além de passar no teste de conformidade do DRM, o dispositivo de áudio e o driver não devem permitir que um usuário selecione um modo de operação que derrote ou subverta os componentes drm no kernel. Especificamente, o driver não deve fornecer configurações de registro, painéis de controle do usuário ou outros meios de desabilitar as funções DRM.