Partilhar via


Desenvolvimento e depuração de drivers DRM

A seguinte checklist poderá auxiliar os desenvolvedores de drivers a evitar algumas armadilhas comuns:

  • Se o driver desativar a captura de wave-out e a saída S/PDIF enquanto o conteúdo protegido por DRM é reproduzido, o driver deve lembrar-se de ativá-los novamente depois que o conteúdo protegido por DRM terminar de ser reproduzido (e o buffer DRM for destruído).

  • Se o dispositivo executar a mistura de hardware, o driver deve manter o controle de quaisquer alterações nos direitos de uso composto que ocorrem quando os fluxos são adicionados ou removidos da mistura. Sempre que, por exemplo, a mistura incluir um ou mais fluxos DRM protegidos contra cópia, a captura deve ser silenciada. Ele deve permanecer silencioso se a captura estiver ativada enquanto a mistura protegida estiver sendo reproduzida.

  • Após uma alteração no gráfico de filtro ou nas configurações de propriedade associadas a um fluxo, o driver pode precisar atualizar imediatamente as configurações de proteção contra cópia e ativação de saída do fluxo. O driver deve sincronizar sua operação para evitar que o conteúdo protegido seja copiado para um buffer de captura ou saída digital. Por exemplo, quando o fluxo de entrada para um multiplexador de captura muda, o driver não deve permitir que o conteúdo seguro fique vulnerável durante o tempo necessário para ativar e desativar o silenciamento.

O driver do sistema DRMK impede que o depurador do kernel se conecte enquanto o conteúdo protegido por DRM está sendo reproduzido. A proteção antidepuração é uma das várias medidas que o DRMK usa para tornar o conteúdo protegido opaco. No entanto, quando o driver estiver pronto para ser testado, você poderá depurar seus recursos compatíveis com DRM usando a seguinte técnica:

Com essa técnica, você pode reproduzir conteúdo desprotegido como se fosse conteúdo protegido por DRM, mas evite desativar o depurador.

Por exemplo, você pode usar o depurador para verificar se o driver impede que o conteúdo seja gravado. Tente enganar o driver para permitir a gravação do fluxo de saída de onda através do MUX de captura, alterando as configurações de volume e mudo do programa SndVol32. Os controles deslizantes devem refletir as alterações feitas em suas configurações, que são persistentes, mas o MUX de captura deve continuar a silenciar o fluxo de saída de onda até que o conteúdo "protegido" termine de ser reproduzido. Só então as novas configurações devem entrar em vigor.