Поделиться через


Запись на компакт-диск списков воспроизведения, содержащих защищенные файлы

Лицензии, созданные с помощью объектов пакета SDK 10 для Windows Media Rights Manager, могут указывать право на копирование файла на компакт-диск как часть списка воспроизведения. Эта функция, называемая записью списка воспроизведения, требует проверки лицензий на все файлы в списке воспроизведения перед началом копирования данных. Пакет SDK для формата Windows Media предоставляет интерфейс IWMReaderPlaylistBurn для выполнения проверки файла.

Чтобы реализовать запись списка воспроизведения, выполните следующие действия.

  1. Создайте экземпляр объекта средства чтения или синхронного объекта чтения. Дополнительные сведения см. в разделе Чтение ФАЙЛОВ ASF.
  2. Вызовите метод QueryInterface интерфейса чтения (IWMReader или IWMSyncReader), чтобы получить указатель на интерфейс IWMReaderPlaylistBurn .
  3. Скопируйте имена файлов из списка воспроизведения в массив строк расширенных символов. Имена файлов в массиве должны быть в том же порядке, что и в списке воспроизведения.
  4. Вызовите метод IWMReaderPlaylistBurn::InitPlaylistBurn , передав указатель на массив, созданный на шаге 3, чтобы инициализировать проверку лицензии для файлов.
  5. После завершения проверки лицензии объект читателя отправляет WMT_INIT_PLAYLIST_BURN сообщение в реализацию метода обратного вызова IWMStatusCallback::OnStatus . Когда обратный вызов получит это сообщение, вызовите метод IWMReaderPlaylistBurn::GetInitResults, чтобы получить результаты проверка лицензии. Этот метод принимает массив переменных HRESULT , соответствующих именам файлов в массиве, переданном InitPlaylistBurn. Если все значения в результирующем массиве равны S_OK, можно продолжить. Если какой-либо результат является кодом ошибки, список воспроизведения не следует копировать.
  6. Используя один и тот же экземпляр средства чтения, откройте и считайте каждый файл. Необходимо открыть файлы в том порядке, в котором имена файлов появились в массиве имен файлов, переданном InitPlaylistBurn.
  7. После копирования всех файлов в списке воспроизведения вызовите IWMReaderPlaylistBurn::EndPlaylistBurn , чтобы завершить процесс записи списка воспроизведения и освободить ресурсы, используемые средством чтения.

Примечание

DRM не поддерживается в 64-разрядной версии этого пакета SDK.

 

Включение поддержки DRM