Интерфейсы для приложений
В этом разделе описываются интерфейсы, используемые или реализованные приложениями, использующими пакет 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.
Связанные темы