Interfaces para aplicativos
Esta seção descreve as interfaces usadas ou implementadas por aplicativos usando o SDK do Gerenciador de Dispositivos de Mídia do Windows para se comunicar com dispositivos. O termo "aplicativo" usado aqui significa qualquer objeto executável, plug-in ou COM que exista em um computador desktop e precisa de comunicação de alto nível com um dispositivo portátil conectado. Isso pode incluir um aplicativo de player de mídia, um plug-in do Windows Media Player (se precisar de acesso direto a um dispositivo portátil) ou um objeto COM de medição de contagem de reprodução.
Algumas dessas interfaces são implementadas pelo aplicativo, enquanto outras são chamadas pelo aplicativo. A documentação de cada interface indica se ela é implementada ou chamada (e se implementada, se ela é opcional ou necessária).
As interfaces ou classes a seguir são usadas por aplicativos.
Interface ou classe | Descrição |
---|---|
classe CSecureChannelClient | Uma classe auxiliar que permite que os aplicativos se autentiquem, criptografem e descriptografem dados e criem MACs. |
IWMDeviceManager | A interface de nível superior do Gerenciador de Dispositivos de Mídia do Windows para aplicativos. |
IWMDeviceManager2 | Estende IWMDeviceManager fornecendo métodos avançados de enumeração e outros métodos. |
IWMDeviceManager3 | Estende a interface de IWMDeviceManager2 fornecendo um método que define a preferência de enumeração do dispositivo. |
IWMDMDevice | Fornece métodos para examinar e explorar um único dispositivo portátil. |
IWMDMDevice2 | Estende IWMDMDevice, tornando possível obter os formatos de vídeo compatíveis com um dispositivo, encontrar um armazenamento por nome e usar páginas de propriedades. |
IWMDMDevice3 | Estende IWMDMDevice2 fornecendo métodos para consultar um dispositivo em busca de propriedades, enviar códigos de controle de E/S do dispositivo e também fornecer métodos atualizados para pesquisar armazenamentos e recuperar recursos de formato de dispositivo. |
IWMDMDeviceControl | Fornece métodos para controlar dispositivos. |
IWMDMDeviceSession | Melhora a eficiência das operações de dispositivo agrupando várias operações em uma sessão |
IWMDMEnumDevice | Enumera dispositivos portáteis anexados a um computador. |
IWMDMEnumStorage | Enumera armazenamentos em um dispositivo. |
IWMDMMetaData | Define e recupera propriedades de metadados (como artista, álbum, gênero e assim por diante) de um armazenamento. |
IWMDMObjectInfo | Obtém e define informações que controlam como os arquivos reproduzíveis no dispositivo são tratados pela interface IWMDMDeviceControl |
IWMDMRevoked | Recupera a URL da qual os componentes atualizados podem ser baixados, se uma transferência falhar com um erro de revogação. |
IWMDMStorage | Fornece métodos para examinar e explorar um armazenamento (arquivo, pasta, playlist) em um dispositivo. |
IWMDMStorage2 | Estende IWMDMStorage, tornando possível obter um armazenamento filho por nome e obter e definir atributos estendidos. |
IWMDMStorage3 | Estende IWMDMStorage2 expondo metadados. |
IWMDMStorage4 | Estende IWMDMStorage3 fornecendo métodos para recuperar um subconjunto de metadados disponíveis para um armazenamento e para configurar e recuperar uma lista de referências para outros armazenamentos. |
IWMDMStorageControl | Usado para inserir, excluir ou mover arquivos dentro de um dispositivo ou entre um dispositivo e o computador. |
IWMDMStorageControl2 | Estende IWMDMStorageControl, possibilitando definir o nome do arquivo de destino ao inserir conteúdo em um armazenamento. |
IWMDMStorageControl3 | Estende IWMDMStorageControl2, tornando possível passar um ponteiro de interface IWMDMetaData. |
IWMDMStorageGlobals | Fornece métodos para recuperar informações globais sobre um meio de armazenamento (como um cartão ROM flash) em um dispositivo. |
IWMDRMDeviceApp | Permite que um aplicativo execute medição, sincronização de licença e atualização dos componentes drm de um dispositivo. |
IWMDRMDeviceApp2 | Estende IWMDRMDeviceApp fornecendo uma nova versão do método QueryDeviceStatus. |
Interfaces de retorno de chamada
As interfaces opcionais a seguir são implementadas por um aplicativo para acompanhar o progresso de uma solicitação assíncrona, como uma solicitação de leitura ou gravação.
O diagrama a seguir mostra como a maioria das interfaces de aplicativo importantes são adquiridas da interface de IWMDeviceManager do raiz. Um aplicativo obtém essa interface raiz cocriando o objeto MediaDevMgr, solicitando a interface IComponentAuthenticate, autenticando o componente e solicitando o IWMDeviceManager (essas etapas são descritas em Autenticando o aplicativo). Depois que essa interface raiz tiver sido adquirida, IWMDeviceManager::EnumDevices é chamado para criar um objeto que implementa IWMDMEnumDevice. Outras interfaces são obtidas chamando métodos em interfaces na ordem mostrada. Interfaces derivadas, como IWMDMDevice2, são obtidas chamando QueryInterface na interface base.
No diagrama a seguir, as interfaces derivadas são rotuladas por marcas de barras, de modo que "IWMDMStorage/2/3" indicaria IWMDMStorage, IWMDMStorage2e IWMDMStorage3.
Tópicos relacionados