Compartir a través de


Convertir un archivo de DRM-Protected en un DRM 10 de Windows Media para la transmisión de dispositivos de red

Una vez registrado y validado un dispositivo, puede empezar a procesar los mensajes de solicitud de licencia desde él. Los dispositivos envían mensajes de solicitud de licencia cuando se necesita la acción de la aplicación. La única acción admitida actualmente es "Reproducir", que es una solicitud de datos seguros para la reproducción.

Cuando reciba un mensaje de solicitud de licencia, debe realizar los pasos siguientes:

  1. Analice el mensaje de solicitud de licencia llamando al método IWMDRMMessageParser::P arseLicenseRequestMsg .
  2. Obtenga la interfaz IWMRegisteredDevice del dispositivo mediante una llamada al método IWMDeviceRegistration::GetRegisteredDeviceByID , pasando el certificado y el número de serie obtenidos en el paso 1.
  3. Compruebe que el dispositivo está listo para recibir datos seguros:
  4. Cree una instancia del objeto transcryptor DRM mediante una llamada a la función WMCreateDRMTranscryptor .
  5. Llame al método IWMDRMTranscryptor::Initialize para inicializar el transcifrador. Este método toma un puntero a la implementación de la interfaz IWMStatusCallback , que usa para entregar mensajes de estado. Este método también devuelve un mensaje de solicitud de licencia que se debe enviar al dispositivo antes de continuar.
  6. Cuando el método IWMStatusCallback::OnStatus de la aplicación recibe el mensaje de estado WMT_TRANSCRYPTOR_INIT, llame al método IWMDRMTranscryptor::Seek para buscar la posición inicial adecuada en el archivo. Para comenzar al principio del archivo, debe llamar a Seek con la hora 0.
  7. El transcifrador envía un mensaje de WMT_TRANSCRYPTOR_SEEKED cuando está listo para entregar datos del archivo en el nuevo momento de presentación. Realice llamadas repetidas al método IWMDRMTranscryptor::Read para obtener fragmentos convertidos de datos multimedia. Cada llamada es asincrónica y no se completa hasta que se recibe un mensaje de WMT_TRANSCRYPTOR_READ. Cuando reciba el mensaje, puede enviar los datos al dispositivo receptor.
  8. Cuando recibe un mensaje de WMT_TRANSCRYPTOR_READ con el parámetro hr establecido en NS_S_TRANSCRYPTOR_EOF, se ha leído todo el archivo. En este momento, llama al método IWMDRMTranscryptor::Close para cerrar el archivo y liberar recursos.
  9. Cuando se recibe el mensaje WMT_TRANSCRYPTOR_CLOSED, puede liberar la interfaz IWMDRMTranscryptor .

Nota

DRM no es compatible con la versión basada en x64 de este SDK.

 

Uso del protocolo DRM 10 de Windows Media para dispositivos de red