Adquisición de licencias no silenciosas

[La característica asociada a esta página, WINDOWS Media Format 11 SDK, es una característica heredada. Se ha reemplazado por lector de origen y escritor receptor. Lector de origen y escritor receptor se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use lector fuente 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 adquisición de licencias no silenciosa permite al proveedor de licencias interactuar con el usuario final a través de una página web, como un paso intermedio en el proceso de adquisición de licencias. La adquisición de licencias no silenciosa se inicia en respuesta a un usuario que intenta acceder al contenido protegido.

Para realizar la adquisición de licencias no silenciosas, siga estos pasos:

  1. Llame al método IWMDRMLicenseManagement::AcquireLicense . Pase el encabezado DRM del archivo protegido como parámetro bstrHeaderData . Especifique qué derechos desea que la licencia conceda en el parámetro bstrActions . Por último, establezca el parámetro dwFlags en WMDRM_ACQUIRE_LICENSE_NONSILENT.
  2. Interceptar eventos para la interfaz IWMDRMLicenseManagement . Cuando reciba el evento MEWMDRMLicenseAcquisitionCompleted , obtenga su valor asociado llamando a IMFMediaEvent::GetValue. El valor debe ser de tipo VT_UNKNOWN, un puntero a una interfaz IUnknown .
  3. Llame al método QueryInterface de la interfaz IUnknown recuperada en el paso 2 para obtener la interfaz IWMDRMNonSilentLicenseAquisition .
  4. Llame a IWMDRMNonSilentLicenseAquisition::GetChallenge para recuperar el desafío de licencia. Llame también a IWMDRMNonSilentLicenseAquisition::GetURL si aún no tiene la dirección URL del servidor de licencias.
  5. Envíe el desafío a la página web especificada por la dirección URL.

Adquisición de licencias

Uso del modelo de eventos de Media Foundation