Compartilhar via


Enumerando licenças no repositório de licenças local

[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 enumeração é um processo de obtenção de informações sobre as licenças no repositório de licenças local, percorrendo-as uma a uma. Você pode criar uma enumeração de licença chamando iWMDRMLicenseManagement::CreateLicenseEnumeration.

O motivo mais comum para enumerar por meio de licenças no repositório é encontrar uma licença específica para descriptografia de algum conteúdo.

A interface IWMDRMLicense serve como um portal para os resultados individuais da licença e como o enumerador. Quando a enumeração de licença é criada, a primeira licença na lista é carregada na interface IWMDRMLicense . A maioria dos métodos do IWMDRMLicense permite que você obtenha informações sobre a licença ou crie objetos para criptografar ou descriptografar conteúdo com base na licença. No entanto, há dois métodos que controlam a enumeração: GetNext e ResetEnumeration. GetNext carrega a próxima licença na lista na interface. ResetEnumeration retorna a enumeração para o estado em que estava quando foi criada pela primeira vez. Quando a enumeração é redefinida, a primeira licença na lista é carregada novamente na interface IWMDRMLicense .

Quando você tiver atingido a última licença na lista, a próxima chamada para GetNext retornará ERROR_NO_MORE_ITEMS.

Se o aplicativo executar uma ação com o conteúdo coberto pelo DRM, você deverá marcar as licenças no repositório de licenças local para os direitos e para outros fatores limitantes, como OPLs (níveis de proteção de saída).

Obtendo informações de licenças no repositório de licenças local