Compartilhar via


estrutura WM_GET_LICENSE_DATA

[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 estrutura WM_GET_LICENSE_DATA contém informações sobre onde adquirir uma licençadrm.

Sintaxe

typedef struct _WMGetLicenseData {
  DWORD   dwSize;
  HRESULT hr;
  WCHAR   *wszURL;
  WCHAR   *wszLocalFilename;
  BYTE    *pbPostData;
  DWORD   dwPostDataSize;
} WM_GET_LICENSE_DATA;

Membros

dwSize

DWORD que contém o tamanho da estrutura WM_GET_LICENSE_DATA , em bytes.

h

HRESULT retorna o código.

wszURL

Cadeia de caracteres terminada em nulo de caractere largo que contém a URL de aquisição de licença. Use essa cadeia de caracteres e a cadeia de caracteres pbPostData na aquisição de licença não silenciosa.

wszLocalFilename

Cadeia de caracteres de caractere largo terminada em nulo que contém uma página HTML local que é gerada pelo componente DRM. Quando essa cadeia de caracteres é carregada em um navegador, ela redireciona automaticamente a solicitação HTTP para a URL de aquisição de licença, juntamente com os dados de postagem necessários. O uso dessa URL local agora foi preterido. A abordagem recomendada é usar as cadeias de caracteres wszURL e pbPostData .

pbPostData

Ponteiro para uma matriz de bytes que contém os dados a serem postados na URL de aquisição de licença. Você deve adicionar a seguinte cadeia de caracteres ao início da cadeia de caracteres pbPostData : "nonsilent=1&challenge=". Em seguida, a cadeia de caracteres resultante deve ser acrescentada a wszURL quando você forma a solicitação HTTP.

dwPostDataSize

DWORD que indica o tamanho de pbPostData sem a cadeia de caracteres "nonsilent=1&challenge=" referida em pbPostData.

Comentários

Essa estrutura preenchida será retornada no parâmetro pValue do método IWMStatusCallback::OnStatus se WMT_STATUS for igual a WMT_NO_RIGHTS_EX ou WMT_ACQUIRE_LICENSE. Para eventos WMT_NO_RIGHTS_EX, o membro de rh será NS_E_LICENSE_REQUIRED, NS_E_LICENSE_OUTOFDATE ou NS_E_LICENSE_INCORRECT_RIGHTS. Qualquer um desses erros indica que uma nova licença deve ser adquirida navegando até a URL no membro wszURL .

Para eventos WMT_ACQUIRE_LICENSE, o membro de rh passará a macro SUCCEEDED se uma licença tiver sido adquirida com êxito. Se esse evento for recebido após uma tentativa de aquisição silenciosa e o rh for igual a NS_E_DRM_LICENSE_NOTACQUIRED, ele indicará que somente a aquisição não silenciosa terá suporte do servidor de licença para essa licença.

O aplicativo de exemplo Audioplayer demonstra como usar corretamente as informações retornadas nessa estrutura.

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Windows 2000 Server [somente aplicativos da área de trabalho]
Versão
SDK do Windows Media Format 7 ou versões posteriores do SDK
Cabeçalho
Drmexternals.h

Confira também

IWMDRMReader::AcquireLicense

Estruturas