Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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:
Modifique temporariamente o método SetState do fluxo de onda (por exemplo, consulte IMiniportWavePciStream::SetState) para chamar IDrmAudioStream::SetContentId e defina o membro CopyProtect do parâmetro DRMRIGHTS como TRUE.
Depois de concluir a depuração, lembre-se de remover a chamada SetContentId .
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.