Compartilhar via


Método IWMDRMLicenseManagement::AcquireLicense

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

O método AcquireLicense adquire de forma assíncrona uma licença de uma URL especificada.

Sintaxe

HRESULT AcquireLicense(
  [in]  BSTR     bstrURL,
  [in]  BSTR     bstrHeaderData,
  [in]  BSTR     bstrActions,
  [in]  DWORD    dwFlags,
  [out] IUnknown **ppunkCancelationCookie
);

Parâmetros

bstrURL [in]

URL do servidor de licença do qual adquirir a licença. Passe NULL para que o método analise a URL do cabeçalho de conteúdo.

bstrHeaderData [in]

Cabeçalho de conteúdo a ser passado para o servidor de licença. Se bstrURL for NULL, o método analisará a URL desse cabeçalho. Se dwFlags estiver definido como WMDRM_ACQUIRE_LICENSE_LEGACY_NONSILENT, defina esse valor como a ID da chave em vez de todo o cabeçalho de conteúdo.

bstrActions [in]

Cadeia de caracteres que contém zero ou mais ações para as quais solicitar permissão na licença. A cadeia de caracteres deve ser formatada da seguinte maneira:

  • Cada ação deve ser definida dentro de um elemento ACTION. Os dados do elemento são a cadeia de caracteres de ação.

  • Todos os elementos ACTION devem estar contidos em um elemento ACTIONLIST.

    Por exemplo, a cadeia de caracteres para solicitar uma licença para reproduzir conteúdo é formatada da seguinte maneira:

    <ACTIONLIST><ACTION></ACTION></ACTIONLIST>
    

dwFlags [in]

Sinalizadores de opção de aquisição de licença. Defina como uma das constantes na tabela a seguir.

Constante Descrição
WMDRM_ACQUIRE_LICENSE_SILENT A licença será emitida diretamente pela Internet sem nenhuma confirmação do aplicativo cliente.
WMDRM_ACQUIRE_LICENSE_NONSILENT O subsistema DRM criará uma solicitação de licença que será retornada de forma assíncrona para postagem no servidor de licença.
WMDRM_ACQUIRE_LICENSE_LEGACY_NONSILENT O mesmo que WMDRM_ACQUIRE_LICENSE_NONSILENT, exceto que um desafio de licença do DRM versão 1 será criado.

ppunkCancelationCookie [out]

Ponteiro que recebe um ponteiro para a interface IUnknown de um objeto que identifica essa chamada assíncrona. Esse ponteiro de interface pode ser usado para cancelar a chamada assíncrona chamando o método IWMDRMEventGenerator::CancelAsyncOperation .

Retornar valor

O método retorna um HRESULT. Os possíveis valores incluem, mas sem limitação, aqueles na tabela a seguir.

Código de retorno Descrição
S_OK
O método foi bem-sucedido.

Comentários

Esse método é executado de forma assíncrona. Ele retorna imediatamente após ser chamado e, em seguida, gera um evento MEWMDRMLicenseAcquisitionCompleted quando o processamento é concluído. Para operações de aquisição de licença não silenciosas, o valor do evento obtido chamando IMFMediaEvent::GetValue é um ponteiro IUnknown . Você pode chamar o método QueryInterface da interface IUnknown recuperada para obter uma instância da interface IWMDRMNonSilentLicenseAquisition .

Para obter mais informações sobre como usar os métodos assíncronos das APIs Estendidas do Cliente DRM do Windows Media, consulte Usando o Modelo de Evento do Media Foundation.

Requisitos

Requisito Valor
parâmetro
Wmdrmsdk.h
Biblioteca
Wmdrmsdk.lib

Confira também

IWMDRMLicenseManagement Interface

Aquisição de licença silenciosa