Compartilhar via


Suporte a DRM no DirectShow

[O recurso associado a esta página, Windows Media Format 11 SDK, é um recurso herdado. Ele foi substituído por Leitor de Origem e Gravador de Coletor. O Leitor de Origem e o Gravador do Coletor foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use o Leitor de Origem e o Gravador do Coletor em vez do SDK do Windows Media Format 11, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]

A leitura e gravação de arquivos protegidos por DRM no DirectShow é feita basicamente da mesma maneira que quando você usa o SDK do Formato de Mídia do Windows diretamente. Para começar, você precisa da biblioteca estática wmstubdrm, que é obtida separadamente da Microsoft. Além disso, você deve implementar a interface IKeyProvider para permitir que seu aplicativo acesse os objetos de tempo de execução do SDK de Formato de Mídia do Windows quando o DRM estiver habilitado.

Ao aplicar a proteção drm versão 1, use a interface IWMHeaderInfo , que é obtida conforme descrito em Lendo arquivos ASF no DirectShow. Ao aplicar a proteção drm versão 7, obtenha a interface IWMDRMWriter chamando QueryService no filtro Gravador ASF do WM , conforme mostrado no snippet de código mais adiante neste tópico.

Todas as outras configurações específicas do DRM são exatamente as mesmas descritas em Habilitando o suporte a DRM. Use QueryService para obter a interface IWMDRMReader do filtro Leitor do ASF do WM .

O DirectX 9.0 contém um exemplo, PlayWndASF, um aplicativo de player directShow habilitado para DRM que demonstra a aquisição de licença do DRM versão 1 e versão 7. Este exemplo também inclui uma implementação da classe CKeyProvider , que dá suporte à interface IKeyProvider .