Partilhar via


Lidar com eventos de individualização

[A funcionalidade associada a esta página, Windows Media Format 11 SDK, é uma funcionalidade herdada. Foi substituído por Source Reader e Sink Writer. Source Reader e Sink Writer foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda vivamente que novo código utilize Leitor de Fonte e Gravador de Destino em vez de Windows Media Format 11 SDK, sempre que 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 Windows Media Player e do Windows Media Format SDK. Se o nível de versão individualizada do componente DRM for inferior à versão necessária, o componente DRM enviará um evento WMT_NEEDS_INDIVIDUALIZATION para o métodoIWMStatusCallback::OnStatus da aplicação. 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. Este aviso é necessário porque, por razões de privacidade, os utilizadores têm de dar a sua permissão antes de uma atualização de segurança ser instalada no seu computador.

Observação

O cabeçalho do conteúdo especifica somente 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 acionar a individualização, chame o método IWMDRMReader::Individualize com o parâmetro dwFlags definido como 1.

Você deve manipular o evento WMT_INDIVIDUALIZE em seu aplicativo. Esse evento será disparado 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 WM_INDIVIDUALIZE_STATUS.

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

Observação

O DRM não é suportado pela versão baseada em x64 deste SDK.

 

Tratamento de eventos de aquisição de licenças

Individualizando aplicativos DRM

Interface IWMDRMReader