Share via


Interfaces para aplicativos

Esta seção descreve as interfaces usadas ou implementadas por aplicativos que usam o SDK do Windows Media Gerenciador de Dispositivos para se comunicar com dispositivos. O termo "aplicativo" usado aqui significa qualquer objeto executável, plug-in ou COM existente em um computador desktop e precisa de comunicação de alto nível com um dispositivo portátil conectado. Isso pode incluir um aplicativo media player, um plug-in Reprodutor Multimídia do Windows (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 é 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 Gerenciador de Dispositivos do Windows Media de nível superior para aplicativos.
IWMDeviceManager2 Estende IWMDeviceManager fornecendo métodos avançados de enumeração e outros métodos.
IWMDeviceManager3 Estende a interface 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, localizar 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 definir e recuperar uma lista de referências a outros armazenamentos.
IWMDMStorageControl Usado para inserir, excluir ou mover arquivos dentro de um dispositivo ou entre um dispositivo e o computador.
IWMDMStorageControl2 Estende IWMDMStorageControl tornando possível 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 flash ROM) 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.

Interface Descrição
IWMDMNotification Permite que aplicativos e provedores de serviços recebam notificações quando dispositivos ou armazenamentos de memória (como cartões RAM) estão conectados ou desconectados do computador.
IWMDMOperation2 Estende IWMDMOperation fornecendo métodos para obter e definir atributos estendidos.
IWMDMOperation3 Estende IWMDMOperation fornecendo um novo método para transferir dados não criptografados para maior eficiência.
IWMDMOperation Permite que um aplicativo controle como os dados são lidos ou gravados no computador durante uma transferência de arquivo.
IWMDMProgress2 Estende o método IWMDMProgress::End fornecendo um indicador de status.
IWMDMProgress3 Estende IWMDMProgress2 fornecendo parâmetros de entrada adicionais para especificar a ID do evento e informações específicas do contexto.
IWMDMProgress Permite que um aplicativo acompanhe o progresso das operações, como a formatação de mídia ou transferências de arquivos.

 

O diagrama a seguir mostra como a maioria das interfaces de aplicativo importantes são adquiridas da interface IWMDeviceManager 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 é 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 barra, de modo que "IWMDMStorage/2/3" indicaria IWMDMStorage, IWMDMStorage2 e IWMDMStorage3.

diagrama mostrando como obter as principais interfaces de aplicativo no gerenciador de dispositivos do Windows Media.

Referência de programação