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