Compartilhar via


Aquisição de licença não silenciosa

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

A aquisição de licença não silenciosa permite que o provedor de licença interaja com o usuário final por meio de uma página da Web, como uma etapa intermediária no processo de aquisição de licenças. A aquisição de licença não silenciosa é iniciada em resposta a um usuário que tenta acessar o conteúdo protegido.

Para executar a aquisição de licença não silenciosa, use as seguintes etapas:

  1. Chame o método IWMDRMLicenseManagement::AcquireLicense . Passe o cabeçalho DRM do arquivo protegido como o parâmetro bstrHeaderData . Especifique quais direitos você deseja que a licença conceda no parâmetro bstrActions . Por fim, defina o parâmetro dwFlags como WMDRM_ACQUIRE_LICENSE_NONSILENT.
  2. Capturar eventos para a interface IWMDRMLicenseManagement . Quando você receber o evento MEWMDRMLicenseAcquisitionCompleted , obtenha seu valor associado chamando IMFMediaEvent::GetValue. O valor deve ser do tipo VT_UNKNOWN, um ponteiro para uma interface IUnknown .
  3. Chame o método QueryInterface da interface IUnknown recuperada na etapa 2 para obter a interface IWMDRMNonSilentLicenseAquisition .
  4. Chame IWMDRMNonSilentLicenseAquisition::GetChallenge para recuperar o desafio de licença. Chame também IWMDRMNonSilentLicenseAquisition::GetURL se você ainda não tiver a URL do servidor de licença.
  5. Envie o desafio para a página da Web especificada pela URL.

Aquisição de licenças

Usando o modelo de evento do Media Foundation