Интерфейсы для приложений

В этом разделе описываются интерфейсы, используемые или реализованные приложениями, использующими пакет SDK для диспетчер устройств Windows Media для взаимодействия с устройствами. Термин "приложение", используемый здесь, означает любой исполняемый файл, подключаемый модуль или COM-объект, который существует на настольном компьютере и нуждается в высокоуровневом взаимодействии с подключенным портативным устройством. Это может быть приложение проигрывателя мультимедиа, подключаемый модуль Медиаплеер Windows (если ему нужен прямой доступ к переносимому устройству) или COM-объект счетчика воспроизведения.

Некоторые из этих интерфейсов реализуются приложением, а другие вызываются приложением. В документации по каждому интерфейсу указывается, реализуется ли он или вызывается (и если реализовано, является ли он необязательным или обязательным).

Приложения используют следующие интерфейсы или классы.

Интерфейс или класс Описание
Класс CSecureChannelClient Вспомогательный класс, который позволяет приложениям выполнять проверку подлинности, шифровать и расшифровывать данные, а также создавать mac.
IWMDeviceManager Интерфейс верхнего уровня Windows Media диспетчер устройств для приложений.
IWMDeviceManager2 Расширяет IWMDeviceManager , предоставляя расширенные методы перечисления и другие методы.
IWMDeviceManager3 Расширяет интерфейс IWMDeviceManager2 , предоставляя метод, который задает предпочтение перечисления устройств.
IWMDMDevice Предоставляет методы для проверки и изучения одного переносимого устройства.
IWMDMDevice2 Расширяет IWMDMDevice , позволяя получить форматы видео, поддерживаемые устройством, найти хранилище по имени и использовать страницы свойств.
IWMDMDevice3 Расширяет IWMDMDevice2 , предоставляя методы для запроса свойств устройства, отправки кодов управления вводом-выводом устройства, а также предоставления обновленных методов для поиска хранилищ и получения возможностей формата устройства.
IWMDMDeviceControl Предоставляет методы для управления устройствами.
IWMDMDeviceSession Повышение эффективности операций устройства путем объединения нескольких операций в один сеанс
IWMDMEnumDevice Перечисляет переносные устройства, подключенные к компьютеру.
IWMDMEnumStorage Перечисляет хранилища на устройстве.
IWMDMMetaData Задает и извлекает свойства метаданных (например, исполнитель, альбом, жанр и т. д.) хранилища.
IWMDMObjectInfo Возвращает и задает сведения, управляющие обработкой воспроизводимых файлов на устройстве с помощью интерфейса IWMDMDeviceControl .
IWMDMRevoked Извлекает URL-адрес, с которого можно скачать обновленные компоненты, если передача завершается ошибкой отзыва.
IWMDMStorage Предоставляет методы для проверки и изучения хранилища (файла, папки, списка воспроизведения) на устройстве.
IWMDMStorage2 Расширяет IWMDMStorage , позволяя получить дочернее хранилище по имени, а также получить и задать расширенные атрибуты.
IWMDMStorage3 Расширяет IWMDMStorage2 , предоставляя метаданные.
IWMDMStorage4 Расширяет IWMDMStorage3 , предоставляя методы для получения подмножества доступных метаданных для хранилища, а также для задания и получения списка ссылок на другие хранилища.
IWMDMStorageControl Используется для вставки, удаления или перемещения файлов на устройстве или между устройством и компьютером.
IWMDMStorageControl2 Расширяет IWMDMStorageControl , позволяя задать имя целевого файла при вставке содержимого в хранилище.
IWMDMStorageControl3 Расширяет IWMDMStorageControl2 , позволяя передавать указатель интерфейса IWMDMMetaData .
IWMDMStorageGlobals Предоставляет методы для получения глобальных сведений о носителе (например, флэш-диске карта) на устройстве.
IWMDRMDeviceApp Позволяет приложению выполнять измерение, синхронизацию лицензий и обновление компонентов DRM устройства.
IWMDRMDeviceApp2 Расширяет IWMDRMDeviceApp , предоставляя новую версию метода QueryDeviceStatus .

 

Интерфейсы обратного вызова

Следующие необязательные интерфейсы реализуются приложением для отслеживания хода выполнения асинхронного запроса, например запроса на чтение или запись.

Интерфейс Описание
IWMDMNotification Позволяет приложениям и поставщикам услуг получать уведомления, когда устройства или хранилища памяти (например, карты ОЗУ) подключены к компьютеру или отключены от них.
IWMDMOperation2 Расширяет IWMDMOperation , предоставляя методы для получения и задания расширенных атрибутов.
IWMDMOperation3 Расширяет IWMDMOperation , предоставляя новый метод для передачи незашифрованных данных для повышения эффективности.
IWMDMOperation Позволяет приложению управлять тем, как данные считываются или записываются на компьютер во время передачи файлов.
IWMDMProgress2 Расширяет метод IWMDMProgress::End , предоставляя индикатор состояния.
IWMDMProgress3 Расширяет IWMDMProgress2 , предоставляя дополнительные входные параметры для указания идентификатора события и контекстной информации.
IWMDMProgress Позволяет приложению отслеживать ход выполнения операций, таких как форматирование мультимедиа или передача файлов.

 

На следующей схеме показано, как большинство важных интерфейсов приложений извлекаются из корневого интерфейса IWMDeviceManager . Приложение получает этот корневой интерфейс путем совместного построения объекта MediaDevMgr, запроса интерфейса IComponentAuthenticate , проверки подлинности компонента, а затем запроса IWMDeviceManager (эти действия описаны в разделе Проверка подлинности приложения). После получения этого корневого интерфейса вызывается IWMDeviceManager::EnumDevices для создания объекта, реализующего IWMDMEnumDevice. Другие интерфейсы получаются путем вызова методов для интерфейсов в указанном порядке. Производные интерфейсы, такие как IWMDMDevice2 , получаются путем вызова QueryInterface в базовом интерфейсе.

На следующей схеме производные интерфейсы помечены знаками косой черты, поэтому "IWMDMStorage/2/3" будет означать IWMDMStorage, IWMDMStorage2 и IWMDMStorage3.

схема, показывающая, как получить основные интерфейсы приложений в диспетчере устройств Windows Media.

Справочник по программированию