Compartir a través de


estructura de WM_GET_LICENSE_DATA

[La característica asociada a esta página, SDK de Windows Media Format 11, es una característica heredada. Se ha reemplazado por lector de origen y escritor receptor. El lector de origen y el sistema de escritura receptor se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use lector de origen y escritor receptor en lugar del SDK de Windows Media Format 11, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.

La estructura WM_GET_LICENSE_DATA contiene información sobre dónde adquirir una licenciaDRM.

Sintaxis

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

Miembros

dwSize

DWORD que contiene el tamaño de la estructura WM_GET_LICENSE_DATA , en bytes.

h

Código de retorno HRESULT.

wszURL

Cadena terminada en null de caracteres anchos que contiene la dirección URL de adquisición de licencias. Use esta cadena y la cadena pbPostData en la adquisición de licencias no silenciosas.

wszLocalFilename

Cadena terminada en null de caracteres anchos que contiene una página HTML local generada por el componente DRM. Cuando esta cadena se carga en un explorador, redirige automáticamente la solicitud HTTP a la dirección URL de adquisición de licencias, junto con los datos posteriores necesarios. El uso de esta dirección URL local ya está en desuso. El enfoque recomendado es usar las cadenas wszURL y pbPostData .

pbPostData

Puntero a una matriz de bytes que contiene los datos que se van a publicar en la dirección URL de adquisición de licencias. Debe agregar la cadena siguiente al principio de la cadena pbPostData : "nonsilent=1&challenge=". A continuación, la cadena resultante se debe anexar a wszURL al formar la solicitud HTTP.

dwPostDataSize

DWORD que indica el tamaño de pbPostData sin la cadena "nonsilent=1&challenge=" a la que se hace referencia en pbPostData.

Observaciones

Esta estructura rellenada se devuelve en el parámetro pValue del método IWMStatusCallback::OnStatus si WMT_STATUS es igual a WMT_NO_RIGHTS_EX o WMT_ACQUIRE_LICENSE. En WMT_NO_RIGHTS_EX eventos, el miembro hr se NS_E_LICENSE_REQUIRED, NS_E_LICENSE_OUTOFDATE o NS_E_LICENSE_INCORRECT_RIGHTS. Cualquiera de estos errores indica que se debe adquirir una nueva licencia navegando a la dirección URL en el miembro wszURL .

Para WMT_ACQUIRE_LICENSE eventos, el miembro hr pasará la macro SUCCEEDED si una licencia se adquirió correctamente. Si este evento se recibe después de un intento de adquisición silenciosa y hr es igual a NS_E_DRM_LICENSE_NOTACQUIRED, indica que solo el servidor de licencias admite la adquisición no silenciosa para esta licencia.

La aplicación de ejemplo Audioplayer muestra cómo usar correctamente la información devuelta en esta estructura.

Requisitos

Requisito Value
Cliente mínimo compatible
Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible
Windows 2000 Server [solo aplicaciones de escritorio]
Versión
SDK de Windows Media Format 7 o versiones posteriores del SDK
Encabezado
Drmexternals.h

Consulte también

IWMDRMReader::AcquireLicense

Estructuras