Manipulando eventos de individualização

[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 de 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 de 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.]

Quando um aplicativo habilitado para DRM tenta abrir um arquivo protegido, o componente DRM examina o atributo DRM_DRMHeader_IndividualizedVersion no arquivo, que especifica o nível mínimo de versão necessário para acessar o conteúdo. Todos os níveis do componente DRM funcionam com todas as versões 7.0 e posteriores do Reprodutor Multimídia do Windows e o SDK de Formato de Mídia do Windows. Se o nível de versão individualizado do componente DRM for inferior à versão necessária, o componente DRM enviará um evento WMT_NEEDS_INDIVIDUALIZATION para o método IWMStatusCallback::OnStatus do aplicativo. Em seguida, o aplicativo deve exibir uma mensagem ou caixa de diálogo solicitando que os usuários iniciem ou cancelem a atualização de segurança. Esse prompt é necessário porque, por motivos de privacidade, os usuários devem conceder sua permissão antes que uma atualização de segurança seja instalada em seu computador.

Observação

O cabeçalho do conteúdo especifica apenas os dois primeiros dígitos para DRM_DRMVersion_IndividualizedVersion. Em outras palavras, para exigir um componente DRM de nível 2.2.0.1, o cabeçalho conteria "2.2".

 

Para iniciar a atualização de segurança e/ou disparar a individualização, chame o método IWMDRMReader::Individualize com o parâmetro dwFlags definido como 1.

Você deve lidar com o evento WMT_INDIVIDUALIZE em seu aplicativo. Esse evento será acionado várias vezes pelo componente DRM com o status do processo de individualização indicado no parâmetro pValue, que é convertido em um ponteiro para uma estrutura de WM_INDIVIDUALIZE_STATUS.

Depois que o componente DRM for individualizado com êxito, o aplicativo receberá um evento WMT_NO_RIGHTS_EX , indicando que o aplicativo agora pode continuar a adquirir uma licença para o conteúdo.

Observação

O DRM não é compatível com a versão baseada em x64 deste SDK.

 

Manipulando eventos de aquisição de licença

Individualizando aplicativos DRM

IWMDRMReader Interface