Интерфейсы для поставщиков услуг
В этом разделе описываются интерфейсы, реализованные поставщиками служб Windows Media диспетчер устройств. Поставщики услуг выполняют большую часть фактической работы по обмену данными с устройством, так как они реализуют большинство методов windows Media диспетчер устройств SDK, вызываемых приложением.
Поставщикам услуг не нужно реализовывать все интерфейсы, перечисленные в этом разделе. Например, мультимедийное устройство без встроенного хранилища не реализует интерфейсы, используемые для управления содержимым или предоставления содержимого. На соответствующей справочной странице указывается, требуется ли метод или интерфейс.
Интерфейс или класс | Описание |
---|---|
CSecureChannelServer | Вспомогательный класс, который позволяет поставщику услуг или поставщику безопасного содержимого проверять подлинность приложения и создавать подписи MAC для безопасных параметров. |
IMDServiceProvider | Предоставляет клиенту (обычно Windows Media диспетчер устройств) перечислитель устройств, поддерживаемых этим поставщиком услуг. |
IMDServiceProvider2 | Расширяет IMDServiceProvider , предоставляя метод для создания устройства с помощью пути к устройству. |
IMDServiceProvider3 | Расширяет IMDServiceProvider2 , предоставляя метод для настройки параметров перечисления устройств. |
IMDSPDevice | Предоставляет связь на основе экземпляра с устройством мультимедиа. С помощью этого интерфейса клиент может перечислять перечислители носителей хранилища для устройства, получать сведения об устройстве и отправлять на устройство непрозрачные (сквозные) команды. |
IMDSPDevice2 | Расширяет IMDSPDevice, предоставляя методы получения расширенных форматов видео, получения имен устройств Plug and Play (PnP), позволяя использовать страницы свойств и позволяя получить указатель на носитель хранилища из его имени. Этот интерфейс является необязательным для поставщика услуг, но рекомендуется. |
IMDSPDevice3 | Расширяет IMDSPDevice2 , предоставляя возможность запрашивать свойства и возможности устройства в отношении формата объекта. |
IMDSPDeviceControl | Предоставляет методы для управления устройствами. |
IMDSPDirectTransfer | Позволяет диспетчер устройств Windows Media делегировать передачу содержимого поставщику услуг. В этом случае диспетчер устройств Windows Media не обрабатывает содержимое перед отправкой поставщику услуг. Поставщик услуг получает полный контроль над источником. |
IMDSPEnumDevice | Перечисляет устройства мультимедиа, поддерживаемые этим поставщиком услуг. |
IMDSPEnumStorage | Перечисляет носитель на устройстве и содержимое на носителе. |
IMDSPObject | Содержит методы для операций передачи данных в объекте хранилища. |
IMDSPObject2 | Расширяет IMDSPObject , обеспечивая более эффективную передачу данных с поддержкой DRM. |
IMDSPObjectInfo | Задает или получает длину воспроизведения, положение воспроизведения, смещение воспроизведения или общую длину воспроизводимых объектов на носителе хранения. |
IMDSPRevoked | Извлекает URL-адрес, с которого можно скачать обновленные компоненты. |
IMDSPStorage | Предоставляет связь на основе экземпляра со средой хранения на устройстве. Этот интерфейс создает объекты хранилища, извлекает сведения о них и предоставляет доступ к интерфейсу IMDSPEnumStorage для перечисления вложенных папок, вложенных в текущее хранилище. |
IMDSPStorage2 | Расширяет IMDSPStorage , получая и устанавливая расширенные атрибуты и позволяя получить указатель на хранилище из его имени. |
IMDSPStorage3 | Расширяет IMDSPStorage2 за счет поддержки метаданных. |
IMDSPStorage4 | Расширяет IMDSPStorage3 , поддерживая объекты списка воспроизведения. |
IMDSPStorageGlobals | Извлекает глобальные сведения о носителе, такие как объем свободного места и общее количество файлов. |
На следующей схеме показано, как получить различные интерфейсы, реализованные поставщиком услуг. На этой схеме производные интерфейсы отображаются в одном теге для сжатия, поэтому IMDServiceProvider/2/3 будет представлять три интерфейса: IMDServiceProvider, IMDServiceProvider2 и IMDServiceProvider3. Показанные методы расширяются только одним из этих интерфейсов. Производные интерфейсы получаются путем вызова QueryInterface в базовом интерфейсе созданного объекта.
Связанные темы